././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.317062 stripe-13.2.0/LICENSE0000644000000000000000000000210415102753431011034 0ustar00The MIT License Copyright (c) 2010-2018 Stripe (http://stripe.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.317062 stripe-13.2.0/README.md0000644000000000000000000003767615102753431011334 0ustar00# Stripe Python Library [![pypi](https://img.shields.io/pypi/v/stripe.svg)](https://pypi.python.org/pypi/stripe) [![Build Status](https://github.com/stripe/stripe-python/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/stripe/stripe-python/actions?query=branch%3Amaster) The Stripe Python library provides convenient access to the Stripe API from applications written in the Python language. It includes a pre-defined set of classes for API resources that initialize themselves dynamically from API responses which makes it compatible with a wide range of versions of the Stripe API. ## API Documentation See the [Python API docs](https://stripe.com/docs/api?lang=python). ## Installation This package is available on PyPI: ```sh pip install --upgrade stripe ``` Alternatively, install from source with: ```sh python -m pip install . ``` ### Requirements Per our [Language Version Support Policy](https://docs.stripe.com/sdks/versioning?lang=python#stripe-sdk-language-version-support-policy), we currently support **Python 3.7+**. Support for Python 3.7 and 3.8 is deprecated and will be removed in an upcoming major version. Read more and see the full schedule in the docs: https://docs.stripe.com/sdks/versioning?lang=python#stripe-sdk-language-version-support-policy #### Extended Support #### Python 2.7 deprecation [The Python Software Foundation (PSF)](https://www.python.org/psf-landing/) community [announced the end of support of Python 2](https://www.python.org/doc/sunset-python-2/) on 01 January 2020. Starting with version 6.0.0 Stripe SDK Python packages will no longer support Python 2.7. To continue to get new features and security updates, please make sure to update your Python runtime to Python 3.6+. The last version of the Stripe SDK that supported Python 2.7 was **5.5.0**. ## Usage The library needs to be configured with your account's secret key which is available in your [Stripe Dashboard][api-keys]. Set `stripe.api_key` to its value: ```python from stripe import StripeClient client = StripeClient("sk_test_...") # list customers customers = client.v1.customers.list() # print the first customer's email print(customers.data[0].email) # retrieve specific Customer customer = client.v1.customers.retrieve("cus_123456789") # print that customer's email print(customer.email) ``` ### StripeClient vs legacy pattern We introduced the `StripeClient` class in v8 of the Python SDK. The legacy pattern used prior to that version is still available to use but will be marked as deprecated soon. Review the [migration guide to use StripeClient]() to move from the legacy pattern. Once the legacy pattern is deprecated, new API endpoints will only be accessible in the StripeClient. While there are no current plans to remove the legacy pattern for existing API endpoints, this may change in the future. ### Handling exceptions Unsuccessful requests raise exceptions. The class of the exception will reflect the sort of error that occurred. Please see the [Api Reference](https://stripe.com/docs/api/errors/handling) for a description of the error classes you should handle, and for information on how to inspect these errors. ### Per-request Configuration Configure individual requests with the `options` argument. For example, you can make requests with a specific [Stripe Version](https://stripe.com/docs/api#versioning) or as a [connected account](https://stripe.com/docs/connect/authentication#authentication-via-the-stripe-account-header): ```python from stripe import StripeClient client = StripeClient("sk_test_...") # list customers client.v1.customers.list( options={ "api_key": "sk_test_...", "stripe_account": "acct_...", "stripe_version": "2019-02-19", } ) # retrieve single customer client.v1.customers.retrieve( "cus_123456789", options={ "api_key": "sk_test_...", "stripe_account": "acct_...", "stripe_version": "2019-02-19", } ) ``` ### Configuring an HTTP Client You can configure your `StripeClient` to use `urlfetch`, `requests`, `pycurl`, or `urllib` with the `http_client` option: ```python client = StripeClient("sk_test_...", http_client=stripe.UrlFetchClient()) client = StripeClient("sk_test_...", http_client=stripe.RequestsClient()) client = StripeClient("sk_test_...", http_client=stripe.PycurlClient()) client = StripeClient("sk_test_...", http_client=stripe.UrllibClient()) ``` Without a configured client, by default the library will attempt to load libraries in the order above (i.e. `urlfetch` is preferred with `urllib2` used as a last resort). We usually recommend that people use `requests`. ### Configuring a Proxy A proxy can be configured with the `proxy` client option: ```python client = StripeClient("sk_test_...", proxy="https://user:pass@example.com:1234") ``` ### Configuring Automatic Retries You can enable automatic retries on requests that fail due to a transient problem by configuring the maximum number of retries: ```python client = StripeClient("sk_test_...", max_network_retries=2) ``` Various errors can trigger a retry, like a connection error or a timeout, and also certain API responses like HTTP status `409 Conflict`. [Idempotency keys][idempotency-keys] are automatically generated and added to requests, when not given, to guarantee that retries are safe. ### Logging The library can be configured to emit logging that will give you better insight into what it's doing. The `info` logging level is usually most appropriate for production use, but `debug` is also available for more verbosity. There are a few options for enabling it: 1. Set the environment variable `STRIPE_LOG` to the value `debug` or `info` ```sh $ export STRIPE_LOG=debug ``` 2. Set `stripe.log`: ```python import stripe stripe.log = 'debug' ``` 3. Enable it through Python's logging module: ```python import logging logging.basicConfig() logging.getLogger('stripe').setLevel(logging.DEBUG) ``` ### Accessing response code and headers You can access the HTTP response code and headers using the `last_response` property of the returned resource. ```python customer = client.v1.customers.retrieve( "cus_123456789" ) print(customer.last_response.code) print(customer.last_response.headers) ``` ### Writing a Plugin If you're writing a plugin that uses the library, we'd appreciate it if you identified using `stripe.set_app_info()`: ```py stripe.set_app_info("MyAwesomePlugin", version="1.2.34", url="https://myawesomeplugin.info") ``` This information is passed along when the library makes calls to the Stripe API. ### Telemetry By default, the library sends telemetry to Stripe regarding request latency and feature usage. These numbers help Stripe improve the overall latency of its API for all users, and improve popular features. You can disable this behavior if you prefer: ```python stripe.enable_telemetry = False ``` ## Types In [v7.1.0](https://github.com/stripe/stripe-python/releases/tag/v7.1.0) and newer, the library includes type annotations. See [the wiki](https://github.com/stripe/stripe-python/wiki/Inline-type-annotations) for a detailed guide. Please note that some annotations use features that were only fairly recently accepted, such as [`Unpack[TypedDict]`](https://peps.python.org/pep-0692/#specification) that was [accepted](https://discuss.python.org/t/pep-692-using-typeddict-for-more-precise-kwargs-typing/17314/81) in January 2023. We have tested that these types are recognized properly by [Pyright](https://github.com/microsoft/pyright). Support for `Unpack` in MyPy is still experimental, but appears to degrade gracefully. Please [report an issue](https://github.com/stripe/stripe-python/issues/new/choose) if there is anything we can do to improve the types for your type checker of choice. ### Types and the Versioning Policy We release type changes in minor releases. While stripe-python follows semantic versioning, our semantic versions describe the _runtime behavior_ of the library alone. Our _type annotations are not reflected in the semantic version_. That is, upgrading to a new minor version of stripe-python might result in your type checker producing a type error that it didn't before. You can use a `~=x.x` or `x.x.*` [version specifier](https://peps.python.org/pep-0440/#examples) in your `requirements.txt` to constrain `pip` to a certain minor range of `stripe-python`. ### Types and API Versions The types describe the [Stripe API version](https://stripe.com/docs/api/versioning) that was the latest at the time of release. This is the version that your library sends by default. If you are overriding `stripe.api_version` / `stripe_version` on the `StripeClient`, or using a [webhook endpoint](https://stripe.com/docs/webhooks#api-versions) tied to an older version, be aware that the data you see at runtime may not match the types. ### Public Preview SDKs Stripe has features in the [public preview phase](https://docs.stripe.com/release-phases) that can be accessed via versions of this package that have the `bX` suffix like `12.2.0b2`. We would love for you to try these as we incrementally release new features and improve them based on your feedback. To install, pick the latest version with the `bX` suffix by reviewing the [releases page](https://github.com/stripe/stripe-python/releases/) and then use it in the `pip install` command: ``` pip install stripe== ``` > **Note** > There can be breaking changes between two versions of the public preview SDKs without a bump in the major version. Therefore we recommend pinning the package version to a specific version in your [pyproject.toml](https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#dependencies-and-requirements) or [requirements file](https://pip.pypa.io/en/stable/user_guide/#requirements-files). This way you can install the same version each time without breaking changes unless you are intentionally looking for the latest public preview SDK. Some preview features require a name and version to be set in the `Stripe-Version` header like `feature_beta=v3`. If your preview feature has this requirement, use the `stripe.add_beta_version` function (available only in the public preview SDKs): ```python stripe.add_beta_version("feature_beta", "v3") ``` ### Private Preview SDKs Stripe has features in the [private preview phase](https://docs.stripe.com/release-phases) that can be accessed via versions of this package that have the `aX` suffix like `12.2.0a2`. These are invite-only features. Once invited, you can install the private preview SDKs by following the same instructions as for the [public preview SDKs](https://github.com/stripe/stripe-python?tab=readme-ov-file#public-preview-sdks) above and replacing the suffix `b` with `a` in package versions. ### Custom requests 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 client = StripeClient("sk_test_...") response = client.raw_request( "post", "/v1/beta_endpoint", param=123, stripe_version="2022-11-15; feature_beta=v3" ) # (Optional) response is a StripeResponse. You can use `client.deserialize` to get a StripeObject. deserialized_resp = client.deserialize(response, api_mode='V1') ``` ### Async Asynchronous versions of request-making methods are available by suffixing the method name with `_async`. ```python # With StripeClient client = StripeClient("sk_test_...") customer = await client.v1.customers.retrieve_async("cus_xyz") # With global client stripe.api_key = "sk_test_..." customer = await stripe.Customer.retrieve_async("cus_xyz") # .auto_paging_iter() implements both AsyncIterable and Iterable async for c in await stripe.Customer.list_async().auto_paging_iter(): ... ``` There is no `.save_async` as `.save` is [deprecated since stripe-python v5](https://github.com/stripe/stripe-python/wiki/Migration-guide-for-v5#deprecated). Please migrate to `.modify_async`. The default HTTP client uses `requests` for making synchronous requests but `httpx` for making async requests. If you're migrating to async, we recommend you to explicitly initialize your own http client and pass it to StripeClient or set it as the global default. If you don't already have a dependency on an async-compatible HTTP library, `pip install stripe[async]` will install one for you (new in `v13.0.1`). ```python # By default, an explicitly initialized HTTPXClient will raise an exception if you # attempt to call a sync method. If you intend to only use async, this is useful to # make sure you don't unintentionally make a synchronous request. my_http_client = stripe.HTTPXClient() # If you want to use httpx to make sync requests, you can disable this # behavior. my_http_client = stripe.HTTPXClient(allow_sync_methods=True) # aiohttp is also available (does not support sync requests) my_http_client = stripe.AIOHTTPClient() # With StripeClient client = StripeClient("sk_test_...", http_client=my_http_client) # With the global client stripe.default_http_client = my_http_client ``` You can also subclass `stripe.HTTPClient` and provide your own instance. ## Support New features and bug fixes are released on the latest major version of the Stripe Python library. If you are on an older major version, we recommend that you upgrade to the latest in order to use the new features and bug fixes including those for security vulnerabilities. Older major versions of the package will continue to be available for use, but will not be receiving any updates. ## Development [Contribution guidelines for this project](CONTRIBUTING.md) The test suite depends on [stripe-mock], so make sure to fetch and run it from a background terminal ([stripe-mock's README][stripe-mock] also contains instructions for installing via Homebrew and other methods): ```sh go install github.com/stripe/stripe-mock@latest stripe-mock ``` We use [just](https://github.com/casey/just) for conveniently running development tasks. You can use them directly, or copy the commands out of the `justfile`. To our help docs, run `just`. By default, all commands will use an virtualenv created by your default python version (whatever comes out of `python --version`). We recommend using [mise](https://mise.jdx.dev/lang/python.html) or [pyenv](https://github.com/pyenv/pyenv) to control that version. Run the following command to set up the development virtualenv: ```sh just venv # or: python -m venv venv && venv/bin/python -I -m pip install -e . ``` Run all tests: ```sh just test # or: venv/bin/pytest ``` Run all tests in a single file: ```sh just test tests/api_resources/abstract/test_updateable_api_resource.py # or: venv/bin/pytest tests/api_resources/abstract/test_updateable_api_resource.py ``` Run a single test suite: ```sh just test tests/api_resources/abstract/test_updateable_api_resource.py::TestUpdateableAPIResource # or: venv/bin/pytest tests/api_resources/abstract/test_updateable_api_resource.py::TestUpdateableAPIResource ``` Run a single test: ```sh just test tests/api_resources/abstract/test_updateable_api_resource.py::TestUpdateableAPIResource::test_save # or: venv/bin/pytest tests/api_resources/abstract/test_updateable_api_resource.py::TestUpdateableAPIResource::test_save ``` Run the linter with: ```sh just lint # or: venv/bin/python -m flake8 --show-source stripe tests ``` The library uses [Ruff][ruff] for code formatting. Code must be formatted with Black before PRs are submitted, otherwise CI will fail. Run the formatter with: ```sh just format # or: venv/bin/ruff format . --quiet ``` [api-keys]: https://dashboard.stripe.com/account/apikeys [ruff]: https://github.com/astral-sh/ruff [connect]: https://stripe.com/connect [poetry]: https://github.com/sdispater/poetry [stripe-mock]: https://github.com/stripe/stripe-mock [idempotency-keys]: https://stripe.com/docs/api/idempotent_requests?lang=python ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.318062 stripe-13.2.0/pyproject.toml0000644000000000000000000000661315102753431012754 0ustar00[project] name = "stripe" version = "13.2.0" readme = "README.md" description = "Python bindings for the Stripe API" authors = [{ name = "Stripe", email = "support@stripe.com" }] license-files = ["LICENSE"] keywords = ["stripe", "api", "payments"] requires-python = ">=3.7" classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Libraries :: Python Modules", ] dependencies = [ "typing_extensions <= 4.2.0, > 3.7.2; python_version < '3.7'", # The best typing support comes from 4.5.0+ but we can support down to # 3.7.2 without throwing exceptions. "typing_extensions >= 4.5.0; python_version >= '3.7'", "requests >= 2.20; python_version >= '3.0'", ] [project.optional-dependencies] # `pip install stripe[async]` gets you everything + `httpx`, so our async stuff works out of the box async = ["httpx"] [project.urls] homepage = "https://stripe.com/" source = "https://github.com/stripe/stripe-python" issues = "https://github.com/stripe/stripe-python/issues" changelog = "https://github.com/stripe/stripe-python/blob/master/CHANGELOG.md" documentation = "https://stripe.com/docs/api/?lang=python" [build-system] requires = ["flit_core >=3.11, <4"] build-backend = "flit_core.buildapi" [tool.flit.sdist] # see: https://github.com/stripe/stripe-python/issues/1616 include = ["tests/"] [tool.ruff] # same as our black config line-length = 79 extend-exclude = ["build"] [tool.ruff.format] # currently the default value, but opt-out in the future docstring-code-format = false [tool.pyright] include = [ "stripe", "tests/test_generated_examples.py", "tests/test_exports.py", "tests/test_http_client.py", "tests/test_v2_event.py", ] exclude = ["build", "**/__pycache__"] reportMissingTypeArgument = true reportUnnecessaryCast = true reportUnnecessaryComparison = true reportUnnecessaryContains = true reportUnnecessaryIsInstance = true reportPrivateImportUsage = true reportUnnecessaryTypeIgnoreComment = true [tool.mypy] follow_imports = "silent" python_version = "3.10" files = ["tests/test_generated_examples.py", "tests/test_exports.py"] disallow_untyped_calls = true disallow_untyped_defs = true warn_unused_ignores = true no_implicit_reexport = true [tool.pytest.ini_options] # use as many threads as available for tests addopts = "-n auto" # already the default, but will speed up searching a little, since this is the only place tests live testpaths = "tests" # these are warnings we show to users; we don't need them in our test logs filterwarnings = [ # single quotes so we don't have to re-backslack our backslashes 'ignore:[\S\s]*stripe-python:DeprecationWarning', 'ignore:[\S\s]*stripe\..* package:DeprecationWarning', 'ignore:[\S\s]*RecipientTransfer:DeprecationWarning', 'ignore:[\S\s]*`save` method is deprecated:DeprecationWarning', ] ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.318062 stripe-13.2.0/stripe/__init__.py0000644000000000000000000011234215102753431013454 0ustar00from typing_extensions import TYPE_CHECKING, Literal from typing import Optional import os import warnings # Stripe Python bindings # API docs at http://stripe.com/docs/api # Authors: # Patrick Collison # Greg Brockman # Andrew Metcalf # Configuration variables from stripe._api_version import _ApiVersion from stripe._app_info import AppInfo as AppInfo from stripe._version import VERSION as VERSION # Constants DEFAULT_API_BASE: str = "https://api.stripe.com" DEFAULT_CONNECT_API_BASE: str = "https://connect.stripe.com" DEFAULT_UPLOAD_API_BASE: str = "https://files.stripe.com" DEFAULT_METER_EVENTS_API_BASE: str = "https://meter-events.stripe.com" api_key: Optional[str] = None client_id: Optional[str] = None api_base: str = DEFAULT_API_BASE connect_api_base: str = DEFAULT_CONNECT_API_BASE upload_api_base: str = DEFAULT_UPLOAD_API_BASE meter_events_api_base: str = DEFAULT_METER_EVENTS_API_BASE api_version: str = _ApiVersion.CURRENT verify_ssl_certs: bool = True proxy: Optional[str] = None default_http_client: Optional["HTTPClient"] = None app_info: Optional[AppInfo] = None enable_telemetry: bool = True max_network_retries: int = 2 ca_bundle_path: str = os.path.join( os.path.dirname(__file__), "data", "ca-certificates.crt" ) # Lazily initialized stripe.default_http_client default_http_client = None _default_proxy = None from stripe._http_client import ( new_default_http_client as new_default_http_client, ) def ensure_default_http_client(): if default_http_client: _warn_if_mismatched_proxy() return _init_default_http_client() def _init_default_http_client(): global _default_proxy global default_http_client # If the stripe.default_http_client has not been set by the user # yet, we'll set it here. This way, we aren't creating a new # HttpClient for every request. default_http_client = new_default_http_client( verify_ssl_certs=verify_ssl_certs, proxy=proxy ) _default_proxy = proxy def _warn_if_mismatched_proxy(): global _default_proxy from stripe import proxy if proxy != _default_proxy: warnings.warn( "stripe.proxy was updated after sending a " "request - this is a no-op. To use a different proxy, " "set stripe.default_http_client to a new client " "configured with the proxy." ) # Set to either 'debug' or 'info', controls console logging log: Optional[Literal["debug", "info"]] = None # Sets some basic information about the running application that's sent along # with API requests. Useful for plugin authors to identify their plugin when # communicating with Stripe. # # Takes a name and optional version and plugin URL. def set_app_info( name: str, partner_id: Optional[str] = None, url: Optional[str] = None, version: Optional[str] = None, ): global app_info app_info = { "name": name, "partner_id": partner_id, "url": url, "version": version, } # The beginning of the section generated from our OpenAPI spec from importlib import import_module if TYPE_CHECKING: from stripe import ( apps as apps, billing as billing, billing_portal as billing_portal, checkout as checkout, climate as climate, entitlements as entitlements, events as events, financial_connections as financial_connections, forwarding as forwarding, identity as identity, issuing as issuing, params as params, radar as radar, reporting as reporting, sigma as sigma, tax as tax, terminal as terminal, test_helpers as test_helpers, treasury as treasury, v2 as v2, ) from stripe._account import Account as Account from stripe._account_capability_service import ( AccountCapabilityService as AccountCapabilityService, ) from stripe._account_external_account_service import ( AccountExternalAccountService as AccountExternalAccountService, ) from stripe._account_link import AccountLink as AccountLink from stripe._account_link_service import ( AccountLinkService as AccountLinkService, ) from stripe._account_login_link_service import ( AccountLoginLinkService as AccountLoginLinkService, ) from stripe._account_person_service import ( AccountPersonService as AccountPersonService, ) from stripe._account_service import AccountService as AccountService from stripe._account_session import AccountSession as AccountSession from stripe._account_session_service import ( AccountSessionService as AccountSessionService, ) from stripe._api_mode import ApiMode as ApiMode from stripe._api_resource import APIResource as APIResource from stripe._apple_pay_domain import ApplePayDomain as ApplePayDomain from stripe._apple_pay_domain_service import ( ApplePayDomainService as ApplePayDomainService, ) from stripe._application import Application as Application from stripe._application_fee import ApplicationFee as ApplicationFee from stripe._application_fee_refund import ( ApplicationFeeRefund as ApplicationFeeRefund, ) from stripe._application_fee_refund_service import ( ApplicationFeeRefundService as ApplicationFeeRefundService, ) from stripe._application_fee_service import ( ApplicationFeeService as ApplicationFeeService, ) from stripe._apps_service import AppsService as AppsService from stripe._balance import Balance as Balance from stripe._balance_service import BalanceService as BalanceService from stripe._balance_settings import BalanceSettings as BalanceSettings from stripe._balance_settings_service import ( BalanceSettingsService as BalanceSettingsService, ) from stripe._balance_transaction import ( BalanceTransaction as BalanceTransaction, ) from stripe._balance_transaction_service import ( BalanceTransactionService as BalanceTransactionService, ) from stripe._bank_account import BankAccount as BankAccount from stripe._base_address import BaseAddress as BaseAddress from stripe._billing_portal_service import ( BillingPortalService as BillingPortalService, ) from stripe._billing_service import BillingService as BillingService from stripe._capability import Capability as Capability from stripe._card import Card as Card from stripe._cash_balance import CashBalance as CashBalance from stripe._charge import Charge as Charge from stripe._charge_service import ChargeService as ChargeService from stripe._checkout_service import CheckoutService as CheckoutService from stripe._climate_service import ClimateService as ClimateService from stripe._confirmation_token import ( ConfirmationToken as ConfirmationToken, ) from stripe._confirmation_token_service import ( ConfirmationTokenService as ConfirmationTokenService, ) from stripe._connect_collection_transfer import ( ConnectCollectionTransfer as ConnectCollectionTransfer, ) from stripe._country_spec import CountrySpec as CountrySpec from stripe._country_spec_service import ( CountrySpecService as CountrySpecService, ) from stripe._coupon import Coupon as Coupon from stripe._coupon_service import CouponService as CouponService from stripe._createable_api_resource import ( CreateableAPIResource as CreateableAPIResource, ) from stripe._credit_note import CreditNote as CreditNote from stripe._credit_note_line_item import ( CreditNoteLineItem as CreditNoteLineItem, ) from stripe._credit_note_line_item_service import ( CreditNoteLineItemService as CreditNoteLineItemService, ) from stripe._credit_note_preview_lines_service import ( CreditNotePreviewLinesService as CreditNotePreviewLinesService, ) from stripe._credit_note_service import ( CreditNoteService as CreditNoteService, ) from stripe._custom_method import custom_method as custom_method from stripe._customer import Customer as Customer from stripe._customer_balance_transaction import ( CustomerBalanceTransaction as CustomerBalanceTransaction, ) from stripe._customer_balance_transaction_service import ( CustomerBalanceTransactionService as CustomerBalanceTransactionService, ) from stripe._customer_cash_balance_service import ( CustomerCashBalanceService as CustomerCashBalanceService, ) from stripe._customer_cash_balance_transaction import ( CustomerCashBalanceTransaction as CustomerCashBalanceTransaction, ) from stripe._customer_cash_balance_transaction_service import ( CustomerCashBalanceTransactionService as CustomerCashBalanceTransactionService, ) from stripe._customer_funding_instructions_service import ( CustomerFundingInstructionsService as CustomerFundingInstructionsService, ) from stripe._customer_payment_method_service import ( CustomerPaymentMethodService as CustomerPaymentMethodService, ) from stripe._customer_payment_source_service import ( CustomerPaymentSourceService as CustomerPaymentSourceService, ) from stripe._customer_service import CustomerService as CustomerService from stripe._customer_session import CustomerSession as CustomerSession from stripe._customer_session_service import ( CustomerSessionService as CustomerSessionService, ) from stripe._customer_tax_id_service import ( CustomerTaxIdService as CustomerTaxIdService, ) from stripe._deletable_api_resource import ( DeletableAPIResource as DeletableAPIResource, ) from stripe._discount import Discount as Discount from stripe._dispute import Dispute as Dispute from stripe._dispute_service import DisputeService as DisputeService from stripe._entitlements_service import ( EntitlementsService as EntitlementsService, ) from stripe._ephemeral_key import EphemeralKey as EphemeralKey from stripe._ephemeral_key_service import ( EphemeralKeyService as EphemeralKeyService, ) from stripe._error import ( APIConnectionError as APIConnectionError, APIError as APIError, AuthenticationError as AuthenticationError, CardError as CardError, IdempotencyError as IdempotencyError, InvalidRequestError as InvalidRequestError, PermissionError as PermissionError, RateLimitError as RateLimitError, SignatureVerificationError as SignatureVerificationError, StripeError as StripeError, StripeErrorWithParamCode as StripeErrorWithParamCode, TemporarySessionExpiredError as TemporarySessionExpiredError, ) from stripe._error_object import ( ErrorObject as ErrorObject, OAuthErrorObject as OAuthErrorObject, ) from stripe._event import Event as Event from stripe._event_service import EventService as EventService from stripe._exchange_rate import ExchangeRate as ExchangeRate from stripe._exchange_rate_service import ( ExchangeRateService as ExchangeRateService, ) from stripe._file import File as File from stripe._file_link import FileLink as FileLink from stripe._file_link_service import FileLinkService as FileLinkService from stripe._file_service import FileService as FileService from stripe._financial_connections_service import ( FinancialConnectionsService as FinancialConnectionsService, ) from stripe._forwarding_service import ( ForwardingService as ForwardingService, ) from stripe._funding_instructions import ( FundingInstructions as FundingInstructions, ) from stripe._http_client import ( AIOHTTPClient as AIOHTTPClient, HTTPClient as HTTPClient, HTTPXClient as HTTPXClient, PycurlClient as PycurlClient, RequestsClient as RequestsClient, UrlFetchClient as UrlFetchClient, UrllibClient as UrllibClient, ) from stripe._identity_service import IdentityService as IdentityService from stripe._invoice import Invoice as Invoice from stripe._invoice_item import InvoiceItem as InvoiceItem from stripe._invoice_item_service import ( InvoiceItemService as InvoiceItemService, ) from stripe._invoice_line_item import InvoiceLineItem as InvoiceLineItem from stripe._invoice_line_item_service import ( InvoiceLineItemService as InvoiceLineItemService, ) from stripe._invoice_payment import InvoicePayment as InvoicePayment from stripe._invoice_payment_service import ( InvoicePaymentService as InvoicePaymentService, ) from stripe._invoice_rendering_template import ( InvoiceRenderingTemplate as InvoiceRenderingTemplate, ) from stripe._invoice_rendering_template_service import ( InvoiceRenderingTemplateService as InvoiceRenderingTemplateService, ) from stripe._invoice_service import InvoiceService as InvoiceService from stripe._issuing_service import IssuingService as IssuingService from stripe._line_item import LineItem as LineItem from stripe._list_object import ListObject as ListObject from stripe._listable_api_resource import ( ListableAPIResource as ListableAPIResource, ) from stripe._login_link import LoginLink as LoginLink from stripe._mandate import Mandate as Mandate from stripe._mandate_service import MandateService as MandateService from stripe._nested_resource_class_methods import ( nested_resource_class_methods as nested_resource_class_methods, ) from stripe._oauth import OAuth as OAuth from stripe._oauth_service import OAuthService as OAuthService from stripe._payment_attempt_record import ( PaymentAttemptRecord as PaymentAttemptRecord, ) from stripe._payment_attempt_record_service import ( PaymentAttemptRecordService as PaymentAttemptRecordService, ) from stripe._payment_intent import PaymentIntent as PaymentIntent from stripe._payment_intent_amount_details_line_item import ( PaymentIntentAmountDetailsLineItem as PaymentIntentAmountDetailsLineItem, ) from stripe._payment_intent_amount_details_line_item_service import ( PaymentIntentAmountDetailsLineItemService as PaymentIntentAmountDetailsLineItemService, ) from stripe._payment_intent_service import ( PaymentIntentService as PaymentIntentService, ) from stripe._payment_link import PaymentLink as PaymentLink from stripe._payment_link_line_item_service import ( PaymentLinkLineItemService as PaymentLinkLineItemService, ) from stripe._payment_link_service import ( PaymentLinkService as PaymentLinkService, ) from stripe._payment_method import PaymentMethod as PaymentMethod from stripe._payment_method_configuration import ( PaymentMethodConfiguration as PaymentMethodConfiguration, ) from stripe._payment_method_configuration_service import ( PaymentMethodConfigurationService as PaymentMethodConfigurationService, ) from stripe._payment_method_domain import ( PaymentMethodDomain as PaymentMethodDomain, ) from stripe._payment_method_domain_service import ( PaymentMethodDomainService as PaymentMethodDomainService, ) from stripe._payment_method_service import ( PaymentMethodService as PaymentMethodService, ) from stripe._payment_record import PaymentRecord as PaymentRecord from stripe._payment_record_service import ( PaymentRecordService as PaymentRecordService, ) from stripe._payout import Payout as Payout from stripe._payout_service import PayoutService as PayoutService from stripe._person import Person as Person from stripe._plan import Plan as Plan from stripe._plan_service import PlanService as PlanService from stripe._price import Price as Price from stripe._price_service import PriceService as PriceService from stripe._product import Product as Product from stripe._product_feature import ProductFeature as ProductFeature from stripe._product_feature_service import ( ProductFeatureService as ProductFeatureService, ) from stripe._product_service import ProductService as ProductService from stripe._promotion_code import PromotionCode as PromotionCode from stripe._promotion_code_service import ( PromotionCodeService as PromotionCodeService, ) from stripe._quote import Quote as Quote from stripe._quote_computed_upfront_line_items_service import ( QuoteComputedUpfrontLineItemsService as QuoteComputedUpfrontLineItemsService, ) from stripe._quote_line_item_service import ( QuoteLineItemService as QuoteLineItemService, ) from stripe._quote_service import QuoteService as QuoteService from stripe._radar_service import RadarService as RadarService from stripe._refund import Refund as Refund from stripe._refund_service import RefundService as RefundService from stripe._reporting_service import ReportingService as ReportingService from stripe._request_options import RequestOptions as RequestOptions from stripe._requestor_options import RequestorOptions as RequestorOptions from stripe._reserve_transaction import ( ReserveTransaction as ReserveTransaction, ) from stripe._reversal import Reversal as Reversal from stripe._review import Review as Review from stripe._review_service import ReviewService as ReviewService from stripe._search_result_object import ( SearchResultObject as SearchResultObject, ) from stripe._searchable_api_resource import ( SearchableAPIResource as SearchableAPIResource, ) from stripe._setup_attempt import SetupAttempt as SetupAttempt from stripe._setup_attempt_service import ( SetupAttemptService as SetupAttemptService, ) from stripe._setup_intent import SetupIntent as SetupIntent from stripe._setup_intent_service import ( SetupIntentService as SetupIntentService, ) from stripe._shipping_rate import ShippingRate as ShippingRate from stripe._shipping_rate_service import ( ShippingRateService as ShippingRateService, ) from stripe._sigma_service import SigmaService as SigmaService from stripe._singleton_api_resource import ( SingletonAPIResource as SingletonAPIResource, ) from stripe._source import Source as Source from stripe._source_mandate_notification import ( SourceMandateNotification as SourceMandateNotification, ) from stripe._source_service import SourceService as SourceService from stripe._source_transaction import ( SourceTransaction as SourceTransaction, ) from stripe._source_transaction_service import ( SourceTransactionService as SourceTransactionService, ) from stripe._stripe_client import StripeClient as StripeClient from stripe._stripe_context import StripeContext as StripeContext from stripe._stripe_object import StripeObject as StripeObject from stripe._stripe_response import ( StripeResponse as StripeResponse, StripeResponseBase as StripeResponseBase, StripeStreamResponse as StripeStreamResponse, StripeStreamResponseAsync as StripeStreamResponseAsync, ) from stripe._subscription import Subscription as Subscription from stripe._subscription_item import SubscriptionItem as SubscriptionItem from stripe._subscription_item_service import ( SubscriptionItemService as SubscriptionItemService, ) from stripe._subscription_schedule import ( SubscriptionSchedule as SubscriptionSchedule, ) from stripe._subscription_schedule_service import ( SubscriptionScheduleService as SubscriptionScheduleService, ) from stripe._subscription_service import ( SubscriptionService as SubscriptionService, ) from stripe._tax_code import TaxCode as TaxCode from stripe._tax_code_service import TaxCodeService as TaxCodeService from stripe._tax_deducted_at_source import ( TaxDeductedAtSource as TaxDeductedAtSource, ) from stripe._tax_id import TaxId as TaxId from stripe._tax_id_service import TaxIdService as TaxIdService from stripe._tax_rate import TaxRate as TaxRate from stripe._tax_rate_service import TaxRateService as TaxRateService from stripe._tax_service import TaxService as TaxService from stripe._terminal_service import TerminalService as TerminalService from stripe._test_helpers import ( APIResourceTestHelpers as APIResourceTestHelpers, ) from stripe._test_helpers_service import ( TestHelpersService as TestHelpersService, ) from stripe._token import Token as Token from stripe._token_service import TokenService as TokenService from stripe._topup import Topup as Topup from stripe._topup_service import TopupService as TopupService from stripe._transfer import Transfer as Transfer from stripe._transfer_reversal_service import ( TransferReversalService as TransferReversalService, ) from stripe._transfer_service import TransferService as TransferService from stripe._treasury_service import TreasuryService as TreasuryService from stripe._updateable_api_resource import ( UpdateableAPIResource as UpdateableAPIResource, ) from stripe._util import ( convert_to_stripe_object as convert_to_stripe_object, ) from stripe._v1_services import V1Services as V1Services from stripe._v2_services import V2Services as V2Services from stripe._verify_mixin import VerifyMixin as VerifyMixin from stripe._webhook import ( Webhook as Webhook, WebhookSignature as WebhookSignature, ) from stripe._webhook_endpoint import WebhookEndpoint as WebhookEndpoint from stripe._webhook_endpoint_service import ( WebhookEndpointService as WebhookEndpointService, ) # name -> (import_target, is_submodule) _import_map = { "apps": ("stripe.apps", True), "billing": ("stripe.billing", True), "billing_portal": ("stripe.billing_portal", True), "checkout": ("stripe.checkout", True), "climate": ("stripe.climate", True), "entitlements": ("stripe.entitlements", True), "events": ("stripe.events", True), "financial_connections": ("stripe.financial_connections", True), "forwarding": ("stripe.forwarding", True), "identity": ("stripe.identity", True), "issuing": ("stripe.issuing", True), "params": ("stripe.params", True), "radar": ("stripe.radar", True), "reporting": ("stripe.reporting", True), "sigma": ("stripe.sigma", True), "tax": ("stripe.tax", True), "terminal": ("stripe.terminal", True), "test_helpers": ("stripe.test_helpers", True), "treasury": ("stripe.treasury", True), "v2": ("stripe.v2", True), "Account": ("stripe._account", False), "AccountCapabilityService": ("stripe._account_capability_service", False), "AccountExternalAccountService": ( "stripe._account_external_account_service", False, ), "AccountLink": ("stripe._account_link", False), "AccountLinkService": ("stripe._account_link_service", False), "AccountLoginLinkService": ("stripe._account_login_link_service", False), "AccountPersonService": ("stripe._account_person_service", False), "AccountService": ("stripe._account_service", False), "AccountSession": ("stripe._account_session", False), "AccountSessionService": ("stripe._account_session_service", False), "ApiMode": ("stripe._api_mode", False), "APIResource": ("stripe._api_resource", False), "ApplePayDomain": ("stripe._apple_pay_domain", False), "ApplePayDomainService": ("stripe._apple_pay_domain_service", False), "Application": ("stripe._application", False), "ApplicationFee": ("stripe._application_fee", False), "ApplicationFeeRefund": ("stripe._application_fee_refund", False), "ApplicationFeeRefundService": ( "stripe._application_fee_refund_service", False, ), "ApplicationFeeService": ("stripe._application_fee_service", False), "AppsService": ("stripe._apps_service", False), "Balance": ("stripe._balance", False), "BalanceService": ("stripe._balance_service", False), "BalanceSettings": ("stripe._balance_settings", False), "BalanceSettingsService": ("stripe._balance_settings_service", False), "BalanceTransaction": ("stripe._balance_transaction", False), "BalanceTransactionService": ( "stripe._balance_transaction_service", False, ), "BankAccount": ("stripe._bank_account", False), "BaseAddress": ("stripe._base_address", False), "BillingPortalService": ("stripe._billing_portal_service", False), "BillingService": ("stripe._billing_service", False), "Capability": ("stripe._capability", False), "Card": ("stripe._card", False), "CashBalance": ("stripe._cash_balance", False), "Charge": ("stripe._charge", False), "ChargeService": ("stripe._charge_service", False), "CheckoutService": ("stripe._checkout_service", False), "ClimateService": ("stripe._climate_service", False), "ConfirmationToken": ("stripe._confirmation_token", False), "ConfirmationTokenService": ("stripe._confirmation_token_service", False), "ConnectCollectionTransfer": ( "stripe._connect_collection_transfer", False, ), "CountrySpec": ("stripe._country_spec", False), "CountrySpecService": ("stripe._country_spec_service", False), "Coupon": ("stripe._coupon", False), "CouponService": ("stripe._coupon_service", False), "CreateableAPIResource": ("stripe._createable_api_resource", False), "CreditNote": ("stripe._credit_note", False), "CreditNoteLineItem": ("stripe._credit_note_line_item", False), "CreditNoteLineItemService": ( "stripe._credit_note_line_item_service", False, ), "CreditNotePreviewLinesService": ( "stripe._credit_note_preview_lines_service", False, ), "CreditNoteService": ("stripe._credit_note_service", False), "custom_method": ("stripe._custom_method", False), "Customer": ("stripe._customer", False), "CustomerBalanceTransaction": ( "stripe._customer_balance_transaction", False, ), "CustomerBalanceTransactionService": ( "stripe._customer_balance_transaction_service", False, ), "CustomerCashBalanceService": ( "stripe._customer_cash_balance_service", False, ), "CustomerCashBalanceTransaction": ( "stripe._customer_cash_balance_transaction", False, ), "CustomerCashBalanceTransactionService": ( "stripe._customer_cash_balance_transaction_service", False, ), "CustomerFundingInstructionsService": ( "stripe._customer_funding_instructions_service", False, ), "CustomerPaymentMethodService": ( "stripe._customer_payment_method_service", False, ), "CustomerPaymentSourceService": ( "stripe._customer_payment_source_service", False, ), "CustomerService": ("stripe._customer_service", False), "CustomerSession": ("stripe._customer_session", False), "CustomerSessionService": ("stripe._customer_session_service", False), "CustomerTaxIdService": ("stripe._customer_tax_id_service", False), "DeletableAPIResource": ("stripe._deletable_api_resource", False), "Discount": ("stripe._discount", False), "Dispute": ("stripe._dispute", False), "DisputeService": ("stripe._dispute_service", False), "EntitlementsService": ("stripe._entitlements_service", False), "EphemeralKey": ("stripe._ephemeral_key", False), "EphemeralKeyService": ("stripe._ephemeral_key_service", False), "APIConnectionError": ("stripe._error", False), "APIError": ("stripe._error", False), "AuthenticationError": ("stripe._error", False), "CardError": ("stripe._error", False), "IdempotencyError": ("stripe._error", False), "InvalidRequestError": ("stripe._error", False), "PermissionError": ("stripe._error", False), "RateLimitError": ("stripe._error", False), "SignatureVerificationError": ("stripe._error", False), "StripeError": ("stripe._error", False), "StripeErrorWithParamCode": ("stripe._error", False), "TemporarySessionExpiredError": ("stripe._error", False), "ErrorObject": ("stripe._error_object", False), "OAuthErrorObject": ("stripe._error_object", False), "Event": ("stripe._event", False), "EventService": ("stripe._event_service", False), "ExchangeRate": ("stripe._exchange_rate", False), "ExchangeRateService": ("stripe._exchange_rate_service", False), "File": ("stripe._file", False), "FileLink": ("stripe._file_link", False), "FileLinkService": ("stripe._file_link_service", False), "FileService": ("stripe._file_service", False), "FinancialConnectionsService": ( "stripe._financial_connections_service", False, ), "ForwardingService": ("stripe._forwarding_service", False), "FundingInstructions": ("stripe._funding_instructions", False), "AIOHTTPClient": ("stripe._http_client", False), "HTTPClient": ("stripe._http_client", False), "HTTPXClient": ("stripe._http_client", False), "PycurlClient": ("stripe._http_client", False), "RequestsClient": ("stripe._http_client", False), "UrlFetchClient": ("stripe._http_client", False), "UrllibClient": ("stripe._http_client", False), "IdentityService": ("stripe._identity_service", False), "Invoice": ("stripe._invoice", False), "InvoiceItem": ("stripe._invoice_item", False), "InvoiceItemService": ("stripe._invoice_item_service", False), "InvoiceLineItem": ("stripe._invoice_line_item", False), "InvoiceLineItemService": ("stripe._invoice_line_item_service", False), "InvoicePayment": ("stripe._invoice_payment", False), "InvoicePaymentService": ("stripe._invoice_payment_service", False), "InvoiceRenderingTemplate": ("stripe._invoice_rendering_template", False), "InvoiceRenderingTemplateService": ( "stripe._invoice_rendering_template_service", False, ), "InvoiceService": ("stripe._invoice_service", False), "IssuingService": ("stripe._issuing_service", False), "LineItem": ("stripe._line_item", False), "ListObject": ("stripe._list_object", False), "ListableAPIResource": ("stripe._listable_api_resource", False), "LoginLink": ("stripe._login_link", False), "Mandate": ("stripe._mandate", False), "MandateService": ("stripe._mandate_service", False), "nested_resource_class_methods": ( "stripe._nested_resource_class_methods", False, ), "OAuth": ("stripe._oauth", False), "OAuthService": ("stripe._oauth_service", False), "PaymentAttemptRecord": ("stripe._payment_attempt_record", False), "PaymentAttemptRecordService": ( "stripe._payment_attempt_record_service", False, ), "PaymentIntent": ("stripe._payment_intent", False), "PaymentIntentAmountDetailsLineItem": ( "stripe._payment_intent_amount_details_line_item", False, ), "PaymentIntentAmountDetailsLineItemService": ( "stripe._payment_intent_amount_details_line_item_service", False, ), "PaymentIntentService": ("stripe._payment_intent_service", False), "PaymentLink": ("stripe._payment_link", False), "PaymentLinkLineItemService": ( "stripe._payment_link_line_item_service", False, ), "PaymentLinkService": ("stripe._payment_link_service", False), "PaymentMethod": ("stripe._payment_method", False), "PaymentMethodConfiguration": ( "stripe._payment_method_configuration", False, ), "PaymentMethodConfigurationService": ( "stripe._payment_method_configuration_service", False, ), "PaymentMethodDomain": ("stripe._payment_method_domain", False), "PaymentMethodDomainService": ( "stripe._payment_method_domain_service", False, ), "PaymentMethodService": ("stripe._payment_method_service", False), "PaymentRecord": ("stripe._payment_record", False), "PaymentRecordService": ("stripe._payment_record_service", False), "Payout": ("stripe._payout", False), "PayoutService": ("stripe._payout_service", False), "Person": ("stripe._person", False), "Plan": ("stripe._plan", False), "PlanService": ("stripe._plan_service", False), "Price": ("stripe._price", False), "PriceService": ("stripe._price_service", False), "Product": ("stripe._product", False), "ProductFeature": ("stripe._product_feature", False), "ProductFeatureService": ("stripe._product_feature_service", False), "ProductService": ("stripe._product_service", False), "PromotionCode": ("stripe._promotion_code", False), "PromotionCodeService": ("stripe._promotion_code_service", False), "Quote": ("stripe._quote", False), "QuoteComputedUpfrontLineItemsService": ( "stripe._quote_computed_upfront_line_items_service", False, ), "QuoteLineItemService": ("stripe._quote_line_item_service", False), "QuoteService": ("stripe._quote_service", False), "RadarService": ("stripe._radar_service", False), "Refund": ("stripe._refund", False), "RefundService": ("stripe._refund_service", False), "ReportingService": ("stripe._reporting_service", False), "RequestOptions": ("stripe._request_options", False), "RequestorOptions": ("stripe._requestor_options", False), "ReserveTransaction": ("stripe._reserve_transaction", False), "Reversal": ("stripe._reversal", False), "Review": ("stripe._review", False), "ReviewService": ("stripe._review_service", False), "SearchResultObject": ("stripe._search_result_object", False), "SearchableAPIResource": ("stripe._searchable_api_resource", False), "SetupAttempt": ("stripe._setup_attempt", False), "SetupAttemptService": ("stripe._setup_attempt_service", False), "SetupIntent": ("stripe._setup_intent", False), "SetupIntentService": ("stripe._setup_intent_service", False), "ShippingRate": ("stripe._shipping_rate", False), "ShippingRateService": ("stripe._shipping_rate_service", False), "SigmaService": ("stripe._sigma_service", False), "SingletonAPIResource": ("stripe._singleton_api_resource", False), "Source": ("stripe._source", False), "SourceMandateNotification": ( "stripe._source_mandate_notification", False, ), "SourceService": ("stripe._source_service", False), "SourceTransaction": ("stripe._source_transaction", False), "SourceTransactionService": ("stripe._source_transaction_service", False), "StripeClient": ("stripe._stripe_client", False), "StripeContext": ("stripe._stripe_context", False), "StripeObject": ("stripe._stripe_object", False), "StripeResponse": ("stripe._stripe_response", False), "StripeResponseBase": ("stripe._stripe_response", False), "StripeStreamResponse": ("stripe._stripe_response", False), "StripeStreamResponseAsync": ("stripe._stripe_response", False), "Subscription": ("stripe._subscription", False), "SubscriptionItem": ("stripe._subscription_item", False), "SubscriptionItemService": ("stripe._subscription_item_service", False), "SubscriptionSchedule": ("stripe._subscription_schedule", False), "SubscriptionScheduleService": ( "stripe._subscription_schedule_service", False, ), "SubscriptionService": ("stripe._subscription_service", False), "TaxCode": ("stripe._tax_code", False), "TaxCodeService": ("stripe._tax_code_service", False), "TaxDeductedAtSource": ("stripe._tax_deducted_at_source", False), "TaxId": ("stripe._tax_id", False), "TaxIdService": ("stripe._tax_id_service", False), "TaxRate": ("stripe._tax_rate", False), "TaxRateService": ("stripe._tax_rate_service", False), "TaxService": ("stripe._tax_service", False), "TerminalService": ("stripe._terminal_service", False), "APIResourceTestHelpers": ("stripe._test_helpers", False), "TestHelpersService": ("stripe._test_helpers_service", False), "Token": ("stripe._token", False), "TokenService": ("stripe._token_service", False), "Topup": ("stripe._topup", False), "TopupService": ("stripe._topup_service", False), "Transfer": ("stripe._transfer", False), "TransferReversalService": ("stripe._transfer_reversal_service", False), "TransferService": ("stripe._transfer_service", False), "TreasuryService": ("stripe._treasury_service", False), "UpdateableAPIResource": ("stripe._updateable_api_resource", False), "convert_to_stripe_object": ("stripe._util", False), "V1Services": ("stripe._v1_services", False), "V2Services": ("stripe._v2_services", False), "VerifyMixin": ("stripe._verify_mixin", False), "Webhook": ("stripe._webhook", False), "WebhookSignature": ("stripe._webhook", False), "WebhookEndpoint": ("stripe._webhook_endpoint", False), "WebhookEndpointService": ("stripe._webhook_endpoint_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() # The end of the section generated from our OpenAPI spec ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.318062 stripe-13.2.0/stripe/_account.py0000644000000000000000000033570715102753431013524 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._nested_resource_class_methods import nested_resource_class_methods from stripe._oauth import OAuth from stripe._person import Person from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, Union, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._bank_account import BankAccount from stripe._capability import Capability from stripe._card import Card from stripe._file import File from stripe._login_link import LoginLink from stripe._tax_id import TaxId from stripe.params._account_create_external_account_params import ( AccountCreateExternalAccountParams, ) from stripe.params._account_create_login_link_params import ( AccountCreateLoginLinkParams, ) from stripe.params._account_create_params import AccountCreateParams from stripe.params._account_create_person_params import ( AccountCreatePersonParams, ) from stripe.params._account_delete_external_account_params import ( AccountDeleteExternalAccountParams, ) from stripe.params._account_delete_params import AccountDeleteParams from stripe.params._account_delete_person_params import ( AccountDeletePersonParams, ) from stripe.params._account_list_capabilities_params import ( AccountListCapabilitiesParams, ) from stripe.params._account_list_external_accounts_params import ( AccountListExternalAccountsParams, ) from stripe.params._account_list_params import AccountListParams from stripe.params._account_list_persons_params import ( AccountListPersonsParams, ) from stripe.params._account_modify_capability_params import ( AccountModifyCapabilityParams, ) from stripe.params._account_modify_external_account_params import ( AccountModifyExternalAccountParams, ) from stripe.params._account_modify_person_params import ( AccountModifyPersonParams, ) from stripe.params._account_persons_params import AccountPersonsParams from stripe.params._account_reject_params import AccountRejectParams from stripe.params._account_retrieve_capability_params import ( AccountRetrieveCapabilityParams, ) from stripe.params._account_retrieve_external_account_params import ( AccountRetrieveExternalAccountParams, ) from stripe.params._account_retrieve_person_params import ( AccountRetrievePersonParams, ) @nested_resource_class_methods("capability") @nested_resource_class_methods("external_account") @nested_resource_class_methods("login_link") @nested_resource_class_methods("person") class Account( CreateableAPIResource["Account"], DeletableAPIResource["Account"], ListableAPIResource["Account"], UpdateableAPIResource["Account"], ): """ This is an object representing a Stripe account. You can retrieve it to see properties on the account like its current requirements or if the account is enabled to make live charges or receive payouts. For accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts, the properties below are always returned. For accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`, which includes Standard and Express accounts, some properties are only returned until you create an [Account Link](https://docs.stripe.com/api/account_links) or [Account Session](https://docs.stripe.com/api/account_sessions) to start Connect Onboarding. Learn about the [differences between accounts](https://docs.stripe.com/connect/accounts). """ OBJECT_NAME: ClassVar[Literal["account"]] = "account" class BusinessProfile(StripeObject): class AnnualRevenue(StripeObject): amount: Optional[int] """ A non-negative integer representing the amount in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal). """ currency: Optional[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ fiscal_year_end: Optional[str] """ The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for the 31st of December, 2023. """ class MonthlyEstimatedRevenue(StripeObject): amount: int """ A non-negative integer representing how much to charge in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal). """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ class SupportAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ annual_revenue: Optional[AnnualRevenue] """ The applicant's gross annual revenue for its preceding fiscal year. """ estimated_worker_count: Optional[int] """ An estimated upper bound of employees, contractors, vendors, etc. currently working for the business. """ mcc: Optional[str] """ [The merchant category code for the account](https://docs.stripe.com/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide. """ minority_owned_business_designation: Optional[ List[ Literal[ "lgbtqi_owned_business", "minority_owned_business", "none_of_these_apply", "prefer_not_to_answer", "women_owned_business", ] ] ] """ Whether the business is a minority-owned, women-owned, and/or LGBTQI+ -owned business. """ monthly_estimated_revenue: Optional[MonthlyEstimatedRevenue] name: Optional[str] """ The customer-facing business name. """ product_description: Optional[str] """ Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes. """ support_address: Optional[SupportAddress] """ A publicly available mailing address for sending support issues to. """ support_email: Optional[str] """ A publicly available email address for sending support issues to. """ support_phone: Optional[str] """ A publicly available phone number to call with support issues. """ support_url: Optional[str] """ A publicly available website for handling support issues. """ url: Optional[str] """ The business's publicly available website. """ _inner_class_types = { "annual_revenue": AnnualRevenue, "monthly_estimated_revenue": MonthlyEstimatedRevenue, "support_address": SupportAddress, } class Capabilities(StripeObject): acss_debit_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the Canadian pre-authorized debits payments capability of the account, or whether the account can directly process Canadian pre-authorized debits charges. """ affirm_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the Affirm capability of the account, or whether the account can directly process Affirm charges. """ afterpay_clearpay_payments: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the Afterpay Clearpay capability of the account, or whether the account can directly process Afterpay Clearpay charges. """ alma_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the Alma capability of the account, or whether the account can directly process Alma payments. """ amazon_pay_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the AmazonPay capability of the account, or whether the account can directly process AmazonPay payments. """ au_becs_debit_payments: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the BECS Direct Debit (AU) payments capability of the account, or whether the account can directly process BECS Direct Debit (AU) charges. """ bacs_debit_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the Bacs Direct Debits payments capability of the account, or whether the account can directly process Bacs Direct Debits charges. """ bancontact_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the Bancontact payments capability of the account, or whether the account can directly process Bancontact charges. """ bank_transfer_payments: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the customer_balance payments capability of the account, or whether the account can directly process customer_balance charges. """ billie_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the Billie capability of the account, or whether the account can directly process Billie payments. """ blik_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the blik payments capability of the account, or whether the account can directly process blik charges. """ boleto_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the boleto payments capability of the account, or whether the account can directly process boleto charges. """ card_issuing: Optional[Literal["active", "inactive", "pending"]] """ The status of the card issuing capability of the account, or whether you can use Issuing to distribute funds on cards """ card_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the card payments capability of the account, or whether the account can directly process credit and debit card charges. """ cartes_bancaires_payments: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the Cartes Bancaires payments capability of the account, or whether the account can directly process Cartes Bancaires card charges in EUR currency. """ cashapp_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the Cash App Pay capability of the account, or whether the account can directly process Cash App Pay payments. """ crypto_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the Crypto capability of the account, or whether the account can directly process Crypto payments. """ eps_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the EPS payments capability of the account, or whether the account can directly process EPS charges. """ fpx_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the FPX payments capability of the account, or whether the account can directly process FPX charges. """ gb_bank_transfer_payments: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the GB customer_balance payments (GBP currency) capability of the account, or whether the account can directly process GB customer_balance charges. """ giropay_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the giropay payments capability of the account, or whether the account can directly process giropay charges. """ grabpay_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the GrabPay payments capability of the account, or whether the account can directly process GrabPay charges. """ ideal_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the iDEAL payments capability of the account, or whether the account can directly process iDEAL charges. """ india_international_payments: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the india_international_payments capability of the account, or whether the account can process international charges (non INR) in India. """ jcb_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the JCB payments capability of the account, or whether the account (Japan only) can directly process JCB credit card charges in JPY currency. """ jp_bank_transfer_payments: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the Japanese customer_balance payments (JPY currency) capability of the account, or whether the account can directly process Japanese customer_balance charges. """ kakao_pay_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the KakaoPay capability of the account, or whether the account can directly process KakaoPay payments. """ klarna_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the Klarna payments capability of the account, or whether the account can directly process Klarna charges. """ konbini_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the konbini payments capability of the account, or whether the account can directly process konbini charges. """ kr_card_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the KrCard capability of the account, or whether the account can directly process KrCard payments. """ legacy_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the legacy payments capability of the account. """ link_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the link_payments capability of the account, or whether the account can directly process Link charges. """ mb_way_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the MB WAY payments capability of the account, or whether the account can directly process MB WAY charges. """ mobilepay_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the MobilePay capability of the account, or whether the account can directly process MobilePay charges. """ multibanco_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the Multibanco payments capability of the account, or whether the account can directly process Multibanco charges. """ mx_bank_transfer_payments: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the Mexican customer_balance payments (MXN currency) capability of the account, or whether the account can directly process Mexican customer_balance charges. """ naver_pay_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the NaverPay capability of the account, or whether the account can directly process NaverPay payments. """ nz_bank_account_becs_debit_payments: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the New Zealand BECS Direct Debit payments capability of the account, or whether the account can directly process New Zealand BECS Direct Debit charges. """ oxxo_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the OXXO payments capability of the account, or whether the account can directly process OXXO charges. """ p24_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the P24 payments capability of the account, or whether the account can directly process P24 charges. """ pay_by_bank_payments: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the pay_by_bank payments capability of the account, or whether the account can directly process pay_by_bank charges. """ payco_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the Payco capability of the account, or whether the account can directly process Payco payments. """ paynow_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the paynow payments capability of the account, or whether the account can directly process paynow charges. """ pix_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the pix payments capability of the account, or whether the account can directly process pix charges. """ promptpay_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the promptpay payments capability of the account, or whether the account can directly process promptpay charges. """ revolut_pay_payments: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the RevolutPay capability of the account, or whether the account can directly process RevolutPay payments. """ samsung_pay_payments: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the SamsungPay capability of the account, or whether the account can directly process SamsungPay payments. """ satispay_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the Satispay capability of the account, or whether the account can directly process Satispay payments. """ sepa_bank_transfer_payments: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the SEPA customer_balance payments (EUR currency) capability of the account, or whether the account can directly process SEPA customer_balance charges. """ sepa_debit_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the SEPA Direct Debits payments capability of the account, or whether the account can directly process SEPA Direct Debits charges. """ sofort_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the Sofort payments capability of the account, or whether the account can directly process Sofort charges. """ swish_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the Swish capability of the account, or whether the account can directly process Swish payments. """ tax_reporting_us_1099_k: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the tax reporting 1099-K (US) capability of the account. """ tax_reporting_us_1099_misc: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the tax reporting 1099-MISC (US) capability of the account. """ transfers: Optional[Literal["active", "inactive", "pending"]] """ The status of the transfers capability of the account, or whether your platform can transfer funds to the account. """ treasury: Optional[Literal["active", "inactive", "pending"]] """ The status of the banking capability, or whether the account can have bank accounts. """ twint_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the TWINT capability of the account, or whether the account can directly process TWINT charges. """ us_bank_account_ach_payments: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the US bank account ACH payments capability of the account, or whether the account can directly process US bank account charges. """ us_bank_transfer_payments: Optional[ Literal["active", "inactive", "pending"] ] """ The status of the US customer_balance payments (USD currency) capability of the account, or whether the account can directly process US customer_balance charges. """ zip_payments: Optional[Literal["active", "inactive", "pending"]] """ The status of the Zip capability of the account, or whether the account can directly process Zip charges. """ class Company(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class AddressKana(StripeObject): city: Optional[str] """ City/Ward. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Block/Building number. """ line2: Optional[str] """ Building details. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ Prefecture. """ town: Optional[str] """ Town/cho-me. """ class AddressKanji(StripeObject): city: Optional[str] """ City/Ward. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Block/Building number. """ line2: Optional[str] """ Building details. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ Prefecture. """ town: Optional[str] """ Town/cho-me. """ class DirectorshipDeclaration(StripeObject): date: Optional[int] """ The Unix timestamp marking when the directorship declaration attestation was made. """ ip: Optional[str] """ The IP address from which the directorship declaration attestation was made. """ user_agent: Optional[str] """ The user-agent string from the browser where the directorship declaration attestation was made. """ class OwnershipDeclaration(StripeObject): date: Optional[int] """ The Unix timestamp marking when the beneficial owner attestation was made. """ ip: Optional[str] """ The IP address from which the beneficial owner attestation was made. """ user_agent: Optional[str] """ The user-agent string from the browser where the beneficial owner attestation was made. """ class RegistrationDate(StripeObject): day: Optional[int] """ The day of registration, between 1 and 31. """ month: Optional[int] """ The month of registration, between 1 and 12. """ year: Optional[int] """ The four-digit year of registration. """ class RepresentativeDeclaration(StripeObject): date: Optional[int] """ The Unix timestamp marking when the representative declaration attestation was made. """ ip: Optional[str] """ The IP address from which the representative declaration attestation was made. """ user_agent: Optional[str] """ The user-agent string from the browser where the representative declaration attestation was made. """ class Verification(StripeObject): class Document(StripeObject): back: Optional[ExpandableField["File"]] """ The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. Note that `additional_verification` files are [not downloadable](https://docs.stripe.com/file-upload#uploading-a-file). """ details: Optional[str] """ A user-displayable string describing the verification state of this document. """ details_code: Optional[str] """ One of `document_corrupt`, `document_expired`, `document_failed_copy`, `document_failed_greyscale`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_not_readable`, `document_not_uploaded`, `document_type_not_supported`, or `document_too_large`. A machine-readable code specifying the verification state for this document. """ front: Optional[ExpandableField["File"]] """ The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. Note that `additional_verification` files are [not downloadable](https://docs.stripe.com/file-upload#uploading-a-file). """ document: Document _inner_class_types = {"document": Document} address: Optional[Address] address_kana: Optional[AddressKana] """ The Kana variation of the company's primary address (Japan only). """ address_kanji: Optional[AddressKanji] """ The Kanji variation of the company's primary address (Japan only). """ directors_provided: Optional[bool] """ Whether the company's directors have been provided. This Boolean will be `true` if you've manually indicated that all directors are provided via [the `directors_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-directors_provided). """ directorship_declaration: Optional[DirectorshipDeclaration] """ This hash is used to attest that the director information provided to Stripe is both current and correct. """ executives_provided: Optional[bool] """ Whether the company's executives have been provided. This Boolean will be `true` if you've manually indicated that all executives are provided via [the `executives_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-executives_provided), or if Stripe determined that sufficient executives were provided. """ export_license_id: Optional[str] """ The export license ID number of the company, also referred as Import Export Code (India only). """ export_purpose_code: Optional[str] """ The purpose code to use for export transactions (India only). """ name: Optional[str] """ The company's legal name. Also available for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`. """ name_kana: Optional[str] """ The Kana variation of the company's legal name (Japan only). Also available for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`. """ name_kanji: Optional[str] """ The Kanji variation of the company's legal name (Japan only). Also available for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`. """ owners_provided: Optional[bool] """ Whether the company's owners have been provided. This Boolean will be `true` if you've manually indicated that all owners are provided via [the `owners_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-owners_provided), or if Stripe determined that sufficient owners were provided. Stripe determines ownership requirements using both the number of owners provided and their total percent ownership (calculated by adding the `percent_ownership` of each owner together). """ ownership_declaration: Optional[OwnershipDeclaration] """ This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct. """ ownership_exemption_reason: Optional[ Literal[ "qualified_entity_exceeds_ownership_threshold", "qualifies_as_financial_institution", ] ] """ This value is used to determine if a business is exempt from providing ultimate beneficial owners. See [this support article](https://support.stripe.com/questions/exemption-from-providing-ownership-details) and [changelog](https://docs.stripe.com/changelog/acacia/2025-01-27/ownership-exemption-reason-accounts-api) for more details. """ phone: Optional[str] """ The company's phone number (used for verification). """ registration_date: Optional[RegistrationDate] representative_declaration: Optional[RepresentativeDeclaration] """ This hash is used to attest that the representative is authorized to act as the representative of their legal entity. """ structure: Optional[ Literal[ "free_zone_establishment", "free_zone_llc", "government_instrumentality", "governmental_unit", "incorporated_non_profit", "incorporated_partnership", "limited_liability_partnership", "llc", "multi_member_llc", "private_company", "private_corporation", "private_partnership", "public_company", "public_corporation", "public_partnership", "registered_charity", "single_member_llc", "sole_establishment", "sole_proprietorship", "tax_exempt_government_instrumentality", "unincorporated_association", "unincorporated_non_profit", "unincorporated_partnership", ] ] """ The category identifying the legal structure of the company or legal entity. Also available for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`. See [Business structure](https://stripe.com/docs/connect/identity-verification#business-structure) for more details. """ tax_id_provided: Optional[bool] """ Whether the company's business ID number was provided. """ tax_id_registrar: Optional[str] """ The jurisdiction in which the `tax_id` is registered (Germany-based companies only). """ vat_id_provided: Optional[bool] """ Whether the company's business VAT number was provided. """ verification: Optional[Verification] """ Information on the verification state of the company. """ _inner_class_types = { "address": Address, "address_kana": AddressKana, "address_kanji": AddressKanji, "directorship_declaration": DirectorshipDeclaration, "ownership_declaration": OwnershipDeclaration, "registration_date": RegistrationDate, "representative_declaration": RepresentativeDeclaration, "verification": Verification, } class Controller(StripeObject): class Fees(StripeObject): payer: Literal[ "account", "application", "application_custom", "application_express", ] """ A value indicating the responsible payer of a bundle of Stripe fees for pricing-control eligible products on this account. Learn more about [fee behavior on connected accounts](https://docs.stripe.com/connect/direct-charges-fee-payer-behavior). """ class Losses(StripeObject): payments: Literal["application", "stripe"] """ A value indicating who is liable when this account can't pay back negative balances from payments. """ class StripeDashboard(StripeObject): type: Literal["express", "full", "none"] """ A value indicating the Stripe dashboard this account has access to independent of the Connect application. """ fees: Optional[Fees] is_controller: Optional[bool] """ `true` if the Connect application retrieving the resource controls the account and can therefore exercise [platform controls](https://stripe.com/docs/connect/platform-controls-for-standard-accounts). Otherwise, this field is null. """ losses: Optional[Losses] requirement_collection: Optional[Literal["application", "stripe"]] """ A value indicating responsibility for collecting requirements on this account. Only returned when the Connect application retrieving the resource controls the account. """ stripe_dashboard: Optional[StripeDashboard] type: Literal["account", "application"] """ The controller type. Can be `application`, if a Connect application controls the account, or `account`, if the account controls itself. """ _inner_class_types = { "fees": Fees, "losses": Losses, "stripe_dashboard": StripeDashboard, } class FutureRequirements(StripeObject): class Alternative(StripeObject): alternative_fields_due: List[str] """ Fields that can be provided to satisfy all fields in `original_fields_due`. """ original_fields_due: List[str] """ Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`. """ class Error(StripeObject): code: Literal[ "external_request", "information_missing", "invalid_address_city_state_postal_code", "invalid_address_highway_contract_box", "invalid_address_private_mailbox", "invalid_business_profile_name", "invalid_business_profile_name_denylisted", "invalid_company_name_denylisted", "invalid_dob_age_over_maximum", "invalid_dob_age_under_18", "invalid_dob_age_under_minimum", "invalid_product_description_length", "invalid_product_description_url_match", "invalid_representative_country", "invalid_signator", "invalid_statement_descriptor_business_mismatch", "invalid_statement_descriptor_denylisted", "invalid_statement_descriptor_length", "invalid_statement_descriptor_prefix_denylisted", "invalid_statement_descriptor_prefix_mismatch", "invalid_street_address", "invalid_tax_id", "invalid_tax_id_format", "invalid_tos_acceptance", "invalid_url_denylisted", "invalid_url_format", "invalid_url_length", "invalid_url_web_presence_detected", "invalid_url_website_business_information_mismatch", "invalid_url_website_empty", "invalid_url_website_inaccessible", "invalid_url_website_inaccessible_geoblocked", "invalid_url_website_inaccessible_password_protected", "invalid_url_website_incomplete", "invalid_url_website_incomplete_cancellation_policy", "invalid_url_website_incomplete_customer_service_details", "invalid_url_website_incomplete_legal_restrictions", "invalid_url_website_incomplete_refund_policy", "invalid_url_website_incomplete_return_policy", "invalid_url_website_incomplete_terms_and_conditions", "invalid_url_website_incomplete_under_construction", "invalid_url_website_other", "invalid_value_other", "unsupported_business_type", "verification_directors_mismatch", "verification_document_address_mismatch", "verification_document_address_missing", "verification_document_corrupt", "verification_document_country_not_supported", "verification_document_directors_mismatch", "verification_document_dob_mismatch", "verification_document_duplicate_type", "verification_document_expired", "verification_document_failed_copy", "verification_document_failed_greyscale", "verification_document_failed_other", "verification_document_failed_test_mode", "verification_document_fraudulent", "verification_document_id_number_mismatch", "verification_document_id_number_missing", "verification_document_incomplete", "verification_document_invalid", "verification_document_issue_or_expiry_date_missing", "verification_document_manipulated", "verification_document_missing_back", "verification_document_missing_front", "verification_document_name_mismatch", "verification_document_name_missing", "verification_document_nationality_mismatch", "verification_document_not_readable", "verification_document_not_signed", "verification_document_not_uploaded", "verification_document_photo_mismatch", "verification_document_too_large", "verification_document_type_not_supported", "verification_extraneous_directors", "verification_failed_address_match", "verification_failed_authorizer_authority", "verification_failed_business_iec_number", "verification_failed_document_match", "verification_failed_id_number_match", "verification_failed_keyed_identity", "verification_failed_keyed_match", "verification_failed_name_match", "verification_failed_other", "verification_failed_representative_authority", "verification_failed_residential_address", "verification_failed_tax_id_match", "verification_failed_tax_id_not_issued", "verification_legal_entity_structure_mismatch", "verification_missing_directors", "verification_missing_executives", "verification_missing_owners", "verification_rejected_ownership_exemption_reason", "verification_requires_additional_memorandum_of_associations", "verification_requires_additional_proof_of_registration", "verification_supportability", ] """ The code for the type of error. """ reason: str """ An informative message that indicates the error type and provides additional details about the error. """ requirement: str """ The specific user onboarding requirement field (in the requirements hash) that needs to be resolved. """ alternatives: Optional[List[Alternative]] """ Fields that are due and can be satisfied by providing the corresponding alternative fields instead. """ current_deadline: Optional[int] """ Date on which `future_requirements` becomes the main `requirements` hash and `future_requirements` becomes empty. After the transition, `currently_due` requirements may immediately become `past_due`, but the account may also be given a grace period depending on its enablement state prior to transitioning. """ currently_due: Optional[List[str]] """ Fields that need to be collected to keep the account enabled. If not collected by `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash. """ disabled_reason: Optional[ Literal[ "action_required.requested_capabilities", "listed", "other", "platform_paused", "rejected.fraud", "rejected.incomplete_verification", "rejected.listed", "rejected.other", "rejected.platform_fraud", "rejected.platform_other", "rejected.platform_terms_of_service", "rejected.terms_of_service", "requirements.past_due", "requirements.pending_verification", "under_review", ] ] """ This is typed as an enum for consistency with `requirements.disabled_reason`. """ errors: Optional[List[Error]] """ Fields that are `currently_due` and need to be collected again because validation or verification failed. """ eventually_due: Optional[List[str]] """ Fields you must collect when all thresholds are reached. As they become required, they appear in `currently_due` as well. """ past_due: Optional[List[str]] """ Fields that weren't collected by `requirements.current_deadline`. These fields need to be collected to enable the capability on the account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`. """ 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` or `currently_due`. Fields might appear in `eventually_due` or `currently_due` and in `pending_verification` if verification fails but another verification is still pending. """ _inner_class_types = {"alternatives": Alternative, "errors": Error} class Groups(StripeObject): payments_pricing: Optional[str] """ The group the account is in to determine their payments pricing, and null if the account is on customized pricing. [See the Platform pricing tool documentation](https://stripe.com/docs/connect/platform-pricing-tools) for details. """ class Requirements(StripeObject): class Alternative(StripeObject): alternative_fields_due: List[str] """ Fields that can be provided to satisfy all fields in `original_fields_due`. """ original_fields_due: List[str] """ Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`. """ class Error(StripeObject): code: Literal[ "external_request", "information_missing", "invalid_address_city_state_postal_code", "invalid_address_highway_contract_box", "invalid_address_private_mailbox", "invalid_business_profile_name", "invalid_business_profile_name_denylisted", "invalid_company_name_denylisted", "invalid_dob_age_over_maximum", "invalid_dob_age_under_18", "invalid_dob_age_under_minimum", "invalid_product_description_length", "invalid_product_description_url_match", "invalid_representative_country", "invalid_signator", "invalid_statement_descriptor_business_mismatch", "invalid_statement_descriptor_denylisted", "invalid_statement_descriptor_length", "invalid_statement_descriptor_prefix_denylisted", "invalid_statement_descriptor_prefix_mismatch", "invalid_street_address", "invalid_tax_id", "invalid_tax_id_format", "invalid_tos_acceptance", "invalid_url_denylisted", "invalid_url_format", "invalid_url_length", "invalid_url_web_presence_detected", "invalid_url_website_business_information_mismatch", "invalid_url_website_empty", "invalid_url_website_inaccessible", "invalid_url_website_inaccessible_geoblocked", "invalid_url_website_inaccessible_password_protected", "invalid_url_website_incomplete", "invalid_url_website_incomplete_cancellation_policy", "invalid_url_website_incomplete_customer_service_details", "invalid_url_website_incomplete_legal_restrictions", "invalid_url_website_incomplete_refund_policy", "invalid_url_website_incomplete_return_policy", "invalid_url_website_incomplete_terms_and_conditions", "invalid_url_website_incomplete_under_construction", "invalid_url_website_other", "invalid_value_other", "unsupported_business_type", "verification_directors_mismatch", "verification_document_address_mismatch", "verification_document_address_missing", "verification_document_corrupt", "verification_document_country_not_supported", "verification_document_directors_mismatch", "verification_document_dob_mismatch", "verification_document_duplicate_type", "verification_document_expired", "verification_document_failed_copy", "verification_document_failed_greyscale", "verification_document_failed_other", "verification_document_failed_test_mode", "verification_document_fraudulent", "verification_document_id_number_mismatch", "verification_document_id_number_missing", "verification_document_incomplete", "verification_document_invalid", "verification_document_issue_or_expiry_date_missing", "verification_document_manipulated", "verification_document_missing_back", "verification_document_missing_front", "verification_document_name_mismatch", "verification_document_name_missing", "verification_document_nationality_mismatch", "verification_document_not_readable", "verification_document_not_signed", "verification_document_not_uploaded", "verification_document_photo_mismatch", "verification_document_too_large", "verification_document_type_not_supported", "verification_extraneous_directors", "verification_failed_address_match", "verification_failed_authorizer_authority", "verification_failed_business_iec_number", "verification_failed_document_match", "verification_failed_id_number_match", "verification_failed_keyed_identity", "verification_failed_keyed_match", "verification_failed_name_match", "verification_failed_other", "verification_failed_representative_authority", "verification_failed_residential_address", "verification_failed_tax_id_match", "verification_failed_tax_id_not_issued", "verification_legal_entity_structure_mismatch", "verification_missing_directors", "verification_missing_executives", "verification_missing_owners", "verification_rejected_ownership_exemption_reason", "verification_requires_additional_memorandum_of_associations", "verification_requires_additional_proof_of_registration", "verification_supportability", ] """ The code for the type of error. """ reason: str """ An informative message that indicates the error type and provides additional details about the error. """ requirement: str """ The specific user onboarding requirement field (in the requirements hash) that needs to be resolved. """ alternatives: Optional[List[Alternative]] """ Fields that are due and can be satisfied by providing the corresponding alternative fields instead. """ current_deadline: Optional[int] """ Date by which the fields in `currently_due` must be collected to keep the account enabled. These fields may disable the account sooner if the next threshold is reached before they are collected. """ currently_due: Optional[List[str]] """ Fields that need to be collected to keep the account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled. """ disabled_reason: Optional[ Literal[ "action_required.requested_capabilities", "listed", "other", "platform_paused", "rejected.fraud", "rejected.incomplete_verification", "rejected.listed", "rejected.other", "rejected.platform_fraud", "rejected.platform_other", "rejected.platform_terms_of_service", "rejected.terms_of_service", "requirements.past_due", "requirements.pending_verification", "under_review", ] ] """ If the account is disabled, this enum describes why. [Learn more about handling verification issues](https://stripe.com/docs/connect/handling-api-verification). """ errors: Optional[List[Error]] """ Fields that are `currently_due` and need to be collected again because validation or verification failed. """ eventually_due: Optional[List[str]] """ Fields you must collect when all thresholds are reached. As they become required, they appear in `currently_due` as well, and `current_deadline` becomes set. """ past_due: Optional[List[str]] """ Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the 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. """ _inner_class_types = {"alternatives": Alternative, "errors": Error} class Settings(StripeObject): class BacsDebitPayments(StripeObject): display_name: Optional[str] """ The Bacs Direct Debit display name for this account. For payments made with Bacs Direct Debit, this name appears on the mandate as the statement descriptor. Mobile banking apps display it as the name of the business. To use custom branding, set the Bacs Direct Debit Display Name during or right after creation. Custom branding incurs an additional monthly fee for the platform. The fee appears 5 business days after requesting Bacs. If you don't set the display name before requesting Bacs capability, it's automatically set as "Stripe" and the account is onboarded to Stripe branding, which is free. """ service_user_number: Optional[str] """ The Bacs Direct Debit Service user number for this account. For payments made with Bacs Direct Debit, this number is a unique identifier of the account with our banking partners. """ class Branding(StripeObject): icon: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) An icon for the account. Must be square and at least 128px x 128px. """ logo: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A logo for the account that will be used in Checkout instead of the icon and without the account's name next to it if provided. Must be at least 128px x 128px. """ primary_color: Optional[str] """ A CSS hex color value representing the primary branding color for this account """ secondary_color: Optional[str] """ A CSS hex color value representing the secondary branding color for this account """ class CardIssuing(StripeObject): class TosAcceptance(StripeObject): date: Optional[int] """ The Unix timestamp marking when the account representative accepted the service agreement. """ ip: Optional[str] """ The IP address from which the account representative accepted the service agreement. """ user_agent: Optional[str] """ The user agent of the browser from which the account representative accepted the service agreement. """ tos_acceptance: Optional[TosAcceptance] _inner_class_types = {"tos_acceptance": TosAcceptance} class CardPayments(StripeObject): class DeclineOn(StripeObject): avs_failure: bool """ Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This setting only applies when a ZIP or postal code is provided and they fail bank verification. """ cvc_failure: bool """ Whether Stripe automatically declines charges with an incorrect CVC. This setting only applies when a CVC is provided and it fails bank verification. """ decline_on: Optional[DeclineOn] statement_descriptor_prefix: Optional[str] """ The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge. `statement_descriptor_prefix` is useful for maximizing descriptor space for the dynamic portion. """ statement_descriptor_prefix_kana: Optional[str] """ The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge. `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion. """ statement_descriptor_prefix_kanji: Optional[str] """ The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge. `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion. """ _inner_class_types = {"decline_on": DeclineOn} class Dashboard(StripeObject): display_name: Optional[str] """ The display name for this account. This is used on the Stripe Dashboard to differentiate between accounts. """ timezone: Optional[str] """ The timezone used in the Stripe Dashboard for this account. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones). """ class Invoices(StripeObject): default_account_tax_ids: Optional[List[ExpandableField["TaxId"]]] """ The list of default Account Tax IDs to automatically include on invoices. Account Tax IDs get added when an invoice is finalized. """ hosted_payment_method_save: Optional[ Literal["always", "never", "offer"] ] """ 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): statement_descriptor: Optional[str] """ The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge. """ statement_descriptor_kana: Optional[str] """ The Kana variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). """ statement_descriptor_kanji: Optional[str] """ The Kanji variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). """ statement_descriptor_prefix_kana: Optional[str] """ The Kana variation of `statement_descriptor_prefix` used for card charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). """ statement_descriptor_prefix_kanji: Optional[str] """ The Kanji variation of `statement_descriptor_prefix` used for card charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). """ class Payouts(StripeObject): class Schedule(StripeObject): delay_days: int """ The number of days charges for the account will be held before being paid out. """ interval: str """ How frequently funds will be paid out. One of `manual` (payouts only created via API call), `daily`, `weekly`, or `monthly`. """ monthly_anchor: Optional[int] """ The day of the month funds will be paid out. Only shown if `interval` is monthly. Payouts scheduled between the 29th and 31st of the month are sent on the last day of shorter months. """ monthly_payout_days: Optional[List[int]] """ The days of the month funds will be paid out. Only shown if `interval` is monthly. Payouts scheduled between the 29th and 31st of the month are sent on the last day of shorter months. """ weekly_anchor: Optional[str] """ The day of the week funds will be paid out, of the style 'monday', 'tuesday', etc. Only shown if `interval` is weekly. """ weekly_payout_days: Optional[ List[ Literal[ "friday", "monday", "thursday", "tuesday", "wednesday", ] ] ] """ The days of the week when available funds are paid out, specified as an array, for example, [`monday`, `tuesday`]. Only shown if `interval` is weekly. """ debit_negative_balances: bool """ A Boolean indicating if Stripe should try to reclaim negative balances from an attached bank account. See [Understanding Connect account balances](https://docs.stripe.com/connect/account-balances) for details. The default value is `false` when [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts, otherwise `true`. """ schedule: Schedule statement_descriptor: Optional[str] """ The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard. """ _inner_class_types = {"schedule": Schedule} class SepaDebitPayments(StripeObject): creditor_id: Optional[str] """ SEPA creditor identifier that identifies the company making the payment. """ class Treasury(StripeObject): class TosAcceptance(StripeObject): date: Optional[int] """ The Unix timestamp marking when the account representative accepted the service agreement. """ ip: Optional[str] """ The IP address from which the account representative accepted the service agreement. """ user_agent: Optional[str] """ The user agent of the browser from which the account representative accepted the service agreement. """ tos_acceptance: Optional[TosAcceptance] _inner_class_types = {"tos_acceptance": TosAcceptance} bacs_debit_payments: Optional[BacsDebitPayments] branding: Branding card_issuing: Optional[CardIssuing] card_payments: CardPayments dashboard: Dashboard invoices: Optional[Invoices] payments: Payments payouts: Optional[Payouts] sepa_debit_payments: Optional[SepaDebitPayments] treasury: Optional[Treasury] _inner_class_types = { "bacs_debit_payments": BacsDebitPayments, "branding": Branding, "card_issuing": CardIssuing, "card_payments": CardPayments, "dashboard": Dashboard, "invoices": Invoices, "payments": Payments, "payouts": Payouts, "sepa_debit_payments": SepaDebitPayments, "treasury": Treasury, } class TosAcceptance(StripeObject): date: Optional[int] """ The Unix timestamp marking when the account representative accepted their service agreement """ ip: Optional[str] """ The IP address from which the account representative accepted their service agreement """ service_agreement: Optional[str] """ The user's service agreement type """ user_agent: Optional[str] """ The user agent of the browser from which the account representative accepted their service agreement """ business_profile: Optional[BusinessProfile] """ Business information about the account. """ business_type: Optional[ Literal["company", "government_entity", "individual", "non_profit"] ] """ The business type. """ capabilities: Optional[Capabilities] charges_enabled: Optional[bool] """ Whether the account can process charges. """ company: Optional[Company] controller: Optional[Controller] country: Optional[str] """ The account's country. """ created: Optional[int] """ Time at which the account was connected. Measured in seconds since the Unix epoch. """ default_currency: Optional[str] """ Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts). """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ details_submitted: Optional[bool] """ Whether account details have been submitted. Accounts with Stripe Dashboard access, which includes Standard accounts, cannot receive payouts before this is true. Accounts where this is false should be directed to [an onboarding flow](https://docs.stripe.com/connect/onboarding) to finish submitting account details. """ email: Optional[str] """ An email address associated with the account. It's not used for authentication and Stripe doesn't market to this field without explicit approval from the platform. """ external_accounts: Optional[ListObject[Union["BankAccount", "Card"]]] """ External accounts (bank accounts and debit cards) currently attached to this account. External accounts are only returned for requests where `controller[is_controller]` is true. """ future_requirements: Optional[FutureRequirements] groups: Optional[Groups] """ The groups associated with the account. """ id: str """ Unique identifier for the object. """ individual: Optional["Person"] """ This is an object representing a person associated with a Stripe account. A platform can only access a subset of data in a person for an account where [account.controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`, which includes Standard and Express accounts, after creating an Account Link or Account Session to start Connect onboarding. See the [Standard onboarding](https://docs.stripe.com/connect/standard-accounts) or [Express onboarding](https://docs.stripe.com/connect/express-accounts) documentation for information about prefilling information and account onboarding steps. Learn more about [handling identity verification with the API](https://docs.stripe.com/connect/handling-api-verification#person-information). """ 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. """ object: Literal["account"] """ String representing the object's type. Objects of the same type share the same value. """ payouts_enabled: Optional[bool] """ Whether the funds in this account can be paid out. """ requirements: Optional[Requirements] settings: Optional[Settings] """ Options for customizing how the account functions within Stripe. """ tos_acceptance: Optional[TosAcceptance] type: Optional[Literal["custom", "express", "none", "standard"]] """ The Stripe account type. Can be `standard`, `express`, `custom`, or `none`. """ @classmethod def create(cls, **params: Unpack["AccountCreateParams"]) -> "Account": """ With [Connect](https://docs.stripe.com/docs/connect), you can create Stripe accounts for your users. To do this, you'll first need to [register your platform](https://dashboard.stripe.com/account/applications/settings). If you've already collected information for your connected accounts, you [can prefill that information](https://docs.stripe.com/docs/connect/best-practices#onboarding) when creating the account. Connect Onboarding won't ask for the prefilled information during account onboarding. You can prefill any information on the account. """ return cast( "Account", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["AccountCreateParams"] ) -> "Account": """ With [Connect](https://docs.stripe.com/docs/connect), you can create Stripe accounts for your users. To do this, you'll first need to [register your platform](https://dashboard.stripe.com/account/applications/settings). If you've already collected information for your connected accounts, you [can prefill that information](https://docs.stripe.com/docs/connect/best-practices#onboarding) when creating the account. Connect Onboarding won't ask for the prefilled information during account onboarding. You can prefill any information on the account. """ return cast( "Account", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["AccountDeleteParams"] ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can delete accounts you manage. Test-mode accounts can be deleted at any time. Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode accounts, can be deleted when all [balances](https://docs.stripe.com/api/balance/balance_object) are zero. If you want to delete your own account, use the [account information tab in your account settings](https://dashboard.stripe.com/settings/account) instead. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Account", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete(sid: str, **params: Unpack["AccountDeleteParams"]) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can delete accounts you manage. Test-mode accounts can be deleted at any time. Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode accounts, can be deleted when all [balances](https://docs.stripe.com/api/balance/balance_object) are zero. If you want to delete your own account, use the [account information tab in your account settings](https://dashboard.stripe.com/settings/account) instead. """ ... @overload def delete(self, **params: Unpack["AccountDeleteParams"]) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can delete accounts you manage. Test-mode accounts can be deleted at any time. Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode accounts, can be deleted when all [balances](https://docs.stripe.com/api/balance/balance_object) are zero. If you want to delete your own account, use the [account information tab in your account settings](https://dashboard.stripe.com/settings/account) instead. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountDeleteParams"] ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can delete accounts you manage. Test-mode accounts can be deleted at any time. Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode accounts, can be deleted when all [balances](https://docs.stripe.com/api/balance/balance_object) are zero. If you want to delete your own account, use the [account information tab in your account settings](https://dashboard.stripe.com/settings/account) instead. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["AccountDeleteParams"] ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can delete accounts you manage. Test-mode accounts can be deleted at any time. Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode accounts, can be deleted when all [balances](https://docs.stripe.com/api/balance/balance_object) are zero. If you want to delete your own account, use the [account information tab in your account settings](https://dashboard.stripe.com/settings/account) instead. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Account", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["AccountDeleteParams"] ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can delete accounts you manage. Test-mode accounts can be deleted at any time. Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode accounts, can be deleted when all [balances](https://docs.stripe.com/api/balance/balance_object) are zero. If you want to delete your own account, use the [account information tab in your account settings](https://dashboard.stripe.com/settings/account) instead. """ ... @overload async def delete_async( self, **params: Unpack["AccountDeleteParams"] ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can delete accounts you manage. Test-mode accounts can be deleted at any time. Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode accounts, can be deleted when all [balances](https://docs.stripe.com/api/balance/balance_object) are zero. If you want to delete your own account, use the [account information tab in your account settings](https://dashboard.stripe.com/settings/account) instead. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountDeleteParams"] ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can delete accounts you manage. Test-mode accounts can be deleted at any time. Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode accounts, can be deleted when all [balances](https://docs.stripe.com/api/balance/balance_object) are zero. If you want to delete your own account, use the [account information tab in your account settings](https://dashboard.stripe.com/settings/account) instead. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def list( cls, **params: Unpack["AccountListParams"] ) -> ListObject["Account"]: """ Returns a list of accounts connected to your platform via [Connect](https://docs.stripe.com/docs/connect). If you're not a platform, the list is empty. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["AccountListParams"] ) -> ListObject["Account"]: """ Returns a list of accounts connected to your platform via [Connect](https://docs.stripe.com/docs/connect). If you're not a platform, the list is empty. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def _cls_persons( cls, account: str, **params: Unpack["AccountPersonsParams"] ) -> ListObject["Person"]: """ Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first. """ return cast( ListObject["Person"], cls._static_request( "get", "/v1/accounts/{account}/persons".format( account=sanitize_id(account) ), params=params, ), ) @overload @staticmethod def persons( account: str, **params: Unpack["AccountPersonsParams"] ) -> ListObject["Person"]: """ Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first. """ ... @overload def persons( self, **params: Unpack["AccountPersonsParams"] ) -> ListObject["Person"]: """ Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first. """ ... @class_method_variant("_cls_persons") def persons( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountPersonsParams"] ) -> ListObject["Person"]: """ Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first. """ return cast( ListObject["Person"], self._request( "get", "/v1/accounts/{account}/persons".format( account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_persons_async( cls, account: str, **params: Unpack["AccountPersonsParams"] ) -> ListObject["Person"]: """ Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first. """ return cast( ListObject["Person"], await cls._static_request_async( "get", "/v1/accounts/{account}/persons".format( account=sanitize_id(account) ), params=params, ), ) @overload @staticmethod async def persons_async( account: str, **params: Unpack["AccountPersonsParams"] ) -> ListObject["Person"]: """ Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first. """ ... @overload async def persons_async( self, **params: Unpack["AccountPersonsParams"] ) -> ListObject["Person"]: """ Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first. """ ... @class_method_variant("_cls_persons_async") async def persons_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountPersonsParams"] ) -> ListObject["Person"]: """ Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first. """ return cast( ListObject["Person"], await self._request_async( "get", "/v1/accounts/{account}/persons".format( account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_reject( cls, account: str, **params: Unpack["AccountRejectParams"] ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can reject accounts that you have flagged as suspicious. Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time. Live-mode accounts can only be rejected after all balances are zero. """ return cast( "Account", cls._static_request( "post", "/v1/accounts/{account}/reject".format( account=sanitize_id(account) ), params=params, ), ) @overload @staticmethod def reject( account: str, **params: Unpack["AccountRejectParams"] ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can reject accounts that you have flagged as suspicious. Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time. Live-mode accounts can only be rejected after all balances are zero. """ ... @overload def reject(self, **params: Unpack["AccountRejectParams"]) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can reject accounts that you have flagged as suspicious. Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time. Live-mode accounts can only be rejected after all balances are zero. """ ... @class_method_variant("_cls_reject") def reject( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountRejectParams"] ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can reject accounts that you have flagged as suspicious. Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time. Live-mode accounts can only be rejected after all balances are zero. """ return cast( "Account", self._request( "post", "/v1/accounts/{account}/reject".format( account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_reject_async( cls, account: str, **params: Unpack["AccountRejectParams"] ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can reject accounts that you have flagged as suspicious. Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time. Live-mode accounts can only be rejected after all balances are zero. """ return cast( "Account", await cls._static_request_async( "post", "/v1/accounts/{account}/reject".format( account=sanitize_id(account) ), params=params, ), ) @overload @staticmethod async def reject_async( account: str, **params: Unpack["AccountRejectParams"] ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can reject accounts that you have flagged as suspicious. Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time. Live-mode accounts can only be rejected after all balances are zero. """ ... @overload async def reject_async( self, **params: Unpack["AccountRejectParams"] ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can reject accounts that you have flagged as suspicious. Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time. Live-mode accounts can only be rejected after all balances are zero. """ ... @class_method_variant("_cls_reject_async") async def reject_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountRejectParams"] ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can reject accounts that you have flagged as suspicious. Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time. Live-mode accounts can only be rejected after all balances are zero. """ return cast( "Account", await self._request_async( "post", "/v1/accounts/{account}/reject".format( account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def retrieve(cls, id=None, **params) -> "Account": instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async(cls, id=None, **params) -> "Account": instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def modify(cls, id=None, **params) -> "Account": url = cls._build_instance_url(id) return cast("Account", cls._static_request("post", url, params=params)) @classmethod async def modify_async(cls, id=None, **params) -> "Account": url = cls._build_instance_url(id) return cast( "Account", await cls._static_request_async("post", url, params=params), ) @classmethod def _build_instance_url(cls, sid): if not sid: return "/v1/account" base = cls.class_url() extn = sanitize_id(sid) return "%s/%s" % (base, extn) def instance_url(self): return self._build_instance_url(self.get("id")) def deauthorize(self, **params): params["stripe_user_id"] = self.id return OAuth.deauthorize(**params) def serialize(self, previous): params = super(Account, self).serialize(previous) previous = previous or self._previous or {} for k, v in iter(self.items()): if k == "individual" and isinstance(v, Person) and k not in params: params[k] = v.serialize(previous.get(k, None)) return params @classmethod def list_capabilities( cls, account: str, **params: Unpack["AccountListCapabilitiesParams"] ) -> ListObject["Capability"]: """ Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first. """ return cast( ListObject["Capability"], cls._static_request( "get", "/v1/accounts/{account}/capabilities".format( account=sanitize_id(account) ), params=params, ), ) @classmethod async def list_capabilities_async( cls, account: str, **params: Unpack["AccountListCapabilitiesParams"] ) -> ListObject["Capability"]: """ Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first. """ return cast( ListObject["Capability"], await cls._static_request_async( "get", "/v1/accounts/{account}/capabilities".format( account=sanitize_id(account) ), params=params, ), ) @classmethod def retrieve_capability( cls, account: str, capability: str, **params: Unpack["AccountRetrieveCapabilityParams"], ) -> "Capability": """ Retrieves information about the specified Account Capability. """ return cast( "Capability", cls._static_request( "get", "/v1/accounts/{account}/capabilities/{capability}".format( account=sanitize_id(account), capability=sanitize_id(capability), ), params=params, ), ) @classmethod async def retrieve_capability_async( cls, account: str, capability: str, **params: Unpack["AccountRetrieveCapabilityParams"], ) -> "Capability": """ Retrieves information about the specified Account Capability. """ return cast( "Capability", await cls._static_request_async( "get", "/v1/accounts/{account}/capabilities/{capability}".format( account=sanitize_id(account), capability=sanitize_id(capability), ), params=params, ), ) @classmethod def modify_capability( cls, account: str, capability: str, **params: Unpack["AccountModifyCapabilityParams"], ) -> "Capability": """ Updates an existing Account Capability. Request or remove a capability by updating its requested parameter. """ return cast( "Capability", cls._static_request( "post", "/v1/accounts/{account}/capabilities/{capability}".format( account=sanitize_id(account), capability=sanitize_id(capability), ), params=params, ), ) @classmethod async def modify_capability_async( cls, account: str, capability: str, **params: Unpack["AccountModifyCapabilityParams"], ) -> "Capability": """ Updates an existing Account Capability. Request or remove a capability by updating its requested parameter. """ return cast( "Capability", await cls._static_request_async( "post", "/v1/accounts/{account}/capabilities/{capability}".format( account=sanitize_id(account), capability=sanitize_id(capability), ), params=params, ), ) @classmethod def delete_external_account( cls, account: str, id: str, **params: Unpack["AccountDeleteExternalAccountParams"], ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ return cast( Union["BankAccount", "Card"], cls._static_request( "delete", "/v1/accounts/{account}/external_accounts/{id}".format( account=sanitize_id(account), id=sanitize_id(id) ), params=params, ), ) @classmethod async def delete_external_account_async( cls, account: str, id: str, **params: Unpack["AccountDeleteExternalAccountParams"], ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ return cast( Union["BankAccount", "Card"], await cls._static_request_async( "delete", "/v1/accounts/{account}/external_accounts/{id}".format( account=sanitize_id(account), id=sanitize_id(id) ), params=params, ), ) @classmethod def retrieve_external_account( cls, account: str, id: str, **params: Unpack["AccountRetrieveExternalAccountParams"], ) -> Union["BankAccount", "Card"]: """ Retrieve a specified external account for a given account. """ return cast( Union["BankAccount", "Card"], cls._static_request( "get", "/v1/accounts/{account}/external_accounts/{id}".format( account=sanitize_id(account), id=sanitize_id(id) ), params=params, ), ) @classmethod async def retrieve_external_account_async( cls, account: str, id: str, **params: Unpack["AccountRetrieveExternalAccountParams"], ) -> Union["BankAccount", "Card"]: """ Retrieve a specified external account for a given account. """ return cast( Union["BankAccount", "Card"], await cls._static_request_async( "get", "/v1/accounts/{account}/external_accounts/{id}".format( account=sanitize_id(account), id=sanitize_id(id) ), params=params, ), ) @classmethod def modify_external_account( cls, account: str, id: str, **params: Unpack["AccountModifyExternalAccountParams"], ) -> Union["BankAccount", "Card"]: """ Updates the metadata, account holder name, account holder type of a bank account belonging to a connected account and optionally sets it as the default for its currency. Other bank account details are not editable by design. You can only update bank accounts when [account.controller.requirement_collection is application, which includes Custom accounts](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection). You can re-enable a disabled bank account by performing an update call without providing any arguments or changes. """ return cast( Union["BankAccount", "Card"], cls._static_request( "post", "/v1/accounts/{account}/external_accounts/{id}".format( account=sanitize_id(account), id=sanitize_id(id) ), params=params, ), ) @classmethod async def modify_external_account_async( cls, account: str, id: str, **params: Unpack["AccountModifyExternalAccountParams"], ) -> Union["BankAccount", "Card"]: """ Updates the metadata, account holder name, account holder type of a bank account belonging to a connected account and optionally sets it as the default for its currency. Other bank account details are not editable by design. You can only update bank accounts when [account.controller.requirement_collection is application, which includes Custom accounts](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection). You can re-enable a disabled bank account by performing an update call without providing any arguments or changes. """ return cast( Union["BankAccount", "Card"], await cls._static_request_async( "post", "/v1/accounts/{account}/external_accounts/{id}".format( account=sanitize_id(account), id=sanitize_id(id) ), params=params, ), ) @classmethod def list_external_accounts( cls, account: str, **params: Unpack["AccountListExternalAccountsParams"], ) -> ListObject[Union["BankAccount", "Card"]]: """ List external accounts for an account. """ return cast( ListObject[Union["BankAccount", "Card"]], cls._static_request( "get", "/v1/accounts/{account}/external_accounts".format( account=sanitize_id(account) ), params=params, ), ) @classmethod async def list_external_accounts_async( cls, account: str, **params: Unpack["AccountListExternalAccountsParams"], ) -> ListObject[Union["BankAccount", "Card"]]: """ List external accounts for an account. """ return cast( ListObject[Union["BankAccount", "Card"]], await cls._static_request_async( "get", "/v1/accounts/{account}/external_accounts".format( account=sanitize_id(account) ), params=params, ), ) @classmethod def create_external_account( cls, account: str, **params: Unpack["AccountCreateExternalAccountParams"], ) -> Union["BankAccount", "Card"]: """ Create an external account for a given account. """ return cast( Union["BankAccount", "Card"], cls._static_request( "post", "/v1/accounts/{account}/external_accounts".format( account=sanitize_id(account) ), params=params, ), ) @classmethod async def create_external_account_async( cls, account: str, **params: Unpack["AccountCreateExternalAccountParams"], ) -> Union["BankAccount", "Card"]: """ Create an external account for a given account. """ return cast( Union["BankAccount", "Card"], await cls._static_request_async( "post", "/v1/accounts/{account}/external_accounts".format( account=sanitize_id(account) ), params=params, ), ) @classmethod def create_login_link( cls, account: str, **params: Unpack["AccountCreateLoginLinkParams"] ) -> "LoginLink": """ Creates a login link for a connected account to access the Express Dashboard. You can only create login links for accounts that use the [Express Dashboard](https://docs.stripe.com/connect/express-dashboard) and are connected to your platform. """ return cast( "LoginLink", cls._static_request( "post", "/v1/accounts/{account}/login_links".format( account=sanitize_id(account) ), params=params, ), ) @classmethod async def create_login_link_async( cls, account: str, **params: Unpack["AccountCreateLoginLinkParams"] ) -> "LoginLink": """ Creates a login link for a connected account to access the Express Dashboard. You can only create login links for accounts that use the [Express Dashboard](https://docs.stripe.com/connect/express-dashboard) and are connected to your platform. """ return cast( "LoginLink", await cls._static_request_async( "post", "/v1/accounts/{account}/login_links".format( account=sanitize_id(account) ), params=params, ), ) @classmethod def delete_person( cls, account: str, person: str, **params: Unpack["AccountDeletePersonParams"], ) -> "Person": """ Deletes an existing person's relationship to the account's legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file. """ return cast( "Person", cls._static_request( "delete", "/v1/accounts/{account}/persons/{person}".format( account=sanitize_id(account), person=sanitize_id(person) ), params=params, ), ) @classmethod async def delete_person_async( cls, account: str, person: str, **params: Unpack["AccountDeletePersonParams"], ) -> "Person": """ Deletes an existing person's relationship to the account's legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file. """ return cast( "Person", await cls._static_request_async( "delete", "/v1/accounts/{account}/persons/{person}".format( account=sanitize_id(account), person=sanitize_id(person) ), params=params, ), ) @classmethod def retrieve_person( cls, account: str, person: str, **params: Unpack["AccountRetrievePersonParams"], ) -> "Person": """ Retrieves an existing person. """ return cast( "Person", cls._static_request( "get", "/v1/accounts/{account}/persons/{person}".format( account=sanitize_id(account), person=sanitize_id(person) ), params=params, ), ) @classmethod async def retrieve_person_async( cls, account: str, person: str, **params: Unpack["AccountRetrievePersonParams"], ) -> "Person": """ Retrieves an existing person. """ return cast( "Person", await cls._static_request_async( "get", "/v1/accounts/{account}/persons/{person}".format( account=sanitize_id(account), person=sanitize_id(person) ), params=params, ), ) @classmethod def modify_person( cls, account: str, person: str, **params: Unpack["AccountModifyPersonParams"], ) -> "Person": """ Updates an existing person. """ return cast( "Person", cls._static_request( "post", "/v1/accounts/{account}/persons/{person}".format( account=sanitize_id(account), person=sanitize_id(person) ), params=params, ), ) @classmethod async def modify_person_async( cls, account: str, person: str, **params: Unpack["AccountModifyPersonParams"], ) -> "Person": """ Updates an existing person. """ return cast( "Person", await cls._static_request_async( "post", "/v1/accounts/{account}/persons/{person}".format( account=sanitize_id(account), person=sanitize_id(person) ), params=params, ), ) @classmethod def list_persons( cls, account: str, **params: Unpack["AccountListPersonsParams"] ) -> ListObject["Person"]: """ Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first. """ return cast( ListObject["Person"], cls._static_request( "get", "/v1/accounts/{account}/persons".format( account=sanitize_id(account) ), params=params, ), ) @classmethod async def list_persons_async( cls, account: str, **params: Unpack["AccountListPersonsParams"] ) -> ListObject["Person"]: """ Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first. """ return cast( ListObject["Person"], await cls._static_request_async( "get", "/v1/accounts/{account}/persons".format( account=sanitize_id(account) ), params=params, ), ) @classmethod def create_person( cls, account: str, **params: Unpack["AccountCreatePersonParams"] ) -> "Person": """ Creates a new person. """ return cast( "Person", cls._static_request( "post", "/v1/accounts/{account}/persons".format( account=sanitize_id(account) ), params=params, ), ) @classmethod async def create_person_async( cls, account: str, **params: Unpack["AccountCreatePersonParams"] ) -> "Person": """ Creates a new person. """ return cast( "Person", await cls._static_request_async( "post", "/v1/accounts/{account}/persons".format( account=sanitize_id(account) ), params=params, ), ) _inner_class_types = { "business_profile": BusinessProfile, "capabilities": Capabilities, "company": Company, "controller": Controller, "future_requirements": FutureRequirements, "groups": Groups, "requirements": Requirements, "settings": Settings, "tos_acceptance": TosAcceptance, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.318062 stripe-13.2.0/stripe/_account_capability_service.py0000644000000000000000000001244715102753431017436 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._capability import Capability from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._account_capability_list_params import ( AccountCapabilityListParams, ) from stripe.params._account_capability_retrieve_params import ( AccountCapabilityRetrieveParams, ) from stripe.params._account_capability_update_params import ( AccountCapabilityUpdateParams, ) class AccountCapabilityService(StripeService): def list( self, account: str, params: Optional["AccountCapabilityListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Capability]": """ Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first. """ return cast( "ListObject[Capability]", self._request( "get", "/v1/accounts/{account}/capabilities".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) async def list_async( self, account: str, params: Optional["AccountCapabilityListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Capability]": """ Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first. """ return cast( "ListObject[Capability]", await self._request_async( "get", "/v1/accounts/{account}/capabilities".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) def retrieve( self, account: str, capability: str, params: Optional["AccountCapabilityRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Capability": """ Retrieves information about the specified Account Capability. """ return cast( "Capability", self._request( "get", "/v1/accounts/{account}/capabilities/{capability}".format( account=sanitize_id(account), capability=sanitize_id(capability), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, account: str, capability: str, params: Optional["AccountCapabilityRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Capability": """ Retrieves information about the specified Account Capability. """ return cast( "Capability", await self._request_async( "get", "/v1/accounts/{account}/capabilities/{capability}".format( account=sanitize_id(account), capability=sanitize_id(capability), ), base_address="api", params=params, options=options, ), ) def update( self, account: str, capability: str, params: Optional["AccountCapabilityUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Capability": """ Updates an existing Account Capability. Request or remove a capability by updating its requested parameter. """ return cast( "Capability", self._request( "post", "/v1/accounts/{account}/capabilities/{capability}".format( account=sanitize_id(account), capability=sanitize_id(capability), ), base_address="api", params=params, options=options, ), ) async def update_async( self, account: str, capability: str, params: Optional["AccountCapabilityUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Capability": """ Updates an existing Account Capability. Request or remove a capability by updating its requested parameter. """ return cast( "Capability", await self._request_async( "post", "/v1/accounts/{account}/capabilities/{capability}".format( account=sanitize_id(account), capability=sanitize_id(capability), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.318062 stripe-13.2.0/stripe/_account_external_account_service.py0000644000000000000000000002243315102753431020647 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._bank_account import BankAccount from stripe._card import Card from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._account_external_account_create_params import ( AccountExternalAccountCreateParams, ) from stripe.params._account_external_account_delete_params import ( AccountExternalAccountDeleteParams, ) from stripe.params._account_external_account_list_params import ( AccountExternalAccountListParams, ) from stripe.params._account_external_account_retrieve_params import ( AccountExternalAccountRetrieveParams, ) from stripe.params._account_external_account_update_params import ( AccountExternalAccountUpdateParams, ) from typing import Union class AccountExternalAccountService(StripeService): def delete( self, account: str, id: str, params: Optional["AccountExternalAccountDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Union[BankAccount, Card]": """ Delete a specified external account for a given account. """ return cast( "Union[BankAccount, Card]", self._request( "delete", "/v1/accounts/{account}/external_accounts/{id}".format( account=sanitize_id(account), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def delete_async( self, account: str, id: str, params: Optional["AccountExternalAccountDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Union[BankAccount, Card]": """ Delete a specified external account for a given account. """ return cast( "Union[BankAccount, Card]", await self._request_async( "delete", "/v1/accounts/{account}/external_accounts/{id}".format( account=sanitize_id(account), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def retrieve( self, account: str, id: str, params: Optional["AccountExternalAccountRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Union[BankAccount, Card]": """ Retrieve a specified external account for a given account. """ return cast( "Union[BankAccount, Card]", self._request( "get", "/v1/accounts/{account}/external_accounts/{id}".format( account=sanitize_id(account), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, account: str, id: str, params: Optional["AccountExternalAccountRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Union[BankAccount, Card]": """ Retrieve a specified external account for a given account. """ return cast( "Union[BankAccount, Card]", await self._request_async( "get", "/v1/accounts/{account}/external_accounts/{id}".format( account=sanitize_id(account), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def update( self, account: str, id: str, params: Optional["AccountExternalAccountUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Union[BankAccount, Card]": """ Updates the metadata, account holder name, account holder type of a bank account belonging to a connected account and optionally sets it as the default for its currency. Other bank account details are not editable by design. You can only update bank accounts when [account.controller.requirement_collection is application, which includes Custom accounts](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection). You can re-enable a disabled bank account by performing an update call without providing any arguments or changes. """ return cast( "Union[BankAccount, Card]", self._request( "post", "/v1/accounts/{account}/external_accounts/{id}".format( account=sanitize_id(account), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def update_async( self, account: str, id: str, params: Optional["AccountExternalAccountUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Union[BankAccount, Card]": """ Updates the metadata, account holder name, account holder type of a bank account belonging to a connected account and optionally sets it as the default for its currency. Other bank account details are not editable by design. You can only update bank accounts when [account.controller.requirement_collection is application, which includes Custom accounts](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection). You can re-enable a disabled bank account by performing an update call without providing any arguments or changes. """ return cast( "Union[BankAccount, Card]", await self._request_async( "post", "/v1/accounts/{account}/external_accounts/{id}".format( account=sanitize_id(account), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def list( self, account: str, params: Optional["AccountExternalAccountListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Union[BankAccount, Card]]": """ List external accounts for an account. """ return cast( "ListObject[Union[BankAccount, Card]]", self._request( "get", "/v1/accounts/{account}/external_accounts".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) async def list_async( self, account: str, params: Optional["AccountExternalAccountListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Union[BankAccount, Card]]": """ List external accounts for an account. """ return cast( "ListObject[Union[BankAccount, Card]]", await self._request_async( "get", "/v1/accounts/{account}/external_accounts".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) def create( self, account: str, params: "AccountExternalAccountCreateParams", options: Optional["RequestOptions"] = None, ) -> "Union[BankAccount, Card]": """ Create an external account for a given account. """ return cast( "Union[BankAccount, Card]", self._request( "post", "/v1/accounts/{account}/external_accounts".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) async def create_async( self, account: str, params: "AccountExternalAccountCreateParams", options: Optional["RequestOptions"] = None, ) -> "Union[BankAccount, Card]": """ Create an external account for a given account. """ return cast( "Union[BankAccount, Card]", await self._request_async( "post", "/v1/accounts/{account}/external_accounts".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.318062 stripe-13.2.0/stripe/_account_link.py0000644000000000000000000000425315102753431014526 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from typing import ClassVar, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._account_link_create_params import ( AccountLinkCreateParams, ) 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) """ OBJECT_NAME: ClassVar[Literal["account_link"]] = "account_link" created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ expires_at: int """ The timestamp at which this account link will expire. """ object: Literal["account_link"] """ String representing the object's type. Objects of the same type share the same value. """ url: str """ The URL for the account link. """ @classmethod def create( cls, **params: Unpack["AccountLinkCreateParams"] ) -> "AccountLink": """ Creates an AccountLink object that includes a single-use Stripe URL that the platform can redirect their user to in order to take them through the Connect Onboarding flow. """ return cast( "AccountLink", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["AccountLinkCreateParams"] ) -> "AccountLink": """ Creates an AccountLink object that includes a single-use Stripe URL that the platform can redirect their user to in order to take them through the Connect Onboarding flow. """ return cast( "AccountLink", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.318062 stripe-13.2.0/stripe/_account_link_service.py0000644000000000000000000000325415102753431016246 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._account_link import AccountLink from stripe._request_options import RequestOptions from stripe.params._account_link_create_params import ( AccountLinkCreateParams, ) class AccountLinkService(StripeService): def create( self, params: "AccountLinkCreateParams", options: Optional["RequestOptions"] = None, ) -> "AccountLink": """ Creates an AccountLink object that includes a single-use Stripe URL that the platform can redirect their user to in order to take them through the Connect Onboarding flow. """ return cast( "AccountLink", self._request( "post", "/v1/account_links", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "AccountLinkCreateParams", options: Optional["RequestOptions"] = None, ) -> "AccountLink": """ Creates an AccountLink object that includes a single-use Stripe URL that the platform can redirect their user to in order to take them through the Connect Onboarding flow. """ return cast( "AccountLink", await self._request_async( "post", "/v1/account_links", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.319062 stripe-13.2.0/stripe/_account_login_link_service.py0000644000000000000000000000420715102753431017435 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._login_link import LoginLink from stripe._request_options import RequestOptions from stripe.params._account_login_link_create_params import ( AccountLoginLinkCreateParams, ) class AccountLoginLinkService(StripeService): def create( self, account: str, params: Optional["AccountLoginLinkCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "LoginLink": """ Creates a login link for a connected account to access the Express Dashboard. You can only create login links for accounts that use the [Express Dashboard](https://docs.stripe.com/connect/express-dashboard) and are connected to your platform. """ return cast( "LoginLink", self._request( "post", "/v1/accounts/{account}/login_links".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) async def create_async( self, account: str, params: Optional["AccountLoginLinkCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "LoginLink": """ Creates a login link for a connected account to access the Express Dashboard. You can only create login links for accounts that use the [Express Dashboard](https://docs.stripe.com/connect/express-dashboard) and are connected to your platform. """ return cast( "LoginLink", await self._request_async( "post", "/v1/accounts/{account}/login_links".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.319062 stripe-13.2.0/stripe/_account_person_service.py0000644000000000000000000002016115102753431016613 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._person import Person from stripe._request_options import RequestOptions from stripe.params._account_person_create_params import ( AccountPersonCreateParams, ) from stripe.params._account_person_delete_params import ( AccountPersonDeleteParams, ) from stripe.params._account_person_list_params import ( AccountPersonListParams, ) from stripe.params._account_person_retrieve_params import ( AccountPersonRetrieveParams, ) from stripe.params._account_person_update_params import ( AccountPersonUpdateParams, ) class AccountPersonService(StripeService): def delete( self, account: str, person: str, params: Optional["AccountPersonDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Person": """ Deletes an existing person's relationship to the account's legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file. """ return cast( "Person", self._request( "delete", "/v1/accounts/{account}/persons/{person}".format( account=sanitize_id(account), person=sanitize_id(person), ), base_address="api", params=params, options=options, ), ) async def delete_async( self, account: str, person: str, params: Optional["AccountPersonDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Person": """ Deletes an existing person's relationship to the account's legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file. """ return cast( "Person", await self._request_async( "delete", "/v1/accounts/{account}/persons/{person}".format( account=sanitize_id(account), person=sanitize_id(person), ), base_address="api", params=params, options=options, ), ) def retrieve( self, account: str, person: str, params: Optional["AccountPersonRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Person": """ Retrieves an existing person. """ return cast( "Person", self._request( "get", "/v1/accounts/{account}/persons/{person}".format( account=sanitize_id(account), person=sanitize_id(person), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, account: str, person: str, params: Optional["AccountPersonRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Person": """ Retrieves an existing person. """ return cast( "Person", await self._request_async( "get", "/v1/accounts/{account}/persons/{person}".format( account=sanitize_id(account), person=sanitize_id(person), ), base_address="api", params=params, options=options, ), ) def update( self, account: str, person: str, params: Optional["AccountPersonUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Person": """ Updates an existing person. """ return cast( "Person", self._request( "post", "/v1/accounts/{account}/persons/{person}".format( account=sanitize_id(account), person=sanitize_id(person), ), base_address="api", params=params, options=options, ), ) async def update_async( self, account: str, person: str, params: Optional["AccountPersonUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Person": """ Updates an existing person. """ return cast( "Person", await self._request_async( "post", "/v1/accounts/{account}/persons/{person}".format( account=sanitize_id(account), person=sanitize_id(person), ), base_address="api", params=params, options=options, ), ) def list( self, account: str, params: Optional["AccountPersonListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Person]": """ Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first. """ return cast( "ListObject[Person]", self._request( "get", "/v1/accounts/{account}/persons".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) async def list_async( self, account: str, params: Optional["AccountPersonListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Person]": """ Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first. """ return cast( "ListObject[Person]", await self._request_async( "get", "/v1/accounts/{account}/persons".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) def create( self, account: str, params: Optional["AccountPersonCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Person": """ Creates a new person. """ return cast( "Person", self._request( "post", "/v1/accounts/{account}/persons".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) async def create_async( self, account: str, params: Optional["AccountPersonCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Person": """ Creates a new person. """ return cast( "Person", await self._request_async( "post", "/v1/accounts/{account}/persons".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.319062 stripe-13.2.0/stripe/_account_service.py0000644000000000000000000003612715102753431015236 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._account_capability_service import AccountCapabilityService from stripe._account_external_account_service import ( AccountExternalAccountService, ) from stripe._account_login_link_service import AccountLoginLinkService from stripe._account_person_service import AccountPersonService from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._account_create_params import AccountCreateParams from stripe.params._account_delete_params import AccountDeleteParams from stripe.params._account_list_params import AccountListParams from stripe.params._account_reject_params import AccountRejectParams from stripe.params._account_retrieve_current_params import ( AccountRetrieveCurrentParams, ) from stripe.params._account_retrieve_params import AccountRetrieveParams from stripe.params._account_update_params import AccountUpdateParams _subservices = { "capabilities": [ "stripe._account_capability_service", "AccountCapabilityService", ], "external_accounts": [ "stripe._account_external_account_service", "AccountExternalAccountService", ], "login_links": [ "stripe._account_login_link_service", "AccountLoginLinkService", ], "persons": ["stripe._account_person_service", "AccountPersonService"], } class AccountService(StripeService): capabilities: "AccountCapabilityService" external_accounts: "AccountExternalAccountService" login_links: "AccountLoginLinkService" persons: "AccountPersonService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def delete( self, account: str, params: Optional["AccountDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can delete accounts you manage. Test-mode accounts can be deleted at any time. Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode accounts, can be deleted when all [balances](https://docs.stripe.com/api/balance/balance_object) are zero. If you want to delete your own account, use the [account information tab in your account settings](https://dashboard.stripe.com/settings/account) instead. """ return cast( "Account", self._request( "delete", "/v1/accounts/{account}".format(account=sanitize_id(account)), base_address="api", params=params, options=options, ), ) async def delete_async( self, account: str, params: Optional["AccountDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can delete accounts you manage. Test-mode accounts can be deleted at any time. Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode accounts, can be deleted when all [balances](https://docs.stripe.com/api/balance/balance_object) are zero. If you want to delete your own account, use the [account information tab in your account settings](https://dashboard.stripe.com/settings/account) instead. """ return cast( "Account", await self._request_async( "delete", "/v1/accounts/{account}".format(account=sanitize_id(account)), base_address="api", params=params, options=options, ), ) def retrieve( self, account: str, params: Optional["AccountRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Account": """ Retrieves the details of an account. """ return cast( "Account", self._request( "get", "/v1/accounts/{account}".format(account=sanitize_id(account)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, account: str, params: Optional["AccountRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Account": """ Retrieves the details of an account. """ return cast( "Account", await self._request_async( "get", "/v1/accounts/{account}".format(account=sanitize_id(account)), base_address="api", params=params, options=options, ), ) def update( self, account: str, params: Optional["AccountUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Account": """ Updates a [connected account](https://docs.stripe.com/connect/accounts) by setting the values of the parameters passed. Any parameters not provided are left unchanged. For accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is application, which includes Custom accounts, you can update any information on the account. For accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is stripe, which includes Standard and Express accounts, you can update all information until you create an [Account Link or Account Session](https://docs.stripe.com/api/account_links) to start Connect onboarding, after which some properties can no longer be updated. To update your own account, use the [Dashboard](https://dashboard.stripe.com/settings/account). Refer to our [Connect](https://docs.stripe.com/docs/connect/updating-accounts) documentation to learn more about updating accounts. """ return cast( "Account", self._request( "post", "/v1/accounts/{account}".format(account=sanitize_id(account)), base_address="api", params=params, options=options, ), ) async def update_async( self, account: str, params: Optional["AccountUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Account": """ Updates a [connected account](https://docs.stripe.com/connect/accounts) by setting the values of the parameters passed. Any parameters not provided are left unchanged. For accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is application, which includes Custom accounts, you can update any information on the account. For accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is stripe, which includes Standard and Express accounts, you can update all information until you create an [Account Link or Account Session](https://docs.stripe.com/api/account_links) to start Connect onboarding, after which some properties can no longer be updated. To update your own account, use the [Dashboard](https://dashboard.stripe.com/settings/account). Refer to our [Connect](https://docs.stripe.com/docs/connect/updating-accounts) documentation to learn more about updating accounts. """ return cast( "Account", await self._request_async( "post", "/v1/accounts/{account}".format(account=sanitize_id(account)), base_address="api", params=params, options=options, ), ) def retrieve_current( self, params: Optional["AccountRetrieveCurrentParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Account": """ Retrieves the details of an account. """ return cast( "Account", self._request( "get", "/v1/account", base_address="api", params=params, options=options, ), ) async def retrieve_current_async( self, params: Optional["AccountRetrieveCurrentParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Account": """ Retrieves the details of an account. """ return cast( "Account", await self._request_async( "get", "/v1/account", base_address="api", params=params, options=options, ), ) def list( self, params: Optional["AccountListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Account]": """ Returns a list of accounts connected to your platform via [Connect](https://docs.stripe.com/docs/connect). If you're not a platform, the list is empty. """ return cast( "ListObject[Account]", self._request( "get", "/v1/accounts", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["AccountListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Account]": """ Returns a list of accounts connected to your platform via [Connect](https://docs.stripe.com/docs/connect). If you're not a platform, the list is empty. """ return cast( "ListObject[Account]", await self._request_async( "get", "/v1/accounts", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["AccountCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Account": """ With [Connect](https://docs.stripe.com/docs/connect), you can create Stripe accounts for your users. To do this, you'll first need to [register your platform](https://dashboard.stripe.com/account/applications/settings). If you've already collected information for your connected accounts, you [can prefill that information](https://docs.stripe.com/docs/connect/best-practices#onboarding) when creating the account. Connect Onboarding won't ask for the prefilled information during account onboarding. You can prefill any information on the account. """ return cast( "Account", self._request( "post", "/v1/accounts", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["AccountCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Account": """ With [Connect](https://docs.stripe.com/docs/connect), you can create Stripe accounts for your users. To do this, you'll first need to [register your platform](https://dashboard.stripe.com/account/applications/settings). If you've already collected information for your connected accounts, you [can prefill that information](https://docs.stripe.com/docs/connect/best-practices#onboarding) when creating the account. Connect Onboarding won't ask for the prefilled information during account onboarding. You can prefill any information on the account. """ return cast( "Account", await self._request_async( "post", "/v1/accounts", base_address="api", params=params, options=options, ), ) def reject( self, account: str, params: "AccountRejectParams", options: Optional["RequestOptions"] = None, ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can reject accounts that you have flagged as suspicious. Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time. Live-mode accounts can only be rejected after all balances are zero. """ return cast( "Account", self._request( "post", "/v1/accounts/{account}/reject".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) async def reject_async( self, account: str, params: "AccountRejectParams", options: Optional["RequestOptions"] = None, ) -> "Account": """ With [Connect](https://docs.stripe.com/connect), you can reject accounts that you have flagged as suspicious. Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time. Live-mode accounts can only be rejected after all balances are zero. """ return cast( "Account", await self._request_async( "post", "/v1/accounts/{account}/reject".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.319062 stripe-13.2.0/stripe/_account_session.py0000644000000000000000000005575515102753431015271 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._account_session_create_params import ( AccountSessionCreateParams, ) class AccountSession(CreateableAPIResource["AccountSession"]): """ An AccountSession allows a Connect platform to grant access to a connected account in Connect embedded components. We recommend that you create an AccountSession each time you need to display an embedded component 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) """ OBJECT_NAME: ClassVar[Literal["account_session"]] = "account_session" class Components(StripeObject): class AccountManagement(StripeObject): class Features(StripeObject): disable_stripe_user_authentication: bool """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ external_account_collection: bool """ Whether external account collection is enabled. This feature can only be `false` for accounts where you're responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`. """ enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class AccountOnboarding(StripeObject): class Features(StripeObject): disable_stripe_user_authentication: bool """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ external_account_collection: bool """ Whether external account collection is enabled. This feature can only be `false` for accounts where you're responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`. """ enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class Balances(StripeObject): class Features(StripeObject): disable_stripe_user_authentication: bool """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ edit_payout_schedule: bool """ Whether to allow payout schedule to be changed. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`. """ external_account_collection: bool """ Whether external account collection is enabled. This feature can only be `false` for accounts where you're responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`. """ instant_payouts: bool """ Whether to allow creation of instant payouts. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`. """ standard_payouts: bool """ Whether to allow creation of standard payouts. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`. """ enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class DisputesList(StripeObject): class Features(StripeObject): capture_payments: bool """ Whether to allow capturing and cancelling payment intents. This is `true` by default. """ destination_on_behalf_of_charge_management: bool """ Whether connected accounts can manage destination charges that are created on behalf of them. This is `false` by default. """ dispute_management: bool """ Whether responding to disputes is enabled, including submitting evidence and accepting disputes. This is `true` by default. """ refund_management: bool """ Whether sending refunds is enabled. This is `true` by default. """ enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class Documents(StripeObject): class Features(StripeObject): pass enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class FinancialAccount(StripeObject): class Features(StripeObject): disable_stripe_user_authentication: bool """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ external_account_collection: bool """ Whether external account collection is enabled. This feature can only be `false` for accounts where you're responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`. """ send_money: bool """ Whether to allow sending money. """ transfer_balance: bool """ Whether to allow transferring balance. """ enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class FinancialAccountTransactions(StripeObject): class Features(StripeObject): card_spend_dispute_management: bool """ Whether to allow card spend dispute management features. """ enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class InstantPayoutsPromotion(StripeObject): class Features(StripeObject): disable_stripe_user_authentication: bool """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ external_account_collection: bool """ Whether external account collection is enabled. This feature can only be `false` for accounts where you're responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`. """ instant_payouts: bool """ Whether to allow creation of instant payouts. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`. """ enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class IssuingCard(StripeObject): class Features(StripeObject): card_management: bool """ Whether to allow card management features. """ card_spend_dispute_management: bool """ Whether to allow card spend dispute management features. """ cardholder_management: bool """ Whether to allow cardholder management features. """ spend_control_management: bool """ Whether to allow spend control management features. """ enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class IssuingCardsList(StripeObject): class Features(StripeObject): card_management: bool """ Whether to allow card management features. """ card_spend_dispute_management: bool """ Whether to allow card spend dispute management features. """ cardholder_management: bool """ Whether to allow cardholder management features. """ disable_stripe_user_authentication: bool """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ spend_control_management: bool """ Whether to allow spend control management features. """ enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class NotificationBanner(StripeObject): class Features(StripeObject): disable_stripe_user_authentication: bool """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ external_account_collection: bool """ Whether external account collection is enabled. This feature can only be `false` for accounts where you're responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`. """ enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class PaymentDetails(StripeObject): class Features(StripeObject): capture_payments: bool """ Whether to allow capturing and cancelling payment intents. This is `true` by default. """ destination_on_behalf_of_charge_management: bool """ Whether connected accounts can manage destination charges that are created on behalf of them. This is `false` by default. """ dispute_management: bool """ Whether responding to disputes is enabled, including submitting evidence and accepting disputes. This is `true` by default. """ refund_management: bool """ Whether sending refunds is enabled. This is `true` by default. """ enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class PaymentDisputes(StripeObject): class Features(StripeObject): destination_on_behalf_of_charge_management: bool """ Whether connected accounts can manage destination charges that are created on behalf of them. This is `false` by default. """ dispute_management: bool """ Whether responding to disputes is enabled, including submitting evidence and accepting disputes. This is `true` by default. """ refund_management: bool """ Whether sending refunds is enabled. This is `true` by default. """ enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class Payments(StripeObject): class Features(StripeObject): capture_payments: bool """ Whether to allow capturing and cancelling payment intents. This is `true` by default. """ destination_on_behalf_of_charge_management: bool """ Whether connected accounts can manage destination charges that are created on behalf of them. This is `false` by default. """ dispute_management: bool """ Whether responding to disputes is enabled, including submitting evidence and accepting disputes. This is `true` by default. """ refund_management: bool """ Whether sending refunds is enabled. This is `true` by default. """ enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class PayoutDetails(StripeObject): class Features(StripeObject): pass enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class Payouts(StripeObject): class Features(StripeObject): disable_stripe_user_authentication: bool """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ edit_payout_schedule: bool """ Whether to allow payout schedule to be changed. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`. """ external_account_collection: bool """ Whether external account collection is enabled. This feature can only be `false` for accounts where you're responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`. """ instant_payouts: bool """ Whether to allow creation of instant payouts. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`. """ standard_payouts: bool """ Whether to allow creation of standard payouts. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`. """ enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class PayoutsList(StripeObject): class Features(StripeObject): pass enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class TaxRegistrations(StripeObject): class Features(StripeObject): pass enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} class TaxSettings(StripeObject): class Features(StripeObject): pass enabled: bool """ Whether the embedded component is enabled. """ features: Features _inner_class_types = {"features": Features} account_management: AccountManagement account_onboarding: AccountOnboarding balances: Balances disputes_list: DisputesList documents: Documents financial_account: FinancialAccount financial_account_transactions: FinancialAccountTransactions instant_payouts_promotion: InstantPayoutsPromotion issuing_card: IssuingCard issuing_cards_list: IssuingCardsList notification_banner: NotificationBanner payment_details: PaymentDetails payment_disputes: PaymentDisputes payments: Payments payout_details: PayoutDetails payouts: Payouts payouts_list: PayoutsList tax_registrations: TaxRegistrations tax_settings: TaxSettings _inner_class_types = { "account_management": AccountManagement, "account_onboarding": AccountOnboarding, "balances": Balances, "disputes_list": DisputesList, "documents": Documents, "financial_account": FinancialAccount, "financial_account_transactions": FinancialAccountTransactions, "instant_payouts_promotion": InstantPayoutsPromotion, "issuing_card": IssuingCard, "issuing_cards_list": IssuingCardsList, "notification_banner": NotificationBanner, "payment_details": PaymentDetails, "payment_disputes": PaymentDisputes, "payments": Payments, "payout_details": PayoutDetails, "payouts": Payouts, "payouts_list": PayoutsList, "tax_registrations": TaxRegistrations, "tax_settings": TaxSettings, } account: str """ The ID of the account the AccountSession was created for """ client_secret: str """ The client secret of this AccountSession. Used on the client to set up secure access to the given `account`. 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. """ components: Components expires_at: int """ The timestamp at which this AccountSession will expire. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["account_session"] """ String representing the object's type. Objects of the same type share the same value. """ @classmethod def create( cls, **params: Unpack["AccountSessionCreateParams"] ) -> "AccountSession": """ Creates a AccountSession object that includes a single-use token that the platform can use on their front-end to grant client-side API access. """ return cast( "AccountSession", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["AccountSessionCreateParams"] ) -> "AccountSession": """ Creates a AccountSession object that includes a single-use token that the platform can use on their front-end to grant client-side API access. """ return cast( "AccountSession", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) _inner_class_types = {"components": Components} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.319062 stripe-13.2.0/stripe/_account_session_service.py0000644000000000000000000000323115102753431016767 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._account_session import AccountSession from stripe._request_options import RequestOptions from stripe.params._account_session_create_params import ( AccountSessionCreateParams, ) class AccountSessionService(StripeService): def create( self, params: "AccountSessionCreateParams", options: Optional["RequestOptions"] = None, ) -> "AccountSession": """ Creates a AccountSession object that includes a single-use token that the platform can use on their front-end to grant client-side API access. """ return cast( "AccountSession", self._request( "post", "/v1/account_sessions", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "AccountSessionCreateParams", options: Optional["RequestOptions"] = None, ) -> "AccountSession": """ Creates a AccountSession object that includes a single-use token that the platform can use on their front-end to grant client-side API access. """ return cast( "AccountSession", await self._request_async( "post", "/v1/account_sessions", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.319062 stripe-13.2.0/stripe/_any_iterator.py0000644000000000000000000000203515102753431014551 0ustar00from typing import TypeVar, Iterator, AsyncIterator T = TypeVar("T") class AnyIterator(Iterator[T], AsyncIterator[T]): """ AnyIterator supports iteration through both `for ... in ` and `async for ... in syntaxes. """ def __init__( self, iterator: Iterator[T], async_iterator: AsyncIterator[T] ) -> None: self._iterator = iterator self._async_iterator = async_iterator self._sync_iterated = False self._async_iterated = False def __next__(self) -> T: if self._async_iterated: raise RuntimeError( "AnyIterator error: cannot mix sync and async iteration" ) self._sync_iterated = True return self._iterator.__next__() async def __anext__(self) -> T: if self._sync_iterated: raise RuntimeError( "AnyIterator error: cannot mix sync and async iteration" ) self._async_iterated = True return await self._async_iterator.__anext__() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.319062 stripe-13.2.0/stripe/_api_mode.py0000644000000000000000000000010615102753431013623 0ustar00from typing_extensions import Literal ApiMode = Literal["V1", "V2"] ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.319062 stripe-13.2.0/stripe/_api_requestor.py0000644000000000000000000007377615102753431014757 0ustar00from io import BytesIO, IOBase import json import platform from typing import ( Any, AsyncIterable, Dict, List, Mapping, Optional, Tuple, Union, cast, ClassVar, ) from typing_extensions import ( TYPE_CHECKING, Literal, NoReturn, Unpack, ) import uuid from urllib.parse import urlsplit, urlunsplit, parse_qs # breaking circular dependency import stripe # noqa: IMP101 from stripe._util import ( log_debug, log_info, dashboard_link, _convert_to_stripe_object, get_api_mode, ) from stripe._version import VERSION import stripe._error as error import stripe.oauth_error as oauth_error from stripe._multipart_data_generator import MultipartDataGenerator from urllib.parse import urlencode from stripe._encode import _api_encode, _json_encode_date_callback from stripe._stripe_response import ( StripeResponse, StripeStreamResponse, StripeStreamResponseAsync, ) from stripe._request_options import ( PERSISTENT_OPTIONS_KEYS, RequestOptions, merge_options, ) from stripe._requestor_options import ( RequestorOptions, _GlobalRequestorOptions, ) from stripe._http_client import ( HTTPClient, new_default_http_client, new_http_client_async_fallback, ) from stripe._base_address import BaseAddress from stripe._api_mode import ApiMode if TYPE_CHECKING: from stripe._app_info import AppInfo from stripe._stripe_object import StripeObject HttpVerb = Literal["get", "post", "delete"] # Lazily initialized _default_proxy: Optional[str] = None def is_v2_delete_resp(method: str, api_mode: ApiMode) -> bool: return method == "delete" and api_mode == "V2" class _APIRequestor(object): _instance: ClassVar["_APIRequestor|None"] = None def __init__( self, options: Optional[RequestorOptions] = None, client: Optional[HTTPClient] = None, ): if options is None: options = RequestorOptions() self._options = options self._client = client # In the case of client=None, we should use the current value of stripe.default_http_client # or lazily initialize it. Since stripe.default_http_client can change throughout the lifetime of # an _APIRequestor, we shouldn't set it as stripe._client and should access it only through this # getter. def _get_http_client(self) -> HTTPClient: client = self._client if client is None: global _default_proxy if not stripe.default_http_client: kwargs = { "verify_ssl_certs": stripe.verify_ssl_certs, "proxy": stripe.proxy, } # If the stripe.default_http_client has not been set by the user # yet, we'll set it here. This way, we aren't creating a new # HttpClient for every request. stripe.default_http_client = new_default_http_client( async_fallback_client=new_http_client_async_fallback( **kwargs ), **kwargs, ) _default_proxy = stripe.proxy elif stripe.proxy != _default_proxy: import warnings warnings.warn( "stripe.proxy was updated after sending a " "request - this is a no-op. To use a different proxy, " "set stripe.default_http_client to a new client " "configured with the proxy." ) assert stripe.default_http_client is not None return stripe.default_http_client return client def _new_requestor_with_options( self, options: Optional[RequestOptions] ) -> "_APIRequestor": """ Returns a new _APIRequestor instance with the same HTTP client but a (potentially) updated set of options. Useful for ensuring the original isn't modified, but any options the original had are still used. """ options = options or {} new_options = self._options.to_dict() for key in PERSISTENT_OPTIONS_KEYS: if key in options and options[key] is not None: new_options[key] = options[key] return _APIRequestor( options=RequestorOptions(**new_options), client=self._client ) @property def api_key(self): return self._options.api_key @property def stripe_account(self): return self._options.stripe_account @property def stripe_version(self): return self._options.stripe_version @property def base_addresses(self): return self._options.base_addresses @classmethod def _global_instance(cls): """ Returns the singleton instance of _APIRequestor, to be used when calling a static method such as stripe.Customer.create(...) """ # Lazily initialize. if cls._instance is None: cls._instance = cls(options=_GlobalRequestorOptions(), client=None) return cls._instance @staticmethod def _global_with_options( **params: Unpack[RequestOptions], ) -> "_APIRequestor": return _APIRequestor._global_instance()._new_requestor_with_options( params ) @classmethod def _format_app_info(cls, info): str = info["name"] if info["version"]: str += "/%s" % (info["version"],) if info["url"]: str += " (%s)" % (info["url"],) return str def request( self, method: str, url: str, params: Optional[Mapping[str, Any]] = None, options: Optional[RequestOptions] = None, *, base_address: BaseAddress, usage: Optional[List[str]] = None, ) -> "StripeObject": api_mode = get_api_mode(url) requestor = self._new_requestor_with_options(options) rbody, rcode, rheaders = requestor.request_raw( method.lower(), url, params, is_streaming=False, api_mode=api_mode, base_address=base_address, options=options, usage=usage, ) resp = requestor._interpret_response(rbody, rcode, rheaders, api_mode) obj = _convert_to_stripe_object( resp=resp, params=params, requestor=requestor, api_mode=api_mode, is_v2_deleted_object=is_v2_delete_resp(method, api_mode), ) return obj async def request_async( self, method: str, url: str, params: Optional[Mapping[str, Any]] = None, options: Optional[RequestOptions] = None, *, base_address: BaseAddress, usage: Optional[List[str]] = None, ) -> "StripeObject": api_mode = get_api_mode(url) requestor = self._new_requestor_with_options(options) rbody, rcode, rheaders = await requestor.request_raw_async( method.lower(), url, params, is_streaming=False, api_mode=api_mode, base_address=base_address, options=options, usage=usage, ) resp = requestor._interpret_response(rbody, rcode, rheaders, api_mode) obj = _convert_to_stripe_object( resp=resp, params=params, requestor=requestor, api_mode=api_mode, is_v2_deleted_object=is_v2_delete_resp(method, api_mode), ) return obj def request_stream( self, method: str, url: str, params: Optional[Mapping[str, Any]] = None, options: Optional[RequestOptions] = None, *, base_address: BaseAddress, usage: Optional[List[str]] = None, ) -> StripeStreamResponse: api_mode = get_api_mode(url) stream, rcode, rheaders = self.request_raw( method.lower(), url, params, is_streaming=True, api_mode=api_mode, base_address=base_address, options=options, usage=usage, ) resp = self._interpret_streaming_response( # TODO: should be able to remove this cast once self._client.request_stream_with_retries # returns a more specific type. cast(IOBase, stream), rcode, rheaders, api_mode, ) return resp async def request_stream_async( self, method: str, url: str, params: Optional[Mapping[str, Any]] = None, options: Optional[RequestOptions] = None, *, base_address: BaseAddress, usage: Optional[List[str]] = None, ) -> StripeStreamResponseAsync: api_mode = get_api_mode(url) stream, rcode, rheaders = await self.request_raw_async( method.lower(), url, params, is_streaming=True, api_mode=api_mode, base_address=base_address, options=options, usage=usage, ) resp = await self._interpret_streaming_response_async( stream, rcode, rheaders, api_mode, ) return resp def handle_error_response( self, rbody, rcode, resp, rheaders, api_mode ) -> NoReturn: try: error_data = resp["error"] except (KeyError, TypeError): raise error.APIError( "Invalid response object from API: %r (HTTP response code " "was %d)" % (rbody, rcode), rbody, rcode, resp, ) err = None # OAuth errors are a JSON object where `error` is a string. In # contrast, in API errors, `error` is a hash with sub-keys. We use # this property to distinguish between OAuth and API errors. if isinstance(error_data, str): err = self.specific_oauth_error( rbody, rcode, resp, rheaders, error_data ) if err is None: err = ( self.specific_v2_api_error( rbody, rcode, resp, rheaders, error_data ) if api_mode == "V2" else self.specific_v1_api_error( rbody, rcode, resp, rheaders, error_data ) ) raise err def specific_v2_api_error(self, rbody, rcode, resp, rheaders, error_data): type = error_data.get("type") code = error_data.get("code") message = error_data.get("message") error_args = { "message": message, "http_body": rbody, "http_status": rcode, "json_body": resp, "headers": rheaders, "code": code, } log_info( "Stripe v2 API error received", error_code=code, error_type=error_data.get("type"), error_message=message, error_param=error_data.get("param"), ) if type == "idempotency_error": return error.IdempotencyError( message, rbody, rcode, resp, rheaders, code, ) # switchCases: The beginning of the section generated from our OpenAPI spec elif type == "temporary_session_expired": return error.TemporarySessionExpiredError(**error_args) # switchCases: The end of the section generated from our OpenAPI spec return self.specific_v1_api_error( rbody, rcode, resp, rheaders, error_data ) def specific_v1_api_error(self, rbody, rcode, resp, rheaders, error_data): log_info( "Stripe v1 API error received", error_code=error_data.get("code"), error_type=error_data.get("type"), error_message=error_data.get("message"), error_param=error_data.get("param"), ) # Rate limits were previously coded as 400's with code 'rate_limit' if rcode == 429 or ( rcode == 400 and error_data.get("code") == "rate_limit" ): return error.RateLimitError( error_data.get("message"), rbody, rcode, resp, rheaders ) elif rcode in [400, 404]: if error_data.get("type") == "idempotency_error": return error.IdempotencyError( error_data.get("message"), rbody, rcode, resp, rheaders ) else: return error.InvalidRequestError( error_data.get("message"), error_data.get("param"), error_data.get("code"), rbody, rcode, resp, rheaders, ) elif rcode == 401: return error.AuthenticationError( error_data.get("message"), rbody, rcode, resp, rheaders ) elif rcode == 402: return error.CardError( error_data.get("message"), error_data.get("param"), error_data.get("code"), rbody, rcode, resp, rheaders, ) elif rcode == 403: return error.PermissionError( error_data.get("message"), rbody, rcode, resp, rheaders ) else: return error.APIError( error_data.get("message"), rbody, rcode, resp, rheaders ) def specific_oauth_error(self, rbody, rcode, resp, rheaders, error_code): description = resp.get("error_description", error_code) log_info( "Stripe OAuth error received", error_code=error_code, error_description=description, ) args = [error_code, description, rbody, rcode, resp, rheaders] if error_code == "invalid_client": return oauth_error.InvalidClientError(*args) elif error_code == "invalid_grant": return oauth_error.InvalidGrantError(*args) elif error_code == "invalid_request": return oauth_error.InvalidRequestError(*args) elif error_code == "invalid_scope": return oauth_error.InvalidScopeError(*args) elif error_code == "unsupported_grant_type": return oauth_error.UnsupportedGrantTypeError(*args) elif error_code == "unsupported_response_type": return oauth_error.UnsupportedResponseTypeError(*args) return None def request_headers( self, method: HttpVerb, api_mode: ApiMode, options: RequestOptions ): user_agent = "Stripe/%s PythonBindings/%s" % ( api_mode.lower(), VERSION, ) if stripe.app_info: user_agent += " " + self._format_app_info(stripe.app_info) ua: Dict[str, Union[str, "AppInfo"]] = { "bindings_version": VERSION, "lang": "python", "publisher": "stripe", "httplib": self._get_http_client().name, } for attr, func in [ ["lang_version", platform.python_version], ["platform", platform.platform], ["uname", lambda: " ".join(platform.uname())], ]: try: val = func() except Exception: val = "(disabled)" ua[attr] = val if stripe.app_info: ua["application"] = stripe.app_info headers: Dict[str, str] = { "X-Stripe-Client-User-Agent": json.dumps(ua), "User-Agent": user_agent, "Authorization": "Bearer %s" % (options.get("api_key"),), } stripe_account = options.get("stripe_account") if stripe_account: headers["Stripe-Account"] = stripe_account stripe_context = options.get("stripe_context") if stripe_context and str(stripe_context): headers["Stripe-Context"] = str(stripe_context) idempotency_key = options.get("idempotency_key") if idempotency_key: headers["Idempotency-Key"] = idempotency_key # IKs should be set for all POST requests and v2 delete requests if method == "post" or (api_mode == "V2" and method == "delete"): headers.setdefault("Idempotency-Key", str(uuid.uuid4())) if method == "post": if api_mode == "V2": headers["Content-Type"] = "application/json" else: headers["Content-Type"] = "application/x-www-form-urlencoded" stripe_version = options.get("stripe_version") if stripe_version: headers["Stripe-Version"] = stripe_version return headers def _args_for_request_with_retries( self, method: str, url: str, params: Optional[Mapping[str, Any]] = None, options: Optional[RequestOptions] = None, *, base_address: BaseAddress, api_mode: ApiMode, usage: Optional[List[str]] = None, ): """ Mechanism for issuing an API call. Used by request_raw and request_raw_async. """ request_options = merge_options(self._options, options) # Special stripe_version handling for v2 requests: if ( options and "stripe_version" in options and (options["stripe_version"] is not None) ): # If user specified an API version, honor it request_options["stripe_version"] = options["stripe_version"] if request_options.get("api_key") is None: raise error.AuthenticationError( "No API key provided. (HINT: set your API key using " '"stripe.api_key = "). You can generate API keys ' "from the Stripe web interface. See https://stripe.com/api " "for details, or email support@stripe.com if you have any " "questions." ) abs_url = "%s%s" % ( self._options.base_addresses.get(base_address), url, ) params = params or {} if params and (method == "get" or method == "delete"): # if we're sending params in the querystring, then we have to make sure we're not # duplicating anything we got back from the server already (like in a list iterator) # so, we parse the querystring the server sends back so we can merge with what we (or the user) are trying to send existing_params = {} for k, v in parse_qs(urlsplit(url).query).items(): # note: server sends back "expand[]" but users supply "expand", so we strip the brackets from the key name if k.endswith("[]"): existing_params[k[:-2]] = v else: # all querystrings are pulled out as lists. # We want to keep the querystrings that actually are lists, but flatten the ones that are single values existing_params[k] = v[0] if len(v) == 1 else v # if a user is expanding something that wasn't expanded before, add (and deduplicate) it # this could theoretically work for other lists that we want to merge too, but that doesn't seem to be a use case # it never would have worked before, so I think we can start with `expand` and go from there if "expand" in existing_params and "expand" in params: params["expand"] = list( # type:ignore - this is a dict set([*existing_params["expand"], *params["expand"]]) ) params = { **existing_params, # user_supplied params take precedence over server params **params, } encoded_params = urlencode(list(_api_encode(params or {}, api_mode))) # Don't use strict form encoding by changing the square bracket control # characters back to their literals. This is fine by the server, and # makes these parameter strings easier to read. encoded_params = encoded_params.replace("%5B", "[").replace("%5D", "]") if api_mode == "V2": encoded_body = json.dumps( params or {}, default=_json_encode_date_callback ) else: encoded_body = encoded_params supplied_headers = None if ( "headers" in request_options and request_options["headers"] is not None ): supplied_headers = dict(request_options["headers"]) headers = self.request_headers( # this cast is safe because the blocks below validate that `method` is one of the allowed values cast(HttpVerb, method), api_mode, request_options, ) if method == "get" or method == "delete": if params: # if we're sending query params, we've already merged the incoming ones with the server's "url" # so we can overwrite the whole thing scheme, netloc, path, _, fragment = urlsplit(abs_url) abs_url = urlunsplit( (scheme, netloc, path, encoded_params, fragment) ) post_data = None elif method == "post": if ( options is not None and options.get("content_type") == "multipart/form-data" ): generator = MultipartDataGenerator() generator.add_params(params or {}) post_data = generator.get_post_data() headers["Content-Type"] = ( "multipart/form-data; boundary=%s" % (generator.boundary,) ) else: post_data = encoded_body else: raise error.APIConnectionError( "Unrecognized HTTP method %r. This may indicate a bug in the " "Stripe bindings. Please contact support@stripe.com for " "assistance." % (method,) ) if supplied_headers is not None: for key, value in supplied_headers.items(): headers[key] = value max_network_retries = request_options.get("max_network_retries") return ( # Actual args method, abs_url, headers, post_data, max_network_retries, usage, # For logging encoded_params, request_options.get("stripe_version"), ) def request_raw( self, method: str, url: str, params: Optional[Mapping[str, Any]] = None, options: Optional[RequestOptions] = None, is_streaming: bool = False, *, base_address: BaseAddress, api_mode: ApiMode, usage: Optional[List[str]] = None, ) -> Tuple[object, int, Mapping[str, str]]: ( method, abs_url, headers, post_data, max_network_retries, usage, encoded_params, api_version, ) = self._args_for_request_with_retries( method, url, params, options, base_address=base_address, api_mode=api_mode, usage=usage, ) log_info("Request to Stripe api", method=method, url=abs_url) log_debug( "Post details", post_data=encoded_params, api_version=api_version ) if is_streaming: ( rcontent, rcode, rheaders, ) = self._get_http_client().request_stream_with_retries( method, abs_url, headers, post_data, max_network_retries=max_network_retries, _usage=usage, ) else: ( rcontent, rcode, rheaders, ) = self._get_http_client().request_with_retries( method, abs_url, headers, post_data, max_network_retries=max_network_retries, _usage=usage, ) log_info("Stripe API response", path=abs_url, response_code=rcode) log_debug("API response body", body=rcontent) if "Request-Id" in rheaders: request_id = rheaders["Request-Id"] log_debug( "Dashboard link for request", link=dashboard_link(request_id), ) return rcontent, rcode, rheaders async def request_raw_async( self, method: str, url: str, params: Optional[Mapping[str, Any]] = None, options: Optional[RequestOptions] = None, is_streaming: bool = False, *, base_address: BaseAddress, api_mode: ApiMode, usage: Optional[List[str]] = None, ) -> Tuple[AsyncIterable[bytes], int, Mapping[str, str]]: """ Mechanism for issuing an API call """ usage = usage or [] usage = usage + ["async"] ( method, abs_url, headers, post_data, max_network_retries, usage, encoded_params, api_version, ) = self._args_for_request_with_retries( method, url, params, options, base_address=base_address, api_mode=api_mode, usage=usage, ) log_info("Request to Stripe api", method=method, url=abs_url) log_debug( "Post details", post_data=encoded_params, api_version=api_version, ) if is_streaming: ( rcontent, rcode, rheaders, ) = await self._get_http_client().request_stream_with_retries_async( method, abs_url, headers, post_data, max_network_retries=max_network_retries, _usage=usage, ) else: ( rcontent, rcode, rheaders, ) = await self._get_http_client().request_with_retries_async( method, abs_url, headers, post_data, max_network_retries=max_network_retries, _usage=usage, ) log_info("Stripe API response", path=abs_url, response_code=rcode) log_debug("API response body", body=rcontent) if "Request-Id" in rheaders: request_id = rheaders["Request-Id"] log_debug( "Dashboard link for request", link=dashboard_link(request_id), ) return rcontent, rcode, rheaders def _should_handle_code_as_error(self, rcode: int) -> bool: return not 200 <= rcode < 300 def _interpret_response( self, rbody: object, rcode: int, rheaders: Mapping[str, str], api_mode: ApiMode, ) -> StripeResponse: try: if hasattr(rbody, "decode"): # TODO: should be able to remove this cast once self._client.request_with_retries # returns a more specific type. rbody = cast(bytes, rbody).decode("utf-8") resp = StripeResponse( cast(str, rbody), rcode, rheaders, ) except Exception: raise error.APIError( "Invalid response body from API: %s " "(HTTP response code was %d)" % (rbody, rcode), cast(bytes, rbody), rcode, rheaders, ) if self._should_handle_code_as_error(rcode): self.handle_error_response( rbody, rcode, resp.data, rheaders, api_mode ) return resp def _interpret_streaming_response( self, stream: IOBase, rcode: int, rheaders: Mapping[str, str], api_mode: ApiMode, ) -> StripeStreamResponse: # Streaming response are handled with minimal processing for the success # case (ie. we don't want to read the content). When an error is # received, we need to read from the stream and parse the received JSON, # treating it like a standard JSON response. if self._should_handle_code_as_error(rcode): if hasattr(stream, "getvalue"): json_content = cast(BytesIO, stream).getvalue() elif hasattr(stream, "read"): json_content = stream.read() else: raise NotImplementedError( "HTTP client %s does not return an IOBase object which " "can be consumed when streaming a response." % self._get_http_client().name ) self._interpret_response(json_content, rcode, rheaders, api_mode) # _interpret_response is guaranteed to throw since we've checked self._should_handle_code_as_error raise RuntimeError( "_interpret_response should have raised an error" ) else: return StripeStreamResponse(stream, rcode, rheaders) async def _interpret_streaming_response_async( self, stream: AsyncIterable[bytes], rcode: int, rheaders: Mapping[str, str], api_mode: ApiMode, ) -> StripeStreamResponseAsync: if self._should_handle_code_as_error(rcode): json_content = b"".join([chunk async for chunk in stream]) self._interpret_response(json_content, rcode, rheaders, api_mode) # _interpret_response is guaranteed to throw since we've checked self._should_handle_code_as_error raise RuntimeError( "_interpret_response should have raised an error" ) else: return StripeStreamResponseAsync(stream, rcode, rheaders) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.319062 stripe-13.2.0/stripe/_api_resource.py0000644000000000000000000001464015102753431014536 0ustar00from typing_extensions import Literal, Self from stripe._error import InvalidRequestError from stripe._stripe_object import StripeObject from stripe._request_options import extract_options_from_dict from stripe._api_mode import ApiMode from stripe._base_address import BaseAddress from stripe._api_requestor import _APIRequestor from stripe import _util from urllib.parse import quote_plus from typing import ( Any, ClassVar, Generic, List, Optional, TypeVar, cast, Mapping, ) T = TypeVar("T", bound=StripeObject) class APIResource(StripeObject, Generic[T]): OBJECT_NAME: ClassVar[str] @classmethod @_util.deprecated( "This method is deprecated and will be removed in a future version of stripe-python. Child classes of APIResource should define their own `retrieve` and use APIResource._request directly." ) def retrieve(cls, id, **params) -> T: instance = cls(id, **params) instance.refresh() return cast(T, instance) def refresh(self) -> Self: return self._request_and_refresh("get", self.instance_url()) async def refresh_async(self) -> Self: return await self._request_and_refresh_async( "get", self.instance_url() ) @classmethod def class_url(cls) -> str: if cls == APIResource: raise NotImplementedError( "APIResource is an abstract class. You should perform " "actions on its subclasses (e.g. Charge, Customer)" ) # Namespaces are separated in object names with periods (.) and in URLs # with forward slashes (/), so replace the former with the latter. base = cls.OBJECT_NAME.replace(".", "/") return "/v1/%ss" % (base,) def instance_url(self) -> str: id = self.get("id") if not isinstance(id, str): raise InvalidRequestError( "Could not determine which URL to request: %s instance " "has invalid ID: %r, %s. ID should be of type `str` (or" " `unicode`)" % (type(self).__name__, id, type(id)), "id", ) base = self.class_url() extn = quote_plus(id) return "%s/%s" % (base, extn) def _request( self, method, url, params=None, *, base_address: BaseAddress = "api", api_mode: ApiMode = "V1", ) -> StripeObject: obj = StripeObject._request( self, method, url, params=params, base_address=base_address, ) if type(self) is type(obj): self._refresh_from(values=obj, api_mode=api_mode) return self else: return obj async def _request_async( self, method, url, params=None, *, base_address: BaseAddress = "api", api_mode: ApiMode = "V1", ) -> StripeObject: obj = await StripeObject._request_async( self, method, url, params=params, base_address=base_address, ) if type(self) is type(obj): self._refresh_from(values=obj, api_mode=api_mode) return self else: return obj def _request_and_refresh( self, method: Literal["get", "post", "delete"], url: str, params: Optional[Mapping[str, Any]] = None, usage: Optional[List[str]] = None, *, base_address: BaseAddress = "api", api_mode: ApiMode = "V1", ) -> Self: obj = StripeObject._request( self, method, url, params=params, base_address=base_address, usage=usage, ) self._refresh_from(values=obj, api_mode=api_mode) return self async def _request_and_refresh_async( self, method: Literal["get", "post", "delete"], url: str, params: Optional[Mapping[str, Any]] = None, usage: Optional[List[str]] = None, *, base_address: BaseAddress = "api", api_mode: ApiMode = "V1", ) -> Self: obj = await StripeObject._request_async( self, method, url, params=params, base_address=base_address, usage=usage, ) self._refresh_from(values=obj, api_mode=api_mode) return self @classmethod def _static_request( cls, method_, url_, params: Optional[Mapping[str, Any]] = None, *, base_address: BaseAddress = "api", ): request_options, request_params = extract_options_from_dict(params) return _APIRequestor._global_instance().request( method_, url_, params=request_params, options=request_options, base_address=base_address, ) @classmethod async def _static_request_async( cls, method_, url_, params: Optional[Mapping[str, Any]] = None, *, base_address: BaseAddress = "api", ): request_options, request_params = extract_options_from_dict(params) return await _APIRequestor._global_instance().request_async( method_, url_, params=request_params, options=request_options, base_address=base_address, ) @classmethod def _static_request_stream( cls, method, url, params: Optional[Mapping[str, Any]] = None, *, base_address: BaseAddress = "api", ): request_options, request_params = extract_options_from_dict(params) return _APIRequestor._global_instance().request_stream( method, url, params=request_params, options=request_options, base_address=base_address, ) @classmethod async def _static_request_stream_async( cls, method, url, params: Optional[Mapping[str, Any]] = None, *, base_address: BaseAddress = "api", ): request_options, request_params = extract_options_from_dict(params) return await _APIRequestor._global_instance().request_stream_async( method, url, params=request_params, options=request_options, base_address=base_address, ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.319062 stripe-13.2.0/stripe/_api_version.py0000644000000000000000000000022115102753431014362 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec class _ApiVersion: CURRENT = "2025-10-29.clover" CURRENT_MAJOR = "clover" ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.319062 stripe-13.2.0/stripe/_app_info.py0000644000000000000000000000027615102753431013651 0ustar00from typing import Optional from typing_extensions import TypedDict class AppInfo(TypedDict): name: str partner_id: Optional[str] url: Optional[str] version: Optional[str] ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.319062 stripe-13.2.0/stripe/_apple_pay_domain.py0000644000000000000000000001521315102753431015354 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._apple_pay_domain_create_params import ( ApplePayDomainCreateParams, ) from stripe.params._apple_pay_domain_delete_params import ( ApplePayDomainDeleteParams, ) from stripe.params._apple_pay_domain_list_params import ( ApplePayDomainListParams, ) from stripe.params._apple_pay_domain_retrieve_params import ( ApplePayDomainRetrieveParams, ) class ApplePayDomain( CreateableAPIResource["ApplePayDomain"], DeletableAPIResource["ApplePayDomain"], ListableAPIResource["ApplePayDomain"], ): OBJECT_NAME: ClassVar[Literal["apple_pay_domain"]] = "apple_pay_domain" created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ domain_name: str id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["apple_pay_domain"] """ String representing the object's type. Objects of the same type share the same value. """ @classmethod def create( cls, **params: Unpack["ApplePayDomainCreateParams"] ) -> "ApplePayDomain": """ Create an apple pay domain. """ return cast( "ApplePayDomain", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["ApplePayDomainCreateParams"] ) -> "ApplePayDomain": """ Create an apple pay domain. """ return cast( "ApplePayDomain", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["ApplePayDomainDeleteParams"] ) -> "ApplePayDomain": """ Delete an apple pay domain. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "ApplePayDomain", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete( sid: str, **params: Unpack["ApplePayDomainDeleteParams"] ) -> "ApplePayDomain": """ Delete an apple pay domain. """ ... @overload def delete( self, **params: Unpack["ApplePayDomainDeleteParams"] ) -> "ApplePayDomain": """ Delete an apple pay domain. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ApplePayDomainDeleteParams"] ) -> "ApplePayDomain": """ Delete an apple pay domain. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["ApplePayDomainDeleteParams"] ) -> "ApplePayDomain": """ Delete an apple pay domain. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "ApplePayDomain", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["ApplePayDomainDeleteParams"] ) -> "ApplePayDomain": """ Delete an apple pay domain. """ ... @overload async def delete_async( self, **params: Unpack["ApplePayDomainDeleteParams"] ) -> "ApplePayDomain": """ Delete an apple pay domain. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ApplePayDomainDeleteParams"] ) -> "ApplePayDomain": """ Delete an apple pay domain. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def list( cls, **params: Unpack["ApplePayDomainListParams"] ) -> ListObject["ApplePayDomain"]: """ List apple pay domains. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ApplePayDomainListParams"] ) -> ListObject["ApplePayDomain"]: """ List apple pay domains. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["ApplePayDomainRetrieveParams"] ) -> "ApplePayDomain": """ Retrieve an apple pay domain. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ApplePayDomainRetrieveParams"] ) -> "ApplePayDomain": """ Retrieve an apple pay domain. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def class_url(cls): return "/v1/apple_pay/domains" ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.319062 stripe-13.2.0/stripe/_apple_pay_domain_service.py0000644000000000000000000001243315102753431017075 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._apple_pay_domain import ApplePayDomain from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._apple_pay_domain_create_params import ( ApplePayDomainCreateParams, ) from stripe.params._apple_pay_domain_delete_params import ( ApplePayDomainDeleteParams, ) from stripe.params._apple_pay_domain_list_params import ( ApplePayDomainListParams, ) from stripe.params._apple_pay_domain_retrieve_params import ( ApplePayDomainRetrieveParams, ) class ApplePayDomainService(StripeService): def delete( self, domain: str, params: Optional["ApplePayDomainDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ApplePayDomain": """ Delete an apple pay domain. """ return cast( "ApplePayDomain", self._request( "delete", "/v1/apple_pay/domains/{domain}".format( domain=sanitize_id(domain), ), base_address="api", params=params, options=options, ), ) async def delete_async( self, domain: str, params: Optional["ApplePayDomainDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ApplePayDomain": """ Delete an apple pay domain. """ return cast( "ApplePayDomain", await self._request_async( "delete", "/v1/apple_pay/domains/{domain}".format( domain=sanitize_id(domain), ), base_address="api", params=params, options=options, ), ) def retrieve( self, domain: str, params: Optional["ApplePayDomainRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ApplePayDomain": """ Retrieve an apple pay domain. """ return cast( "ApplePayDomain", self._request( "get", "/v1/apple_pay/domains/{domain}".format( domain=sanitize_id(domain), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, domain: str, params: Optional["ApplePayDomainRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ApplePayDomain": """ Retrieve an apple pay domain. """ return cast( "ApplePayDomain", await self._request_async( "get", "/v1/apple_pay/domains/{domain}".format( domain=sanitize_id(domain), ), base_address="api", params=params, options=options, ), ) def list( self, params: Optional["ApplePayDomainListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ApplePayDomain]": """ List apple pay domains. """ return cast( "ListObject[ApplePayDomain]", self._request( "get", "/v1/apple_pay/domains", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["ApplePayDomainListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ApplePayDomain]": """ List apple pay domains. """ return cast( "ListObject[ApplePayDomain]", await self._request_async( "get", "/v1/apple_pay/domains", base_address="api", params=params, options=options, ), ) def create( self, params: "ApplePayDomainCreateParams", options: Optional["RequestOptions"] = None, ) -> "ApplePayDomain": """ Create an apple pay domain. """ return cast( "ApplePayDomain", self._request( "post", "/v1/apple_pay/domains", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "ApplePayDomainCreateParams", options: Optional["RequestOptions"] = None, ) -> "ApplePayDomain": """ Create an apple pay domain. """ return cast( "ApplePayDomain", await self._request_async( "post", "/v1/apple_pay/domains", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_application.py0000644000000000000000000000122115102753431014350 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar, Optional from typing_extensions import Literal class Application(StripeObject): OBJECT_NAME: ClassVar[Literal["application"]] = "application" deleted: Optional[Literal[True]] """ Always true for a deleted object """ id: str """ Unique identifier for the object. """ name: Optional[str] """ The name of the application. """ object: Literal["application"] """ String representing the object's type. Objects of the same type share the same value. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_application_fee.py0000644000000000000000000004762715102753431015213 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._nested_resource_class_methods import nested_resource_class_methods from stripe._stripe_object import StripeObject from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._application import Application from stripe._application_fee_refund import ApplicationFeeRefund from stripe._balance_transaction import BalanceTransaction from stripe._charge import Charge from stripe.params._application_fee_create_refund_params import ( ApplicationFeeCreateRefundParams, ) from stripe.params._application_fee_list_params import ( ApplicationFeeListParams, ) from stripe.params._application_fee_list_refunds_params import ( ApplicationFeeListRefundsParams, ) from stripe.params._application_fee_modify_refund_params import ( ApplicationFeeModifyRefundParams, ) from stripe.params._application_fee_refund_params import ( ApplicationFeeRefundParams, ) from stripe.params._application_fee_retrieve_params import ( ApplicationFeeRetrieveParams, ) from stripe.params._application_fee_retrieve_refund_params import ( ApplicationFeeRetrieveRefundParams, ) @nested_resource_class_methods("refund") class ApplicationFee(ListableAPIResource["ApplicationFee"]): OBJECT_NAME: ClassVar[Literal["application_fee"]] = "application_fee" class FeeSource(StripeObject): charge: Optional[str] """ Charge ID that created this application fee. """ payout: Optional[str] """ Payout ID that created this application fee. """ type: Literal["charge", "payout"] """ Type of object that created the application fee. """ account: ExpandableField["Account"] """ ID of the Stripe account this fee was taken from. """ amount: int """ Amount earned, in cents (or local equivalent). """ amount_refunded: int """ Amount in cents (or local equivalent) refunded (can be less than the amount attribute on the fee if a partial refund was issued) """ application: ExpandableField["Application"] """ ID of the Connect application that earned the fee. """ balance_transaction: Optional[ExpandableField["BalanceTransaction"]] """ Balance transaction that describes the impact of this collected application fee on your account balance (not including refunds). """ charge: ExpandableField["Charge"] """ ID of the charge that the application fee was taken from. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ fee_source: Optional[FeeSource] """ Polymorphic source of the application fee. Includes the ID of the object the application fee was created from. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["application_fee"] """ String representing the object's type. Objects of the same type share the same value. """ originating_transaction: Optional[ExpandableField["Charge"]] """ ID of the corresponding charge on the platform account, if this fee was the result of a charge using the `destination` parameter. """ refunded: bool """ Whether the fee has been fully refunded. If the fee is only partially refunded, this attribute will still be false. """ refunds: ListObject["ApplicationFeeRefund"] """ A list of refunds that have been applied to the fee. """ @classmethod def list( cls, **params: Unpack["ApplicationFeeListParams"] ) -> ListObject["ApplicationFee"]: """ Returns a list of application fees you've previously collected. The application fees are returned in sorted order, with the most recent fees appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ApplicationFeeListParams"] ) -> ListObject["ApplicationFee"]: """ Returns a list of application fees you've previously collected. The application fees are returned in sorted order, with the most recent fees appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def _cls_refund( cls, id: str, **params: Unpack["ApplicationFeeRefundParams"] ) -> "ApplicationFeeRefund": """ Refunds an application fee that has previously been collected but not yet refunded. Funds will be refunded to the Stripe account from which the fee was originally collected. You can optionally refund only part of an application fee. You can do so multiple times, until the entire fee has been refunded. Once entirely refunded, an application fee can't be refunded again. This method will raise an error when called on an already-refunded application fee, or when trying to refund more money than is left on an application fee. """ return cast( "ApplicationFeeRefund", cls._static_request( "post", "/v1/application_fees/{id}/refunds".format(id=sanitize_id(id)), params=params, ), ) @overload @staticmethod def refund( id: str, **params: Unpack["ApplicationFeeRefundParams"] ) -> "ApplicationFeeRefund": """ Refunds an application fee that has previously been collected but not yet refunded. Funds will be refunded to the Stripe account from which the fee was originally collected. You can optionally refund only part of an application fee. You can do so multiple times, until the entire fee has been refunded. Once entirely refunded, an application fee can't be refunded again. This method will raise an error when called on an already-refunded application fee, or when trying to refund more money than is left on an application fee. """ ... @overload def refund( self, **params: Unpack["ApplicationFeeRefundParams"] ) -> "ApplicationFeeRefund": """ Refunds an application fee that has previously been collected but not yet refunded. Funds will be refunded to the Stripe account from which the fee was originally collected. You can optionally refund only part of an application fee. You can do so multiple times, until the entire fee has been refunded. Once entirely refunded, an application fee can't be refunded again. This method will raise an error when called on an already-refunded application fee, or when trying to refund more money than is left on an application fee. """ ... @class_method_variant("_cls_refund") def refund( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ApplicationFeeRefundParams"] ) -> "ApplicationFeeRefund": """ Refunds an application fee that has previously been collected but not yet refunded. Funds will be refunded to the Stripe account from which the fee was originally collected. You can optionally refund only part of an application fee. You can do so multiple times, until the entire fee has been refunded. Once entirely refunded, an application fee can't be refunded again. This method will raise an error when called on an already-refunded application fee, or when trying to refund more money than is left on an application fee. """ return cast( "ApplicationFeeRefund", self._request( "post", "/v1/application_fees/{id}/refunds".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_refund_async( cls, id: str, **params: Unpack["ApplicationFeeRefundParams"] ) -> "ApplicationFeeRefund": """ Refunds an application fee that has previously been collected but not yet refunded. Funds will be refunded to the Stripe account from which the fee was originally collected. You can optionally refund only part of an application fee. You can do so multiple times, until the entire fee has been refunded. Once entirely refunded, an application fee can't be refunded again. This method will raise an error when called on an already-refunded application fee, or when trying to refund more money than is left on an application fee. """ return cast( "ApplicationFeeRefund", await cls._static_request_async( "post", "/v1/application_fees/{id}/refunds".format(id=sanitize_id(id)), params=params, ), ) @overload @staticmethod async def refund_async( id: str, **params: Unpack["ApplicationFeeRefundParams"] ) -> "ApplicationFeeRefund": """ Refunds an application fee that has previously been collected but not yet refunded. Funds will be refunded to the Stripe account from which the fee was originally collected. You can optionally refund only part of an application fee. You can do so multiple times, until the entire fee has been refunded. Once entirely refunded, an application fee can't be refunded again. This method will raise an error when called on an already-refunded application fee, or when trying to refund more money than is left on an application fee. """ ... @overload async def refund_async( self, **params: Unpack["ApplicationFeeRefundParams"] ) -> "ApplicationFeeRefund": """ Refunds an application fee that has previously been collected but not yet refunded. Funds will be refunded to the Stripe account from which the fee was originally collected. You can optionally refund only part of an application fee. You can do so multiple times, until the entire fee has been refunded. Once entirely refunded, an application fee can't be refunded again. This method will raise an error when called on an already-refunded application fee, or when trying to refund more money than is left on an application fee. """ ... @class_method_variant("_cls_refund_async") async def refund_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ApplicationFeeRefundParams"] ) -> "ApplicationFeeRefund": """ Refunds an application fee that has previously been collected but not yet refunded. Funds will be refunded to the Stripe account from which the fee was originally collected. You can optionally refund only part of an application fee. You can do so multiple times, until the entire fee has been refunded. Once entirely refunded, an application fee can't be refunded again. This method will raise an error when called on an already-refunded application fee, or when trying to refund more money than is left on an application fee. """ return cast( "ApplicationFeeRefund", await self._request_async( "post", "/v1/application_fees/{id}/refunds".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["ApplicationFeeRetrieveParams"] ) -> "ApplicationFee": """ Retrieves the details of an application fee that your account has collected. The same information is returned when refunding the application fee. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ApplicationFeeRetrieveParams"] ) -> "ApplicationFee": """ Retrieves the details of an application fee that your account has collected. The same information is returned when refunding the application fee. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def retrieve_refund( cls, fee: str, id: str, **params: Unpack["ApplicationFeeRetrieveRefundParams"], ) -> "ApplicationFeeRefund": """ By default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee. """ return cast( "ApplicationFeeRefund", cls._static_request( "get", "/v1/application_fees/{fee}/refunds/{id}".format( fee=sanitize_id(fee), id=sanitize_id(id) ), params=params, ), ) @classmethod async def retrieve_refund_async( cls, fee: str, id: str, **params: Unpack["ApplicationFeeRetrieveRefundParams"], ) -> "ApplicationFeeRefund": """ By default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee. """ return cast( "ApplicationFeeRefund", await cls._static_request_async( "get", "/v1/application_fees/{fee}/refunds/{id}".format( fee=sanitize_id(fee), id=sanitize_id(id) ), params=params, ), ) @classmethod def modify_refund( cls, fee: str, id: str, **params: Unpack["ApplicationFeeModifyRefundParams"], ) -> "ApplicationFeeRefund": """ Updates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request only accepts metadata as an argument. """ return cast( "ApplicationFeeRefund", cls._static_request( "post", "/v1/application_fees/{fee}/refunds/{id}".format( fee=sanitize_id(fee), id=sanitize_id(id) ), params=params, ), ) @classmethod async def modify_refund_async( cls, fee: str, id: str, **params: Unpack["ApplicationFeeModifyRefundParams"], ) -> "ApplicationFeeRefund": """ Updates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request only accepts metadata as an argument. """ return cast( "ApplicationFeeRefund", await cls._static_request_async( "post", "/v1/application_fees/{fee}/refunds/{id}".format( fee=sanitize_id(fee), id=sanitize_id(id) ), params=params, ), ) @classmethod def list_refunds( cls, id: str, **params: Unpack["ApplicationFeeListRefundsParams"] ) -> ListObject["ApplicationFeeRefund"]: """ You can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the application fee object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds. """ return cast( ListObject["ApplicationFeeRefund"], cls._static_request( "get", "/v1/application_fees/{id}/refunds".format(id=sanitize_id(id)), params=params, ), ) @classmethod async def list_refunds_async( cls, id: str, **params: Unpack["ApplicationFeeListRefundsParams"] ) -> ListObject["ApplicationFeeRefund"]: """ You can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the application fee object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds. """ return cast( ListObject["ApplicationFeeRefund"], await cls._static_request_async( "get", "/v1/application_fees/{id}/refunds".format(id=sanitize_id(id)), params=params, ), ) @classmethod def create_refund( cls, id: str, **params: Unpack["ApplicationFeeCreateRefundParams"] ) -> "ApplicationFeeRefund": """ Refunds an application fee that has previously been collected but not yet refunded. Funds will be refunded to the Stripe account from which the fee was originally collected. You can optionally refund only part of an application fee. You can do so multiple times, until the entire fee has been refunded. Once entirely refunded, an application fee can't be refunded again. This method will raise an error when called on an already-refunded application fee, or when trying to refund more money than is left on an application fee. """ return cast( "ApplicationFeeRefund", cls._static_request( "post", "/v1/application_fees/{id}/refunds".format(id=sanitize_id(id)), params=params, ), ) @classmethod async def create_refund_async( cls, id: str, **params: Unpack["ApplicationFeeCreateRefundParams"] ) -> "ApplicationFeeRefund": """ Refunds an application fee that has previously been collected but not yet refunded. Funds will be refunded to the Stripe account from which the fee was originally collected. You can optionally refund only part of an application fee. You can do so multiple times, until the entire fee has been refunded. Once entirely refunded, an application fee can't be refunded again. This method will raise an error when called on an already-refunded application fee, or when trying to refund more money than is left on an application fee. """ return cast( "ApplicationFeeRefund", await cls._static_request_async( "post", "/v1/application_fees/{id}/refunds".format(id=sanitize_id(id)), params=params, ), ) _inner_class_types = {"fee_source": FeeSource} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_application_fee_refund.py0000644000000000000000000000557315102753431016550 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._application_fee import ApplicationFee from stripe._expandable_field import ExpandableField from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, Dict, Optional, cast from typing_extensions import Literal, TYPE_CHECKING if TYPE_CHECKING: from stripe._balance_transaction import BalanceTransaction class ApplicationFeeRefund(UpdateableAPIResource["ApplicationFeeRefund"]): """ `Application Fee Refund` objects allow you to refund an application fee that 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) """ OBJECT_NAME: ClassVar[Literal["fee_refund"]] = "fee_refund" amount: int """ Amount, in cents (or local equivalent). """ balance_transaction: Optional[ExpandableField["BalanceTransaction"]] """ Balance transaction that describes the impact on your account balance. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ fee: ExpandableField["ApplicationFee"] """ ID of the application fee that was refunded. """ id: str """ Unique identifier for the object. """ 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. """ object: Literal["fee_refund"] """ String representing the object's type. Objects of the same type share the same value. """ @classmethod def _build_instance_url(cls, fee, sid): base = ApplicationFee.class_url() cust_extn = sanitize_id(fee) extn = sanitize_id(sid) return "%s/%s/refunds/%s" % (base, cust_extn, extn) @classmethod def modify(cls, fee, sid, **params) -> "ApplicationFeeRefund": url = cls._build_instance_url(fee, sid) return cast( "ApplicationFeeRefund", cls._static_request("post", url, params=params), ) def instance_url(self): return self._build_instance_url(self.fee, self.id) @classmethod def retrieve(cls, id, **params) -> "ApplicationFeeRefund": raise NotImplementedError( "Can't retrieve a refund without an application fee ID. " "Use application_fee.refunds.retrieve('refund_id') instead." ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_application_fee_refund_service.py0000644000000000000000000002037315102753431020263 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._application_fee_refund import ApplicationFeeRefund from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._application_fee_refund_create_params import ( ApplicationFeeRefundCreateParams, ) from stripe.params._application_fee_refund_list_params import ( ApplicationFeeRefundListParams, ) from stripe.params._application_fee_refund_retrieve_params import ( ApplicationFeeRefundRetrieveParams, ) from stripe.params._application_fee_refund_update_params import ( ApplicationFeeRefundUpdateParams, ) class ApplicationFeeRefundService(StripeService): def retrieve( self, fee: str, id: str, params: Optional["ApplicationFeeRefundRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ApplicationFeeRefund": """ By default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee. """ return cast( "ApplicationFeeRefund", self._request( "get", "/v1/application_fees/{fee}/refunds/{id}".format( fee=sanitize_id(fee), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, fee: str, id: str, params: Optional["ApplicationFeeRefundRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ApplicationFeeRefund": """ By default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee. """ return cast( "ApplicationFeeRefund", await self._request_async( "get", "/v1/application_fees/{fee}/refunds/{id}".format( fee=sanitize_id(fee), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def update( self, fee: str, id: str, params: Optional["ApplicationFeeRefundUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ApplicationFeeRefund": """ Updates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request only accepts metadata as an argument. """ return cast( "ApplicationFeeRefund", self._request( "post", "/v1/application_fees/{fee}/refunds/{id}".format( fee=sanitize_id(fee), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def update_async( self, fee: str, id: str, params: Optional["ApplicationFeeRefundUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ApplicationFeeRefund": """ Updates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request only accepts metadata as an argument. """ return cast( "ApplicationFeeRefund", await self._request_async( "post", "/v1/application_fees/{fee}/refunds/{id}".format( fee=sanitize_id(fee), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def list( self, id: str, params: Optional["ApplicationFeeRefundListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ApplicationFeeRefund]": """ You can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the application fee object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds. """ return cast( "ListObject[ApplicationFeeRefund]", self._request( "get", "/v1/application_fees/{id}/refunds".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def list_async( self, id: str, params: Optional["ApplicationFeeRefundListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ApplicationFeeRefund]": """ You can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the application fee object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds. """ return cast( "ListObject[ApplicationFeeRefund]", await self._request_async( "get", "/v1/application_fees/{id}/refunds".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def create( self, id: str, params: Optional["ApplicationFeeRefundCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ApplicationFeeRefund": """ Refunds an application fee that has previously been collected but not yet refunded. Funds will be refunded to the Stripe account from which the fee was originally collected. You can optionally refund only part of an application fee. You can do so multiple times, until the entire fee has been refunded. Once entirely refunded, an application fee can't be refunded again. This method will raise an error when called on an already-refunded application fee, or when trying to refund more money than is left on an application fee. """ return cast( "ApplicationFeeRefund", self._request( "post", "/v1/application_fees/{id}/refunds".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def create_async( self, id: str, params: Optional["ApplicationFeeRefundCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ApplicationFeeRefund": """ Refunds an application fee that has previously been collected but not yet refunded. Funds will be refunded to the Stripe account from which the fee was originally collected. You can optionally refund only part of an application fee. You can do so multiple times, until the entire fee has been refunded. Once entirely refunded, an application fee can't be refunded again. This method will raise an error when called on an already-refunded application fee, or when trying to refund more money than is left on an application fee. """ return cast( "ApplicationFeeRefund", await self._request_async( "post", "/v1/application_fees/{id}/refunds".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_application_fee_service.py0000644000000000000000000001012015102753431016705 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._application_fee import ApplicationFee from stripe._application_fee_refund_service import ( ApplicationFeeRefundService, ) from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._application_fee_list_params import ( ApplicationFeeListParams, ) from stripe.params._application_fee_retrieve_params import ( ApplicationFeeRetrieveParams, ) _subservices = { "refunds": [ "stripe._application_fee_refund_service", "ApplicationFeeRefundService", ], } class ApplicationFeeService(StripeService): refunds: "ApplicationFeeRefundService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def list( self, params: Optional["ApplicationFeeListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ApplicationFee]": """ Returns a list of application fees you've previously collected. The application fees are returned in sorted order, with the most recent fees appearing first. """ return cast( "ListObject[ApplicationFee]", self._request( "get", "/v1/application_fees", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["ApplicationFeeListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ApplicationFee]": """ Returns a list of application fees you've previously collected. The application fees are returned in sorted order, with the most recent fees appearing first. """ return cast( "ListObject[ApplicationFee]", await self._request_async( "get", "/v1/application_fees", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["ApplicationFeeRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ApplicationFee": """ Retrieves the details of an application fee that your account has collected. The same information is returned when refunding the application fee. """ return cast( "ApplicationFee", self._request( "get", "/v1/application_fees/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["ApplicationFeeRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ApplicationFee": """ Retrieves the details of an application fee that your account has collected. The same information is returned when refunding the application fee. """ return cast( "ApplicationFee", await self._request_async( "get", "/v1/application_fees/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_apps_service.py0000644000000000000000000000164315102753431014540 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.apps._secret_service import SecretService _subservices = {"secrets": ["stripe.apps._secret_service", "SecretService"]} class AppsService(StripeService): secrets: "SecretService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_balance.py0000644000000000000000000003125015102753431013437 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._singleton_api_resource import SingletonAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, List, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._balance_retrieve_params import BalanceRetrieveParams class Balance(SingletonAPIResource["Balance"]): """ This is an object representing your Stripe balance. You can retrieve it to see the balance currently on your Stripe account. 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) """ OBJECT_NAME: ClassVar[Literal["balance"]] = "balance" class Available(StripeObject): class SourceTypes(StripeObject): bank_account: Optional[int] """ Amount coming from [legacy US ACH payments](https://docs.stripe.com/ach-deprecated). """ card: Optional[int] """ Amount coming from most payment methods, including cards as well as [non-legacy bank debits](https://docs.stripe.com/payments/bank-debits). """ fpx: Optional[int] """ Amount coming from [FPX](https://docs.stripe.com/payments/fpx), a Malaysian payment method. """ amount: int """ Balance amount. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ source_types: Optional[SourceTypes] _inner_class_types = {"source_types": SourceTypes} class ConnectReserved(StripeObject): class SourceTypes(StripeObject): bank_account: Optional[int] """ Amount coming from [legacy US ACH payments](https://docs.stripe.com/ach-deprecated). """ card: Optional[int] """ Amount coming from most payment methods, including cards as well as [non-legacy bank debits](https://docs.stripe.com/payments/bank-debits). """ fpx: Optional[int] """ Amount coming from [FPX](https://docs.stripe.com/payments/fpx), a Malaysian payment method. """ amount: int """ Balance amount. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ source_types: Optional[SourceTypes] _inner_class_types = {"source_types": SourceTypes} class InstantAvailable(StripeObject): class NetAvailable(StripeObject): class SourceTypes(StripeObject): bank_account: Optional[int] """ Amount coming from [legacy US ACH payments](https://docs.stripe.com/ach-deprecated). """ card: Optional[int] """ Amount coming from most payment methods, including cards as well as [non-legacy bank debits](https://docs.stripe.com/payments/bank-debits). """ fpx: Optional[int] """ Amount coming from [FPX](https://docs.stripe.com/payments/fpx), a Malaysian payment method. """ amount: int """ Net balance amount, subtracting fees from platform-set pricing. """ destination: str """ ID of the external account for this net balance (not expandable). """ source_types: Optional[SourceTypes] _inner_class_types = {"source_types": SourceTypes} class SourceTypes(StripeObject): bank_account: Optional[int] """ Amount coming from [legacy US ACH payments](https://docs.stripe.com/ach-deprecated). """ card: Optional[int] """ Amount coming from most payment methods, including cards as well as [non-legacy bank debits](https://docs.stripe.com/payments/bank-debits). """ fpx: Optional[int] """ Amount coming from [FPX](https://docs.stripe.com/payments/fpx), a Malaysian payment method. """ amount: int """ Balance amount. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ net_available: Optional[List[NetAvailable]] """ Breakdown of balance by destination. """ source_types: Optional[SourceTypes] _inner_class_types = { "net_available": NetAvailable, "source_types": SourceTypes, } class Issuing(StripeObject): class Available(StripeObject): class SourceTypes(StripeObject): bank_account: Optional[int] """ Amount coming from [legacy US ACH payments](https://docs.stripe.com/ach-deprecated). """ card: Optional[int] """ Amount coming from most payment methods, including cards as well as [non-legacy bank debits](https://docs.stripe.com/payments/bank-debits). """ fpx: Optional[int] """ Amount coming from [FPX](https://docs.stripe.com/payments/fpx), a Malaysian payment method. """ amount: int """ Balance amount. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ source_types: Optional[SourceTypes] _inner_class_types = {"source_types": SourceTypes} available: List[Available] """ Funds that are available for use. """ _inner_class_types = {"available": Available} class Pending(StripeObject): class SourceTypes(StripeObject): bank_account: Optional[int] """ Amount coming from [legacy US ACH payments](https://docs.stripe.com/ach-deprecated). """ card: Optional[int] """ Amount coming from most payment methods, including cards as well as [non-legacy bank debits](https://docs.stripe.com/payments/bank-debits). """ fpx: Optional[int] """ Amount coming from [FPX](https://docs.stripe.com/payments/fpx), a Malaysian payment method. """ amount: int """ Balance amount. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ source_types: Optional[SourceTypes] _inner_class_types = {"source_types": SourceTypes} class RefundAndDisputePrefunding(StripeObject): class Available(StripeObject): class SourceTypes(StripeObject): bank_account: Optional[int] """ Amount coming from [legacy US ACH payments](https://docs.stripe.com/ach-deprecated). """ card: Optional[int] """ Amount coming from most payment methods, including cards as well as [non-legacy bank debits](https://docs.stripe.com/payments/bank-debits). """ fpx: Optional[int] """ Amount coming from [FPX](https://docs.stripe.com/payments/fpx), a Malaysian payment method. """ amount: int """ Balance amount. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ source_types: Optional[SourceTypes] _inner_class_types = {"source_types": SourceTypes} class Pending(StripeObject): class SourceTypes(StripeObject): bank_account: Optional[int] """ Amount coming from [legacy US ACH payments](https://docs.stripe.com/ach-deprecated). """ card: Optional[int] """ Amount coming from most payment methods, including cards as well as [non-legacy bank debits](https://docs.stripe.com/payments/bank-debits). """ fpx: Optional[int] """ Amount coming from [FPX](https://docs.stripe.com/payments/fpx), a Malaysian payment method. """ amount: int """ Balance amount. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ source_types: Optional[SourceTypes] _inner_class_types = {"source_types": SourceTypes} available: List[Available] """ Funds that are available for use. """ pending: List[Pending] """ Funds that are pending """ _inner_class_types = {"available": Available, "pending": Pending} 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. """ connect_reserved: Optional[List[ConnectReserved]] """ Funds held due to negative balances on connected accounts where [account.controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. You can find the connect reserve balance for each currency and payment type in the `source_types` property. """ instant_available: Optional[List[InstantAvailable]] """ Funds that you can pay out using Instant Payouts. """ issuing: Optional[Issuing] livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["balance"] """ String representing the object's type. Objects of the same type share the same value. """ pending: List[Pending] """ Funds that aren't available in the balance yet. You can find the pending balance for each currency and each payment type in the `source_types` property. """ refund_and_dispute_prefunding: Optional[RefundAndDisputePrefunding] @classmethod def retrieve(cls, **params: Unpack["BalanceRetrieveParams"]) -> "Balance": """ Retrieves the current account balance, based on the authentication that was used to make the request. For a sample request, see [Accounting for negative balances](https://docs.stripe.com/docs/connect/account-balances#accounting-for-negative-balances). """ instance = cls(None, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, **params: Unpack["BalanceRetrieveParams"] ) -> "Balance": """ Retrieves the current account balance, based on the authentication that was used to make the request. For a sample request, see [Accounting for negative balances](https://docs.stripe.com/docs/connect/account-balances#accounting-for-negative-balances). """ instance = cls(None, **params) await instance.refresh_async() return instance @classmethod def class_url(cls): return "/v1/balance" _inner_class_types = { "available": Available, "connect_reserved": ConnectReserved, "instant_available": InstantAvailable, "issuing": Issuing, "pending": Pending, "refund_and_dispute_prefunding": RefundAndDisputePrefunding, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_balance_service.py0000644000000000000000000000347715102753431015171 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._balance import Balance from stripe._request_options import RequestOptions from stripe.params._balance_retrieve_params import BalanceRetrieveParams class BalanceService(StripeService): def retrieve( self, params: Optional["BalanceRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Balance": """ Retrieves the current account balance, based on the authentication that was used to make the request. For a sample request, see [Accounting for negative balances](https://docs.stripe.com/docs/connect/account-balances#accounting-for-negative-balances). """ return cast( "Balance", self._request( "get", "/v1/balance", base_address="api", params=params, options=options, ), ) async def retrieve_async( self, params: Optional["BalanceRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Balance": """ Retrieves the current account balance, based on the authentication that was used to make the request. For a sample request, see [Accounting for negative balances](https://docs.stripe.com/docs/connect/account-balances#accounting-for-negative-balances). """ return cast( "Balance", await self._request_async( "get", "/v1/balance", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_balance_settings.py0000644000000000000000000001522115102753431015357 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._singleton_api_resource import SingletonAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from typing import ClassVar, Dict, List, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._balance_settings_modify_params import ( BalanceSettingsModifyParams, ) from stripe.params._balance_settings_retrieve_params import ( BalanceSettingsRetrieveParams, ) class BalanceSettings( SingletonAPIResource["BalanceSettings"], UpdateableAPIResource["BalanceSettings"], ): """ Options for customizing account balances and payout settings for a Stripe platform's connected accounts. """ OBJECT_NAME: ClassVar[Literal["balance_settings"]] = "balance_settings" class Payments(StripeObject): class Payouts(StripeObject): class Schedule(StripeObject): interval: Optional[ Literal["daily", "manual", "monthly", "weekly"] ] """ How frequently funds will be paid out. One of `manual` (payouts only created via API call), `daily`, `weekly`, or `monthly`. """ monthly_payout_days: Optional[List[int]] """ The day of the month funds will be paid out. Only shown if `interval` is monthly. Payouts scheduled between the 29th and 31st of the month are sent on the last day of shorter months. """ weekly_payout_days: Optional[ List[ Literal[ "friday", "monday", "thursday", "tuesday", "wednesday", ] ] ] """ The days of the week when available funds are paid out, specified as an array, for example, [`monday`, `tuesday`]. Only shown if `interval` is weekly. """ minimum_balance_by_currency: Optional[Dict[str, int]] """ The minimum balance amount to retain per currency after automatic payouts. Only funds that exceed these amounts are paid out. Learn more about the [minimum balances for automatic payouts](https://docs.stripe.com/payouts/minimum-balances-for-automatic-payouts). """ 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. """ statement_descriptor: Optional[str] """ The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard. """ status: Literal["disabled", "enabled"] """ Whether the funds in this account can be paid out. """ _inner_class_types = {"schedule": Schedule} class SettlementTiming(StripeObject): delay_days: int """ The number of days charge funds are held before becoming available. """ delay_days_override: Optional[int] """ The number of days charge funds are held before becoming available. If present, overrides the default, or minimum available, for the account. """ debit_negative_balances: Optional[bool] """ A Boolean indicating if Stripe should try to reclaim negative balances from an attached bank account. See [Understanding Connect account balances](https://docs.stripe.com/connect/account-balances) for details. The default value is `false` when [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts, otherwise `true`. """ payouts: Optional[Payouts] """ Settings specific to the account's payouts. """ settlement_timing: SettlementTiming _inner_class_types = { "payouts": Payouts, "settlement_timing": SettlementTiming, } object: Literal["balance_settings"] """ String representing the object's type. Objects of the same type share the same value. """ payments: Payments @classmethod def modify( cls, **params: Unpack["BalanceSettingsModifyParams"] ) -> "BalanceSettings": """ Updates balance settings for a given connected account. Related guide: [Making API calls for connected accounts](https://docs.stripe.com/connect/authentication) """ return cast( "BalanceSettings", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def modify_async( cls, **params: Unpack["BalanceSettingsModifyParams"] ) -> "BalanceSettings": """ Updates balance settings for a given connected account. Related guide: [Making API calls for connected accounts](https://docs.stripe.com/connect/authentication) """ return cast( "BalanceSettings", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def retrieve( cls, **params: Unpack["BalanceSettingsRetrieveParams"] ) -> "BalanceSettings": """ Retrieves balance settings for a given connected account. Related guide: [Making API calls for connected accounts](https://docs.stripe.com/connect/authentication) """ instance = cls(None, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, **params: Unpack["BalanceSettingsRetrieveParams"] ) -> "BalanceSettings": """ Retrieves balance settings for a given connected account. Related guide: [Making API calls for connected accounts](https://docs.stripe.com/connect/authentication) """ instance = cls(None, **params) await instance.refresh_async() return instance @classmethod def class_url(cls): return "/v1/balance_settings" _inner_class_types = {"payments": Payments} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_balance_settings_service.py0000644000000000000000000000622715102753431017105 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._balance_settings import BalanceSettings from stripe._request_options import RequestOptions from stripe.params._balance_settings_retrieve_params import ( BalanceSettingsRetrieveParams, ) from stripe.params._balance_settings_update_params import ( BalanceSettingsUpdateParams, ) class BalanceSettingsService(StripeService): def retrieve( self, params: Optional["BalanceSettingsRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "BalanceSettings": """ Retrieves balance settings for a given connected account. Related guide: [Making API calls for connected accounts](https://docs.stripe.com/connect/authentication) """ return cast( "BalanceSettings", self._request( "get", "/v1/balance_settings", base_address="api", params=params, options=options, ), ) async def retrieve_async( self, params: Optional["BalanceSettingsRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "BalanceSettings": """ Retrieves balance settings for a given connected account. Related guide: [Making API calls for connected accounts](https://docs.stripe.com/connect/authentication) """ return cast( "BalanceSettings", await self._request_async( "get", "/v1/balance_settings", base_address="api", params=params, options=options, ), ) def update( self, params: Optional["BalanceSettingsUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "BalanceSettings": """ Updates balance settings for a given connected account. Related guide: [Making API calls for connected accounts](https://docs.stripe.com/connect/authentication) """ return cast( "BalanceSettings", self._request( "post", "/v1/balance_settings", base_address="api", params=params, options=options, ), ) async def update_async( self, params: Optional["BalanceSettingsUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "BalanceSettings": """ Updates balance settings for a given connected account. Related guide: [Making API calls for connected accounts](https://docs.stripe.com/connect/authentication) """ return cast( "BalanceSettings", await self._request_async( "post", "/v1/balance_settings", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_balance_transaction.py0000644000000000000000000002573315102753431016055 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, List, Optional, Union from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._application_fee import ApplicationFee from stripe._application_fee_refund import ApplicationFeeRefund from stripe._charge import Charge from stripe._connect_collection_transfer import ConnectCollectionTransfer from stripe._customer_cash_balance_transaction import ( CustomerCashBalanceTransaction, ) from stripe._dispute import Dispute as DisputeResource from stripe._payout import Payout from stripe._refund import Refund from stripe._reserve_transaction import ReserveTransaction from stripe._reversal import Reversal from stripe._tax_deducted_at_source import TaxDeductedAtSource from stripe._topup import Topup from stripe._transfer import Transfer from stripe.issuing._authorization import Authorization from stripe.issuing._dispute import Dispute as IssuingDisputeResource from stripe.issuing._transaction import Transaction from stripe.params._balance_transaction_list_params import ( BalanceTransactionListParams, ) from stripe.params._balance_transaction_retrieve_params import ( BalanceTransactionRetrieveParams, ) 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) """ OBJECT_NAME: ClassVar[Literal["balance_transaction"]] = ( "balance_transaction" ) class FeeDetail(StripeObject): amount: int """ Amount of the fee, in cents. """ application: Optional[str] """ ID of the Connect application that earned the fee. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ type: str """ Type of the fee, one of: `application_fee`, `payment_method_passthrough_fee`, `stripe_fee` or `tax`. """ amount: int """ Gross amount of this transaction (in cents (or local equivalent)). A positive value represents funds charged to another party, and a negative value represents funds sent to another party. """ available_on: int """ The date that the transaction's net funds become available in the Stripe balance. """ balance_type: Literal[ "issuing", "payments", "refund_and_dispute_prefunding" ] """ The balance that this transaction impacts. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ exchange_rate: Optional[float] """ If applicable, this transaction uses an exchange rate. If money converts from currency A to currency B, then the `amount` in currency A, multipled by the `exchange_rate`, equals the `amount` in currency B. For example, if you charge a customer 10.00 EUR, the PaymentIntent's `amount` is `1000` and `currency` is `eur`. If this converts to 12.34 USD in your Stripe account, the BalanceTransaction's `amount` is `1234`, its `currency` is `usd`, and the `exchange_rate` is `1.234`. """ fee: int """ Fees (in cents (or local equivalent)) paid for this transaction. Represented as a positive integer when assessed. """ fee_details: List[FeeDetail] """ Detailed breakdown of fees (in cents (or local equivalent)) paid for this transaction. """ id: str """ Unique identifier for the object. """ net: int """ Net impact to a Stripe balance (in cents (or local equivalent)). A positive value represents incrementing a Stripe balance, and a negative value decrementing a Stripe balance. You can calculate the net impact of a transaction on a balance by `amount` - `fee` """ object: Literal["balance_transaction"] """ String representing the object's type. Objects of the same type share the same value. """ reporting_category: str """ Learn more about how [reporting categories](https://stripe.com/docs/reports/reporting-categories) can help you understand balance transactions from an accounting perspective. """ source: Optional[ ExpandableField[ Union[ "ApplicationFee", "Charge", "ConnectCollectionTransfer", "CustomerCashBalanceTransaction", "DisputeResource", "ApplicationFeeRefund", "Authorization", "IssuingDisputeResource", "Transaction", "Payout", "Refund", "ReserveTransaction", "TaxDeductedAtSource", "Topup", "Transfer", "Reversal", ] ] ] """ This transaction relates to the Stripe object. """ status: str """ The transaction's net funds status in the Stripe balance, which are either `available` or `pending`. """ type: Literal[ "adjustment", "advance", "advance_funding", "anticipation_repayment", "application_fee", "application_fee_refund", "charge", "climate_order_purchase", "climate_order_refund", "connect_collection_transfer", "contribution", "issuing_authorization_hold", "issuing_authorization_release", "issuing_dispute", "issuing_transaction", "obligation_outbound", "obligation_reversal_inbound", "payment", "payment_failure_refund", "payment_network_reserve_hold", "payment_network_reserve_release", "payment_refund", "payment_reversal", "payment_unreconciled", "payout", "payout_cancel", "payout_failure", "payout_minimum_balance_hold", "payout_minimum_balance_release", "refund", "refund_failure", "reserve_transaction", "reserved_funds", "stripe_balance_payment_debit", "stripe_balance_payment_debit_reversal", "stripe_fee", "stripe_fx_fee", "tax_fee", "topup", "topup_reversal", "transfer", "transfer_cancel", "transfer_failure", "transfer_refund", ] """ Transaction type: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `climate_order_purchase`, `climate_order_refund`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_outbound`, `obligation_reversal_inbound`, `payment`, `payment_failure_refund`, `payment_network_reserve_hold`, `payment_network_reserve_release`, `payment_refund`, `payment_reversal`, `payment_unreconciled`, `payout`, `payout_cancel`, `payout_failure`, `payout_minimum_balance_hold`, `payout_minimum_balance_release`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `stripe_balance_payment_debit`, `stripe_balance_payment_debit_reversal`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. Learn more about [balance transaction types and what they represent](https://stripe.com/docs/reports/balance-transaction-types). To classify transactions for accounting purposes, consider `reporting_category` instead. """ @classmethod def list( cls, **params: Unpack["BalanceTransactionListParams"] ) -> ListObject["BalanceTransaction"]: """ 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. Note that this endpoint was previously called “Balance history” and used the path /v1/balance/history. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["BalanceTransactionListParams"] ) -> ListObject["BalanceTransaction"]: """ 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. Note that this endpoint was previously called “Balance history” and used the path /v1/balance/history. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["BalanceTransactionRetrieveParams"] ) -> "BalanceTransaction": """ Retrieves the balance transaction with the given ID. Note that this endpoint previously used the path /v1/balance/history/:id. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["BalanceTransactionRetrieveParams"] ) -> "BalanceTransaction": """ Retrieves the balance transaction with the given ID. Note that this endpoint previously used the path /v1/balance/history/:id. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"fee_details": FeeDetail} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_balance_transaction_service.py0000644000000000000000000000730215102753431017565 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._balance_transaction import BalanceTransaction from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._balance_transaction_list_params import ( BalanceTransactionListParams, ) from stripe.params._balance_transaction_retrieve_params import ( BalanceTransactionRetrieveParams, ) class BalanceTransactionService(StripeService): def list( self, params: Optional["BalanceTransactionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[BalanceTransaction]": """ 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. Note that this endpoint was previously called “Balance history” and used the path /v1/balance/history. """ return cast( "ListObject[BalanceTransaction]", self._request( "get", "/v1/balance_transactions", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["BalanceTransactionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[BalanceTransaction]": """ 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. Note that this endpoint was previously called “Balance history” and used the path /v1/balance/history. """ return cast( "ListObject[BalanceTransaction]", await self._request_async( "get", "/v1/balance_transactions", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["BalanceTransactionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "BalanceTransaction": """ Retrieves the balance transaction with the given ID. Note that this endpoint previously used the path /v1/balance/history/:id. """ return cast( "BalanceTransaction", self._request( "get", "/v1/balance_transactions/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["BalanceTransactionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "BalanceTransaction": """ Retrieves the balance transaction with the given ID. Note that this endpoint previously used the path /v1/balance/history/:id. """ return cast( "BalanceTransaction", await self._request_async( "get", "/v1/balance_transactions/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_bank_account.py0000644000000000000000000006077415102753431014516 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._account import Account from stripe._customer import Customer from stripe._deletable_api_resource import DeletableAPIResource from stripe._error import InvalidRequestError from stripe._expandable_field import ExpandableField from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from stripe._verify_mixin import VerifyMixin from typing import ClassVar, Dict, List, Optional, Union, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._card import Card from stripe.params._bank_account_delete_params import ( BankAccountDeleteParams, ) class BankAccount( DeletableAPIResource["BankAccount"], UpdateableAPIResource["BankAccount"], VerifyMixin, ): """ These bank accounts are payment methods on `Customer` objects. On the other hand [External Accounts](https://docs.stripe.com/api#external_accounts) are transfer destinations on `Account` objects for connected accounts. They can be bank accounts or debit cards as well, and are documented in the links above. Related guide: [Bank debits and transfers](https://docs.stripe.com/payments/bank-debits-transfers) """ OBJECT_NAME: ClassVar[Literal["bank_account"]] = "bank_account" class FutureRequirements(StripeObject): class Error(StripeObject): code: Literal[ "external_request", "information_missing", "invalid_address_city_state_postal_code", "invalid_address_highway_contract_box", "invalid_address_private_mailbox", "invalid_business_profile_name", "invalid_business_profile_name_denylisted", "invalid_company_name_denylisted", "invalid_dob_age_over_maximum", "invalid_dob_age_under_18", "invalid_dob_age_under_minimum", "invalid_product_description_length", "invalid_product_description_url_match", "invalid_representative_country", "invalid_signator", "invalid_statement_descriptor_business_mismatch", "invalid_statement_descriptor_denylisted", "invalid_statement_descriptor_length", "invalid_statement_descriptor_prefix_denylisted", "invalid_statement_descriptor_prefix_mismatch", "invalid_street_address", "invalid_tax_id", "invalid_tax_id_format", "invalid_tos_acceptance", "invalid_url_denylisted", "invalid_url_format", "invalid_url_length", "invalid_url_web_presence_detected", "invalid_url_website_business_information_mismatch", "invalid_url_website_empty", "invalid_url_website_inaccessible", "invalid_url_website_inaccessible_geoblocked", "invalid_url_website_inaccessible_password_protected", "invalid_url_website_incomplete", "invalid_url_website_incomplete_cancellation_policy", "invalid_url_website_incomplete_customer_service_details", "invalid_url_website_incomplete_legal_restrictions", "invalid_url_website_incomplete_refund_policy", "invalid_url_website_incomplete_return_policy", "invalid_url_website_incomplete_terms_and_conditions", "invalid_url_website_incomplete_under_construction", "invalid_url_website_other", "invalid_value_other", "unsupported_business_type", "verification_directors_mismatch", "verification_document_address_mismatch", "verification_document_address_missing", "verification_document_corrupt", "verification_document_country_not_supported", "verification_document_directors_mismatch", "verification_document_dob_mismatch", "verification_document_duplicate_type", "verification_document_expired", "verification_document_failed_copy", "verification_document_failed_greyscale", "verification_document_failed_other", "verification_document_failed_test_mode", "verification_document_fraudulent", "verification_document_id_number_mismatch", "verification_document_id_number_missing", "verification_document_incomplete", "verification_document_invalid", "verification_document_issue_or_expiry_date_missing", "verification_document_manipulated", "verification_document_missing_back", "verification_document_missing_front", "verification_document_name_mismatch", "verification_document_name_missing", "verification_document_nationality_mismatch", "verification_document_not_readable", "verification_document_not_signed", "verification_document_not_uploaded", "verification_document_photo_mismatch", "verification_document_too_large", "verification_document_type_not_supported", "verification_extraneous_directors", "verification_failed_address_match", "verification_failed_authorizer_authority", "verification_failed_business_iec_number", "verification_failed_document_match", "verification_failed_id_number_match", "verification_failed_keyed_identity", "verification_failed_keyed_match", "verification_failed_name_match", "verification_failed_other", "verification_failed_representative_authority", "verification_failed_residential_address", "verification_failed_tax_id_match", "verification_failed_tax_id_not_issued", "verification_legal_entity_structure_mismatch", "verification_missing_directors", "verification_missing_executives", "verification_missing_owners", "verification_rejected_ownership_exemption_reason", "verification_requires_additional_memorandum_of_associations", "verification_requires_additional_proof_of_registration", "verification_supportability", ] """ The code for the type of error. """ reason: str """ An informative message that indicates the error type and provides additional details about the error. """ requirement: str """ The specific user onboarding requirement field (in the requirements hash) that needs to be resolved. """ 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. """ errors: Optional[List[Error]] """ Fields that are `currently_due` and need to be collected again because validation or verification failed. """ past_due: Optional[List[str]] """ Fields that weren't collected by `current_deadline`. These fields need to be collected 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. """ _inner_class_types = {"errors": Error} class Requirements(StripeObject): class Error(StripeObject): code: Literal[ "external_request", "information_missing", "invalid_address_city_state_postal_code", "invalid_address_highway_contract_box", "invalid_address_private_mailbox", "invalid_business_profile_name", "invalid_business_profile_name_denylisted", "invalid_company_name_denylisted", "invalid_dob_age_over_maximum", "invalid_dob_age_under_18", "invalid_dob_age_under_minimum", "invalid_product_description_length", "invalid_product_description_url_match", "invalid_representative_country", "invalid_signator", "invalid_statement_descriptor_business_mismatch", "invalid_statement_descriptor_denylisted", "invalid_statement_descriptor_length", "invalid_statement_descriptor_prefix_denylisted", "invalid_statement_descriptor_prefix_mismatch", "invalid_street_address", "invalid_tax_id", "invalid_tax_id_format", "invalid_tos_acceptance", "invalid_url_denylisted", "invalid_url_format", "invalid_url_length", "invalid_url_web_presence_detected", "invalid_url_website_business_information_mismatch", "invalid_url_website_empty", "invalid_url_website_inaccessible", "invalid_url_website_inaccessible_geoblocked", "invalid_url_website_inaccessible_password_protected", "invalid_url_website_incomplete", "invalid_url_website_incomplete_cancellation_policy", "invalid_url_website_incomplete_customer_service_details", "invalid_url_website_incomplete_legal_restrictions", "invalid_url_website_incomplete_refund_policy", "invalid_url_website_incomplete_return_policy", "invalid_url_website_incomplete_terms_and_conditions", "invalid_url_website_incomplete_under_construction", "invalid_url_website_other", "invalid_value_other", "unsupported_business_type", "verification_directors_mismatch", "verification_document_address_mismatch", "verification_document_address_missing", "verification_document_corrupt", "verification_document_country_not_supported", "verification_document_directors_mismatch", "verification_document_dob_mismatch", "verification_document_duplicate_type", "verification_document_expired", "verification_document_failed_copy", "verification_document_failed_greyscale", "verification_document_failed_other", "verification_document_failed_test_mode", "verification_document_fraudulent", "verification_document_id_number_mismatch", "verification_document_id_number_missing", "verification_document_incomplete", "verification_document_invalid", "verification_document_issue_or_expiry_date_missing", "verification_document_manipulated", "verification_document_missing_back", "verification_document_missing_front", "verification_document_name_mismatch", "verification_document_name_missing", "verification_document_nationality_mismatch", "verification_document_not_readable", "verification_document_not_signed", "verification_document_not_uploaded", "verification_document_photo_mismatch", "verification_document_too_large", "verification_document_type_not_supported", "verification_extraneous_directors", "verification_failed_address_match", "verification_failed_authorizer_authority", "verification_failed_business_iec_number", "verification_failed_document_match", "verification_failed_id_number_match", "verification_failed_keyed_identity", "verification_failed_keyed_match", "verification_failed_name_match", "verification_failed_other", "verification_failed_representative_authority", "verification_failed_residential_address", "verification_failed_tax_id_match", "verification_failed_tax_id_not_issued", "verification_legal_entity_structure_mismatch", "verification_missing_directors", "verification_missing_executives", "verification_missing_owners", "verification_rejected_ownership_exemption_reason", "verification_requires_additional_memorandum_of_associations", "verification_requires_additional_proof_of_registration", "verification_supportability", ] """ The code for the type of error. """ reason: str """ An informative message that indicates the error type and provides additional details about the error. """ requirement: str """ The specific user onboarding requirement field (in the requirements hash) that needs to be resolved. """ 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. """ errors: Optional[List[Error]] """ Fields that are `currently_due` and need to be collected again because validation or verification failed. """ past_due: Optional[List[str]] """ Fields that weren't collected by `current_deadline`. These fields need to be collected 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. """ _inner_class_types = {"errors": Error} account: Optional[ExpandableField["Account"]] """ The account this bank account belongs to. Only applicable on Accounts (not customers or recipients) This property is only available when returned as an [External Account](https://docs.stripe.com/api/external_account_bank_accounts/object) where [controller.is_controller](https://docs.stripe.com/api/accounts/object#account_object-controller-is_controller) is `true`. """ account_holder_name: Optional[str] """ The name of the person or business that owns the bank account. """ account_holder_type: Optional[str] """ The type of entity that holds the account. This can be either `individual` or `company`. """ account_type: Optional[str] """ The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`. """ available_payout_methods: Optional[List[Literal["instant", "standard"]]] """ A set of available payout methods for this bank account. Only values from this set should be passed as the `method` when creating a payout. """ bank_name: Optional[str] """ Name of the bank associated with the routing number (e.g., `WELLS FARGO`). """ country: str """ Two-letter ISO code representing the country the bank account is located in. """ currency: str """ Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account. """ customer: Optional[ExpandableField["Customer"]] """ The ID of the customer that the bank account is associated with. """ default_for_currency: Optional[bool] """ Whether this bank account is the default external account for its currency. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ 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. """ id: str """ Unique identifier for the object. """ last4: str """ The last four digits of the bank account number. """ 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. """ object: Literal["bank_account"] """ String representing the object's type. Objects of the same type share the same value. """ requirements: Optional[Requirements] """ Information about the requirements for the bank account, including what information needs to be collected. """ routing_number: Optional[str] """ The routing transit number for the bank account. """ 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 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. """ @classmethod def _cls_delete( cls, sid: str, **params: Unpack["BankAccountDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( Union["BankAccount", "Card"], cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete( sid: str, **params: Unpack["BankAccountDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ ... @overload def delete( self, **params: Unpack["BankAccountDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["BankAccountDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["BankAccountDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( Union["BankAccount", "Card"], await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["BankAccountDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ ... @overload async def delete_async( self, **params: Unpack["BankAccountDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["BankAccountDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) def instance_url(self): token = self.id extn = sanitize_id(token) if hasattr(self, "customer"): customer = self.customer base = Customer.class_url() assert customer is not None if isinstance(customer, Customer): customer = customer.id owner_extn = sanitize_id(customer) class_base = "sources" elif hasattr(self, "account"): account = self.account base = Account.class_url() assert account is not None if isinstance(account, Account): account = account.id owner_extn = sanitize_id(account) class_base = "external_accounts" else: raise InvalidRequestError( "Could not determine whether bank_account_id %s is " "attached to a customer or an account." % token, "id", ) return "%s/%s/%s/%s" % (base, owner_extn, class_base, extn) @classmethod def modify(cls, sid, **params): raise NotImplementedError( "Can't modify a bank account without a customer or account ID. " "Use stripe.Customer.modify_source('customer_id', 'bank_account_id', ...) " "(see https://stripe.com/docs/api/customer_bank_accounts/update) or " "stripe.Account.modify_external_account('customer_id', 'bank_account_id', ...) " "(see https://stripe.com/docs/api/external_account_bank_accounts/update)." ) @classmethod def retrieve(cls, id, **params): raise NotImplementedError( "Can't retrieve a bank account without a customer or account ID. " "Use stripe.customer.retrieve_source('customer_id', 'bank_account_id') " "(see https://stripe.com/docs/api/customer_bank_accounts/retrieve) or " "stripe.Account.retrieve_external_account('account_id', 'bank_account_id') " "(see https://stripe.com/docs/api/external_account_bank_accounts/retrieve)." ) _inner_class_types = { "future_requirements": FutureRequirements, "requirements": Requirements, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_base_address.py0000644000000000000000000000053615102753431014474 0ustar00from typing import Optional from typing_extensions import NotRequired, TypedDict, Literal BaseAddress = Literal["api", "files", "connect", "meter_events"] class BaseAddresses(TypedDict): api: NotRequired[Optional[str]] connect: NotRequired[Optional[str]] files: NotRequired[Optional[str]] meter_events: NotRequired[Optional[str]] ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_billing_portal_service.py0000644000000000000000000000232315102753431016572 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.billing_portal._configuration_service import ( ConfigurationService, ) from stripe.billing_portal._session_service import SessionService _subservices = { "configurations": [ "stripe.billing_portal._configuration_service", "ConfigurationService", ], "sessions": ["stripe.billing_portal._session_service", "SessionService"], } class BillingPortalService(StripeService): configurations: "ConfigurationService" sessions: "SessionService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_billing_service.py0000644000000000000000000000463615102753431015222 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.billing._alert_service import AlertService from stripe.billing._credit_balance_summary_service import ( CreditBalanceSummaryService, ) from stripe.billing._credit_balance_transaction_service import ( CreditBalanceTransactionService, ) from stripe.billing._credit_grant_service import CreditGrantService from stripe.billing._meter_event_adjustment_service import ( MeterEventAdjustmentService, ) from stripe.billing._meter_event_service import MeterEventService from stripe.billing._meter_service import MeterService _subservices = { "alerts": ["stripe.billing._alert_service", "AlertService"], "credit_balance_summary": [ "stripe.billing._credit_balance_summary_service", "CreditBalanceSummaryService", ], "credit_balance_transactions": [ "stripe.billing._credit_balance_transaction_service", "CreditBalanceTransactionService", ], "credit_grants": [ "stripe.billing._credit_grant_service", "CreditGrantService", ], "meters": ["stripe.billing._meter_service", "MeterService"], "meter_events": [ "stripe.billing._meter_event_service", "MeterEventService", ], "meter_event_adjustments": [ "stripe.billing._meter_event_adjustment_service", "MeterEventAdjustmentService", ], } class BillingService(StripeService): alerts: "AlertService" credit_balance_summary: "CreditBalanceSummaryService" credit_balance_transactions: "CreditBalanceTransactionService" credit_grants: "CreditGrantService" meters: "MeterService" meter_events: "MeterEventService" meter_event_adjustments: "MeterEventAdjustmentService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_capability.py0000644000000000000000000004750515102753431014205 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._account import Account from stripe._expandable_field import ExpandableField from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, List, Optional from typing_extensions import Literal class Capability(UpdateableAPIResource["Capability"]): """ This is an object representing a capability for a Stripe account. Related guide: [Account capabilities](https://stripe.com/docs/connect/account-capabilities) """ OBJECT_NAME: ClassVar[Literal["capability"]] = "capability" class FutureRequirements(StripeObject): class Alternative(StripeObject): alternative_fields_due: List[str] """ Fields that can be provided to satisfy all fields in `original_fields_due`. """ original_fields_due: List[str] """ Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`. """ class Error(StripeObject): code: Literal[ "external_request", "information_missing", "invalid_address_city_state_postal_code", "invalid_address_highway_contract_box", "invalid_address_private_mailbox", "invalid_business_profile_name", "invalid_business_profile_name_denylisted", "invalid_company_name_denylisted", "invalid_dob_age_over_maximum", "invalid_dob_age_under_18", "invalid_dob_age_under_minimum", "invalid_product_description_length", "invalid_product_description_url_match", "invalid_representative_country", "invalid_signator", "invalid_statement_descriptor_business_mismatch", "invalid_statement_descriptor_denylisted", "invalid_statement_descriptor_length", "invalid_statement_descriptor_prefix_denylisted", "invalid_statement_descriptor_prefix_mismatch", "invalid_street_address", "invalid_tax_id", "invalid_tax_id_format", "invalid_tos_acceptance", "invalid_url_denylisted", "invalid_url_format", "invalid_url_length", "invalid_url_web_presence_detected", "invalid_url_website_business_information_mismatch", "invalid_url_website_empty", "invalid_url_website_inaccessible", "invalid_url_website_inaccessible_geoblocked", "invalid_url_website_inaccessible_password_protected", "invalid_url_website_incomplete", "invalid_url_website_incomplete_cancellation_policy", "invalid_url_website_incomplete_customer_service_details", "invalid_url_website_incomplete_legal_restrictions", "invalid_url_website_incomplete_refund_policy", "invalid_url_website_incomplete_return_policy", "invalid_url_website_incomplete_terms_and_conditions", "invalid_url_website_incomplete_under_construction", "invalid_url_website_other", "invalid_value_other", "unsupported_business_type", "verification_directors_mismatch", "verification_document_address_mismatch", "verification_document_address_missing", "verification_document_corrupt", "verification_document_country_not_supported", "verification_document_directors_mismatch", "verification_document_dob_mismatch", "verification_document_duplicate_type", "verification_document_expired", "verification_document_failed_copy", "verification_document_failed_greyscale", "verification_document_failed_other", "verification_document_failed_test_mode", "verification_document_fraudulent", "verification_document_id_number_mismatch", "verification_document_id_number_missing", "verification_document_incomplete", "verification_document_invalid", "verification_document_issue_or_expiry_date_missing", "verification_document_manipulated", "verification_document_missing_back", "verification_document_missing_front", "verification_document_name_mismatch", "verification_document_name_missing", "verification_document_nationality_mismatch", "verification_document_not_readable", "verification_document_not_signed", "verification_document_not_uploaded", "verification_document_photo_mismatch", "verification_document_too_large", "verification_document_type_not_supported", "verification_extraneous_directors", "verification_failed_address_match", "verification_failed_authorizer_authority", "verification_failed_business_iec_number", "verification_failed_document_match", "verification_failed_id_number_match", "verification_failed_keyed_identity", "verification_failed_keyed_match", "verification_failed_name_match", "verification_failed_other", "verification_failed_representative_authority", "verification_failed_residential_address", "verification_failed_tax_id_match", "verification_failed_tax_id_not_issued", "verification_legal_entity_structure_mismatch", "verification_missing_directors", "verification_missing_executives", "verification_missing_owners", "verification_rejected_ownership_exemption_reason", "verification_requires_additional_memorandum_of_associations", "verification_requires_additional_proof_of_registration", "verification_supportability", ] """ The code for the type of error. """ reason: str """ An informative message that indicates the error type and provides additional details about the error. """ requirement: str """ The specific user onboarding requirement field (in the requirements hash) that needs to be resolved. """ alternatives: Optional[List[Alternative]] """ Fields that are due and can be satisfied by providing the corresponding alternative fields instead. """ current_deadline: Optional[int] """ Date on which `future_requirements` becomes the main `requirements` hash and `future_requirements` becomes empty. After the transition, `currently_due` requirements may immediately become `past_due`, but the account may also be given a grace period depending on the capability's enablement state prior to transitioning. """ currently_due: List[str] """ Fields that need to be collected to keep the capability enabled. If not collected by `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash. """ disabled_reason: Optional[ Literal[ "other", "paused.inactivity", "pending.onboarding", "pending.review", "platform_disabled", "platform_paused", "rejected.inactivity", "rejected.other", "rejected.unsupported_business", "requirements.fields_needed", ] ] """ This is typed as an enum for consistency with `requirements.disabled_reason`, but it safe to assume `future_requirements.disabled_reason` is null because fields in `future_requirements` will never disable the account. """ errors: List[Error] """ Fields that are `currently_due` and need to be collected again because validation or verification failed. """ eventually_due: List[str] """ Fields you must collect when all thresholds are reached. As they become required, they appear in `currently_due` as well. """ past_due: List[str] """ Fields that weren't collected by `requirements.current_deadline`. These fields need to be collected to enable the capability on the account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`. """ pending_verification: 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` or `currently_due`. Fields might appear in `eventually_due` or `currently_due` and in `pending_verification` if verification fails but another verification is still pending. """ _inner_class_types = {"alternatives": Alternative, "errors": Error} class Requirements(StripeObject): class Alternative(StripeObject): alternative_fields_due: List[str] """ Fields that can be provided to satisfy all fields in `original_fields_due`. """ original_fields_due: List[str] """ Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`. """ class Error(StripeObject): code: Literal[ "external_request", "information_missing", "invalid_address_city_state_postal_code", "invalid_address_highway_contract_box", "invalid_address_private_mailbox", "invalid_business_profile_name", "invalid_business_profile_name_denylisted", "invalid_company_name_denylisted", "invalid_dob_age_over_maximum", "invalid_dob_age_under_18", "invalid_dob_age_under_minimum", "invalid_product_description_length", "invalid_product_description_url_match", "invalid_representative_country", "invalid_signator", "invalid_statement_descriptor_business_mismatch", "invalid_statement_descriptor_denylisted", "invalid_statement_descriptor_length", "invalid_statement_descriptor_prefix_denylisted", "invalid_statement_descriptor_prefix_mismatch", "invalid_street_address", "invalid_tax_id", "invalid_tax_id_format", "invalid_tos_acceptance", "invalid_url_denylisted", "invalid_url_format", "invalid_url_length", "invalid_url_web_presence_detected", "invalid_url_website_business_information_mismatch", "invalid_url_website_empty", "invalid_url_website_inaccessible", "invalid_url_website_inaccessible_geoblocked", "invalid_url_website_inaccessible_password_protected", "invalid_url_website_incomplete", "invalid_url_website_incomplete_cancellation_policy", "invalid_url_website_incomplete_customer_service_details", "invalid_url_website_incomplete_legal_restrictions", "invalid_url_website_incomplete_refund_policy", "invalid_url_website_incomplete_return_policy", "invalid_url_website_incomplete_terms_and_conditions", "invalid_url_website_incomplete_under_construction", "invalid_url_website_other", "invalid_value_other", "unsupported_business_type", "verification_directors_mismatch", "verification_document_address_mismatch", "verification_document_address_missing", "verification_document_corrupt", "verification_document_country_not_supported", "verification_document_directors_mismatch", "verification_document_dob_mismatch", "verification_document_duplicate_type", "verification_document_expired", "verification_document_failed_copy", "verification_document_failed_greyscale", "verification_document_failed_other", "verification_document_failed_test_mode", "verification_document_fraudulent", "verification_document_id_number_mismatch", "verification_document_id_number_missing", "verification_document_incomplete", "verification_document_invalid", "verification_document_issue_or_expiry_date_missing", "verification_document_manipulated", "verification_document_missing_back", "verification_document_missing_front", "verification_document_name_mismatch", "verification_document_name_missing", "verification_document_nationality_mismatch", "verification_document_not_readable", "verification_document_not_signed", "verification_document_not_uploaded", "verification_document_photo_mismatch", "verification_document_too_large", "verification_document_type_not_supported", "verification_extraneous_directors", "verification_failed_address_match", "verification_failed_authorizer_authority", "verification_failed_business_iec_number", "verification_failed_document_match", "verification_failed_id_number_match", "verification_failed_keyed_identity", "verification_failed_keyed_match", "verification_failed_name_match", "verification_failed_other", "verification_failed_representative_authority", "verification_failed_residential_address", "verification_failed_tax_id_match", "verification_failed_tax_id_not_issued", "verification_legal_entity_structure_mismatch", "verification_missing_directors", "verification_missing_executives", "verification_missing_owners", "verification_rejected_ownership_exemption_reason", "verification_requires_additional_memorandum_of_associations", "verification_requires_additional_proof_of_registration", "verification_supportability", ] """ The code for the type of error. """ reason: str """ An informative message that indicates the error type and provides additional details about the error. """ requirement: str """ The specific user onboarding requirement field (in the requirements hash) that needs to be resolved. """ alternatives: Optional[List[Alternative]] """ Fields that are due and can be satisfied by providing the corresponding alternative fields instead. """ current_deadline: Optional[int] """ The date by which all required account information must be both submitted and verified. This includes fields listed in `currently_due` as well as those in `pending_verification`. If any required information is missing or unverified by this date, the account may be disabled. Note that `current_deadline` may change if additional `currently_due` requirements are requested. """ currently_due: List[str] """ Fields that need to be collected to keep the capability enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the capability is disabled. """ disabled_reason: Optional[ Literal[ "other", "paused.inactivity", "pending.onboarding", "pending.review", "platform_disabled", "platform_paused", "rejected.inactivity", "rejected.other", "rejected.unsupported_business", "requirements.fields_needed", ] ] """ Description of why the capability is disabled. [Learn more about handling verification issues](https://stripe.com/docs/connect/handling-api-verification). """ errors: List[Error] """ Fields that are `currently_due` and need to be collected again because validation or verification failed. """ eventually_due: List[str] """ Fields you must collect when all thresholds are reached. As they become required, they appear in `currently_due` as well, and `current_deadline` becomes set. """ past_due: List[str] """ Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the capability on the account. """ pending_verification: 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. """ _inner_class_types = {"alternatives": Alternative, "errors": Error} account: ExpandableField["Account"] """ The account for which the capability enables functionality. """ future_requirements: Optional[FutureRequirements] id: str """ The identifier for the capability. """ object: Literal["capability"] """ String representing the object's type. Objects of the same type share the same value. """ requested: bool """ Whether the capability has been requested. """ requested_at: Optional[int] """ Time at which the capability was requested. Measured in seconds since the Unix epoch. """ requirements: Optional[Requirements] status: Literal["active", "inactive", "pending", "unrequested"] """ The status of the capability. """ def instance_url(self): token = self.id account = self.account base = Account.class_url() if isinstance(account, Account): account = account.id acct_extn = sanitize_id(account) extn = sanitize_id(token) return "%s/%s/capabilities/%s" % (base, acct_extn, extn) @classmethod def modify(cls, sid, **params): raise NotImplementedError( "Can't update a capability without an account ID. Update a capability using " "account.modify_capability('acct_123', 'acap_123', params)" ) @classmethod def retrieve(cls, id, **params): raise NotImplementedError( "Can't retrieve a capability without an account ID. Retrieve a capability using " "account.retrieve_capability('acct_123', 'acap_123')" ) _inner_class_types = { "future_requirements": FutureRequirements, "requirements": Requirements, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.320062 stripe-13.2.0/stripe/_card.py0000644000000000000000000003074315102753431012771 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._account import Account from stripe._customer import Customer from stripe._deletable_api_resource import DeletableAPIResource from stripe._error import InvalidRequestError from stripe._expandable_field import ExpandableField from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, Union, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._bank_account import BankAccount from stripe.params._card_delete_params import CardDeleteParams class Card(DeletableAPIResource["Card"], UpdateableAPIResource["Card"]): """ You can store multiple cards on a customer in order to charge the customer later. You can also store multiple debit cards on a recipient in order to transfer to those cards later. Related guide: [Card payments with Sources](https://stripe.com/docs/sources/cards) """ OBJECT_NAME: ClassVar[Literal["card"]] = "card" class Networks(StripeObject): preferred: Optional[str] """ The preferred network for co-branded cards. Can be `cartes_bancaires`, `mastercard`, `visa` or `invalid_preference` if requested network is not valid for the card. """ account: Optional[ExpandableField["Account"]] address_city: Optional[str] """ City/District/Suburb/Town/Village. """ address_country: Optional[str] """ Billing address country, if provided when creating card. """ address_line1: Optional[str] """ Address line 1 (Street address/PO Box/Company name). """ address_line1_check: Optional[str] """ If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. """ address_line2: Optional[str] """ Address line 2 (Apartment/Suite/Unit/Building). """ address_state: Optional[str] """ State/County/Province/Region. """ address_zip: Optional[str] """ ZIP or postal code. """ address_zip_check: Optional[str] """ If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. """ allow_redisplay: Optional[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”. """ available_payout_methods: Optional[List[Literal["instant", "standard"]]] """ A set of available payout methods for this card. Only values from this set should be passed as the `method` when creating a payout. """ brand: str """ Card brand. Can be `American Express`, `Cartes Bancaires`, `Diners Club`, `Discover`, `Eftpos Australia`, `Girocard`, `JCB`, `MasterCard`, `UnionPay`, `Visa`, or `Unknown`. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ currency: Optional[str] """ Three-letter [ISO code for currency](https://www.iso.org/iso-4217-currency-codes.html) in lowercase. Must be a [supported currency](https://docs.stripe.com/currencies). Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency. This property is only available when returned as an [External Account](https://docs.stripe.com/api/external_account_cards/object) where [controller.is_controller](https://docs.stripe.com/api/accounts/object#account_object-controller-is_controller) is `true`. """ customer: Optional[ExpandableField["Customer"]] """ The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead. """ cvc_check: Optional[str] """ If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. A result of unchecked indicates that CVC was provided but hasn't been checked yet. Checks are typically performed when attaching a card to a Customer object, or when creating a charge. For more details, see [Check if a card is valid without a charge](https://support.stripe.com/questions/check-if-a-card-is-valid-without-a-charge). """ default_for_currency: Optional[bool] """ Whether this card is the default external account for its currency. This property is only available for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ dynamic_last4: Optional[str] """ (For tokenized numbers only.) The last four digits of the device account number. """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: str """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ id: str """ Unique identifier for the object. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: str """ The last four digits of the card. """ 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. """ name: Optional[str] """ Cardholder name. """ networks: Optional[Networks] object: Literal["card"] """ String representing the object's type. Objects of the same type share the same value. """ regulated_status: Optional[Literal["regulated", "unregulated"]] """ Status of a card based on the card issuer. """ status: Optional[str] """ For external accounts that are cards, possible values are `new` and `errored`. If a payout fails, the status is set to `errored` and [scheduled payouts](https://stripe.com/docs/payouts#payout-schedule) are stopped until account details are updated. """ tokenization_method: Optional[str] """ If the card number is tokenized, this is the method that was used. Can be `android_pay` (includes Google Pay), `apple_pay`, `masterpass`, `visa_checkout`, or null. """ @classmethod def _cls_delete( cls, sid: str, **params: Unpack["CardDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( Union["BankAccount", "Card"], cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete( sid: str, **params: Unpack["CardDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ ... @overload def delete( self, **params: Unpack["CardDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CardDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["CardDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( Union["BankAccount", "Card"], await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["CardDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ ... @overload async def delete_async( self, **params: Unpack["CardDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CardDeleteParams"] ) -> Union["BankAccount", "Card"]: """ Delete a specified external account for a given account. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) def instance_url(self): token = self.id extn = sanitize_id(token) if hasattr(self, "customer"): customer = self.customer base = Customer.class_url() assert customer is not None if isinstance(customer, Customer): customer = customer.id owner_extn = sanitize_id(customer) class_base = "sources" elif hasattr(self, "account"): account = self.account base = Account.class_url() assert account is not None if isinstance(account, Account): account = account.id owner_extn = sanitize_id(account) class_base = "external_accounts" else: raise InvalidRequestError( "Could not determine whether card_id %s is " "attached to a customer, or " "account." % token, "id", ) return "%s/%s/%s/%s" % (base, owner_extn, class_base, extn) @classmethod def modify(cls, sid, **params): raise NotImplementedError( "Can't modify a card without a customer or account ID. " "Use stripe.Customer.modify_source('customer_id', 'card_id', ...) " "(see https://stripe.com/docs/api/cards/update) or " "stripe.Account.modify_external_account('account_id', 'card_id', ...) " "(see https://stripe.com/docs/api/external_account_cards/update)." ) @classmethod def retrieve(cls, id, **params): raise NotImplementedError( "Can't retrieve a card without a customer or account ID. " "Use stripe.Customer.retrieve_source('customer_id', 'card_id') " "(see https://stripe.com/docs/api/cards/retrieve) or " "stripe.Account.retrieve_external_account('account_id', 'card_id') " "(see https://stripe.com/docs/api/external_account_cards/retrieve)." ) _inner_class_types = {"networks": Networks} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.321062 stripe-13.2.0/stripe/_cash_balance.py0000644000000000000000000000424115102753431014435 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._customer import Customer from stripe._stripe_object import StripeObject from stripe._util import sanitize_id from typing import ClassVar, Dict, Optional from typing_extensions import Literal class CashBalance(StripeObject): """ A customer's `Cash balance` represents real funds. Customers can add funds to their cash balance by sending a bank transfer. These funds can be used for payment and can eventually be paid out to your bank account. """ OBJECT_NAME: ClassVar[Literal["cash_balance"]] = "cash_balance" class Settings(StripeObject): reconciliation_mode: Literal["automatic", "manual"] """ The configuration for how funds that land in the customer cash balance are reconciled. """ using_merchant_default: bool """ A flag to indicate if reconciliation mode returned is the user's default or is specific to this customer cash balance """ available: Optional[Dict[str, int]] """ A hash of all cash balances available to this customer. You cannot delete a customer with any cash balances, even if the balance is 0. Amounts are represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ customer: str """ The ID of the customer whose cash balance this object represents. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["cash_balance"] """ String representing the object's type. Objects of the same type share the same value. """ settings: Settings def instance_url(self): customer = self.customer base = Customer.class_url() cust_extn = sanitize_id(customer) return "%s/%s/cash_balance" % (base, cust_extn) @classmethod def retrieve(cls, id, **params): raise NotImplementedError( "Can't retrieve a Customer Cash Balance without a Customer ID. " "Use Customer.retrieve_cash_balance('cus_123')" ) _inner_class_types = {"settings": Settings} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.321062 stripe-13.2.0/stripe/_charge.py0000644000000000000000000034345015102753431013313 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._nested_resource_class_methods import nested_resource_class_methods from stripe._search_result_object import SearchResultObject from stripe._searchable_api_resource import SearchableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ( AsyncIterator, ClassVar, Dict, Iterator, List, Optional, Union, cast, overload, ) from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._application import Application from stripe._application_fee import ApplicationFee from stripe._balance_transaction import BalanceTransaction from stripe._bank_account import BankAccount from stripe._card import Card as CardResource from stripe._customer import Customer from stripe._mandate import Mandate from stripe._payment_intent import PaymentIntent from stripe._payment_method import PaymentMethod from stripe._refund import Refund from stripe._review import Review from stripe._source import Source from stripe._transfer import Transfer from stripe.params._charge_capture_params import ChargeCaptureParams from stripe.params._charge_create_params import ChargeCreateParams from stripe.params._charge_list_params import ChargeListParams from stripe.params._charge_list_refunds_params import ( ChargeListRefundsParams, ) from stripe.params._charge_modify_params import ChargeModifyParams from stripe.params._charge_retrieve_params import ChargeRetrieveParams from stripe.params._charge_retrieve_refund_params import ( ChargeRetrieveRefundParams, ) from stripe.params._charge_search_params import ChargeSearchParams @nested_resource_class_methods("refund") class Charge( CreateableAPIResource["Charge"], ListableAPIResource["Charge"], SearchableAPIResource["Charge"], UpdateableAPIResource["Charge"], ): """ The `Charge` object represents a single attempt to move money into your Stripe account. PaymentIntent confirmation is the most common way to create Charges, but [Account Debits](https://stripe.com/docs/connect/account-debits) may also create Charges. Some legacy payment flows create Charges directly, which is not recommended for new integrations. """ OBJECT_NAME: ClassVar[Literal["charge"]] = "charge" class BillingDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Optional[Address] """ Billing address. """ email: Optional[str] """ Email address. """ name: Optional[str] """ Full name. """ phone: Optional[str] """ Billing phone number (including extension). """ tax_id: Optional[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ _inner_class_types = {"address": Address} class FraudDetails(StripeObject): stripe_report: Optional[str] """ Assessments from Stripe. If set, the value is `fraudulent`. """ user_report: Optional[str] """ Assessments reported by you. If set, possible values of are `safe` and `fraudulent`. """ class Level3(StripeObject): class LineItem(StripeObject): discount_amount: Optional[int] product_code: str product_description: str quantity: Optional[int] tax_amount: Optional[int] unit_cost: Optional[int] customer_reference: Optional[str] line_items: List[LineItem] merchant_reference: str shipping_address_zip: Optional[str] shipping_amount: Optional[int] shipping_from_zip: Optional[str] _inner_class_types = {"line_items": LineItem} class Outcome(StripeObject): class Rule(StripeObject): action: str """ The action taken on the payment. """ id: str """ Unique identifier for the object. """ predicate: str """ The predicate to evaluate the payment against. """ advice_code: Optional[ Literal["confirm_card_data", "do_not_try_again", "try_again_later"] ] """ An enumerated value providing a more detailed explanation on [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines). """ network_advice_code: Optional[str] """ For charges declined by the network, a 2 digit code which indicates the advice returned by the network on how to proceed with an error. """ network_decline_code: Optional[str] """ For charges declined by the network, an alphanumeric code which indicates the reason the charge failed. """ network_status: Optional[str] """ Possible values are `approved_by_network`, `declined_by_network`, `not_sent_to_network`, and `reversed_after_approval`. The value `reversed_after_approval` indicates the payment was [blocked by Stripe](https://stripe.com/docs/declines#blocked-payments) after bank authorization, and may temporarily appear as "pending" on a cardholder's statement. """ reason: Optional[str] """ An enumerated value providing a more detailed explanation of the outcome's `type`. Charges blocked by Radar's default block rule have the value `highest_risk_level`. Charges placed in review by Radar's default review rule have the value `elevated_risk_level`. Charges blocked because the payment is unlikely to be authorized have the value `low_probability_of_authorization`. Charges authorized, blocked, or placed in review by custom rules have the value `rule`. See [understanding declines](https://stripe.com/docs/declines) for more details. """ risk_level: Optional[str] """ Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are `normal`, `elevated`, `highest`. For non-card payments, and card-based payments predating the public assignment of risk levels, this field will have the value `not_assessed`. In the event of an error in the evaluation, this field will have the value `unknown`. This field is only available with Radar. """ risk_score: Optional[int] """ Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are between 0 and 100. For non-card payments, card-based payments predating the public assignment of risk scores, or in the event of an error during evaluation, this field will not be present. This field is only available with Radar for Fraud Teams. """ rule: Optional[ExpandableField[Rule]] """ The ID of the Radar rule that matched the payment, if applicable. """ seller_message: Optional[str] """ A human-readable description of the outcome type and reason, designed for you (the recipient of the payment), not your customer. """ type: str """ Possible values are `authorized`, `manual_review`, `issuer_declined`, `blocked`, and `invalid`. See [understanding declines](https://stripe.com/docs/declines) and [Radar reviews](https://stripe.com/docs/radar/reviews) for details. """ _inner_class_types = {"rule": Rule} class PaymentMethodDetails(StripeObject): class AchCreditTransfer(StripeObject): account_number: Optional[str] """ Account number to transfer funds to. """ bank_name: Optional[str] """ Name of the bank associated with the routing number. """ routing_number: Optional[str] """ Routing transit number for the bank account to transfer funds to. """ swift_code: Optional[str] """ SWIFT code of the bank associated with the routing number. """ class AchDebit(StripeObject): account_holder_type: Optional[Literal["company", "individual"]] """ Type of entity that holds the account. This can be either `individual` or `company`. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ country: Optional[str] """ Two-letter ISO code representing the country the bank account is located in. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ routing_number: Optional[str] """ Routing transit number of the bank account. """ class AcssDebit(StripeObject): bank_name: Optional[str] """ Name of the bank associated with the bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ institution_number: Optional[str] """ Institution number of the bank account """ last4: Optional[str] """ Last four digits of the bank account number. """ mandate: Optional[str] """ ID of the mandate used to make this payment. """ transit_number: Optional[str] """ Transit number of the bank account. """ class Affirm(StripeObject): location: Optional[str] """ ID of the [location](https://stripe.com/docs/api/terminal/locations) that this transaction's reader is assigned to. """ reader: Optional[str] """ ID of the [reader](https://stripe.com/docs/api/terminal/readers) this transaction was made on. """ transaction_id: Optional[str] """ The Affirm transaction ID associated with this payment. """ class AfterpayClearpay(StripeObject): order_id: Optional[str] """ The Afterpay order ID associated with this payment intent. """ reference: Optional[str] """ Order identifier shown to the merchant in Afterpay's online portal. """ class Alipay(StripeObject): buyer_id: Optional[str] """ Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same. """ fingerprint: Optional[str] """ Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same. """ transaction_id: Optional[str] """ Transaction ID of this particular Alipay transaction. """ class Alma(StripeObject): class Installments(StripeObject): count: int """ The number of installments. """ installments: Optional[Installments] transaction_id: Optional[str] """ The Alma transaction ID associated with this payment. """ _inner_class_types = {"installments": Installments} class AmazonPay(StripeObject): class Funding(StripeObject): class Card(StripeObject): brand: Optional[str] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ exp_month: Optional[int] """ Two-digit number representing the card's expiration month. """ exp_year: Optional[int] """ Four-digit number representing the card's expiration year. """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ last4: Optional[str] """ The last four digits of the card. """ card: Optional[Card] type: Optional[Literal["card"]] """ funding type of the underlying payment method. """ _inner_class_types = {"card": Card} funding: Optional[Funding] transaction_id: Optional[str] """ The Amazon Pay transaction ID associated with this payment. """ _inner_class_types = {"funding": Funding} class AuBecsDebit(StripeObject): bsb_number: Optional[str] """ Bank-State-Branch number of the bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ mandate: Optional[str] """ ID of the mandate used to make this payment. """ class BacsDebit(StripeObject): fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ mandate: Optional[str] """ ID of the mandate used to make this payment. """ sort_code: Optional[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class Bancontact(StripeObject): bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ bic: Optional[str] """ Bank Identifier Code of the bank associated with the bank account. """ generated_sepa_debit: Optional[ExpandableField["PaymentMethod"]] """ The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ generated_sepa_debit_mandate: Optional[ExpandableField["Mandate"]] """ The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ iban_last4: Optional[str] """ Last four characters of the IBAN. """ preferred_language: Optional[Literal["de", "en", "fr", "nl"]] """ Preferred language of the Bancontact authorization page that the customer is redirected to. Can be one of `en`, `de`, `fr`, or `nl` """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by Bancontact directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ class Billie(StripeObject): transaction_id: Optional[str] """ The Billie transaction ID associated with this payment. """ class Blik(StripeObject): buyer_id: Optional[str] """ A unique and immutable identifier assigned by BLIK to every buyer. """ class Boleto(StripeObject): tax_id: str """ The tax ID of the customer (CPF for individuals consumers or CNPJ for businesses consumers) """ class Card(StripeObject): class Checks(StripeObject): address_line1_check: Optional[str] """ If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. """ address_postal_code_check: Optional[str] """ If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. """ cvc_check: Optional[str] """ If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. """ class ExtendedAuthorization(StripeObject): status: Literal["disabled", "enabled"] """ Indicates whether or not the capture window is extended beyond the standard authorization. """ class IncrementalAuthorization(StripeObject): status: Literal["available", "unavailable"] """ Indicates whether or not the incremental authorization feature is supported. """ class Installments(StripeObject): class Plan(StripeObject): count: Optional[int] """ For `fixed_count` installment plans, this is the number of installment payments your customer will make to their credit card. """ interval: Optional[Literal["month"]] """ For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card. One of `month`. """ type: Literal["bonus", "fixed_count", "revolving"] """ Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`. """ plan: Optional[Plan] """ Installment plan selected for the payment. """ _inner_class_types = {"plan": Plan} class Multicapture(StripeObject): status: Literal["available", "unavailable"] """ Indicates whether or not multiple captures are supported. """ class NetworkToken(StripeObject): used: bool """ Indicates if Stripe used a network token, either user provided or Stripe managed when processing the transaction. """ class Overcapture(StripeObject): maximum_amount_capturable: int """ The maximum amount that can be captured. """ status: Literal["available", "unavailable"] """ Indicates whether or not the authorized amount can be over-captured. """ class ThreeDSecure(StripeObject): authentication_flow: Optional[ Literal["challenge", "frictionless"] ] """ For authenticated transactions: how the customer was authenticated by the issuing bank. """ electronic_commerce_indicator: Optional[ Literal["01", "02", "05", "06", "07"] ] """ The Electronic Commerce Indicator (ECI). A protocol-level field indicating what degree of authentication was performed. """ exemption_indicator: Optional[Literal["low_risk", "none"]] """ The exemption requested via 3DS and accepted by the issuer at authentication time. """ exemption_indicator_applied: Optional[bool] """ Whether Stripe requested the value of `exemption_indicator` in the transaction. This will depend on the outcome of Stripe's internal risk assessment. """ result: Optional[ Literal[ "attempt_acknowledged", "authenticated", "exempted", "failed", "not_supported", "processing_error", ] ] """ Indicates the outcome of 3D Secure authentication. """ result_reason: Optional[ Literal[ "abandoned", "bypassed", "canceled", "card_not_enrolled", "network_not_supported", "protocol_error", "rejected", ] ] """ Additional information about why 3D Secure succeeded or failed based on the `result`. """ transaction_id: Optional[str] """ The 3D Secure 1 XID or 3D Secure 2 Directory Server Transaction ID (dsTransId) for this payment. """ version: Optional[Literal["1.0.2", "2.1.0", "2.2.0"]] """ The version of 3D Secure that was used. """ class Wallet(StripeObject): class AmexExpressCheckout(StripeObject): pass class ApplePay(StripeObject): pass class GooglePay(StripeObject): pass class Link(StripeObject): pass class Masterpass(StripeObject): class BillingAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class ShippingAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ billing_address: Optional[BillingAddress] """ Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ email: Optional[str] """ Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ name: Optional[str] """ Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ shipping_address: Optional[ShippingAddress] """ Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ _inner_class_types = { "billing_address": BillingAddress, "shipping_address": ShippingAddress, } class SamsungPay(StripeObject): pass class VisaCheckout(StripeObject): class BillingAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class ShippingAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ billing_address: Optional[BillingAddress] """ Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ email: Optional[str] """ Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ name: Optional[str] """ Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ shipping_address: Optional[ShippingAddress] """ Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ _inner_class_types = { "billing_address": BillingAddress, "shipping_address": ShippingAddress, } amex_express_checkout: Optional[AmexExpressCheckout] apple_pay: Optional[ApplePay] dynamic_last4: Optional[str] """ (For tokenized numbers only.) The last four digits of the device account number. """ google_pay: Optional[GooglePay] link: Optional[Link] masterpass: Optional[Masterpass] samsung_pay: Optional[SamsungPay] type: Literal[ "amex_express_checkout", "apple_pay", "google_pay", "link", "masterpass", "samsung_pay", "visa_checkout", ] """ The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, `visa_checkout`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. """ visa_checkout: Optional[VisaCheckout] _inner_class_types = { "amex_express_checkout": AmexExpressCheckout, "apple_pay": ApplePay, "google_pay": GooglePay, "link": Link, "masterpass": Masterpass, "samsung_pay": SamsungPay, "visa_checkout": VisaCheckout, } amount_authorized: Optional[int] """ The authorized amount. """ authorization_code: Optional[str] """ Authorization code on the charge. """ brand: Optional[str] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ capture_before: Optional[int] """ When using manual capture, a future timestamp at which the charge will be automatically refunded if uncaptured. """ checks: Optional[Checks] """ Check results by Card networks on Card address and CVC at time of payment. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ extended_authorization: Optional[ExtendedAuthorization] fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ incremental_authorization: Optional[IncrementalAuthorization] installments: Optional[Installments] """ Installment details for this payment. For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments). """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: Optional[str] """ The last four digits of the card. """ mandate: Optional[str] """ ID of the mandate used to make this payment or created by it. """ moto: Optional[bool] """ True if this payment was marked as MOTO and out of scope for SCA. """ multicapture: Optional[Multicapture] network: Optional[str] """ Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`. """ network_token: Optional[NetworkToken] """ If this card has network token credentials, this contains the details of the network token credentials. """ network_transaction_id: Optional[str] """ This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise. """ overcapture: Optional[Overcapture] regulated_status: Optional[Literal["regulated", "unregulated"]] """ Status of a card based on the card issuer. """ three_d_secure: Optional[ThreeDSecure] """ Populated if this transaction used 3D Secure authentication. """ wallet: Optional[Wallet] """ If this Card is part of a card wallet, this contains the details of the card wallet. """ _inner_class_types = { "checks": Checks, "extended_authorization": ExtendedAuthorization, "incremental_authorization": IncrementalAuthorization, "installments": Installments, "multicapture": Multicapture, "network_token": NetworkToken, "overcapture": Overcapture, "three_d_secure": ThreeDSecure, "wallet": Wallet, } class CardPresent(StripeObject): class Offline(StripeObject): stored_at: Optional[int] """ Time at which the payment was collected while offline """ type: Optional[Literal["deferred"]] """ The method used to process this payment method offline. Only deferred is allowed. """ class Receipt(StripeObject): account_type: Optional[ Literal["checking", "credit", "prepaid", "unknown"] ] """ The type of account being debited or credited """ application_cryptogram: Optional[str] """ The Application Cryptogram, a unique value generated by the card to authenticate the transaction with issuers. """ application_preferred_name: Optional[str] """ The Application Identifier (AID) on the card used to determine which networks are eligible to process the transaction. Referenced from EMV tag 9F12, data encoded on the card's chip. """ authorization_code: Optional[str] """ Identifier for this transaction. """ authorization_response_code: Optional[str] """ EMV tag 8A. A code returned by the card issuer. """ cardholder_verification_method: Optional[str] """ Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`. """ dedicated_file_name: Optional[str] """ Similar to the application_preferred_name, identifying the applications (AIDs) available on the card. Referenced from EMV tag 84. """ terminal_verification_results: Optional[str] """ A 5-byte string that records the checks and validations that occur between the card and the terminal. These checks determine how the terminal processes the transaction and what risk tolerance is acceptable. Referenced from EMV Tag 95. """ transaction_status_information: Optional[str] """ An indication of which steps were completed during the card read process. Referenced from EMV Tag 9B. """ class Wallet(StripeObject): type: Literal[ "apple_pay", "google_pay", "samsung_pay", "unknown" ] """ The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`. """ amount_authorized: Optional[int] """ The authorized amount """ brand: Optional[str] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ brand_product: Optional[str] """ The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card. """ capture_before: Optional[int] """ When using manual capture, a future timestamp after which the charge will be automatically refunded if uncaptured. """ cardholder_name: Optional[str] """ The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ emv_auth_data: Optional[str] """ Authorization response cryptogram. """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ generated_card: Optional[str] """ ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ incremental_authorization_supported: bool """ Whether this [PaymentIntent](https://stripe.com/docs/api/payment_intents) is eligible for incremental authorizations. Request support using [request_incremental_authorization_support](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method_options-card_present-request_incremental_authorization_support). """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: Optional[str] """ The last four digits of the card. """ network: Optional[str] """ Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`. """ network_transaction_id: Optional[str] """ This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise. """ offline: Optional[Offline] """ Details about payments collected offline. """ overcapture_supported: bool """ Defines whether the authorized amount can be over-captured or not """ preferred_locales: Optional[List[str]] """ The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip. """ read_method: Optional[ Literal[ "contact_emv", "contactless_emv", "contactless_magstripe_mode", "magnetic_stripe_fallback", "magnetic_stripe_track2", ] ] """ How card details were read in this transaction. """ receipt: Optional[Receipt] """ A collection of fields required to be displayed on receipts. Only required for EMV transactions. """ wallet: Optional[Wallet] _inner_class_types = { "offline": Offline, "receipt": Receipt, "wallet": Wallet, } class Cashapp(StripeObject): buyer_id: Optional[str] """ A unique and immutable identifier assigned by Cash App to every buyer. """ cashtag: Optional[str] """ A public identifier for buyers using Cash App. """ transaction_id: Optional[str] """ A unique and immutable identifier of payments assigned by Cash App """ class Crypto(StripeObject): buyer_address: Optional[str] """ The wallet address of the customer. """ network: Optional[Literal["base", "ethereum", "polygon", "solana"]] """ The blockchain network that the transaction was sent on. """ token_currency: Optional[Literal["usdc", "usdg", "usdp"]] """ The token currency that the transaction was sent with. """ transaction_hash: Optional[str] """ The blockchain transaction hash of the crypto payment. """ class CustomerBalance(StripeObject): pass class Eps(StripeObject): bank: Optional[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`. """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by EPS directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. EPS rarely provides this information so the attribute is usually empty. """ class Fpx(StripeObject): account_holder_type: Optional[Literal["company", "individual"]] """ Account holder type, if provided. Can be one of `individual` or `company`. """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`. """ transaction_id: Optional[str] """ Unique transaction id generated by FPX for every request from the merchant """ class Giropay(StripeObject): bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ bic: Optional[str] """ Bank Identifier Code of the bank associated with the bank account. """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by Giropay directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. Giropay rarely provides this information so the attribute is usually empty. """ class Grabpay(StripeObject): transaction_id: Optional[str] """ Unique transaction id generated by GrabPay """ class Ideal(StripeObject): bank: Optional[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `buut`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`. """ bic: Optional[ Literal[ "ABNANL2A", "ASNBNL21", "BITSNL2A", "BUNQNL2A", "BUUTNL2A", "FVLBNL22", "HANDNL2A", "INGBNL2A", "KNABNL2H", "MOYONL21", "NNBANL2G", "NTSBDEB1", "RABONL2U", "RBRBNL21", "REVOIE23", "REVOLT21", "SNSBNL2A", "TRIONL2U", ] ] """ The Bank Identifier Code of the customer's bank. """ generated_sepa_debit: Optional[ExpandableField["PaymentMethod"]] """ The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ generated_sepa_debit_mandate: Optional[ExpandableField["Mandate"]] """ The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ iban_last4: Optional[str] """ Last four characters of the IBAN. """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by iDEAL directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ class InteracPresent(StripeObject): class Receipt(StripeObject): account_type: Optional[ Literal["checking", "savings", "unknown"] ] """ The type of account being debited or credited """ application_cryptogram: Optional[str] """ The Application Cryptogram, a unique value generated by the card to authenticate the transaction with issuers. """ application_preferred_name: Optional[str] """ The Application Identifier (AID) on the card used to determine which networks are eligible to process the transaction. Referenced from EMV tag 9F12, data encoded on the card's chip. """ authorization_code: Optional[str] """ Identifier for this transaction. """ authorization_response_code: Optional[str] """ EMV tag 8A. A code returned by the card issuer. """ cardholder_verification_method: Optional[str] """ Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`. """ dedicated_file_name: Optional[str] """ Similar to the application_preferred_name, identifying the applications (AIDs) available on the card. Referenced from EMV tag 84. """ terminal_verification_results: Optional[str] """ A 5-byte string that records the checks and validations that occur between the card and the terminal. These checks determine how the terminal processes the transaction and what risk tolerance is acceptable. Referenced from EMV Tag 95. """ transaction_status_information: Optional[str] """ An indication of which steps were completed during the card read process. Referenced from EMV Tag 9B. """ brand: Optional[str] """ Card brand. Can be `interac`, `mastercard` or `visa`. """ cardholder_name: Optional[str] """ The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ emv_auth_data: Optional[str] """ Authorization response cryptogram. """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ generated_card: Optional[str] """ ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: Optional[str] """ The last four digits of the card. """ network: Optional[str] """ Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`. """ network_transaction_id: Optional[str] """ This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise. """ preferred_locales: Optional[List[str]] """ The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip. """ read_method: Optional[ Literal[ "contact_emv", "contactless_emv", "contactless_magstripe_mode", "magnetic_stripe_fallback", "magnetic_stripe_track2", ] ] """ How card details were read in this transaction. """ receipt: Optional[Receipt] """ A collection of fields required to be displayed on receipts. Only required for EMV transactions. """ _inner_class_types = {"receipt": Receipt} class KakaoPay(StripeObject): buyer_id: Optional[str] """ A unique identifier for the buyer as determined by the local payment processor. """ transaction_id: Optional[str] """ The Kakao Pay transaction ID associated with this payment. """ class Klarna(StripeObject): class PayerDetails(StripeObject): class Address(StripeObject): country: Optional[str] """ The payer address country """ address: Optional[Address] """ The payer's address """ _inner_class_types = {"address": Address} payer_details: Optional[PayerDetails] """ The payer details for this transaction. """ payment_method_category: Optional[str] """ The Klarna payment method used for this transaction. Can be one of `pay_later`, `pay_now`, `pay_with_financing`, or `pay_in_installments` """ preferred_locale: Optional[str] """ Preferred language of the Klarna authorization page that the customer is redirected to. Can be one of `de-AT`, `en-AT`, `nl-BE`, `fr-BE`, `en-BE`, `de-DE`, `en-DE`, `da-DK`, `en-DK`, `es-ES`, `en-ES`, `fi-FI`, `sv-FI`, `en-FI`, `en-GB`, `en-IE`, `it-IT`, `en-IT`, `nl-NL`, `en-NL`, `nb-NO`, `en-NO`, `sv-SE`, `en-SE`, `en-US`, `es-US`, `fr-FR`, `en-FR`, `cs-CZ`, `en-CZ`, `ro-RO`, `en-RO`, `el-GR`, `en-GR`, `en-AU`, `en-NZ`, `en-CA`, `fr-CA`, `pl-PL`, `en-PL`, `pt-PT`, `en-PT`, `de-CH`, `fr-CH`, `it-CH`, or `en-CH` """ _inner_class_types = {"payer_details": PayerDetails} class Konbini(StripeObject): class Store(StripeObject): chain: Optional[ Literal["familymart", "lawson", "ministop", "seicomart"] ] """ The name of the convenience store chain where the payment was completed. """ store: Optional[Store] """ If the payment succeeded, this contains the details of the convenience store where the payment was completed. """ _inner_class_types = {"store": Store} class KrCard(StripeObject): brand: Optional[ Literal[ "bc", "citi", "hana", "hyundai", "jeju", "jeonbuk", "kakaobank", "kbank", "kdbbank", "kookmin", "kwangju", "lotte", "mg", "nh", "post", "samsung", "savingsbank", "shinhan", "shinhyup", "suhyup", "tossbank", "woori", ] ] """ The local credit or debit card brand. """ buyer_id: Optional[str] """ A unique identifier for the buyer as determined by the local payment processor. """ last4: Optional[str] """ The last four digits of the card. This may not be present for American Express cards. """ transaction_id: Optional[str] """ The Korean Card transaction ID associated with this payment. """ class Link(StripeObject): country: Optional[str] """ Two-letter ISO code representing the funding source country beneath the Link payment. You could use this attribute to get a sense of international fees. """ class MbWay(StripeObject): pass class Mobilepay(StripeObject): class Card(StripeObject): brand: Optional[str] """ Brand of the card used in the transaction """ country: Optional[str] """ Two-letter ISO code representing the country of the card """ exp_month: Optional[int] """ Two digit number representing the card's expiration month """ exp_year: Optional[int] """ Two digit number representing the card's expiration year """ last4: Optional[str] """ The last 4 digits of the card """ card: Optional[Card] """ Internal card details """ _inner_class_types = {"card": Card} class Multibanco(StripeObject): entity: Optional[str] """ Entity number associated with this Multibanco payment. """ reference: Optional[str] """ Reference number associated with this Multibanco payment. """ class NaverPay(StripeObject): buyer_id: Optional[str] """ A unique identifier for the buyer as determined by the local payment processor. """ transaction_id: Optional[str] """ The Naver Pay transaction ID associated with this payment. """ class NzBankAccount(StripeObject): account_holder_name: Optional[str] """ The name on the bank account. Only present if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ bank_code: str """ The numeric code for the bank account's bank. """ bank_name: str """ The name of the bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ last4: str """ Last four digits of the bank account number. """ suffix: Optional[str] """ The suffix of the bank account number. """ class Oxxo(StripeObject): number: Optional[str] """ OXXO reference number """ class P24(StripeObject): bank: Optional[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank. Can be one of `ing`, `citi_handlowy`, `tmobile_usbugi_bankowe`, `plus_bank`, `etransfer_pocztowy24`, `banki_spbdzielcze`, `bank_nowy_bfg_sa`, `getin_bank`, `velobank`, `blik`, `noble_pay`, `ideabank`, `envelobank`, `santander_przelew24`, `nest_przelew`, `mbank_mtransfer`, `inteligo`, `pbac_z_ipko`, `bnp_paribas`, `credit_agricole`, `toyota_bank`, `bank_pekao_sa`, `volkswagen_bank`, `bank_millennium`, `alior_bank`, or `boz`. """ reference: Optional[str] """ Unique reference for this Przelewy24 payment. """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by Przelewy24 directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. Przelewy24 rarely provides this information so the attribute is usually empty. """ class PayByBank(StripeObject): pass class Payco(StripeObject): buyer_id: Optional[str] """ A unique identifier for the buyer as determined by the local payment processor. """ transaction_id: Optional[str] """ The Payco transaction ID associated with this payment. """ class Paynow(StripeObject): location: Optional[str] """ ID of the [location](https://stripe.com/docs/api/terminal/locations) that this transaction's reader is assigned to. """ reader: Optional[str] """ ID of the [reader](https://stripe.com/docs/api/terminal/readers) this transaction was made on. """ reference: Optional[str] """ Reference number associated with this PayNow payment """ class Paypal(StripeObject): class SellerProtection(StripeObject): dispute_categories: Optional[ List[Literal["fraudulent", "product_not_received"]] ] """ An array of conditions that are covered for the transaction, if applicable. """ status: Literal[ "eligible", "not_eligible", "partially_eligible" ] """ Indicates whether the transaction is eligible for PayPal's seller protection. """ country: Optional[str] """ Two-letter ISO code representing the buyer's country. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ payer_email: Optional[str] """ Owner's email. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ payer_id: Optional[str] """ PayPal account PayerID. This identifier uniquely identifies the PayPal customer. """ payer_name: Optional[str] """ Owner's full name. Values provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ seller_protection: Optional[SellerProtection] """ The level of protection offered as defined by PayPal Seller Protection for Merchants, for this transaction. """ transaction_id: Optional[str] """ A unique ID generated by PayPal for this transaction. """ _inner_class_types = {"seller_protection": SellerProtection} class Pix(StripeObject): bank_transaction_id: Optional[str] """ Unique transaction id generated by BCB """ class Promptpay(StripeObject): reference: Optional[str] """ Bill reference generated by PromptPay """ class RevolutPay(StripeObject): class Funding(StripeObject): class Card(StripeObject): brand: Optional[str] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ exp_month: Optional[int] """ Two-digit number representing the card's expiration month. """ exp_year: Optional[int] """ Four-digit number representing the card's expiration year. """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ last4: Optional[str] """ The last four digits of the card. """ card: Optional[Card] type: Optional[Literal["card"]] """ funding type of the underlying payment method. """ _inner_class_types = {"card": Card} funding: Optional[Funding] transaction_id: Optional[str] """ The Revolut Pay transaction ID associated with this payment. """ _inner_class_types = {"funding": Funding} class SamsungPay(StripeObject): buyer_id: Optional[str] """ A unique identifier for the buyer as determined by the local payment processor. """ transaction_id: Optional[str] """ The Samsung Pay transaction ID associated with this payment. """ class Satispay(StripeObject): transaction_id: Optional[str] """ The Satispay transaction ID associated with this payment. """ class SepaCreditTransfer(StripeObject): bank_name: Optional[str] """ Name of the bank associated with the bank account. """ bic: Optional[str] """ Bank Identifier Code of the bank associated with the bank account. """ iban: Optional[str] """ IBAN of the bank account to transfer funds to. """ class SepaDebit(StripeObject): bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ branch_code: Optional[str] """ Branch code of bank associated with the bank account. """ country: Optional[str] """ Two-letter ISO code representing the country the bank account is located in. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four characters of the IBAN. """ mandate: Optional[str] """ Find the ID of the mandate used for this payment under the [payment_method_details.sepa_debit.mandate](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-sepa_debit-mandate) property on the Charge. Use this mandate ID to [retrieve the Mandate](https://stripe.com/docs/api/mandates/retrieve). """ class Sofort(StripeObject): bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ bic: Optional[str] """ Bank Identifier Code of the bank associated with the bank account. """ country: Optional[str] """ Two-letter ISO code representing the country the bank account is located in. """ generated_sepa_debit: Optional[ExpandableField["PaymentMethod"]] """ The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ generated_sepa_debit_mandate: Optional[ExpandableField["Mandate"]] """ The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ iban_last4: Optional[str] """ Last four characters of the IBAN. """ preferred_language: Optional[ Literal["de", "en", "es", "fr", "it", "nl", "pl"] ] """ Preferred language of the SOFORT authorization page that the customer is redirected to. Can be one of `de`, `en`, `es`, `fr`, `it`, `nl`, or `pl` """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by SOFORT directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ class StripeAccount(StripeObject): pass class Swish(StripeObject): fingerprint: Optional[str] """ Uniquely identifies the payer's Swish account. You can use this attribute to check whether two Swish transactions were paid for by the same payer """ payment_reference: Optional[str] """ Payer bank reference number for the payment """ verified_phone_last4: Optional[str] """ The last four digits of the Swish account phone number """ class Twint(StripeObject): pass class UsBankAccount(StripeObject): account_holder_type: Optional[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_type: Optional[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ mandate: Optional[ExpandableField["Mandate"]] """ ID of the mandate used to make this payment. """ payment_reference: Optional[str] """ Reference number to locate ACH payments with customer's bank. """ routing_number: Optional[str] """ Routing number of the bank account. """ class Wechat(StripeObject): pass class WechatPay(StripeObject): fingerprint: Optional[str] """ Uniquely identifies this particular WeChat Pay account. You can use this attribute to check whether two WeChat accounts are the same. """ location: Optional[str] """ ID of the [location](https://stripe.com/docs/api/terminal/locations) that this transaction's reader is assigned to. """ reader: Optional[str] """ ID of the [reader](https://stripe.com/docs/api/terminal/readers) this transaction was made on. """ transaction_id: Optional[str] """ Transaction ID of this particular WeChat Pay transaction. """ class Zip(StripeObject): pass ach_credit_transfer: Optional[AchCreditTransfer] ach_debit: Optional[AchDebit] acss_debit: Optional[AcssDebit] affirm: Optional[Affirm] afterpay_clearpay: Optional[AfterpayClearpay] alipay: Optional[Alipay] alma: Optional[Alma] amazon_pay: Optional[AmazonPay] au_becs_debit: Optional[AuBecsDebit] bacs_debit: Optional[BacsDebit] bancontact: Optional[Bancontact] billie: Optional[Billie] blik: Optional[Blik] boleto: Optional[Boleto] card: Optional[Card] card_present: Optional[CardPresent] cashapp: Optional[Cashapp] crypto: Optional[Crypto] customer_balance: Optional[CustomerBalance] eps: Optional[Eps] fpx: Optional[Fpx] giropay: Optional[Giropay] grabpay: Optional[Grabpay] ideal: Optional[Ideal] interac_present: Optional[InteracPresent] kakao_pay: Optional[KakaoPay] klarna: Optional[Klarna] konbini: Optional[Konbini] kr_card: Optional[KrCard] link: Optional[Link] mb_way: Optional[MbWay] mobilepay: Optional[Mobilepay] multibanco: Optional[Multibanco] naver_pay: Optional[NaverPay] nz_bank_account: Optional[NzBankAccount] oxxo: Optional[Oxxo] p24: Optional[P24] pay_by_bank: Optional[PayByBank] payco: Optional[Payco] paynow: Optional[Paynow] paypal: Optional[Paypal] pix: Optional[Pix] promptpay: Optional[Promptpay] revolut_pay: Optional[RevolutPay] samsung_pay: Optional[SamsungPay] satispay: Optional[Satispay] sepa_credit_transfer: Optional[SepaCreditTransfer] sepa_debit: Optional[SepaDebit] sofort: Optional[Sofort] stripe_account: Optional[StripeAccount] swish: Optional[Swish] twint: Optional[Twint] type: str """ The type of transaction-specific details of the payment method used in the payment. See [PaymentMethod.type](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type) for the full list of possible types. An additional hash is included on `payment_method_details` with a name matching this value. It contains information specific to the payment method. """ us_bank_account: Optional[UsBankAccount] wechat: Optional[Wechat] wechat_pay: Optional[WechatPay] zip: Optional[Zip] _inner_class_types = { "ach_credit_transfer": AchCreditTransfer, "ach_debit": AchDebit, "acss_debit": AcssDebit, "affirm": Affirm, "afterpay_clearpay": AfterpayClearpay, "alipay": Alipay, "alma": Alma, "amazon_pay": AmazonPay, "au_becs_debit": AuBecsDebit, "bacs_debit": BacsDebit, "bancontact": Bancontact, "billie": Billie, "blik": Blik, "boleto": Boleto, "card": Card, "card_present": CardPresent, "cashapp": Cashapp, "crypto": Crypto, "customer_balance": CustomerBalance, "eps": Eps, "fpx": Fpx, "giropay": Giropay, "grabpay": Grabpay, "ideal": Ideal, "interac_present": InteracPresent, "kakao_pay": KakaoPay, "klarna": Klarna, "konbini": Konbini, "kr_card": KrCard, "link": Link, "mb_way": MbWay, "mobilepay": Mobilepay, "multibanco": Multibanco, "naver_pay": NaverPay, "nz_bank_account": NzBankAccount, "oxxo": Oxxo, "p24": P24, "pay_by_bank": PayByBank, "payco": Payco, "paynow": Paynow, "paypal": Paypal, "pix": Pix, "promptpay": Promptpay, "revolut_pay": RevolutPay, "samsung_pay": SamsungPay, "satispay": Satispay, "sepa_credit_transfer": SepaCreditTransfer, "sepa_debit": SepaDebit, "sofort": Sofort, "stripe_account": StripeAccount, "swish": Swish, "twint": Twint, "us_bank_account": UsBankAccount, "wechat": Wechat, "wechat_pay": WechatPay, "zip": Zip, } class PresentmentDetails(StripeObject): presentment_amount: int """ Amount intended to be collected by this payment, denominated in `presentment_currency`. """ presentment_currency: str """ Currency presented to the customer during payment. """ class RadarOptions(StripeObject): session: Optional[str] """ 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. """ class Shipping(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Optional[Address] carrier: Optional[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: Optional[str] """ Recipient name. """ phone: Optional[str] """ Recipient phone (including extension). """ tracking_number: Optional[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ _inner_class_types = {"address": Address} class TransferData(StripeObject): amount: Optional[int] """ The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account. """ destination: ExpandableField["Account"] """ ID of an existing, connected Stripe account to transfer funds to if `transfer_data` was specified in the charge request. """ amount: int """ Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). """ amount_captured: int """ Amount in cents (or local equivalent) captured (can be less than the amount attribute on the charge if a partial capture was made). """ amount_refunded: int """ Amount in cents (or local equivalent) refunded (can be less than the amount attribute on the charge if a partial refund was issued). """ application: Optional[ExpandableField["Application"]] """ ID of the Connect application that created the charge. """ application_fee: Optional[ExpandableField["ApplicationFee"]] """ The application fee (if any) for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collect-fees) for details. """ application_fee_amount: Optional[int] """ The amount of the application fee (if any) requested for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collect-fees) for details. """ authorization_code: Optional[str] """ Authorization code on the charge. """ balance_transaction: Optional[ExpandableField["BalanceTransaction"]] """ ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes). """ billing_details: BillingDetails calculated_statement_descriptor: Optional[str] """ The full statement descriptor that is passed to card networks, and that is displayed on your customers' credit card and bank statements. Allows you to see what the statement descriptor looks like after the static and dynamic portions are combined. This value only exists for card payments. """ captured: bool """ If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: Optional[ExpandableField["Customer"]] """ ID of the customer this charge is for if one exists. """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ disputed: bool """ Whether the charge has been disputed. """ failure_balance_transaction: Optional[ ExpandableField["BalanceTransaction"] ] """ ID of the balance transaction that describes the reversal of the balance on your account due to payment failure. """ failure_code: Optional[str] """ Error code explaining reason for charge failure if available (see [the errors section](https://stripe.com/docs/error-codes) for a list of codes). """ failure_message: Optional[str] """ Message to user further explaining reason for charge failure if available. """ fraud_details: Optional[FraudDetails] """ Information on fraud assessments for the charge. """ id: str """ Unique identifier for the object. """ level3: Optional[Level3] livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["charge"] """ String representing the object's type. Objects of the same type share the same value. """ on_behalf_of: Optional[ExpandableField["Account"]] """ The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers) for details. """ outcome: Optional[Outcome] """ Details about whether the payment was accepted, and why. See [understanding declines](https://stripe.com/docs/declines) for details. """ paid: bool """ `true` if the charge succeeded, or was successfully authorized for later capture. """ payment_intent: Optional[ExpandableField["PaymentIntent"]] """ ID of the PaymentIntent associated with this charge, if one exists. """ payment_method: Optional[str] """ ID of the payment method used in this charge. """ payment_method_details: Optional[PaymentMethodDetails] """ Details about the payment method at the time of the transaction. """ presentment_details: Optional[PresentmentDetails] radar_options: Optional[RadarOptions] """ Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. """ receipt_email: Optional[str] """ This is the email address that the receipt for this charge was sent to. """ receipt_number: Optional[str] """ This is the transaction number that appears on email receipts sent for this charge. This attribute will be `null` until a receipt has been sent. """ receipt_url: Optional[str] """ This is the URL to view the receipt for this charge. The receipt is kept up-to-date to the latest state of the charge, including any refunds. If the charge is for an Invoice, the receipt will be stylized as an Invoice receipt. """ refunded: bool """ Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false. """ refunds: Optional[ListObject["Refund"]] """ A list of refunds that have been applied to the charge. """ review: Optional[ExpandableField["Review"]] """ ID of the review associated with this charge if one exists. """ shipping: Optional[Shipping] """ Shipping information for the charge. """ source: Optional[Union["Account", "BankAccount", "CardResource", "Source"]] """ This is a legacy field that will be removed in the future. It contains the Source, Card, or BankAccount object used for the charge. For details about the payment method used for this charge, refer to `payment_method` or `payment_method_details` instead. """ source_transfer: Optional[ExpandableField["Transfer"]] """ The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](https://docs.stripe.com/connect/destination-charges) for details. """ statement_descriptor: Optional[str] """ For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). For a card charge, this value is ignored unless you don't specify a `statement_descriptor_suffix`, in which case this value is used as the suffix. """ statement_descriptor_suffix: Optional[str] """ Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor. """ status: Literal["failed", "pending", "succeeded"] """ The status of the payment is either `succeeded`, `pending`, or `failed`. """ transfer: Optional[ExpandableField["Transfer"]] """ ID of the transfer to the `destination` account (only applicable if the charge was created using the `destination` parameter). """ transfer_data: Optional[TransferData] """ An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details. """ transfer_group: Optional[str] """ A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. """ @classmethod def _cls_capture( cls, charge: str, **params: Unpack["ChargeCaptureParams"] ) -> "Charge": """ Capture the payment of an existing, uncaptured charge that was created with the capture option set to false. Uncaptured payments expire a set number of days after they are created ([7 by default](https://docs.stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail. Don't use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/capture). """ return cast( "Charge", cls._static_request( "post", "/v1/charges/{charge}/capture".format( charge=sanitize_id(charge) ), params=params, ), ) @overload @staticmethod def capture( charge: str, **params: Unpack["ChargeCaptureParams"] ) -> "Charge": """ Capture the payment of an existing, uncaptured charge that was created with the capture option set to false. Uncaptured payments expire a set number of days after they are created ([7 by default](https://docs.stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail. Don't use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/capture). """ ... @overload def capture(self, **params: Unpack["ChargeCaptureParams"]) -> "Charge": """ Capture the payment of an existing, uncaptured charge that was created with the capture option set to false. Uncaptured payments expire a set number of days after they are created ([7 by default](https://docs.stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail. Don't use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/capture). """ ... @class_method_variant("_cls_capture") def capture( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ChargeCaptureParams"] ) -> "Charge": """ Capture the payment of an existing, uncaptured charge that was created with the capture option set to false. Uncaptured payments expire a set number of days after they are created ([7 by default](https://docs.stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail. Don't use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/capture). """ return cast( "Charge", self._request( "post", "/v1/charges/{charge}/capture".format( charge=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_capture_async( cls, charge: str, **params: Unpack["ChargeCaptureParams"] ) -> "Charge": """ Capture the payment of an existing, uncaptured charge that was created with the capture option set to false. Uncaptured payments expire a set number of days after they are created ([7 by default](https://docs.stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail. Don't use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/capture). """ return cast( "Charge", await cls._static_request_async( "post", "/v1/charges/{charge}/capture".format( charge=sanitize_id(charge) ), params=params, ), ) @overload @staticmethod async def capture_async( charge: str, **params: Unpack["ChargeCaptureParams"] ) -> "Charge": """ Capture the payment of an existing, uncaptured charge that was created with the capture option set to false. Uncaptured payments expire a set number of days after they are created ([7 by default](https://docs.stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail. Don't use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/capture). """ ... @overload async def capture_async( self, **params: Unpack["ChargeCaptureParams"] ) -> "Charge": """ Capture the payment of an existing, uncaptured charge that was created with the capture option set to false. Uncaptured payments expire a set number of days after they are created ([7 by default](https://docs.stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail. Don't use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/capture). """ ... @class_method_variant("_cls_capture_async") async def capture_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ChargeCaptureParams"] ) -> "Charge": """ Capture the payment of an existing, uncaptured charge that was created with the capture option set to false. Uncaptured payments expire a set number of days after they are created ([7 by default](https://docs.stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail. Don't use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/capture). """ return cast( "Charge", await self._request_async( "post", "/v1/charges/{charge}/capture".format( charge=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create(cls, **params: Unpack["ChargeCreateParams"]) -> "Charge": """ This method is no longer recommended—use the [Payment Intents API](https://docs.stripe.com/docs/api/payment_intents) to initiate a new payment instead. Confirmation of the PaymentIntent creates the Charge object used to request payment. """ return cast( "Charge", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["ChargeCreateParams"] ) -> "Charge": """ This method is no longer recommended—use the [Payment Intents API](https://docs.stripe.com/docs/api/payment_intents) to initiate a new payment instead. Confirmation of the PaymentIntent creates the Charge object used to request payment. """ return cast( "Charge", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["ChargeListParams"] ) -> ListObject["Charge"]: """ Returns a list of charges you've previously created. The charges are returned in sorted order, with the most recent charges appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ChargeListParams"] ) -> ListObject["Charge"]: """ Returns a list of charges you've previously created. The charges are returned in sorted order, with the most recent charges appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["ChargeModifyParams"] ) -> "Charge": """ Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Charge", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["ChargeModifyParams"] ) -> "Charge": """ Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Charge", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["ChargeRetrieveParams"] ) -> "Charge": """ Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ChargeRetrieveParams"] ) -> "Charge": """ Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def search( cls, *args, **kwargs: Unpack["ChargeSearchParams"] ) -> SearchResultObject["Charge"]: """ Search for charges you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cls._search(search_url="/v1/charges/search", *args, **kwargs) @classmethod async def search_async( cls, *args, **kwargs: Unpack["ChargeSearchParams"] ) -> SearchResultObject["Charge"]: """ Search for charges you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return await cls._search_async( search_url="/v1/charges/search", *args, **kwargs ) @classmethod def search_auto_paging_iter( cls, *args, **kwargs: Unpack["ChargeSearchParams"] ) -> Iterator["Charge"]: return cls.search(*args, **kwargs).auto_paging_iter() @classmethod async def search_auto_paging_iter_async( cls, *args, **kwargs: Unpack["ChargeSearchParams"] ) -> AsyncIterator["Charge"]: return (await cls.search_async(*args, **kwargs)).auto_paging_iter() def mark_as_fraudulent(self, idempotency_key=None) -> "Charge": params = { "fraud_details": {"user_report": "fraudulent"}, "idempotency_key": idempotency_key, } url = self.instance_url() self._request_and_refresh("post", url, params) return self def mark_as_safe(self, idempotency_key=None) -> "Charge": params = { "fraud_details": {"user_report": "safe"}, "idempotency_key": idempotency_key, } url = self.instance_url() self._request_and_refresh("post", url, params) return self @classmethod def retrieve_refund( cls, charge: str, refund: str, **params: Unpack["ChargeRetrieveRefundParams"], ) -> "Refund": """ Retrieves the details of an existing refund. """ return cast( "Refund", cls._static_request( "get", "/v1/charges/{charge}/refunds/{refund}".format( charge=sanitize_id(charge), refund=sanitize_id(refund) ), params=params, ), ) @classmethod async def retrieve_refund_async( cls, charge: str, refund: str, **params: Unpack["ChargeRetrieveRefundParams"], ) -> "Refund": """ Retrieves the details of an existing refund. """ return cast( "Refund", await cls._static_request_async( "get", "/v1/charges/{charge}/refunds/{refund}".format( charge=sanitize_id(charge), refund=sanitize_id(refund) ), params=params, ), ) @classmethod def list_refunds( cls, charge: str, **params: Unpack["ChargeListRefundsParams"] ) -> ListObject["Refund"]: """ You can see a list of the refunds belonging to a specific charge. Note that the 10 most recent refunds are always available by default on the charge object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds. """ return cast( ListObject["Refund"], cls._static_request( "get", "/v1/charges/{charge}/refunds".format( charge=sanitize_id(charge) ), params=params, ), ) @classmethod async def list_refunds_async( cls, charge: str, **params: Unpack["ChargeListRefundsParams"] ) -> ListObject["Refund"]: """ You can see a list of the refunds belonging to a specific charge. Note that the 10 most recent refunds are always available by default on the charge object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds. """ return cast( ListObject["Refund"], await cls._static_request_async( "get", "/v1/charges/{charge}/refunds".format( charge=sanitize_id(charge) ), params=params, ), ) _inner_class_types = { "billing_details": BillingDetails, "fraud_details": FraudDetails, "level3": Level3, "outcome": Outcome, "payment_method_details": PaymentMethodDetails, "presentment_details": PresentmentDetails, "radar_options": RadarOptions, "shipping": Shipping, "transfer_data": TransferData, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.321062 stripe-13.2.0/stripe/_charge_service.py0000644000000000000000000002435115102753431015027 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._charge import Charge from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._search_result_object import SearchResultObject from stripe.params._charge_capture_params import ChargeCaptureParams from stripe.params._charge_create_params import ChargeCreateParams from stripe.params._charge_list_params import ChargeListParams from stripe.params._charge_retrieve_params import ChargeRetrieveParams from stripe.params._charge_search_params import ChargeSearchParams from stripe.params._charge_update_params import ChargeUpdateParams class ChargeService(StripeService): def list( self, params: Optional["ChargeListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Charge]": """ Returns a list of charges you've previously created. The charges are returned in sorted order, with the most recent charges appearing first. """ return cast( "ListObject[Charge]", self._request( "get", "/v1/charges", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["ChargeListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Charge]": """ Returns a list of charges you've previously created. The charges are returned in sorted order, with the most recent charges appearing first. """ return cast( "ListObject[Charge]", await self._request_async( "get", "/v1/charges", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["ChargeCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Charge": """ This method is no longer recommended—use the [Payment Intents API](https://docs.stripe.com/docs/api/payment_intents) to initiate a new payment instead. Confirmation of the PaymentIntent creates the Charge object used to request payment. """ return cast( "Charge", self._request( "post", "/v1/charges", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["ChargeCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Charge": """ This method is no longer recommended—use the [Payment Intents API](https://docs.stripe.com/docs/api/payment_intents) to initiate a new payment instead. Confirmation of the PaymentIntent creates the Charge object used to request payment. """ return cast( "Charge", await self._request_async( "post", "/v1/charges", base_address="api", params=params, options=options, ), ) def retrieve( self, charge: str, params: Optional["ChargeRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Charge": """ Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge. """ return cast( "Charge", self._request( "get", "/v1/charges/{charge}".format(charge=sanitize_id(charge)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, charge: str, params: Optional["ChargeRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Charge": """ Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge. """ return cast( "Charge", await self._request_async( "get", "/v1/charges/{charge}".format(charge=sanitize_id(charge)), base_address="api", params=params, options=options, ), ) def update( self, charge: str, params: Optional["ChargeUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Charge": """ Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Charge", self._request( "post", "/v1/charges/{charge}".format(charge=sanitize_id(charge)), base_address="api", params=params, options=options, ), ) async def update_async( self, charge: str, params: Optional["ChargeUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Charge": """ Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Charge", await self._request_async( "post", "/v1/charges/{charge}".format(charge=sanitize_id(charge)), base_address="api", params=params, options=options, ), ) def search( self, params: "ChargeSearchParams", options: Optional["RequestOptions"] = None, ) -> "SearchResultObject[Charge]": """ Search for charges you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cast( "SearchResultObject[Charge]", self._request( "get", "/v1/charges/search", base_address="api", params=params, options=options, ), ) async def search_async( self, params: "ChargeSearchParams", options: Optional["RequestOptions"] = None, ) -> "SearchResultObject[Charge]": """ Search for charges you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cast( "SearchResultObject[Charge]", await self._request_async( "get", "/v1/charges/search", base_address="api", params=params, options=options, ), ) def capture( self, charge: str, params: Optional["ChargeCaptureParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Charge": """ Capture the payment of an existing, uncaptured charge that was created with the capture option set to false. Uncaptured payments expire a set number of days after they are created ([7 by default](https://docs.stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail. Don't use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/capture). """ return cast( "Charge", self._request( "post", "/v1/charges/{charge}/capture".format( charge=sanitize_id(charge), ), base_address="api", params=params, options=options, ), ) async def capture_async( self, charge: str, params: Optional["ChargeCaptureParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Charge": """ Capture the payment of an existing, uncaptured charge that was created with the capture option set to false. Uncaptured payments expire a set number of days after they are created ([7 by default](https://docs.stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail. Don't use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/capture). """ return cast( "Charge", await self._request_async( "post", "/v1/charges/{charge}/capture".format( charge=sanitize_id(charge), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.321062 stripe-13.2.0/stripe/_checkout_service.py0000644000000000000000000000167515102753431015407 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.checkout._session_service import SessionService _subservices = { "sessions": ["stripe.checkout._session_service", "SessionService"], } class CheckoutService(StripeService): sessions: "SessionService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.321062 stripe-13.2.0/stripe/_client_options.py0000644000000000000000000000065515102753431015110 0ustar00from typing import Optional class _ClientOptions(object): client_id: Optional[str] proxy: Optional[str] verify_ssl_certs: Optional[bool] def __init__( self, client_id: Optional[str] = None, proxy: Optional[str] = None, verify_ssl_certs: Optional[bool] = None, ): self.client_id = client_id self.proxy = proxy self.verify_ssl_certs = verify_ssl_certs ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.321062 stripe-13.2.0/stripe/_climate_service.py0000644000000000000000000000237515102753431015216 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.climate._order_service import OrderService from stripe.climate._product_service import ProductService from stripe.climate._supplier_service import SupplierService _subservices = { "orders": ["stripe.climate._order_service", "OrderService"], "products": ["stripe.climate._product_service", "ProductService"], "suppliers": ["stripe.climate._supplier_service", "SupplierService"], } class ClimateService(StripeService): orders: "OrderService" products: "ProductService" suppliers: "SupplierService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.321062 stripe-13.2.0/stripe/_confirmation_token.py0000644000000000000000000021547715102753431015761 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._api_resource import APIResource from stripe._expandable_field import ExpandableField from stripe._stripe_object import StripeObject from stripe._test_helpers import APIResourceTestHelpers from typing import ClassVar, List, Optional, cast from typing_extensions import Literal, Type, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._charge import Charge from stripe._customer import Customer from stripe._setup_attempt import SetupAttempt from stripe.params._confirmation_token_create_params import ( ConfirmationTokenCreateParams, ) from stripe.params._confirmation_token_retrieve_params import ( ConfirmationTokenRetrieveParams, ) class ConfirmationToken(APIResource["ConfirmationToken"]): """ ConfirmationTokens help transport client side data collected by Stripe JS over to your server for confirming a PaymentIntent or SetupIntent. If the confirmation is successful, values present on the ConfirmationToken are written onto the Intent. To learn more about how to use ConfirmationToken, visit the related guides: - [Finalize payments on the server](https://stripe.com/docs/payments/finalize-payments-on-the-server) - [Build two-step confirmation](https://stripe.com/docs/payments/build-a-two-step-confirmation). """ OBJECT_NAME: ClassVar[Literal["confirmation_token"]] = "confirmation_token" class MandateData(StripeObject): class CustomerAcceptance(StripeObject): class Online(StripeObject): ip_address: Optional[str] """ The IP address from which the Mandate was accepted by the customer. """ user_agent: Optional[str] """ The user agent of the browser from which the Mandate was accepted by the customer. """ online: Optional[Online] """ If this is a Mandate accepted online, this hash contains details about the online acceptance. """ type: str """ The type of customer acceptance information included with the Mandate. """ _inner_class_types = {"online": Online} customer_acceptance: CustomerAcceptance """ This hash contains details about the customer acceptance of the Mandate. """ _inner_class_types = {"customer_acceptance": CustomerAcceptance} class PaymentMethodOptions(StripeObject): class Card(StripeObject): class Installments(StripeObject): class Plan(StripeObject): count: Optional[int] """ For `fixed_count` installment plans, this is the number of installment payments your customer will make to their credit card. """ interval: Optional[Literal["month"]] """ For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card. One of `month`. """ type: Literal["bonus", "fixed_count", "revolving"] """ Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`. """ plan: Optional[Plan] _inner_class_types = {"plan": Plan} cvc_token: Optional[str] """ The `cvc_update` Token collected from the Payment Element. """ installments: Optional[Installments] """ Installment configuration for payments. """ _inner_class_types = {"installments": Installments} card: Optional[Card] """ This hash contains the card payment method options. """ _inner_class_types = {"card": Card} class PaymentMethodPreview(StripeObject): class AcssDebit(StripeObject): bank_name: Optional[str] """ Name of the bank associated with the bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ institution_number: Optional[str] """ Institution number of the bank account. """ last4: Optional[str] """ Last four digits of the bank account number. """ transit_number: Optional[str] """ Transit number of the bank account. """ class Affirm(StripeObject): pass class AfterpayClearpay(StripeObject): pass class Alipay(StripeObject): pass class Alma(StripeObject): pass class AmazonPay(StripeObject): pass class AuBecsDebit(StripeObject): bsb_number: Optional[str] """ Six-digit number identifying bank and branch associated with this bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ class BacsDebit(StripeObject): fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ sort_code: Optional[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class Bancontact(StripeObject): pass class Billie(StripeObject): pass class BillingDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Optional[Address] """ Billing address. """ email: Optional[str] """ Email address. """ name: Optional[str] """ Full name. """ phone: Optional[str] """ Billing phone number (including extension). """ tax_id: Optional[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ _inner_class_types = {"address": Address} class Blik(StripeObject): pass class Boleto(StripeObject): tax_id: str """ Uniquely identifies the customer tax id (CNPJ or CPF) """ class Card(StripeObject): class Checks(StripeObject): address_line1_check: Optional[str] """ If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. """ address_postal_code_check: Optional[str] """ If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. """ cvc_check: Optional[str] """ If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. """ class GeneratedFrom(StripeObject): class PaymentMethodDetails(StripeObject): class CardPresent(StripeObject): class Offline(StripeObject): stored_at: Optional[int] """ Time at which the payment was collected while offline """ type: Optional[Literal["deferred"]] """ The method used to process this payment method offline. Only deferred is allowed. """ class Receipt(StripeObject): account_type: Optional[ Literal[ "checking", "credit", "prepaid", "unknown" ] ] """ The type of account being debited or credited """ application_cryptogram: Optional[str] """ The Application Cryptogram, a unique value generated by the card to authenticate the transaction with issuers. """ application_preferred_name: Optional[str] """ The Application Identifier (AID) on the card used to determine which networks are eligible to process the transaction. Referenced from EMV tag 9F12, data encoded on the card's chip. """ authorization_code: Optional[str] """ Identifier for this transaction. """ authorization_response_code: Optional[str] """ EMV tag 8A. A code returned by the card issuer. """ cardholder_verification_method: Optional[str] """ Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`. """ dedicated_file_name: Optional[str] """ Similar to the application_preferred_name, identifying the applications (AIDs) available on the card. Referenced from EMV tag 84. """ terminal_verification_results: Optional[str] """ A 5-byte string that records the checks and validations that occur between the card and the terminal. These checks determine how the terminal processes the transaction and what risk tolerance is acceptable. Referenced from EMV Tag 95. """ transaction_status_information: Optional[str] """ An indication of which steps were completed during the card read process. Referenced from EMV Tag 9B. """ class Wallet(StripeObject): type: Literal[ "apple_pay", "google_pay", "samsung_pay", "unknown", ] """ The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`. """ amount_authorized: Optional[int] """ The authorized amount """ brand: Optional[str] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ brand_product: Optional[str] """ The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card. """ capture_before: Optional[int] """ When using manual capture, a future timestamp after which the charge will be automatically refunded if uncaptured. """ cardholder_name: Optional[str] """ The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ emv_auth_data: Optional[str] """ Authorization response cryptogram. """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ generated_card: Optional[str] """ ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ incremental_authorization_supported: bool """ Whether this [PaymentIntent](https://stripe.com/docs/api/payment_intents) is eligible for incremental authorizations. Request support using [request_incremental_authorization_support](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method_options-card_present-request_incremental_authorization_support). """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: Optional[str] """ The last four digits of the card. """ network: Optional[str] """ Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`. """ network_transaction_id: Optional[str] """ This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise. """ offline: Optional[Offline] """ Details about payments collected offline. """ overcapture_supported: bool """ Defines whether the authorized amount can be over-captured or not """ preferred_locales: Optional[List[str]] """ The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip. """ read_method: Optional[ Literal[ "contact_emv", "contactless_emv", "contactless_magstripe_mode", "magnetic_stripe_fallback", "magnetic_stripe_track2", ] ] """ How card details were read in this transaction. """ receipt: Optional[Receipt] """ A collection of fields required to be displayed on receipts. Only required for EMV transactions. """ wallet: Optional[Wallet] _inner_class_types = { "offline": Offline, "receipt": Receipt, "wallet": Wallet, } card_present: Optional[CardPresent] type: str """ The type of payment method transaction-specific details from the transaction that generated this `card` payment method. Always `card_present`. """ _inner_class_types = {"card_present": CardPresent} charge: Optional[str] """ The charge that created this object. """ payment_method_details: Optional[PaymentMethodDetails] """ Transaction-specific details of the payment method used in the payment. """ setup_attempt: Optional[ExpandableField["SetupAttempt"]] """ The ID of the SetupAttempt that generated this PaymentMethod, if any. """ _inner_class_types = { "payment_method_details": PaymentMethodDetails, } class Networks(StripeObject): available: List[str] """ All networks available for selection via [payment_method_options.card.network](https://docs.stripe.com/api/payment_intents/confirm#confirm_payment_intent-payment_method_options-card-network). """ preferred: Optional[str] """ The preferred network for co-branded cards. Can be `cartes_bancaires`, `mastercard`, `visa` or `invalid_preference` if requested network is not valid for the card. """ class ThreeDSecureUsage(StripeObject): supported: bool """ Whether 3D Secure is supported on this card. """ class Wallet(StripeObject): class AmexExpressCheckout(StripeObject): pass class ApplePay(StripeObject): pass class GooglePay(StripeObject): pass class Link(StripeObject): pass class Masterpass(StripeObject): class BillingAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class ShippingAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ billing_address: Optional[BillingAddress] """ Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ email: Optional[str] """ Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ name: Optional[str] """ Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ shipping_address: Optional[ShippingAddress] """ Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ _inner_class_types = { "billing_address": BillingAddress, "shipping_address": ShippingAddress, } class SamsungPay(StripeObject): pass class VisaCheckout(StripeObject): class BillingAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class ShippingAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ billing_address: Optional[BillingAddress] """ Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ email: Optional[str] """ Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ name: Optional[str] """ Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ shipping_address: Optional[ShippingAddress] """ Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ _inner_class_types = { "billing_address": BillingAddress, "shipping_address": ShippingAddress, } amex_express_checkout: Optional[AmexExpressCheckout] apple_pay: Optional[ApplePay] dynamic_last4: Optional[str] """ (For tokenized numbers only.) The last four digits of the device account number. """ google_pay: Optional[GooglePay] link: Optional[Link] masterpass: Optional[Masterpass] samsung_pay: Optional[SamsungPay] type: Literal[ "amex_express_checkout", "apple_pay", "google_pay", "link", "masterpass", "samsung_pay", "visa_checkout", ] """ The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, `visa_checkout`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. """ visa_checkout: Optional[VisaCheckout] _inner_class_types = { "amex_express_checkout": AmexExpressCheckout, "apple_pay": ApplePay, "google_pay": GooglePay, "link": Link, "masterpass": Masterpass, "samsung_pay": SamsungPay, "visa_checkout": VisaCheckout, } brand: str """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ checks: Optional[Checks] """ Checks on Card address and CVC if provided. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ display_brand: Optional[str] """ The brand to use when displaying the card, this accounts for customer's brand choice on dual-branded cards. Can be `american_express`, `cartes_bancaires`, `diners_club`, `discover`, `eftpos_australia`, `interac`, `jcb`, `mastercard`, `union_pay`, `visa`, or `other` and may contain more values in the future. """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: str """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ generated_from: Optional[GeneratedFrom] """ Details of the original PaymentMethod that created this object. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: str """ The last four digits of the card. """ networks: Optional[Networks] """ Contains information about card networks that can be used to process the payment. """ regulated_status: Optional[Literal["regulated", "unregulated"]] """ Status of a card based on the card issuer. """ three_d_secure_usage: Optional[ThreeDSecureUsage] """ Contains details on how this Card may be used for 3D Secure authentication. """ wallet: Optional[Wallet] """ If this Card is part of a card wallet, this contains the details of the card wallet. """ _inner_class_types = { "checks": Checks, "generated_from": GeneratedFrom, "networks": Networks, "three_d_secure_usage": ThreeDSecureUsage, "wallet": Wallet, } class CardPresent(StripeObject): class Networks(StripeObject): available: List[str] """ All networks available for selection via [payment_method_options.card.network](https://docs.stripe.com/api/payment_intents/confirm#confirm_payment_intent-payment_method_options-card-network). """ preferred: Optional[str] """ The preferred network for the card. """ class Offline(StripeObject): stored_at: Optional[int] """ Time at which the payment was collected while offline """ type: Optional[Literal["deferred"]] """ The method used to process this payment method offline. Only deferred is allowed. """ class Wallet(StripeObject): type: Literal[ "apple_pay", "google_pay", "samsung_pay", "unknown" ] """ The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`. """ brand: Optional[str] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ brand_product: Optional[str] """ The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card. """ cardholder_name: Optional[str] """ The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: Optional[str] """ The last four digits of the card. """ networks: Optional[Networks] """ Contains information about card networks that can be used to process the payment. """ offline: Optional[Offline] """ Details about payment methods collected offline. """ preferred_locales: Optional[List[str]] """ The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip. """ read_method: Optional[ Literal[ "contact_emv", "contactless_emv", "contactless_magstripe_mode", "magnetic_stripe_fallback", "magnetic_stripe_track2", ] ] """ How card details were read in this transaction. """ wallet: Optional[Wallet] _inner_class_types = { "networks": Networks, "offline": Offline, "wallet": Wallet, } class Cashapp(StripeObject): buyer_id: Optional[str] """ A unique and immutable identifier assigned by Cash App to every buyer. """ cashtag: Optional[str] """ A public identifier for buyers using Cash App. """ class Crypto(StripeObject): pass class CustomerBalance(StripeObject): pass class Eps(StripeObject): bank: Optional[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`. """ class Fpx(StripeObject): account_holder_type: Optional[Literal["company", "individual"]] """ Account holder type, if provided. Can be one of `individual` or `company`. """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank, if provided. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`. """ class Giropay(StripeObject): pass class Grabpay(StripeObject): pass class Ideal(StripeObject): bank: Optional[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank, if provided. Can be one of `abn_amro`, `asn_bank`, `bunq`, `buut`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`. """ bic: Optional[ Literal[ "ABNANL2A", "ASNBNL21", "BITSNL2A", "BUNQNL2A", "BUUTNL2A", "FVLBNL22", "HANDNL2A", "INGBNL2A", "KNABNL2H", "MOYONL21", "NNBANL2G", "NTSBDEB1", "RABONL2U", "RBRBNL21", "REVOIE23", "REVOLT21", "SNSBNL2A", "TRIONL2U", ] ] """ The Bank Identifier Code of the customer's bank, if the bank was provided. """ class InteracPresent(StripeObject): class Networks(StripeObject): available: List[str] """ All networks available for selection via [payment_method_options.card.network](https://docs.stripe.com/api/payment_intents/confirm#confirm_payment_intent-payment_method_options-card-network). """ preferred: Optional[str] """ The preferred network for the card. """ brand: Optional[str] """ Card brand. Can be `interac`, `mastercard` or `visa`. """ cardholder_name: Optional[str] """ The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: Optional[str] """ The last four digits of the card. """ networks: Optional[Networks] """ Contains information about card networks that can be used to process the payment. """ preferred_locales: Optional[List[str]] """ The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip. """ read_method: Optional[ Literal[ "contact_emv", "contactless_emv", "contactless_magstripe_mode", "magnetic_stripe_fallback", "magnetic_stripe_track2", ] ] """ How card details were read in this transaction. """ _inner_class_types = {"networks": Networks} class KakaoPay(StripeObject): pass class Klarna(StripeObject): class Dob(StripeObject): day: Optional[int] """ The day of birth, between 1 and 31. """ month: Optional[int] """ The month of birth, between 1 and 12. """ year: Optional[int] """ The four-digit year of birth. """ dob: Optional[Dob] """ The customer's date of birth, if provided. """ _inner_class_types = {"dob": Dob} class Konbini(StripeObject): pass class KrCard(StripeObject): brand: Optional[ Literal[ "bc", "citi", "hana", "hyundai", "jeju", "jeonbuk", "kakaobank", "kbank", "kdbbank", "kookmin", "kwangju", "lotte", "mg", "nh", "post", "samsung", "savingsbank", "shinhan", "shinhyup", "suhyup", "tossbank", "woori", ] ] """ The local credit or debit card brand. """ last4: Optional[str] """ The last four digits of the card. This may not be present for American Express cards. """ class Link(StripeObject): email: Optional[str] """ Account owner's email address. """ persistent_token: Optional[str] """ [Deprecated] This is a legacy parameter that no longer has any function. """ class MbWay(StripeObject): pass class Mobilepay(StripeObject): pass class Multibanco(StripeObject): pass class NaverPay(StripeObject): buyer_id: Optional[str] """ Uniquely identifies this particular Naver Pay account. You can use this attribute to check whether two Naver Pay accounts are the same. """ funding: Literal["card", "points"] """ Whether to fund this transaction with Naver Pay points or a card. """ class NzBankAccount(StripeObject): account_holder_name: Optional[str] """ The name on the bank account. Only present if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ bank_code: str """ The numeric code for the bank account's bank. """ bank_name: str """ The name of the bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ last4: str """ Last four digits of the bank account number. """ suffix: Optional[str] """ The suffix of the bank account number. """ class Oxxo(StripeObject): pass class P24(StripeObject): bank: Optional[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank, if provided. """ class PayByBank(StripeObject): pass class Payco(StripeObject): pass class Paynow(StripeObject): pass class Paypal(StripeObject): country: Optional[str] """ Two-letter ISO code representing the buyer's country. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ payer_email: Optional[str] """ Owner's email. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ payer_id: Optional[str] """ PayPal account PayerID. This identifier uniquely identifies the PayPal customer. """ class Pix(StripeObject): pass class Promptpay(StripeObject): pass class RevolutPay(StripeObject): pass class SamsungPay(StripeObject): pass class Satispay(StripeObject): pass class SepaDebit(StripeObject): class GeneratedFrom(StripeObject): charge: Optional[ExpandableField["Charge"]] """ The ID of the Charge that generated this PaymentMethod, if any. """ setup_attempt: Optional[ExpandableField["SetupAttempt"]] """ The ID of the SetupAttempt that generated this PaymentMethod, if any. """ bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ branch_code: Optional[str] """ Branch code of bank associated with the bank account. """ country: Optional[str] """ Two-letter ISO code representing the country the bank account is located in. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ generated_from: Optional[GeneratedFrom] """ Information about the object that generated this PaymentMethod. """ last4: Optional[str] """ Last four characters of the IBAN. """ _inner_class_types = {"generated_from": GeneratedFrom} class Sofort(StripeObject): country: Optional[str] """ Two-letter ISO code representing the country the bank account is located in. """ class Swish(StripeObject): pass class Twint(StripeObject): pass class UsBankAccount(StripeObject): class Networks(StripeObject): preferred: Optional[str] """ The preferred network. """ supported: List[Literal["ach", "us_domestic_wire"]] """ All supported networks. """ class StatusDetails(StripeObject): class Blocked(StripeObject): network_code: Optional[ Literal[ "R02", "R03", "R04", "R05", "R07", "R08", "R10", "R11", "R16", "R20", "R29", "R31", ] ] """ The ACH network code that resulted in this block. """ reason: Optional[ Literal[ "bank_account_closed", "bank_account_frozen", "bank_account_invalid_details", "bank_account_restricted", "bank_account_unusable", "debit_not_authorized", ] ] """ The reason why this PaymentMethod's fingerprint has been blocked """ blocked: Optional[Blocked] _inner_class_types = {"blocked": Blocked} account_holder_type: Optional[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_type: Optional[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ bank_name: Optional[str] """ The name of the bank. """ financial_connections_account: Optional[str] """ The ID of the Financial Connections Account used to create the payment method. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ networks: Optional[Networks] """ Contains information about US bank account networks that can be used. """ routing_number: Optional[str] """ Routing number of the bank account. """ status_details: Optional[StatusDetails] """ Contains information about the future reusability of this PaymentMethod. """ _inner_class_types = { "networks": Networks, "status_details": StatusDetails, } class WechatPay(StripeObject): pass class Zip(StripeObject): pass acss_debit: Optional[AcssDebit] affirm: Optional[Affirm] afterpay_clearpay: Optional[AfterpayClearpay] alipay: Optional[Alipay] allow_redisplay: Optional[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”. """ alma: Optional[Alma] amazon_pay: Optional[AmazonPay] au_becs_debit: Optional[AuBecsDebit] bacs_debit: Optional[BacsDebit] bancontact: Optional[Bancontact] billie: Optional[Billie] billing_details: BillingDetails blik: Optional[Blik] boleto: Optional[Boleto] card: Optional[Card] card_present: Optional[CardPresent] cashapp: Optional[Cashapp] crypto: Optional[Crypto] customer: Optional[ExpandableField["Customer"]] """ The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer. """ customer_balance: Optional[CustomerBalance] eps: Optional[Eps] fpx: Optional[Fpx] giropay: Optional[Giropay] grabpay: Optional[Grabpay] ideal: Optional[Ideal] interac_present: Optional[InteracPresent] kakao_pay: Optional[KakaoPay] klarna: Optional[Klarna] konbini: Optional[Konbini] kr_card: Optional[KrCard] link: Optional[Link] mb_way: Optional[MbWay] mobilepay: Optional[Mobilepay] multibanco: Optional[Multibanco] naver_pay: Optional[NaverPay] nz_bank_account: Optional[NzBankAccount] oxxo: Optional[Oxxo] p24: Optional[P24] pay_by_bank: Optional[PayByBank] payco: Optional[Payco] paynow: Optional[Paynow] paypal: Optional[Paypal] pix: Optional[Pix] promptpay: Optional[Promptpay] revolut_pay: Optional[RevolutPay] samsung_pay: Optional[SamsungPay] satispay: Optional[Satispay] sepa_debit: Optional[SepaDebit] sofort: Optional[Sofort] swish: Optional[Swish] twint: Optional[Twint] type: Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "card", "card_present", "cashapp", "crypto", "custom", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "interac_present", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] """ 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. """ us_bank_account: Optional[UsBankAccount] wechat_pay: Optional[WechatPay] zip: Optional[Zip] _inner_class_types = { "acss_debit": AcssDebit, "affirm": Affirm, "afterpay_clearpay": AfterpayClearpay, "alipay": Alipay, "alma": Alma, "amazon_pay": AmazonPay, "au_becs_debit": AuBecsDebit, "bacs_debit": BacsDebit, "bancontact": Bancontact, "billie": Billie, "billing_details": BillingDetails, "blik": Blik, "boleto": Boleto, "card": Card, "card_present": CardPresent, "cashapp": Cashapp, "crypto": Crypto, "customer_balance": CustomerBalance, "eps": Eps, "fpx": Fpx, "giropay": Giropay, "grabpay": Grabpay, "ideal": Ideal, "interac_present": InteracPresent, "kakao_pay": KakaoPay, "klarna": Klarna, "konbini": Konbini, "kr_card": KrCard, "link": Link, "mb_way": MbWay, "mobilepay": Mobilepay, "multibanco": Multibanco, "naver_pay": NaverPay, "nz_bank_account": NzBankAccount, "oxxo": Oxxo, "p24": P24, "pay_by_bank": PayByBank, "payco": Payco, "paynow": Paynow, "paypal": Paypal, "pix": Pix, "promptpay": Promptpay, "revolut_pay": RevolutPay, "samsung_pay": SamsungPay, "satispay": Satispay, "sepa_debit": SepaDebit, "sofort": Sofort, "swish": Swish, "twint": Twint, "us_bank_account": UsBankAccount, "wechat_pay": WechatPay, "zip": Zip, } class Shipping(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Address name: str """ Recipient name. """ phone: Optional[str] """ Recipient phone (including extension). """ _inner_class_types = {"address": Address} created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ expires_at: Optional[int] """ Time at which this ConfirmationToken expires and can no longer be used to confirm a PaymentIntent or SetupIntent. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ mandate_data: Optional[MandateData] """ Data used for generating a Mandate. """ object: Literal["confirmation_token"] """ String representing the object's type. Objects of the same type share the same value. """ payment_intent: Optional[str] """ ID of the PaymentIntent that this ConfirmationToken was used to confirm, or null if this ConfirmationToken has not yet been used. """ payment_method_options: Optional[PaymentMethodOptions] """ Payment-method-specific configuration for this ConfirmationToken. """ payment_method_preview: Optional[PaymentMethodPreview] """ Payment details collected by the Payment Element, used to create a PaymentMethod when a PaymentIntent or SetupIntent is confirmed with this ConfirmationToken. """ return_url: Optional[str] """ Return URL used to confirm the Intent. """ setup_future_usage: Optional[Literal["off_session", "on_session"]] """ Indicates that you intend to make future payments with this ConfirmationToken's payment method. The presence of this property will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. """ setup_intent: Optional[str] """ ID of the SetupIntent that this ConfirmationToken was used to confirm, or null if this ConfirmationToken has not yet been used. """ shipping: Optional[Shipping] """ Shipping information collected on this ConfirmationToken. """ use_stripe_sdk: bool """ Indicates whether the Stripe SDK is used to handle confirmation flow. Defaults to `true` on ConfirmationToken. """ @classmethod def retrieve( cls, id: str, **params: Unpack["ConfirmationTokenRetrieveParams"] ) -> "ConfirmationToken": """ Retrieves an existing ConfirmationToken object """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ConfirmationTokenRetrieveParams"] ) -> "ConfirmationToken": """ Retrieves an existing ConfirmationToken object """ instance = cls(id, **params) await instance.refresh_async() return instance class TestHelpers(APIResourceTestHelpers["ConfirmationToken"]): _resource_cls: Type["ConfirmationToken"] @classmethod def create( cls, **params: Unpack["ConfirmationTokenCreateParams"] ) -> "ConfirmationToken": """ Creates a test mode Confirmation Token server side for your integration tests. """ return cast( "ConfirmationToken", cls._static_request( "post", "/v1/test_helpers/confirmation_tokens", params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["ConfirmationTokenCreateParams"] ) -> "ConfirmationToken": """ Creates a test mode Confirmation Token server side for your integration tests. """ return cast( "ConfirmationToken", await cls._static_request_async( "post", "/v1/test_helpers/confirmation_tokens", params=params, ), ) @property def test_helpers(self): return self.TestHelpers(self) _inner_class_types = { "mandate_data": MandateData, "payment_method_options": PaymentMethodOptions, "payment_method_preview": PaymentMethodPreview, "shipping": Shipping, } ConfirmationToken.TestHelpers._resource_cls = ConfirmationToken ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.322062 stripe-13.2.0/stripe/_confirmation_token_service.py0000644000000000000000000000360115102753431017461 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._confirmation_token import ConfirmationToken from stripe._request_options import RequestOptions from stripe.params._confirmation_token_retrieve_params import ( ConfirmationTokenRetrieveParams, ) class ConfirmationTokenService(StripeService): def retrieve( self, confirmation_token: str, params: Optional["ConfirmationTokenRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ConfirmationToken": """ Retrieves an existing ConfirmationToken object """ return cast( "ConfirmationToken", self._request( "get", "/v1/confirmation_tokens/{confirmation_token}".format( confirmation_token=sanitize_id(confirmation_token), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, confirmation_token: str, params: Optional["ConfirmationTokenRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ConfirmationToken": """ Retrieves an existing ConfirmationToken object """ return cast( "ConfirmationToken", await self._request_async( "get", "/v1/confirmation_tokens/{confirmation_token}".format( confirmation_token=sanitize_id(confirmation_token), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.322062 stripe-13.2.0/stripe/_connect_collection_transfer.py0000644000000000000000000000234115102753431017621 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._stripe_object import StripeObject from typing import ClassVar from typing_extensions import Literal, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account class ConnectCollectionTransfer(StripeObject): OBJECT_NAME: ClassVar[Literal["connect_collection_transfer"]] = ( "connect_collection_transfer" ) amount: int """ Amount transferred, in cents (or local equivalent). """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ destination: ExpandableField["Account"] """ ID of the account that funds are being collected for. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["connect_collection_transfer"] """ String representing the object's type. Objects of the same type share the same value. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.322062 stripe-13.2.0/stripe/_country_spec.py0000644000000000000000000001137715102753431014577 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, Dict, List from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._country_spec_list_params import CountrySpecListParams from stripe.params._country_spec_retrieve_params import ( CountrySpecRetrieveParams, ) class CountrySpec(ListableAPIResource["CountrySpec"]): """ Stripe needs to collect certain pieces of information about each account created. These requirements can differ depending on the account's country. The Country Specs API makes these rules available to your integration. You can also view the information from this API call as [an online guide](https://docs.stripe.com/docs/connect/required-verification-information). """ OBJECT_NAME: ClassVar[Literal["country_spec"]] = "country_spec" class VerificationFields(StripeObject): class Company(StripeObject): additional: List[str] """ Additional fields which are only required for some users. """ minimum: List[str] """ Fields which every account must eventually provide. """ class Individual(StripeObject): additional: List[str] """ Additional fields which are only required for some users. """ minimum: List[str] """ Fields which every account must eventually provide. """ company: Company individual: Individual _inner_class_types = {"company": Company, "individual": Individual} default_currency: str """ The default currency for this country. This applies to both payment methods and bank accounts. """ id: str """ Unique identifier for the object. Represented as the ISO country code for this country. """ object: Literal["country_spec"] """ String representing the object's type. Objects of the same type share the same value. """ supported_bank_account_currencies: Dict[str, List[str]] """ Currencies that can be accepted in the specific country (for transfers). """ supported_payment_currencies: List[str] """ Currencies that can be accepted in the specified country (for payments). """ supported_payment_methods: List[str] """ Payment methods available in the specified country. You may need to enable some payment methods (e.g., [ACH](https://stripe.com/docs/ach)) on your account before they appear in this list. The `stripe` payment method refers to [charging through your platform](https://stripe.com/docs/connect/destination-charges). """ supported_transfer_countries: List[str] """ Countries that can accept transfers from the specified country. """ verification_fields: VerificationFields @classmethod def list( cls, **params: Unpack["CountrySpecListParams"] ) -> ListObject["CountrySpec"]: """ Lists all Country Spec objects available in the API. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["CountrySpecListParams"] ) -> ListObject["CountrySpec"]: """ Lists all Country Spec objects available in the API. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["CountrySpecRetrieveParams"] ) -> "CountrySpec": """ Returns a Country Spec for a given Country code. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["CountrySpecRetrieveParams"] ) -> "CountrySpec": """ Returns a Country Spec for a given Country code. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"verification_fields": VerificationFields} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.322062 stripe-13.2.0/stripe/_country_spec_service.py0000644000000000000000000000563415102753431016316 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._country_spec import CountrySpec from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._country_spec_list_params import CountrySpecListParams from stripe.params._country_spec_retrieve_params import ( CountrySpecRetrieveParams, ) class CountrySpecService(StripeService): def list( self, params: Optional["CountrySpecListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[CountrySpec]": """ Lists all Country Spec objects available in the API. """ return cast( "ListObject[CountrySpec]", self._request( "get", "/v1/country_specs", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["CountrySpecListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[CountrySpec]": """ Lists all Country Spec objects available in the API. """ return cast( "ListObject[CountrySpec]", await self._request_async( "get", "/v1/country_specs", base_address="api", params=params, options=options, ), ) def retrieve( self, country: str, params: Optional["CountrySpecRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CountrySpec": """ Returns a Country Spec for a given Country code. """ return cast( "CountrySpec", self._request( "get", "/v1/country_specs/{country}".format( country=sanitize_id(country), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, country: str, params: Optional["CountrySpecRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CountrySpec": """ Returns a Country Spec for a given Country code. """ return cast( "CountrySpec", await self._request_async( "get", "/v1/country_specs/{country}".format( country=sanitize_id(country), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.322062 stripe-13.2.0/stripe/_coupon.py0000644000000000000000000003353615102753431013366 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._coupon_create_params import CouponCreateParams from stripe.params._coupon_delete_params import CouponDeleteParams from stripe.params._coupon_list_params import CouponListParams from stripe.params._coupon_modify_params import CouponModifyParams from stripe.params._coupon_retrieve_params import CouponRetrieveParams class Coupon( CreateableAPIResource["Coupon"], DeletableAPIResource["Coupon"], ListableAPIResource["Coupon"], UpdateableAPIResource["Coupon"], ): """ A coupon contains information about a percent-off or amount-off discount you might want to apply to a customer. Coupons may be applied to [subscriptions](https://stripe.com/docs/api#subscriptions), [invoices](https://stripe.com/docs/api#invoices), [checkout sessions](https://stripe.com/docs/api/checkout/sessions), [quotes](https://stripe.com/docs/api#quotes), and more. Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge) or [payment intents](https://stripe.com/docs/api/payment_intents). """ OBJECT_NAME: ClassVar[Literal["coupon"]] = "coupon" class AppliesTo(StripeObject): products: List[str] """ A list of product IDs this coupon applies to """ class CurrencyOptions(StripeObject): amount_off: int """ Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer. """ amount_off: Optional[int] """ Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer. """ applies_to: Optional[AppliesTo] created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: Optional[str] """ If `amount_off` has been set, the three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the amount to take off. """ currency_options: Optional[Dict[str, CurrencyOptions]] """ Coupons defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ duration: Literal["forever", "once", "repeating"] """ One of `forever`, `once`, or `repeating`. Describes how long a customer who applies this coupon will get the discount. """ duration_in_months: Optional[int] """ If `duration` is `repeating`, the number of months the coupon applies. Null if coupon `duration` is `forever` or `once`. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ max_redemptions: Optional[int] """ Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid. """ 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. """ name: Optional[str] """ Name of the coupon displayed to customers on for instance invoices or receipts. """ object: Literal["coupon"] """ String representing the object's type. Objects of the same type share the same value. """ percent_off: Optional[float] """ Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a $ (or local equivalent)100 invoice $ (or local equivalent)50 instead. """ redeem_by: Optional[int] """ Date after which the coupon can no longer be redeemed. """ times_redeemed: int """ Number of times this coupon has been applied to a customer. """ valid: bool """ Taking account of the above properties, whether this coupon can still be applied to a customer. """ @classmethod def create(cls, **params: Unpack["CouponCreateParams"]) -> "Coupon": """ You can create coupons easily via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly. A coupon has either a percent_off or an amount_off and currency. If you set an amount_off, that amount will be subtracted from any invoice's subtotal. For example, an invoice with a subtotal of 100 will have a final total of 0 if a coupon with an amount_off of 200 is applied to it and an invoice with a subtotal of 300 will have a final total of 100 if a coupon with an amount_off of 200 is applied to it. """ return cast( "Coupon", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["CouponCreateParams"] ) -> "Coupon": """ You can create coupons easily via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly. A coupon has either a percent_off or an amount_off and currency. If you set an amount_off, that amount will be subtracted from any invoice's subtotal. For example, an invoice with a subtotal of 100 will have a final total of 0 if a coupon with an amount_off of 200 is applied to it and an invoice with a subtotal of 300 will have a final total of 100 if a coupon with an amount_off of 200 is applied to it. """ return cast( "Coupon", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["CouponDeleteParams"] ) -> "Coupon": """ You can delete coupons via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can't redeem the coupon. You can also delete coupons via the API. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Coupon", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete(sid: str, **params: Unpack["CouponDeleteParams"]) -> "Coupon": """ You can delete coupons via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can't redeem the coupon. You can also delete coupons via the API. """ ... @overload def delete(self, **params: Unpack["CouponDeleteParams"]) -> "Coupon": """ You can delete coupons via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can't redeem the coupon. You can also delete coupons via the API. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CouponDeleteParams"] ) -> "Coupon": """ You can delete coupons via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can't redeem the coupon. You can also delete coupons via the API. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["CouponDeleteParams"] ) -> "Coupon": """ You can delete coupons via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can't redeem the coupon. You can also delete coupons via the API. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Coupon", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["CouponDeleteParams"] ) -> "Coupon": """ You can delete coupons via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can't redeem the coupon. You can also delete coupons via the API. """ ... @overload async def delete_async( self, **params: Unpack["CouponDeleteParams"] ) -> "Coupon": """ You can delete coupons via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can't redeem the coupon. You can also delete coupons via the API. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CouponDeleteParams"] ) -> "Coupon": """ You can delete coupons via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can't redeem the coupon. You can also delete coupons via the API. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def list( cls, **params: Unpack["CouponListParams"] ) -> ListObject["Coupon"]: """ Returns a list of your coupons. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["CouponListParams"] ) -> ListObject["Coupon"]: """ Returns a list of your coupons. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["CouponModifyParams"] ) -> "Coupon": """ Updates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Coupon", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["CouponModifyParams"] ) -> "Coupon": """ Updates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Coupon", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["CouponRetrieveParams"] ) -> "Coupon": """ Retrieves the coupon with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["CouponRetrieveParams"] ) -> "Coupon": """ Retrieves the coupon with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "applies_to": AppliesTo, "currency_options": CurrencyOptions, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.322062 stripe-13.2.0/stripe/_coupon_service.py0000644000000000000000000001745615102753431015111 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._coupon import Coupon from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._coupon_create_params import CouponCreateParams from stripe.params._coupon_delete_params import CouponDeleteParams from stripe.params._coupon_list_params import CouponListParams from stripe.params._coupon_retrieve_params import CouponRetrieveParams from stripe.params._coupon_update_params import CouponUpdateParams class CouponService(StripeService): def delete( self, coupon: str, params: Optional["CouponDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Coupon": """ You can delete coupons via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can't redeem the coupon. You can also delete coupons via the API. """ return cast( "Coupon", self._request( "delete", "/v1/coupons/{coupon}".format(coupon=sanitize_id(coupon)), base_address="api", params=params, options=options, ), ) async def delete_async( self, coupon: str, params: Optional["CouponDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Coupon": """ You can delete coupons via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can't redeem the coupon. You can also delete coupons via the API. """ return cast( "Coupon", await self._request_async( "delete", "/v1/coupons/{coupon}".format(coupon=sanitize_id(coupon)), base_address="api", params=params, options=options, ), ) def retrieve( self, coupon: str, params: Optional["CouponRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Coupon": """ Retrieves the coupon with the given ID. """ return cast( "Coupon", self._request( "get", "/v1/coupons/{coupon}".format(coupon=sanitize_id(coupon)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, coupon: str, params: Optional["CouponRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Coupon": """ Retrieves the coupon with the given ID. """ return cast( "Coupon", await self._request_async( "get", "/v1/coupons/{coupon}".format(coupon=sanitize_id(coupon)), base_address="api", params=params, options=options, ), ) def update( self, coupon: str, params: Optional["CouponUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Coupon": """ Updates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable. """ return cast( "Coupon", self._request( "post", "/v1/coupons/{coupon}".format(coupon=sanitize_id(coupon)), base_address="api", params=params, options=options, ), ) async def update_async( self, coupon: str, params: Optional["CouponUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Coupon": """ Updates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable. """ return cast( "Coupon", await self._request_async( "post", "/v1/coupons/{coupon}".format(coupon=sanitize_id(coupon)), base_address="api", params=params, options=options, ), ) def list( self, params: Optional["CouponListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Coupon]": """ Returns a list of your coupons. """ return cast( "ListObject[Coupon]", self._request( "get", "/v1/coupons", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["CouponListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Coupon]": """ Returns a list of your coupons. """ return cast( "ListObject[Coupon]", await self._request_async( "get", "/v1/coupons", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["CouponCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Coupon": """ You can create coupons easily via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly. A coupon has either a percent_off or an amount_off and currency. If you set an amount_off, that amount will be subtracted from any invoice's subtotal. For example, an invoice with a subtotal of 100 will have a final total of 0 if a coupon with an amount_off of 200 is applied to it and an invoice with a subtotal of 300 will have a final total of 100 if a coupon with an amount_off of 200 is applied to it. """ return cast( "Coupon", self._request( "post", "/v1/coupons", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["CouponCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Coupon": """ You can create coupons easily via the [coupon management](https://dashboard.stripe.com/coupons) page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly. A coupon has either a percent_off or an amount_off and currency. If you set an amount_off, that amount will be subtracted from any invoice's subtotal. For example, an invoice with a subtotal of 100 will have a final total of 0 if a coupon with an amount_off of 200 is applied to it and an invoice with a subtotal of 300 will have a final total of 100 if a coupon with an amount_off of 200 is applied to it. """ return cast( "Coupon", await self._request_async( "post", "/v1/coupons", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.322062 stripe-13.2.0/stripe/_createable_api_resource.py0000644000000000000000000000057615102753431016710 0ustar00from stripe._api_resource import APIResource from typing import TypeVar, cast from stripe._stripe_object import StripeObject T = TypeVar("T", bound=StripeObject) class CreateableAPIResource(APIResource[T]): @classmethod def create(cls, **params) -> T: return cast( T, cls._static_request("post", cls.class_url(), params=params), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.322062 stripe-13.2.0/stripe/_credit_note.py0000644000000000000000000006326515102753431014364 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._nested_resource_class_methods import nested_resource_class_methods from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._credit_note_line_item import CreditNoteLineItem from stripe._customer import Customer from stripe._customer_balance_transaction import CustomerBalanceTransaction from stripe._discount import Discount from stripe._invoice import Invoice from stripe._refund import Refund as RefundResource from stripe._shipping_rate import ShippingRate from stripe._tax_rate import TaxRate from stripe.billing._credit_balance_transaction import ( CreditBalanceTransaction, ) from stripe.params._credit_note_create_params import CreditNoteCreateParams from stripe.params._credit_note_list_lines_params import ( CreditNoteListLinesParams, ) from stripe.params._credit_note_list_params import CreditNoteListParams from stripe.params._credit_note_modify_params import CreditNoteModifyParams from stripe.params._credit_note_preview_lines_params import ( CreditNotePreviewLinesParams, ) from stripe.params._credit_note_preview_params import ( CreditNotePreviewParams, ) from stripe.params._credit_note_retrieve_params import ( CreditNoteRetrieveParams, ) from stripe.params._credit_note_void_credit_note_params import ( CreditNoteVoidCreditNoteParams, ) @nested_resource_class_methods("line") class CreditNote( CreateableAPIResource["CreditNote"], ListableAPIResource["CreditNote"], UpdateableAPIResource["CreditNote"], ): """ Issue a credit note to adjust an invoice's amount after the invoice is finalized. Related guide: [Credit notes](https://stripe.com/docs/billing/invoices/credit-notes) """ OBJECT_NAME: ClassVar[Literal["credit_note"]] = "credit_note" class DiscountAmount(StripeObject): amount: int """ The amount, in cents (or local equivalent), of the discount. """ discount: ExpandableField["Discount"] """ The discount that was applied to get this discount amount. """ class PretaxCreditAmount(StripeObject): amount: int """ The amount, in cents (or local equivalent), of the pretax credit amount. """ credit_balance_transaction: Optional[ ExpandableField["CreditBalanceTransaction"] ] """ The credit balance transaction that was applied to get this pretax credit amount. """ discount: Optional[ExpandableField["Discount"]] """ The discount that was applied to get this pretax credit amount. """ type: Literal["credit_balance_transaction", "discount"] """ Type of the pretax credit amount referenced. """ class Refund(StripeObject): class PaymentRecordRefund(StripeObject): payment_record: str """ ID of the payment record. """ refund_group: str """ ID of the refund group. """ amount_refunded: int """ Amount of the refund that applies to this credit note, in cents (or local equivalent). """ payment_record_refund: Optional[PaymentRecordRefund] """ The PaymentRecord refund details associated with this credit note refund. """ refund: ExpandableField["RefundResource"] """ ID of the refund. """ type: Optional[Literal["payment_record_refund", "refund"]] """ Type of the refund, one of `refund` or `payment_record_refund`. """ _inner_class_types = {"payment_record_refund": PaymentRecordRefund} class ShippingCost(StripeObject): class Tax(StripeObject): amount: int """ Amount of tax applied for this rate. """ rate: "TaxRate" """ Tax rates can be applied to [invoices](https://docs.stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://docs.stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://docs.stripe.com/payments/checkout/use-manual-tax-rates) to collect tax. Related guide: [Tax rates](https://docs.stripe.com/billing/taxes/tax-rates) """ taxability_reason: Optional[ Literal[ "customer_exempt", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] ] """ The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. """ taxable_amount: Optional[int] """ The amount on which tax is calculated, in cents (or local equivalent). """ amount_subtotal: int """ Total shipping cost before any taxes are applied. """ amount_tax: int """ Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0. """ amount_total: int """ Total shipping cost after taxes are applied. """ shipping_rate: Optional[ExpandableField["ShippingRate"]] """ The ID of the ShippingRate for this invoice. """ taxes: Optional[List[Tax]] """ The taxes applied to the shipping rate. """ _inner_class_types = {"taxes": Tax} class TotalTax(StripeObject): class TaxRateDetails(StripeObject): tax_rate: str amount: int """ The amount of the tax, in cents (or local equivalent). """ tax_behavior: Literal["exclusive", "inclusive"] """ Whether this tax is inclusive or exclusive. """ tax_rate_details: Optional[TaxRateDetails] """ Additional details about the tax rate. Only present when `type` is `tax_rate_details`. """ taxability_reason: Literal[ "customer_exempt", "not_available", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] """ The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. """ taxable_amount: Optional[int] """ The amount on which tax is calculated, in cents (or local equivalent). """ type: Literal["tax_rate_details"] """ The type of tax information. """ _inner_class_types = {"tax_rate_details": TaxRateDetails} amount: int """ The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax. """ amount_shipping: int """ This is the sum of all the shipping amounts. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: ExpandableField["Customer"] """ ID of the customer. """ customer_balance_transaction: Optional[ ExpandableField["CustomerBalanceTransaction"] ] """ Customer balance transaction related to this credit note. """ discount_amount: int """ The integer amount in cents (or local equivalent) representing the total amount of discount that was credited. """ discount_amounts: List[DiscountAmount] """ The aggregate amounts calculated per discount for all line items. """ effective_at: Optional[int] """ The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF. """ id: str """ Unique identifier for the object. """ invoice: ExpandableField["Invoice"] """ ID of the invoice. """ lines: ListObject["CreditNoteLineItem"] """ Line items that make up the credit note """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ memo: Optional[str] """ Customer-facing text that appears on the credit note PDF. """ 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. """ number: str """ A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice. """ object: Literal["credit_note"] """ String representing the object's type. Objects of the same type share the same value. """ out_of_band_amount: Optional[int] """ Amount that was credited outside of Stripe. """ pdf: str """ The link to download the PDF of the credit note. """ post_payment_amount: int """ The amount of the credit note that was refunded to the customer, credited to the customer's balance, credited outside of Stripe, or any combination thereof. """ pre_payment_amount: int """ The amount of the credit note by which the invoice's `amount_remaining` and `amount_due` were reduced. """ pretax_credit_amounts: List[PretaxCreditAmount] """ The pretax credit amounts (ex: discount, credit grants, etc) for all line items. """ reason: Optional[ Literal[ "duplicate", "fraudulent", "order_change", "product_unsatisfactory" ] ] """ Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory` """ refunds: List[Refund] """ Refunds related to this credit note. """ shipping_cost: Optional[ShippingCost] """ The details of the cost of shipping, including the ShippingRate applied to the invoice. """ status: Literal["issued", "void"] """ Status of this credit note, one of `issued` or `void`. Learn more about [voiding credit notes](https://stripe.com/docs/billing/invoices/credit-notes#voiding). """ subtotal: int """ The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding exclusive tax and invoice level discounts. """ subtotal_excluding_tax: Optional[int] """ The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding all tax and invoice level discounts. """ total: int """ The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax and all discount. """ total_excluding_tax: Optional[int] """ The integer amount in cents (or local equivalent) representing the total amount of the credit note, excluding tax, but including discounts. """ total_taxes: Optional[List[TotalTax]] """ The aggregate tax information for all line items. """ type: Literal["mixed", "post_payment", "pre_payment"] """ Type of this credit note, one of `pre_payment` or `post_payment`. A `pre_payment` credit note means it was issued when the invoice was open. A `post_payment` credit note means it was issued when the invoice was paid. """ voided_at: Optional[int] """ The time that the credit note was voided. """ @classmethod def create( cls, **params: Unpack["CreditNoteCreateParams"] ) -> "CreditNote": """ Issue a credit note to adjust the amount of a finalized invoice. A credit note will first reduce the invoice's amount_remaining (and amount_due), but not below zero. This amount is indicated by the credit note's pre_payment_amount. The excess amount is indicated by post_payment_amount, and it can result in any combination of the following: Refunds: create a new refund (using refund_amount) or link existing refunds (using refunds). Customer balance credit: credit the customer's balance (using credit_amount) which will be automatically applied to their next invoice when it's finalized. Outside of Stripe credit: record the amount that is or will be credited outside of Stripe (using out_of_band_amount). The sum of refunds, customer balance credits, and outside of Stripe credits must equal the post_payment_amount. You may issue multiple credit notes for an invoice. Each credit note may increment the invoice's pre_payment_credit_notes_amount, post_payment_credit_notes_amount, or both, depending on the invoice's amount_remaining at the time of credit note creation. """ return cast( "CreditNote", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["CreditNoteCreateParams"] ) -> "CreditNote": """ Issue a credit note to adjust the amount of a finalized invoice. A credit note will first reduce the invoice's amount_remaining (and amount_due), but not below zero. This amount is indicated by the credit note's pre_payment_amount. The excess amount is indicated by post_payment_amount, and it can result in any combination of the following: Refunds: create a new refund (using refund_amount) or link existing refunds (using refunds). Customer balance credit: credit the customer's balance (using credit_amount) which will be automatically applied to their next invoice when it's finalized. Outside of Stripe credit: record the amount that is or will be credited outside of Stripe (using out_of_band_amount). The sum of refunds, customer balance credits, and outside of Stripe credits must equal the post_payment_amount. You may issue multiple credit notes for an invoice. Each credit note may increment the invoice's pre_payment_credit_notes_amount, post_payment_credit_notes_amount, or both, depending on the invoice's amount_remaining at the time of credit note creation. """ return cast( "CreditNote", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["CreditNoteListParams"] ) -> ListObject["CreditNote"]: """ Returns a list of credit notes. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["CreditNoteListParams"] ) -> ListObject["CreditNote"]: """ Returns a list of credit notes. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["CreditNoteModifyParams"] ) -> "CreditNote": """ Updates an existing credit note. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "CreditNote", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["CreditNoteModifyParams"] ) -> "CreditNote": """ Updates an existing credit note. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "CreditNote", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def preview( cls, **params: Unpack["CreditNotePreviewParams"] ) -> "CreditNote": """ Get a preview of a credit note without creating it. """ return cast( "CreditNote", cls._static_request( "get", "/v1/credit_notes/preview", params=params, ), ) @classmethod async def preview_async( cls, **params: Unpack["CreditNotePreviewParams"] ) -> "CreditNote": """ Get a preview of a credit note without creating it. """ return cast( "CreditNote", await cls._static_request_async( "get", "/v1/credit_notes/preview", params=params, ), ) @classmethod def preview_lines( cls, **params: Unpack["CreditNotePreviewLinesParams"] ) -> ListObject["CreditNoteLineItem"]: """ When retrieving a credit note preview, you'll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items. """ return cast( ListObject["CreditNoteLineItem"], cls._static_request( "get", "/v1/credit_notes/preview/lines", params=params, ), ) @classmethod async def preview_lines_async( cls, **params: Unpack["CreditNotePreviewLinesParams"] ) -> ListObject["CreditNoteLineItem"]: """ When retrieving a credit note preview, you'll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items. """ return cast( ListObject["CreditNoteLineItem"], await cls._static_request_async( "get", "/v1/credit_notes/preview/lines", params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["CreditNoteRetrieveParams"] ) -> "CreditNote": """ Retrieves the credit note object with the given identifier. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["CreditNoteRetrieveParams"] ) -> "CreditNote": """ Retrieves the credit note object with the given identifier. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def _cls_void_credit_note( cls, id: str, **params: Unpack["CreditNoteVoidCreditNoteParams"] ) -> "CreditNote": """ Marks a credit note as void. Learn more about [voiding credit notes](https://docs.stripe.com/docs/billing/invoices/credit-notes#voiding). """ return cast( "CreditNote", cls._static_request( "post", "/v1/credit_notes/{id}/void".format(id=sanitize_id(id)), params=params, ), ) @overload @staticmethod def void_credit_note( id: str, **params: Unpack["CreditNoteVoidCreditNoteParams"] ) -> "CreditNote": """ Marks a credit note as void. Learn more about [voiding credit notes](https://docs.stripe.com/docs/billing/invoices/credit-notes#voiding). """ ... @overload def void_credit_note( self, **params: Unpack["CreditNoteVoidCreditNoteParams"] ) -> "CreditNote": """ Marks a credit note as void. Learn more about [voiding credit notes](https://docs.stripe.com/docs/billing/invoices/credit-notes#voiding). """ ... @class_method_variant("_cls_void_credit_note") def void_credit_note( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CreditNoteVoidCreditNoteParams"] ) -> "CreditNote": """ Marks a credit note as void. Learn more about [voiding credit notes](https://docs.stripe.com/docs/billing/invoices/credit-notes#voiding). """ return cast( "CreditNote", self._request( "post", "/v1/credit_notes/{id}/void".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_void_credit_note_async( cls, id: str, **params: Unpack["CreditNoteVoidCreditNoteParams"] ) -> "CreditNote": """ Marks a credit note as void. Learn more about [voiding credit notes](https://docs.stripe.com/docs/billing/invoices/credit-notes#voiding). """ return cast( "CreditNote", await cls._static_request_async( "post", "/v1/credit_notes/{id}/void".format(id=sanitize_id(id)), params=params, ), ) @overload @staticmethod async def void_credit_note_async( id: str, **params: Unpack["CreditNoteVoidCreditNoteParams"] ) -> "CreditNote": """ Marks a credit note as void. Learn more about [voiding credit notes](https://docs.stripe.com/docs/billing/invoices/credit-notes#voiding). """ ... @overload async def void_credit_note_async( self, **params: Unpack["CreditNoteVoidCreditNoteParams"] ) -> "CreditNote": """ Marks a credit note as void. Learn more about [voiding credit notes](https://docs.stripe.com/docs/billing/invoices/credit-notes#voiding). """ ... @class_method_variant("_cls_void_credit_note_async") async def void_credit_note_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CreditNoteVoidCreditNoteParams"] ) -> "CreditNote": """ Marks a credit note as void. Learn more about [voiding credit notes](https://docs.stripe.com/docs/billing/invoices/credit-notes#voiding). """ return cast( "CreditNote", await self._request_async( "post", "/v1/credit_notes/{id}/void".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list_lines( cls, credit_note: str, **params: Unpack["CreditNoteListLinesParams"] ) -> ListObject["CreditNoteLineItem"]: """ When retrieving a credit note, you'll get a lines property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["CreditNoteLineItem"], cls._static_request( "get", "/v1/credit_notes/{credit_note}/lines".format( credit_note=sanitize_id(credit_note) ), params=params, ), ) @classmethod async def list_lines_async( cls, credit_note: str, **params: Unpack["CreditNoteListLinesParams"] ) -> ListObject["CreditNoteLineItem"]: """ When retrieving a credit note, you'll get a lines property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["CreditNoteLineItem"], await cls._static_request_async( "get", "/v1/credit_notes/{credit_note}/lines".format( credit_note=sanitize_id(credit_note) ), params=params, ), ) _inner_class_types = { "discount_amounts": DiscountAmount, "pretax_credit_amounts": PretaxCreditAmount, "refunds": Refund, "shipping_cost": ShippingCost, "total_taxes": TotalTax, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.322062 stripe-13.2.0/stripe/_credit_note_line_item.py0000644000000000000000000001246115102753431016401 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._stripe_object import StripeObject from typing import ClassVar, List, Optional from typing_extensions import Literal, TYPE_CHECKING if TYPE_CHECKING: from stripe._discount import Discount from stripe._tax_rate import TaxRate from stripe.billing._credit_balance_transaction import ( CreditBalanceTransaction, ) class CreditNoteLineItem(StripeObject): """ The credit note line item object """ OBJECT_NAME: ClassVar[Literal["credit_note_line_item"]] = ( "credit_note_line_item" ) class DiscountAmount(StripeObject): amount: int """ The amount, in cents (or local equivalent), of the discount. """ discount: ExpandableField["Discount"] """ The discount that was applied to get this discount amount. """ class PretaxCreditAmount(StripeObject): amount: int """ The amount, in cents (or local equivalent), of the pretax credit amount. """ credit_balance_transaction: Optional[ ExpandableField["CreditBalanceTransaction"] ] """ The credit balance transaction that was applied to get this pretax credit amount. """ discount: Optional[ExpandableField["Discount"]] """ The discount that was applied to get this pretax credit amount. """ type: Literal["credit_balance_transaction", "discount"] """ Type of the pretax credit amount referenced. """ class Tax(StripeObject): class TaxRateDetails(StripeObject): tax_rate: str amount: int """ The amount of the tax, in cents (or local equivalent). """ tax_behavior: Literal["exclusive", "inclusive"] """ Whether this tax is inclusive or exclusive. """ tax_rate_details: Optional[TaxRateDetails] """ Additional details about the tax rate. Only present when `type` is `tax_rate_details`. """ taxability_reason: Literal[ "customer_exempt", "not_available", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] """ The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. """ taxable_amount: Optional[int] """ The amount on which tax is calculated, in cents (or local equivalent). """ type: Literal["tax_rate_details"] """ The type of tax information. """ _inner_class_types = {"tax_rate_details": TaxRateDetails} amount: int """ The integer amount in cents (or local equivalent) representing the gross amount being credited for this line item, excluding (exclusive) tax and discounts. """ description: Optional[str] """ Description of the item being credited. """ discount_amount: int """ The integer amount in cents (or local equivalent) representing the discount being credited for this line item. """ discount_amounts: List[DiscountAmount] """ The amount of discount calculated per discount for this line item """ id: str """ Unique identifier for the object. """ invoice_line_item: Optional[str] """ ID of the invoice line item being credited """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["credit_note_line_item"] """ String representing the object's type. Objects of the same type share the same value. """ pretax_credit_amounts: List[PretaxCreditAmount] """ The pretax credit amounts (ex: discount, credit grants, etc) for this line item. """ quantity: Optional[int] """ The number of units of product being credited. """ tax_rates: List["TaxRate"] """ The tax rates which apply to the line item. """ taxes: Optional[List[Tax]] """ The tax information of the line item. """ type: Literal["custom_line_item", "invoice_line_item"] """ The type of the credit note line item, one of `invoice_line_item` or `custom_line_item`. When the type is `invoice_line_item` there is an additional `invoice_line_item` property on the resource the value of which is the id of the credited line item on the invoice. """ unit_amount: Optional[int] """ The cost of each unit of product being credited. """ unit_amount_decimal: Optional[str] """ Same as `unit_amount`, but contains a decimal value with at most 12 decimal places. """ _inner_class_types = { "discount_amounts": DiscountAmount, "pretax_credit_amounts": PretaxCreditAmount, "taxes": Tax, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.322062 stripe-13.2.0/stripe/_credit_note_line_item_service.py0000644000000000000000000000426715102753431020126 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._credit_note_line_item import CreditNoteLineItem from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._credit_note_line_item_list_params import ( CreditNoteLineItemListParams, ) class CreditNoteLineItemService(StripeService): def list( self, credit_note: str, params: Optional["CreditNoteLineItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[CreditNoteLineItem]": """ When retrieving a credit note, you'll get a lines property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( "ListObject[CreditNoteLineItem]", self._request( "get", "/v1/credit_notes/{credit_note}/lines".format( credit_note=sanitize_id(credit_note), ), base_address="api", params=params, options=options, ), ) async def list_async( self, credit_note: str, params: Optional["CreditNoteLineItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[CreditNoteLineItem]": """ When retrieving a credit note, you'll get a lines property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( "ListObject[CreditNoteLineItem]", await self._request_async( "get", "/v1/credit_notes/{credit_note}/lines".format( credit_note=sanitize_id(credit_note), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.322062 stripe-13.2.0/stripe/_credit_note_preview_lines_service.py0000644000000000000000000000361215102753431021025 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._credit_note_line_item import CreditNoteLineItem from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._credit_note_preview_lines_list_params import ( CreditNotePreviewLinesListParams, ) class CreditNotePreviewLinesService(StripeService): def list( self, params: "CreditNotePreviewLinesListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[CreditNoteLineItem]": """ When retrieving a credit note preview, you'll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items. """ return cast( "ListObject[CreditNoteLineItem]", self._request( "get", "/v1/credit_notes/preview/lines", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "CreditNotePreviewLinesListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[CreditNoteLineItem]": """ When retrieving a credit note preview, you'll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items. """ return cast( "ListObject[CreditNoteLineItem]", await self._request_async( "get", "/v1/credit_notes/preview/lines", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.322062 stripe-13.2.0/stripe/_credit_note_service.py0000644000000000000000000002526415102753431016101 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._credit_note import CreditNote from stripe._credit_note_line_item_service import CreditNoteLineItemService from stripe._credit_note_preview_lines_service import ( CreditNotePreviewLinesService, ) from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._credit_note_create_params import CreditNoteCreateParams from stripe.params._credit_note_list_params import CreditNoteListParams from stripe.params._credit_note_preview_params import ( CreditNotePreviewParams, ) from stripe.params._credit_note_retrieve_params import ( CreditNoteRetrieveParams, ) from stripe.params._credit_note_update_params import CreditNoteUpdateParams from stripe.params._credit_note_void_credit_note_params import ( CreditNoteVoidCreditNoteParams, ) _subservices = { "line_items": [ "stripe._credit_note_line_item_service", "CreditNoteLineItemService", ], "preview_lines": [ "stripe._credit_note_preview_lines_service", "CreditNotePreviewLinesService", ], } class CreditNoteService(StripeService): line_items: "CreditNoteLineItemService" preview_lines: "CreditNotePreviewLinesService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def list( self, params: Optional["CreditNoteListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[CreditNote]": """ Returns a list of credit notes. """ return cast( "ListObject[CreditNote]", self._request( "get", "/v1/credit_notes", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["CreditNoteListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[CreditNote]": """ Returns a list of credit notes. """ return cast( "ListObject[CreditNote]", await self._request_async( "get", "/v1/credit_notes", base_address="api", params=params, options=options, ), ) def create( self, params: "CreditNoteCreateParams", options: Optional["RequestOptions"] = None, ) -> "CreditNote": """ Issue a credit note to adjust the amount of a finalized invoice. A credit note will first reduce the invoice's amount_remaining (and amount_due), but not below zero. This amount is indicated by the credit note's pre_payment_amount. The excess amount is indicated by post_payment_amount, and it can result in any combination of the following: Refunds: create a new refund (using refund_amount) or link existing refunds (using refunds). Customer balance credit: credit the customer's balance (using credit_amount) which will be automatically applied to their next invoice when it's finalized. Outside of Stripe credit: record the amount that is or will be credited outside of Stripe (using out_of_band_amount). The sum of refunds, customer balance credits, and outside of Stripe credits must equal the post_payment_amount. You may issue multiple credit notes for an invoice. Each credit note may increment the invoice's pre_payment_credit_notes_amount, post_payment_credit_notes_amount, or both, depending on the invoice's amount_remaining at the time of credit note creation. """ return cast( "CreditNote", self._request( "post", "/v1/credit_notes", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "CreditNoteCreateParams", options: Optional["RequestOptions"] = None, ) -> "CreditNote": """ Issue a credit note to adjust the amount of a finalized invoice. A credit note will first reduce the invoice's amount_remaining (and amount_due), but not below zero. This amount is indicated by the credit note's pre_payment_amount. The excess amount is indicated by post_payment_amount, and it can result in any combination of the following: Refunds: create a new refund (using refund_amount) or link existing refunds (using refunds). Customer balance credit: credit the customer's balance (using credit_amount) which will be automatically applied to their next invoice when it's finalized. Outside of Stripe credit: record the amount that is or will be credited outside of Stripe (using out_of_band_amount). The sum of refunds, customer balance credits, and outside of Stripe credits must equal the post_payment_amount. You may issue multiple credit notes for an invoice. Each credit note may increment the invoice's pre_payment_credit_notes_amount, post_payment_credit_notes_amount, or both, depending on the invoice's amount_remaining at the time of credit note creation. """ return cast( "CreditNote", await self._request_async( "post", "/v1/credit_notes", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["CreditNoteRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditNote": """ Retrieves the credit note object with the given identifier. """ return cast( "CreditNote", self._request( "get", "/v1/credit_notes/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["CreditNoteRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditNote": """ Retrieves the credit note object with the given identifier. """ return cast( "CreditNote", await self._request_async( "get", "/v1/credit_notes/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def update( self, id: str, params: Optional["CreditNoteUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditNote": """ Updates an existing credit note. """ return cast( "CreditNote", self._request( "post", "/v1/credit_notes/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def update_async( self, id: str, params: Optional["CreditNoteUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditNote": """ Updates an existing credit note. """ return cast( "CreditNote", await self._request_async( "post", "/v1/credit_notes/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def preview( self, params: "CreditNotePreviewParams", options: Optional["RequestOptions"] = None, ) -> "CreditNote": """ Get a preview of a credit note without creating it. """ return cast( "CreditNote", self._request( "get", "/v1/credit_notes/preview", base_address="api", params=params, options=options, ), ) async def preview_async( self, params: "CreditNotePreviewParams", options: Optional["RequestOptions"] = None, ) -> "CreditNote": """ Get a preview of a credit note without creating it. """ return cast( "CreditNote", await self._request_async( "get", "/v1/credit_notes/preview", base_address="api", params=params, options=options, ), ) def void_credit_note( self, id: str, params: Optional["CreditNoteVoidCreditNoteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditNote": """ Marks a credit note as void. Learn more about [voiding credit notes](https://docs.stripe.com/docs/billing/invoices/credit-notes#voiding). """ return cast( "CreditNote", self._request( "post", "/v1/credit_notes/{id}/void".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def void_credit_note_async( self, id: str, params: Optional["CreditNoteVoidCreditNoteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditNote": """ Marks a credit note as void. Learn more about [voiding credit notes](https://docs.stripe.com/docs/billing/invoices/credit-notes#voiding). """ return cast( "CreditNote", await self._request_async( "post", "/v1/credit_notes/{id}/void".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.322062 stripe-13.2.0/stripe/_custom_method.py0000644000000000000000000000475115102753431014732 0ustar00from typing import Optional from stripe import _util from urllib.parse import quote_plus # TODO(major): 1704. @_util.deprecated( "the custom_method class decorator will be removed in a future version of stripe-python. Define custom methods directly and use StripeObject._static_request within." ) def custom_method( name: str, http_verb: str, http_path: Optional[str] = None, is_streaming=False, ): if http_verb not in ["get", "post", "delete"]: raise ValueError( "Invalid http_verb: %s. Must be one of 'get', 'post' or 'delete'" % http_verb ) if http_path is None: http_path = name def wrapper(cls): def custom_method_request(cls, sid, **params): url = "%s/%s/%s" % ( cls.class_url(), quote_plus(sid), http_path, ) obj = cls._static_request(http_verb, url, params=params) # For list objects, we have to attach the parameters so that they # can be referenced in auto-pagination and ensure consistency. if "object" in obj and obj.object == "list": obj._retrieve_params = params return obj def custom_method_request_stream(cls, sid, **params): url = "%s/%s/%s" % ( cls.class_url(), quote_plus(sid), http_path, ) return cls._static_request_stream(http_verb, url, params=params) if is_streaming: class_method_impl = classmethod(custom_method_request_stream) else: class_method_impl = classmethod(custom_method_request) existing_method = getattr(cls, name, None) if existing_method is None: setattr(cls, name, class_method_impl) else: # If a method with the same name we want to use already exists on # the class, we assume it's an instance method. In this case, the # new class method is prefixed with `_cls_`, and the original # instance method is decorated with `util.class_method_variant` so # that the new class method is called when the original method is # called as a class method. setattr(cls, "_cls_" + name, class_method_impl) instance_method = _util.class_method_variant("_cls_" + name)( existing_method ) setattr(cls, name, instance_method) return cls return wrapper ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.322062 stripe-13.2.0/stripe/_customer.py0000644000000000000000000021260115102753431013714 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._nested_resource_class_methods import nested_resource_class_methods from stripe._search_result_object import SearchResultObject from stripe._searchable_api_resource import SearchableAPIResource from stripe._stripe_object import StripeObject from stripe._test_helpers import APIResourceTestHelpers from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ( AsyncIterator, ClassVar, Dict, Iterator, List, Optional, Union, cast, overload, ) from typing_extensions import Literal, Type, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._bank_account import BankAccount from stripe._card import Card from stripe._cash_balance import CashBalance from stripe._customer_balance_transaction import CustomerBalanceTransaction from stripe._customer_cash_balance_transaction import ( CustomerCashBalanceTransaction, ) from stripe._discount import Discount from stripe._funding_instructions import FundingInstructions from stripe._payment_method import PaymentMethod from stripe._source import Source from stripe._subscription import Subscription from stripe._tax_id import TaxId from stripe.params._customer_create_balance_transaction_params import ( CustomerCreateBalanceTransactionParams, ) from stripe.params._customer_create_funding_instructions_params import ( CustomerCreateFundingInstructionsParams, ) from stripe.params._customer_create_params import CustomerCreateParams from stripe.params._customer_create_source_params import ( CustomerCreateSourceParams, ) from stripe.params._customer_create_tax_id_params import ( CustomerCreateTaxIdParams, ) from stripe.params._customer_delete_discount_params import ( CustomerDeleteDiscountParams, ) from stripe.params._customer_delete_params import CustomerDeleteParams from stripe.params._customer_delete_source_params import ( CustomerDeleteSourceParams, ) from stripe.params._customer_delete_tax_id_params import ( CustomerDeleteTaxIdParams, ) from stripe.params._customer_fund_cash_balance_params import ( CustomerFundCashBalanceParams, ) from stripe.params._customer_list_balance_transactions_params import ( CustomerListBalanceTransactionsParams, ) from stripe.params._customer_list_cash_balance_transactions_params import ( CustomerListCashBalanceTransactionsParams, ) from stripe.params._customer_list_params import CustomerListParams from stripe.params._customer_list_payment_methods_params import ( CustomerListPaymentMethodsParams, ) from stripe.params._customer_list_sources_params import ( CustomerListSourcesParams, ) from stripe.params._customer_list_tax_ids_params import ( CustomerListTaxIdsParams, ) from stripe.params._customer_modify_balance_transaction_params import ( CustomerModifyBalanceTransactionParams, ) from stripe.params._customer_modify_cash_balance_params import ( CustomerModifyCashBalanceParams, ) from stripe.params._customer_modify_params import CustomerModifyParams from stripe.params._customer_modify_source_params import ( CustomerModifySourceParams, ) from stripe.params._customer_retrieve_balance_transaction_params import ( CustomerRetrieveBalanceTransactionParams, ) from stripe.params._customer_retrieve_cash_balance_params import ( CustomerRetrieveCashBalanceParams, ) from stripe.params._customer_retrieve_cash_balance_transaction_params import ( CustomerRetrieveCashBalanceTransactionParams, ) from stripe.params._customer_retrieve_params import CustomerRetrieveParams from stripe.params._customer_retrieve_payment_method_params import ( CustomerRetrievePaymentMethodParams, ) from stripe.params._customer_retrieve_source_params import ( CustomerRetrieveSourceParams, ) from stripe.params._customer_retrieve_tax_id_params import ( CustomerRetrieveTaxIdParams, ) from stripe.params._customer_search_params import CustomerSearchParams from stripe.test_helpers._test_clock import TestClock @nested_resource_class_methods("balance_transaction") @nested_resource_class_methods("cash_balance_transaction") @nested_resource_class_methods("source") @nested_resource_class_methods("tax_id") class Customer( CreateableAPIResource["Customer"], DeletableAPIResource["Customer"], ListableAPIResource["Customer"], SearchableAPIResource["Customer"], UpdateableAPIResource["Customer"], ): """ This object represents a customer of your business. Use it to [create recurring charges](https://stripe.com/docs/invoicing/customer), [save payment](https://stripe.com/docs/payments/save-during-payment) and contact information, and track payments that belong to the same customer. """ OBJECT_NAME: ClassVar[Literal["customer"]] = "customer" class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class InvoiceSettings(StripeObject): class CustomField(StripeObject): name: str """ The name of the custom field. """ value: str """ The value of the custom field. """ class RenderingOptions(StripeObject): amount_tax_display: Optional[str] """ How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. """ template: Optional[str] """ ID of the invoice rendering template to be used for this customer's invoices. If set, the template will be used on all invoices for this customer unless a template is set directly on the invoice. """ custom_fields: Optional[List[CustomField]] """ Default custom fields to be displayed on invoices for this customer. """ default_payment_method: Optional[ExpandableField["PaymentMethod"]] """ ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices. """ footer: Optional[str] """ Default footer to be displayed on invoices for this customer. """ rendering_options: Optional[RenderingOptions] """ Default options for invoice PDF rendering for this customer. """ _inner_class_types = { "custom_fields": CustomField, "rendering_options": RenderingOptions, } class Shipping(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Optional[Address] carrier: Optional[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: Optional[str] """ Recipient name. """ phone: Optional[str] """ Recipient phone (including extension). """ tracking_number: Optional[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ _inner_class_types = {"address": Address} class Tax(StripeObject): class Location(StripeObject): country: str """ The identified tax country of the customer. """ source: Literal[ "billing_address", "ip_address", "payment_method", "shipping_destination", ] """ The data source used to infer the customer's location. """ state: Optional[str] """ The identified tax state, county, province, or region of the customer. """ automatic_tax: Literal[ "failed", "not_collecting", "supported", "unrecognized_location" ] """ Surfaces if automatic tax computation is possible given the current customer location information. """ ip_address: Optional[str] """ A recent IP address of the customer used for tax reporting and tax location inference. """ location: Optional[Location] """ The identified tax location of the customer. """ provider: Literal["anrok", "avalara", "sphere", "stripe"] """ The tax calculation provider used for location resolution. Defaults to `stripe` when not using a [third-party provider](https://docs.stripe.com/tax/third-party-apps). """ _inner_class_types = {"location": Location} address: Optional[Address] """ The customer's address. """ balance: Optional[int] """ The current balance, if any, that's stored on the customer in their default currency. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that's added to their next invoice. The balance only considers amounts that Stripe hasn't successfully applied to any invoice. It doesn't reflect unpaid invoices. This balance is only taken into account after invoices finalize. For multi-currency balances, see [invoice_credit_balance](https://stripe.com/docs/api/customers/object#customer_object-invoice_credit_balance). """ business_name: Optional[str] """ The customer's business name. """ cash_balance: Optional["CashBalance"] """ The current funds being held by Stripe on behalf of the customer. You can apply these funds towards payment intents when the source is "cash_balance". The `settings[reconciliation_mode]` field describes if these funds apply to these payment intents manually or automatically. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: Optional[str] """ Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) the customer can be charged in for recurring billing purposes. """ default_source: Optional[ ExpandableField[Union["Account", "BankAccount", "Card", "Source"]] ] """ ID of the default payment source for the customer. If you use payment methods created through the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) field instead. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ delinquent: Optional[bool] """ Tracks the most recent state change on any invoice belonging to the customer. Paying an invoice or marking it uncollectible via the API will set this field to false. An automatic payment failure or passing the `invoice.due_date` will set this field to `true`. If an invoice becomes uncollectible by [dunning](https://stripe.com/docs/billing/automatic-collection), `delinquent` doesn't reset to `false`. If you care whether the customer has paid their most recent subscription invoice, use `subscription.status` instead. Paying or marking uncollectible any customer invoice regardless of whether it is the latest invoice for a subscription will always set this field to `false`. """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ discount: Optional["Discount"] """ Describes the current discount active on the customer, if there is one. """ email: Optional[str] """ The customer's email address. """ id: str """ Unique identifier for the object. """ individual_name: Optional[str] """ The customer's individual name. """ invoice_credit_balance: Optional[Dict[str, int]] """ The current multi-currency balances, if any, that's stored on the customer. If positive in a currency, the customer has a credit to apply to their next invoice denominated in that currency. If negative, the customer has an amount owed that's added to their next invoice denominated in that currency. These balances don't apply to unpaid invoices. They solely track amounts that Stripe hasn't successfully applied to any invoice. Stripe only applies a balance in a specific currency to an invoice after that invoice (which is in the same currency) finalizes. """ invoice_prefix: Optional[str] """ The prefix for the customer used to generate unique invoice numbers. """ invoice_settings: Optional[InvoiceSettings] livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ name: Optional[str] """ The customer's full name or business name. """ next_invoice_sequence: Optional[int] """ The suffix of the customer's next invoice number (for example, 0001). When the account uses account level sequencing, this parameter is ignored in API requests and the field omitted in API responses. """ object: Literal["customer"] """ String representing the object's type. Objects of the same type share the same value. """ phone: Optional[str] """ The customer's phone number. """ preferred_locales: Optional[List[str]] """ The customer's preferred locales (languages), ordered by preference. """ shipping: Optional[Shipping] """ Mailing and shipping address for the customer. Appears on invoices emailed to this customer. """ sources: Optional[ ListObject[Union["Account", "BankAccount", "Card", "Source"]] ] """ The customer's payment sources, if any. """ subscriptions: Optional[ListObject["Subscription"]] """ The customer's current subscriptions, if any. """ tax: Optional[Tax] tax_exempt: Optional[Literal["exempt", "none", "reverse"]] """ Describes the customer's tax exemption status, which is `none`, `exempt`, or `reverse`. When set to `reverse`, invoice and receipt PDFs include the following text: **"Reverse charge"**. """ tax_ids: Optional[ListObject["TaxId"]] """ The customer's tax IDs. """ test_clock: Optional[ExpandableField["TestClock"]] """ ID of the test clock that this customer belongs to. """ @classmethod def create(cls, **params: Unpack["CustomerCreateParams"]) -> "Customer": """ Creates a new customer object. """ return cast( "Customer", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["CustomerCreateParams"] ) -> "Customer": """ Creates a new customer object. """ return cast( "Customer", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_create_funding_instructions( cls, customer: str, **params: Unpack["CustomerCreateFundingInstructionsParams"], ) -> "FundingInstructions": """ Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new funding instructions will be created. If funding instructions have already been created for a given customer, the same funding instructions will be retrieved. In other words, we will return the same funding instructions each time. """ return cast( "FundingInstructions", cls._static_request( "post", "/v1/customers/{customer}/funding_instructions".format( customer=sanitize_id(customer) ), params=params, ), ) @overload @staticmethod def create_funding_instructions( customer: str, **params: Unpack["CustomerCreateFundingInstructionsParams"], ) -> "FundingInstructions": """ Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new funding instructions will be created. If funding instructions have already been created for a given customer, the same funding instructions will be retrieved. In other words, we will return the same funding instructions each time. """ ... @overload def create_funding_instructions( self, **params: Unpack["CustomerCreateFundingInstructionsParams"] ) -> "FundingInstructions": """ Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new funding instructions will be created. If funding instructions have already been created for a given customer, the same funding instructions will be retrieved. In other words, we will return the same funding instructions each time. """ ... @class_method_variant("_cls_create_funding_instructions") def create_funding_instructions( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CustomerCreateFundingInstructionsParams"] ) -> "FundingInstructions": """ Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new funding instructions will be created. If funding instructions have already been created for a given customer, the same funding instructions will be retrieved. In other words, we will return the same funding instructions each time. """ return cast( "FundingInstructions", self._request( "post", "/v1/customers/{customer}/funding_instructions".format( customer=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_create_funding_instructions_async( cls, customer: str, **params: Unpack["CustomerCreateFundingInstructionsParams"], ) -> "FundingInstructions": """ Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new funding instructions will be created. If funding instructions have already been created for a given customer, the same funding instructions will be retrieved. In other words, we will return the same funding instructions each time. """ return cast( "FundingInstructions", await cls._static_request_async( "post", "/v1/customers/{customer}/funding_instructions".format( customer=sanitize_id(customer) ), params=params, ), ) @overload @staticmethod async def create_funding_instructions_async( customer: str, **params: Unpack["CustomerCreateFundingInstructionsParams"], ) -> "FundingInstructions": """ Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new funding instructions will be created. If funding instructions have already been created for a given customer, the same funding instructions will be retrieved. In other words, we will return the same funding instructions each time. """ ... @overload async def create_funding_instructions_async( self, **params: Unpack["CustomerCreateFundingInstructionsParams"] ) -> "FundingInstructions": """ Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new funding instructions will be created. If funding instructions have already been created for a given customer, the same funding instructions will be retrieved. In other words, we will return the same funding instructions each time. """ ... @class_method_variant("_cls_create_funding_instructions_async") async def create_funding_instructions_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CustomerCreateFundingInstructionsParams"] ) -> "FundingInstructions": """ Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new funding instructions will be created. If funding instructions have already been created for a given customer, the same funding instructions will be retrieved. In other words, we will return the same funding instructions each time. """ return cast( "FundingInstructions", await self._request_async( "post", "/v1/customers/{customer}/funding_instructions".format( customer=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["CustomerDeleteParams"] ) -> "Customer": """ Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Customer", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete( sid: str, **params: Unpack["CustomerDeleteParams"] ) -> "Customer": """ Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer. """ ... @overload def delete(self, **params: Unpack["CustomerDeleteParams"]) -> "Customer": """ Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CustomerDeleteParams"] ) -> "Customer": """ Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["CustomerDeleteParams"] ) -> "Customer": """ Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Customer", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["CustomerDeleteParams"] ) -> "Customer": """ Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer. """ ... @overload async def delete_async( self, **params: Unpack["CustomerDeleteParams"] ) -> "Customer": """ Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CustomerDeleteParams"] ) -> "Customer": """ Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def _cls_delete_discount( cls, customer: str, **params: Unpack["CustomerDeleteDiscountParams"] ) -> "Discount": """ Removes the currently applied discount on a customer. """ return cast( "Discount", cls._static_request( "delete", "/v1/customers/{customer}/discount".format( customer=sanitize_id(customer) ), params=params, ), ) @overload @staticmethod def delete_discount( customer: str, **params: Unpack["CustomerDeleteDiscountParams"] ) -> "Discount": """ Removes the currently applied discount on a customer. """ ... @overload def delete_discount( self, **params: Unpack["CustomerDeleteDiscountParams"] ) -> "Discount": """ Removes the currently applied discount on a customer. """ ... @class_method_variant("_cls_delete_discount") def delete_discount( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CustomerDeleteDiscountParams"] ) -> "Discount": """ Removes the currently applied discount on a customer. """ return cast( "Discount", self._request( "delete", "/v1/customers/{customer}/discount".format( customer=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_delete_discount_async( cls, customer: str, **params: Unpack["CustomerDeleteDiscountParams"] ) -> "Discount": """ Removes the currently applied discount on a customer. """ return cast( "Discount", await cls._static_request_async( "delete", "/v1/customers/{customer}/discount".format( customer=sanitize_id(customer) ), params=params, ), ) @overload @staticmethod async def delete_discount_async( customer: str, **params: Unpack["CustomerDeleteDiscountParams"] ) -> "Discount": """ Removes the currently applied discount on a customer. """ ... @overload async def delete_discount_async( self, **params: Unpack["CustomerDeleteDiscountParams"] ) -> "Discount": """ Removes the currently applied discount on a customer. """ ... @class_method_variant("_cls_delete_discount_async") async def delete_discount_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CustomerDeleteDiscountParams"] ) -> "Discount": """ Removes the currently applied discount on a customer. """ return cast( "Discount", await self._request_async( "delete", "/v1/customers/{customer}/discount".format( customer=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list( cls, **params: Unpack["CustomerListParams"] ) -> ListObject["Customer"]: """ Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["CustomerListParams"] ) -> ListObject["Customer"]: """ Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def _cls_list_payment_methods( cls, customer: str, **params: Unpack["CustomerListPaymentMethodsParams"], ) -> ListObject["PaymentMethod"]: """ Returns a list of PaymentMethods for a given Customer """ return cast( ListObject["PaymentMethod"], cls._static_request( "get", "/v1/customers/{customer}/payment_methods".format( customer=sanitize_id(customer) ), params=params, ), ) @overload @staticmethod def list_payment_methods( customer: str, **params: Unpack["CustomerListPaymentMethodsParams"] ) -> ListObject["PaymentMethod"]: """ Returns a list of PaymentMethods for a given Customer """ ... @overload def list_payment_methods( self, **params: Unpack["CustomerListPaymentMethodsParams"] ) -> ListObject["PaymentMethod"]: """ Returns a list of PaymentMethods for a given Customer """ ... @class_method_variant("_cls_list_payment_methods") def list_payment_methods( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CustomerListPaymentMethodsParams"] ) -> ListObject["PaymentMethod"]: """ Returns a list of PaymentMethods for a given Customer """ return cast( ListObject["PaymentMethod"], self._request( "get", "/v1/customers/{customer}/payment_methods".format( customer=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_list_payment_methods_async( cls, customer: str, **params: Unpack["CustomerListPaymentMethodsParams"], ) -> ListObject["PaymentMethod"]: """ Returns a list of PaymentMethods for a given Customer """ return cast( ListObject["PaymentMethod"], await cls._static_request_async( "get", "/v1/customers/{customer}/payment_methods".format( customer=sanitize_id(customer) ), params=params, ), ) @overload @staticmethod async def list_payment_methods_async( customer: str, **params: Unpack["CustomerListPaymentMethodsParams"] ) -> ListObject["PaymentMethod"]: """ Returns a list of PaymentMethods for a given Customer """ ... @overload async def list_payment_methods_async( self, **params: Unpack["CustomerListPaymentMethodsParams"] ) -> ListObject["PaymentMethod"]: """ Returns a list of PaymentMethods for a given Customer """ ... @class_method_variant("_cls_list_payment_methods_async") async def list_payment_methods_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CustomerListPaymentMethodsParams"] ) -> ListObject["PaymentMethod"]: """ Returns a list of PaymentMethods for a given Customer """ return cast( ListObject["PaymentMethod"], await self._request_async( "get", "/v1/customers/{customer}/payment_methods".format( customer=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def modify( cls, id: str, **params: Unpack["CustomerModifyParams"] ) -> "Customer": """ Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the source parameter, that becomes the customer's active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the source parameter: for each of the customer's current subscriptions, if the subscription bills automatically and is in the past_due state, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer will not trigger this behavior. This request accepts mostly the same arguments as the customer creation call. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Customer", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["CustomerModifyParams"] ) -> "Customer": """ Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the source parameter, that becomes the customer's active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the source parameter: for each of the customer's current subscriptions, if the subscription bills automatically and is in the past_due state, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer will not trigger this behavior. This request accepts mostly the same arguments as the customer creation call. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Customer", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["CustomerRetrieveParams"] ) -> "Customer": """ Retrieves a Customer object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["CustomerRetrieveParams"] ) -> "Customer": """ Retrieves a Customer object. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def _cls_retrieve_payment_method( cls, customer: str, payment_method: str, **params: Unpack["CustomerRetrievePaymentMethodParams"], ) -> "PaymentMethod": """ Retrieves a PaymentMethod object for a given Customer. """ return cast( "PaymentMethod", cls._static_request( "get", "/v1/customers/{customer}/payment_methods/{payment_method}".format( customer=sanitize_id(customer), payment_method=sanitize_id(payment_method), ), params=params, ), ) @overload @staticmethod def retrieve_payment_method( customer: str, payment_method: str, **params: Unpack["CustomerRetrievePaymentMethodParams"], ) -> "PaymentMethod": """ Retrieves a PaymentMethod object for a given Customer. """ ... @overload def retrieve_payment_method( self, payment_method: str, **params: Unpack["CustomerRetrievePaymentMethodParams"], ) -> "PaymentMethod": """ Retrieves a PaymentMethod object for a given Customer. """ ... @class_method_variant("_cls_retrieve_payment_method") def retrieve_payment_method( # pyright: ignore[reportGeneralTypeIssues] self, payment_method: str, **params: Unpack["CustomerRetrievePaymentMethodParams"], ) -> "PaymentMethod": """ Retrieves a PaymentMethod object for a given Customer. """ return cast( "PaymentMethod", self._request( "get", "/v1/customers/{customer}/payment_methods/{payment_method}".format( customer=sanitize_id(self.get("id")), payment_method=sanitize_id(payment_method), ), params=params, ), ) @classmethod async def _cls_retrieve_payment_method_async( cls, customer: str, payment_method: str, **params: Unpack["CustomerRetrievePaymentMethodParams"], ) -> "PaymentMethod": """ Retrieves a PaymentMethod object for a given Customer. """ return cast( "PaymentMethod", await cls._static_request_async( "get", "/v1/customers/{customer}/payment_methods/{payment_method}".format( customer=sanitize_id(customer), payment_method=sanitize_id(payment_method), ), params=params, ), ) @overload @staticmethod async def retrieve_payment_method_async( customer: str, payment_method: str, **params: Unpack["CustomerRetrievePaymentMethodParams"], ) -> "PaymentMethod": """ Retrieves a PaymentMethod object for a given Customer. """ ... @overload async def retrieve_payment_method_async( self, payment_method: str, **params: Unpack["CustomerRetrievePaymentMethodParams"], ) -> "PaymentMethod": """ Retrieves a PaymentMethod object for a given Customer. """ ... @class_method_variant("_cls_retrieve_payment_method_async") async def retrieve_payment_method_async( # pyright: ignore[reportGeneralTypeIssues] self, payment_method: str, **params: Unpack["CustomerRetrievePaymentMethodParams"], ) -> "PaymentMethod": """ Retrieves a PaymentMethod object for a given Customer. """ return cast( "PaymentMethod", await self._request_async( "get", "/v1/customers/{customer}/payment_methods/{payment_method}".format( customer=sanitize_id(self.get("id")), payment_method=sanitize_id(payment_method), ), params=params, ), ) @classmethod def search( cls, *args, **kwargs: Unpack["CustomerSearchParams"] ) -> SearchResultObject["Customer"]: """ Search for customers you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cls._search(search_url="/v1/customers/search", *args, **kwargs) @classmethod async def search_async( cls, *args, **kwargs: Unpack["CustomerSearchParams"] ) -> SearchResultObject["Customer"]: """ Search for customers you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return await cls._search_async( search_url="/v1/customers/search", *args, **kwargs ) @classmethod def search_auto_paging_iter( cls, *args, **kwargs: Unpack["CustomerSearchParams"] ) -> Iterator["Customer"]: return cls.search(*args, **kwargs).auto_paging_iter() @classmethod async def search_auto_paging_iter_async( cls, *args, **kwargs: Unpack["CustomerSearchParams"] ) -> AsyncIterator["Customer"]: return (await cls.search_async(*args, **kwargs)).auto_paging_iter() @classmethod def list_balance_transactions( cls, customer: str, **params: Unpack["CustomerListBalanceTransactionsParams"], ) -> ListObject["CustomerBalanceTransaction"]: """ Returns a list of transactions that updated the customer's [balances](https://docs.stripe.com/docs/billing/customer/balance). """ return cast( ListObject["CustomerBalanceTransaction"], cls._static_request( "get", "/v1/customers/{customer}/balance_transactions".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod async def list_balance_transactions_async( cls, customer: str, **params: Unpack["CustomerListBalanceTransactionsParams"], ) -> ListObject["CustomerBalanceTransaction"]: """ Returns a list of transactions that updated the customer's [balances](https://docs.stripe.com/docs/billing/customer/balance). """ return cast( ListObject["CustomerBalanceTransaction"], await cls._static_request_async( "get", "/v1/customers/{customer}/balance_transactions".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod def create_balance_transaction( cls, customer: str, **params: Unpack["CustomerCreateBalanceTransactionParams"], ) -> "CustomerBalanceTransaction": """ Creates an immutable transaction that updates the customer's credit [balance](https://docs.stripe.com/docs/billing/customer/balance). """ return cast( "CustomerBalanceTransaction", cls._static_request( "post", "/v1/customers/{customer}/balance_transactions".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod async def create_balance_transaction_async( cls, customer: str, **params: Unpack["CustomerCreateBalanceTransactionParams"], ) -> "CustomerBalanceTransaction": """ Creates an immutable transaction that updates the customer's credit [balance](https://docs.stripe.com/docs/billing/customer/balance). """ return cast( "CustomerBalanceTransaction", await cls._static_request_async( "post", "/v1/customers/{customer}/balance_transactions".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod def retrieve_balance_transaction( cls, customer: str, transaction: str, **params: Unpack["CustomerRetrieveBalanceTransactionParams"], ) -> "CustomerBalanceTransaction": """ Retrieves a specific customer balance transaction that updated the customer's [balances](https://docs.stripe.com/docs/billing/customer/balance). """ return cast( "CustomerBalanceTransaction", cls._static_request( "get", "/v1/customers/{customer}/balance_transactions/{transaction}".format( customer=sanitize_id(customer), transaction=sanitize_id(transaction), ), params=params, ), ) @classmethod async def retrieve_balance_transaction_async( cls, customer: str, transaction: str, **params: Unpack["CustomerRetrieveBalanceTransactionParams"], ) -> "CustomerBalanceTransaction": """ Retrieves a specific customer balance transaction that updated the customer's [balances](https://docs.stripe.com/docs/billing/customer/balance). """ return cast( "CustomerBalanceTransaction", await cls._static_request_async( "get", "/v1/customers/{customer}/balance_transactions/{transaction}".format( customer=sanitize_id(customer), transaction=sanitize_id(transaction), ), params=params, ), ) @classmethod def modify_balance_transaction( cls, customer: str, transaction: str, **params: Unpack["CustomerModifyBalanceTransactionParams"], ) -> "CustomerBalanceTransaction": """ Most credit balance transaction fields are immutable, but you may update its description and metadata. """ return cast( "CustomerBalanceTransaction", cls._static_request( "post", "/v1/customers/{customer}/balance_transactions/{transaction}".format( customer=sanitize_id(customer), transaction=sanitize_id(transaction), ), params=params, ), ) @classmethod async def modify_balance_transaction_async( cls, customer: str, transaction: str, **params: Unpack["CustomerModifyBalanceTransactionParams"], ) -> "CustomerBalanceTransaction": """ Most credit balance transaction fields are immutable, but you may update its description and metadata. """ return cast( "CustomerBalanceTransaction", await cls._static_request_async( "post", "/v1/customers/{customer}/balance_transactions/{transaction}".format( customer=sanitize_id(customer), transaction=sanitize_id(transaction), ), params=params, ), ) @classmethod def list_cash_balance_transactions( cls, customer: str, **params: Unpack["CustomerListCashBalanceTransactionsParams"], ) -> ListObject["CustomerCashBalanceTransaction"]: """ Returns a list of transactions that modified the customer's [cash balance](https://docs.stripe.com/docs/payments/customer-balance). """ return cast( ListObject["CustomerCashBalanceTransaction"], cls._static_request( "get", "/v1/customers/{customer}/cash_balance_transactions".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod async def list_cash_balance_transactions_async( cls, customer: str, **params: Unpack["CustomerListCashBalanceTransactionsParams"], ) -> ListObject["CustomerCashBalanceTransaction"]: """ Returns a list of transactions that modified the customer's [cash balance](https://docs.stripe.com/docs/payments/customer-balance). """ return cast( ListObject["CustomerCashBalanceTransaction"], await cls._static_request_async( "get", "/v1/customers/{customer}/cash_balance_transactions".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod def retrieve_cash_balance_transaction( cls, customer: str, transaction: str, **params: Unpack["CustomerRetrieveCashBalanceTransactionParams"], ) -> "CustomerCashBalanceTransaction": """ Retrieves a specific cash balance transaction, which updated the customer's [cash balance](https://docs.stripe.com/docs/payments/customer-balance). """ return cast( "CustomerCashBalanceTransaction", cls._static_request( "get", "/v1/customers/{customer}/cash_balance_transactions/{transaction}".format( customer=sanitize_id(customer), transaction=sanitize_id(transaction), ), params=params, ), ) @classmethod async def retrieve_cash_balance_transaction_async( cls, customer: str, transaction: str, **params: Unpack["CustomerRetrieveCashBalanceTransactionParams"], ) -> "CustomerCashBalanceTransaction": """ Retrieves a specific cash balance transaction, which updated the customer's [cash balance](https://docs.stripe.com/docs/payments/customer-balance). """ return cast( "CustomerCashBalanceTransaction", await cls._static_request_async( "get", "/v1/customers/{customer}/cash_balance_transactions/{transaction}".format( customer=sanitize_id(customer), transaction=sanitize_id(transaction), ), params=params, ), ) @classmethod def list_sources( cls, customer: str, **params: Unpack["CustomerListSourcesParams"] ) -> ListObject[Union["Account", "BankAccount", "Card", "Source"]]: """ List sources for a specified customer. """ return cast( ListObject[Union["Account", "BankAccount", "Card", "Source"]], cls._static_request( "get", "/v1/customers/{customer}/sources".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod async def list_sources_async( cls, customer: str, **params: Unpack["CustomerListSourcesParams"] ) -> ListObject[Union["Account", "BankAccount", "Card", "Source"]]: """ List sources for a specified customer. """ return cast( ListObject[Union["Account", "BankAccount", "Card", "Source"]], await cls._static_request_async( "get", "/v1/customers/{customer}/sources".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod def create_source( cls, customer: str, **params: Unpack["CustomerCreateSourceParams"] ) -> Union["Account", "BankAccount", "Card", "Source"]: """ When you create a new credit card, you must specify a customer or recipient on which to create it. If the card's owner has no default card, then the new card will become the default. However, if the owner already has a default, then it will not change. To change the default, you should [update the customer](https://docs.stripe.com/docs/api#update_customer) to have a new default_source. """ return cast( Union["Account", "BankAccount", "Card", "Source"], cls._static_request( "post", "/v1/customers/{customer}/sources".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod async def create_source_async( cls, customer: str, **params: Unpack["CustomerCreateSourceParams"] ) -> Union["Account", "BankAccount", "Card", "Source"]: """ When you create a new credit card, you must specify a customer or recipient on which to create it. If the card's owner has no default card, then the new card will become the default. However, if the owner already has a default, then it will not change. To change the default, you should [update the customer](https://docs.stripe.com/docs/api#update_customer) to have a new default_source. """ return cast( Union["Account", "BankAccount", "Card", "Source"], await cls._static_request_async( "post", "/v1/customers/{customer}/sources".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod def retrieve_source( cls, customer: str, id: str, **params: Unpack["CustomerRetrieveSourceParams"], ) -> Union["Account", "BankAccount", "Card", "Source"]: """ Retrieve a specified source for a given customer. """ return cast( Union["Account", "BankAccount", "Card", "Source"], cls._static_request( "get", "/v1/customers/{customer}/sources/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id) ), params=params, ), ) @classmethod async def retrieve_source_async( cls, customer: str, id: str, **params: Unpack["CustomerRetrieveSourceParams"], ) -> Union["Account", "BankAccount", "Card", "Source"]: """ Retrieve a specified source for a given customer. """ return cast( Union["Account", "BankAccount", "Card", "Source"], await cls._static_request_async( "get", "/v1/customers/{customer}/sources/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id) ), params=params, ), ) @classmethod def modify_source( cls, customer: str, id: str, **params: Unpack["CustomerModifySourceParams"], ) -> Union["Account", "BankAccount", "Card", "Source"]: """ Update a specified source for a given customer. """ return cast( Union["Account", "BankAccount", "Card", "Source"], cls._static_request( "post", "/v1/customers/{customer}/sources/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id) ), params=params, ), ) @classmethod async def modify_source_async( cls, customer: str, id: str, **params: Unpack["CustomerModifySourceParams"], ) -> Union["Account", "BankAccount", "Card", "Source"]: """ Update a specified source for a given customer. """ return cast( Union["Account", "BankAccount", "Card", "Source"], await cls._static_request_async( "post", "/v1/customers/{customer}/sources/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id) ), params=params, ), ) @classmethod def delete_source( cls, customer: str, id: str, **params: Unpack["CustomerDeleteSourceParams"], ) -> Union["Account", "BankAccount", "Card", "Source"]: """ Delete a specified source for a given customer. """ return cast( Union["Account", "BankAccount", "Card", "Source"], cls._static_request( "delete", "/v1/customers/{customer}/sources/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id) ), params=params, ), ) @classmethod async def delete_source_async( cls, customer: str, id: str, **params: Unpack["CustomerDeleteSourceParams"], ) -> Union["Account", "BankAccount", "Card", "Source"]: """ Delete a specified source for a given customer. """ return cast( Union["Account", "BankAccount", "Card", "Source"], await cls._static_request_async( "delete", "/v1/customers/{customer}/sources/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id) ), params=params, ), ) @classmethod def create_tax_id( cls, customer: str, **params: Unpack["CustomerCreateTaxIdParams"] ) -> "TaxId": """ Creates a new tax_id object for a customer. """ return cast( "TaxId", cls._static_request( "post", "/v1/customers/{customer}/tax_ids".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod async def create_tax_id_async( cls, customer: str, **params: Unpack["CustomerCreateTaxIdParams"] ) -> "TaxId": """ Creates a new tax_id object for a customer. """ return cast( "TaxId", await cls._static_request_async( "post", "/v1/customers/{customer}/tax_ids".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod def retrieve_tax_id( cls, customer: str, id: str, **params: Unpack["CustomerRetrieveTaxIdParams"], ) -> "TaxId": """ Retrieves the tax_id object with the given identifier. """ return cast( "TaxId", cls._static_request( "get", "/v1/customers/{customer}/tax_ids/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id) ), params=params, ), ) @classmethod async def retrieve_tax_id_async( cls, customer: str, id: str, **params: Unpack["CustomerRetrieveTaxIdParams"], ) -> "TaxId": """ Retrieves the tax_id object with the given identifier. """ return cast( "TaxId", await cls._static_request_async( "get", "/v1/customers/{customer}/tax_ids/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id) ), params=params, ), ) @classmethod def delete_tax_id( cls, customer: str, id: str, **params: Unpack["CustomerDeleteTaxIdParams"], ) -> "TaxId": """ Deletes an existing tax_id object. """ return cast( "TaxId", cls._static_request( "delete", "/v1/customers/{customer}/tax_ids/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id) ), params=params, ), ) @classmethod async def delete_tax_id_async( cls, customer: str, id: str, **params: Unpack["CustomerDeleteTaxIdParams"], ) -> "TaxId": """ Deletes an existing tax_id object. """ return cast( "TaxId", await cls._static_request_async( "delete", "/v1/customers/{customer}/tax_ids/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id) ), params=params, ), ) @classmethod def list_tax_ids( cls, customer: str, **params: Unpack["CustomerListTaxIdsParams"] ) -> ListObject["TaxId"]: """ Returns a list of tax IDs for a customer. """ return cast( ListObject["TaxId"], cls._static_request( "get", "/v1/customers/{customer}/tax_ids".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod async def list_tax_ids_async( cls, customer: str, **params: Unpack["CustomerListTaxIdsParams"] ) -> ListObject["TaxId"]: """ Returns a list of tax IDs for a customer. """ return cast( ListObject["TaxId"], await cls._static_request_async( "get", "/v1/customers/{customer}/tax_ids".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod def retrieve_cash_balance( cls, customer: str, **params: Unpack["CustomerRetrieveCashBalanceParams"], ) -> "CashBalance": """ Retrieves a customer's cash balance. """ return cast( "CashBalance", cls._static_request( "get", "/v1/customers/{customer}/cash_balance".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod async def retrieve_cash_balance_async( cls, customer: str, **params: Unpack["CustomerRetrieveCashBalanceParams"], ) -> "CashBalance": """ Retrieves a customer's cash balance. """ return cast( "CashBalance", await cls._static_request_async( "get", "/v1/customers/{customer}/cash_balance".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod def modify_cash_balance( cls, customer: str, **params: Unpack["CustomerModifyCashBalanceParams"] ) -> "CashBalance": """ Changes the settings on a customer's cash balance. """ return cast( "CashBalance", cls._static_request( "post", "/v1/customers/{customer}/cash_balance".format( customer=sanitize_id(customer) ), params=params, ), ) @classmethod async def modify_cash_balance_async( cls, customer: str, **params: Unpack["CustomerModifyCashBalanceParams"] ) -> "CashBalance": """ Changes the settings on a customer's cash balance. """ return cast( "CashBalance", await cls._static_request_async( "post", "/v1/customers/{customer}/cash_balance".format( customer=sanitize_id(customer) ), params=params, ), ) class TestHelpers(APIResourceTestHelpers["Customer"]): _resource_cls: Type["Customer"] @classmethod def _cls_fund_cash_balance( cls, customer: str, **params: Unpack["CustomerFundCashBalanceParams"], ) -> "CustomerCashBalanceTransaction": """ Create an incoming testmode bank transfer """ return cast( "CustomerCashBalanceTransaction", cls._static_request( "post", "/v1/test_helpers/customers/{customer}/fund_cash_balance".format( customer=sanitize_id(customer) ), params=params, ), ) @overload @staticmethod def fund_cash_balance( customer: str, **params: Unpack["CustomerFundCashBalanceParams"] ) -> "CustomerCashBalanceTransaction": """ Create an incoming testmode bank transfer """ ... @overload def fund_cash_balance( self, **params: Unpack["CustomerFundCashBalanceParams"] ) -> "CustomerCashBalanceTransaction": """ Create an incoming testmode bank transfer """ ... @class_method_variant("_cls_fund_cash_balance") def fund_cash_balance( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CustomerFundCashBalanceParams"] ) -> "CustomerCashBalanceTransaction": """ Create an incoming testmode bank transfer """ return cast( "CustomerCashBalanceTransaction", self.resource._request( "post", "/v1/test_helpers/customers/{customer}/fund_cash_balance".format( customer=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_fund_cash_balance_async( cls, customer: str, **params: Unpack["CustomerFundCashBalanceParams"], ) -> "CustomerCashBalanceTransaction": """ Create an incoming testmode bank transfer """ return cast( "CustomerCashBalanceTransaction", await cls._static_request_async( "post", "/v1/test_helpers/customers/{customer}/fund_cash_balance".format( customer=sanitize_id(customer) ), params=params, ), ) @overload @staticmethod async def fund_cash_balance_async( customer: str, **params: Unpack["CustomerFundCashBalanceParams"] ) -> "CustomerCashBalanceTransaction": """ Create an incoming testmode bank transfer """ ... @overload async def fund_cash_balance_async( self, **params: Unpack["CustomerFundCashBalanceParams"] ) -> "CustomerCashBalanceTransaction": """ Create an incoming testmode bank transfer """ ... @class_method_variant("_cls_fund_cash_balance_async") async def fund_cash_balance_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CustomerFundCashBalanceParams"] ) -> "CustomerCashBalanceTransaction": """ Create an incoming testmode bank transfer """ return cast( "CustomerCashBalanceTransaction", await self.resource._request_async( "post", "/v1/test_helpers/customers/{customer}/fund_cash_balance".format( customer=sanitize_id(self.resource.get("id")) ), params=params, ), ) @property def test_helpers(self): return self.TestHelpers(self) _inner_class_types = { "address": Address, "invoice_settings": InvoiceSettings, "shipping": Shipping, "tax": Tax, } Customer.TestHelpers._resource_cls = Customer ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_customer_balance_transaction.py0000644000000000000000000001127715102753431017774 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._api_resource import APIResource from stripe._customer import Customer from stripe._expandable_field import ExpandableField from stripe._util import sanitize_id from typing import ClassVar, Dict, Optional from typing_extensions import Literal, TYPE_CHECKING if TYPE_CHECKING: from stripe._credit_note import CreditNote from stripe._invoice import Invoice from stripe.checkout._session import Session class CustomerBalanceTransaction(APIResource["CustomerBalanceTransaction"]): """ Each customer has a [Balance](https://stripe.com/docs/api/customers/object#customer_object-balance) value, which denotes a debit or credit that's automatically applied to their next invoice upon finalization. You may modify the value directly by using the [update customer API](https://stripe.com/docs/api/customers/update), or by creating a Customer Balance Transaction, which increments or decrements the customer's `balance` by the specified `amount`. Related guide: [Customer balance](https://stripe.com/docs/billing/customer/balance) """ OBJECT_NAME: ClassVar[Literal["customer_balance_transaction"]] = ( "customer_balance_transaction" ) amount: int """ The amount of the transaction. A negative value is a credit for the customer's balance, and a positive value is a debit to the customer's `balance`. """ checkout_session: Optional[ExpandableField["Session"]] """ The ID of the checkout session (if any) that created the transaction. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ credit_note: Optional[ExpandableField["CreditNote"]] """ The ID of the credit note (if any) related to the transaction. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: ExpandableField["Customer"] """ The ID of the customer the transaction belongs to. """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ ending_balance: int """ The customer's `balance` after the transaction was applied. A negative value decreases the amount due on the customer's next invoice. A positive value increases the amount due on the customer's next invoice. """ id: str """ Unique identifier for the object. """ invoice: Optional[ExpandableField["Invoice"]] """ The ID of the invoice (if any) related to the transaction. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["customer_balance_transaction"] """ String representing the object's type. Objects of the same type share the same value. """ type: Literal[ "adjustment", "applied_to_invoice", "checkout_session_subscription_payment", "checkout_session_subscription_payment_canceled", "credit_note", "initial", "invoice_overpaid", "invoice_too_large", "invoice_too_small", "migration", "unapplied_from_invoice", "unspent_receiver_credit", ] """ Transaction type: `adjustment`, `applied_to_invoice`, `credit_note`, `initial`, `invoice_overpaid`, `invoice_too_large`, `invoice_too_small`, `unspent_receiver_credit`, `unapplied_from_invoice`, `checkout_session_subscription_payment`, or `checkout_session_subscription_payment_canceled`. See the [Customer Balance page](https://stripe.com/docs/billing/customer/balance#types) to learn more about transaction types. """ def instance_url(self): token = self.id customer = self.customer if isinstance(customer, Customer): customer = customer.id base = Customer.class_url() cust_extn = sanitize_id(customer) extn = sanitize_id(token) return "%s/%s/balance_transactions/%s" % (base, cust_extn, extn) @classmethod def retrieve(cls, id, **params) -> "CustomerBalanceTransaction": raise NotImplementedError( "Can't retrieve a Customer Balance Transaction without a Customer ID. " "Use Customer.retrieve_customer_balance_transaction('cus_123', 'cbtxn_123')" ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_customer_balance_transaction_service.py0000644000000000000000000001664715102753431021522 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._customer_balance_transaction import CustomerBalanceTransaction from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._customer_balance_transaction_create_params import ( CustomerBalanceTransactionCreateParams, ) from stripe.params._customer_balance_transaction_list_params import ( CustomerBalanceTransactionListParams, ) from stripe.params._customer_balance_transaction_retrieve_params import ( CustomerBalanceTransactionRetrieveParams, ) from stripe.params._customer_balance_transaction_update_params import ( CustomerBalanceTransactionUpdateParams, ) class CustomerBalanceTransactionService(StripeService): def list( self, customer: str, params: Optional["CustomerBalanceTransactionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[CustomerBalanceTransaction]": """ Returns a list of transactions that updated the customer's [balances](https://docs.stripe.com/docs/billing/customer/balance). """ return cast( "ListObject[CustomerBalanceTransaction]", self._request( "get", "/v1/customers/{customer}/balance_transactions".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def list_async( self, customer: str, params: Optional["CustomerBalanceTransactionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[CustomerBalanceTransaction]": """ Returns a list of transactions that updated the customer's [balances](https://docs.stripe.com/docs/billing/customer/balance). """ return cast( "ListObject[CustomerBalanceTransaction]", await self._request_async( "get", "/v1/customers/{customer}/balance_transactions".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) def create( self, customer: str, params: "CustomerBalanceTransactionCreateParams", options: Optional["RequestOptions"] = None, ) -> "CustomerBalanceTransaction": """ Creates an immutable transaction that updates the customer's credit [balance](https://docs.stripe.com/docs/billing/customer/balance). """ return cast( "CustomerBalanceTransaction", self._request( "post", "/v1/customers/{customer}/balance_transactions".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def create_async( self, customer: str, params: "CustomerBalanceTransactionCreateParams", options: Optional["RequestOptions"] = None, ) -> "CustomerBalanceTransaction": """ Creates an immutable transaction that updates the customer's credit [balance](https://docs.stripe.com/docs/billing/customer/balance). """ return cast( "CustomerBalanceTransaction", await self._request_async( "post", "/v1/customers/{customer}/balance_transactions".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) def retrieve( self, customer: str, transaction: str, params: Optional["CustomerBalanceTransactionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CustomerBalanceTransaction": """ Retrieves a specific customer balance transaction that updated the customer's [balances](https://docs.stripe.com/docs/billing/customer/balance). """ return cast( "CustomerBalanceTransaction", self._request( "get", "/v1/customers/{customer}/balance_transactions/{transaction}".format( customer=sanitize_id(customer), transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, customer: str, transaction: str, params: Optional["CustomerBalanceTransactionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CustomerBalanceTransaction": """ Retrieves a specific customer balance transaction that updated the customer's [balances](https://docs.stripe.com/docs/billing/customer/balance). """ return cast( "CustomerBalanceTransaction", await self._request_async( "get", "/v1/customers/{customer}/balance_transactions/{transaction}".format( customer=sanitize_id(customer), transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) def update( self, customer: str, transaction: str, params: Optional["CustomerBalanceTransactionUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CustomerBalanceTransaction": """ Most credit balance transaction fields are immutable, but you may update its description and metadata. """ return cast( "CustomerBalanceTransaction", self._request( "post", "/v1/customers/{customer}/balance_transactions/{transaction}".format( customer=sanitize_id(customer), transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) async def update_async( self, customer: str, transaction: str, params: Optional["CustomerBalanceTransactionUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CustomerBalanceTransaction": """ Most credit balance transaction fields are immutable, but you may update its description and metadata. """ return cast( "CustomerBalanceTransaction", await self._request_async( "post", "/v1/customers/{customer}/balance_transactions/{transaction}".format( customer=sanitize_id(customer), transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_customer_cash_balance_service.py0000644000000000000000000000622615102753431020103 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._cash_balance import CashBalance from stripe._request_options import RequestOptions from stripe.params._customer_cash_balance_retrieve_params import ( CustomerCashBalanceRetrieveParams, ) from stripe.params._customer_cash_balance_update_params import ( CustomerCashBalanceUpdateParams, ) class CustomerCashBalanceService(StripeService): def retrieve( self, customer: str, params: Optional["CustomerCashBalanceRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CashBalance": """ Retrieves a customer's cash balance. """ return cast( "CashBalance", self._request( "get", "/v1/customers/{customer}/cash_balance".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, customer: str, params: Optional["CustomerCashBalanceRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CashBalance": """ Retrieves a customer's cash balance. """ return cast( "CashBalance", await self._request_async( "get", "/v1/customers/{customer}/cash_balance".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) def update( self, customer: str, params: Optional["CustomerCashBalanceUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CashBalance": """ Changes the settings on a customer's cash balance. """ return cast( "CashBalance", self._request( "post", "/v1/customers/{customer}/cash_balance".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def update_async( self, customer: str, params: Optional["CustomerCashBalanceUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CashBalance": """ Changes the settings on a customer's cash balance. """ return cast( "CashBalance", await self._request_async( "post", "/v1/customers/{customer}/cash_balance".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_customer_cash_balance_transaction.py0000644000000000000000000002022215102753431020760 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._stripe_object import StripeObject from typing import ClassVar, Optional from typing_extensions import Literal, TYPE_CHECKING if TYPE_CHECKING: from stripe._balance_transaction import BalanceTransaction from stripe._customer import Customer from stripe._payment_intent import PaymentIntent from stripe._refund import Refund class CustomerCashBalanceTransaction(StripeObject): """ Customers with certain payments enabled have a cash balance, representing funds that were paid by the customer to a merchant, but have not yet been allocated to a payment. Cash Balance Transactions represent when funds are moved into or out of this balance. This includes funding by the customer, allocation to payments, and refunds to the customer. """ OBJECT_NAME: ClassVar[Literal["customer_cash_balance_transaction"]] = ( "customer_cash_balance_transaction" ) class AdjustedForOverdraft(StripeObject): balance_transaction: ExpandableField["BalanceTransaction"] """ The [Balance Transaction](https://stripe.com/docs/api/balance_transactions/object) that corresponds to funds taken out of your Stripe balance. """ linked_transaction: ExpandableField["CustomerCashBalanceTransaction"] """ The [Cash Balance Transaction](https://stripe.com/docs/api/cash_balance_transactions/object) that brought the customer balance negative, triggering the clawback of funds. """ class AppliedToPayment(StripeObject): payment_intent: ExpandableField["PaymentIntent"] """ The [Payment Intent](https://stripe.com/docs/api/payment_intents/object) that funds were applied to. """ class Funded(StripeObject): class BankTransfer(StripeObject): class EuBankTransfer(StripeObject): bic: Optional[str] """ The BIC of the bank of the sender of the funding. """ iban_last4: Optional[str] """ The last 4 digits of the IBAN of the sender of the funding. """ sender_name: Optional[str] """ The full name of the sender, as supplied by the sending bank. """ class GbBankTransfer(StripeObject): account_number_last4: Optional[str] """ The last 4 digits of the account number of the sender of the funding. """ sender_name: Optional[str] """ The full name of the sender, as supplied by the sending bank. """ sort_code: Optional[str] """ The sort code of the bank of the sender of the funding """ class JpBankTransfer(StripeObject): sender_bank: Optional[str] """ The name of the bank of the sender of the funding. """ sender_branch: Optional[str] """ The name of the bank branch of the sender of the funding. """ sender_name: Optional[str] """ The full name of the sender, as supplied by the sending bank. """ class UsBankTransfer(StripeObject): network: Optional[Literal["ach", "domestic_wire_us", "swift"]] """ The banking network used for this funding. """ sender_name: Optional[str] """ The full name of the sender, as supplied by the sending bank. """ eu_bank_transfer: Optional[EuBankTransfer] gb_bank_transfer: Optional[GbBankTransfer] jp_bank_transfer: Optional[JpBankTransfer] reference: Optional[str] """ The user-supplied reference field on the bank transfer. """ type: Literal[ "eu_bank_transfer", "gb_bank_transfer", "jp_bank_transfer", "mx_bank_transfer", "us_bank_transfer", ] """ The funding method type used to fund the customer balance. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. """ us_bank_transfer: Optional[UsBankTransfer] _inner_class_types = { "eu_bank_transfer": EuBankTransfer, "gb_bank_transfer": GbBankTransfer, "jp_bank_transfer": JpBankTransfer, "us_bank_transfer": UsBankTransfer, } bank_transfer: BankTransfer _inner_class_types = {"bank_transfer": BankTransfer} class RefundedFromPayment(StripeObject): refund: ExpandableField["Refund"] """ The [Refund](https://stripe.com/docs/api/refunds/object) that moved these funds into the customer's cash balance. """ class TransferredToBalance(StripeObject): balance_transaction: ExpandableField["BalanceTransaction"] """ The [Balance Transaction](https://stripe.com/docs/api/balance_transactions/object) that corresponds to funds transferred to your Stripe balance. """ class UnappliedFromPayment(StripeObject): payment_intent: ExpandableField["PaymentIntent"] """ The [Payment Intent](https://stripe.com/docs/api/payment_intents/object) that funds were unapplied from. """ adjusted_for_overdraft: Optional[AdjustedForOverdraft] applied_to_payment: Optional[AppliedToPayment] created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: ExpandableField["Customer"] """ The customer whose available cash balance changed as a result of this transaction. """ ending_balance: int """ The total available cash balance for the specified currency after this transaction was applied. Represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ funded: Optional[Funded] id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ net_amount: int """ The amount by which the cash balance changed, represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). A positive value represents funds being added to the cash balance, a negative value represents funds being removed from the cash balance. """ object: Literal["customer_cash_balance_transaction"] """ String representing the object's type. Objects of the same type share the same value. """ refunded_from_payment: Optional[RefundedFromPayment] transferred_to_balance: Optional[TransferredToBalance] type: Literal[ "adjusted_for_overdraft", "applied_to_payment", "funded", "funding_reversed", "refunded_from_payment", "return_canceled", "return_initiated", "transferred_to_balance", "unapplied_from_payment", ] """ The type of the cash balance transaction. New types may be added in future. See [Customer Balance](https://stripe.com/docs/payments/customer-balance#types) to learn more about these types. """ unapplied_from_payment: Optional[UnappliedFromPayment] _inner_class_types = { "adjusted_for_overdraft": AdjustedForOverdraft, "applied_to_payment": AppliedToPayment, "funded": Funded, "refunded_from_payment": RefundedFromPayment, "transferred_to_balance": TransferredToBalance, "unapplied_from_payment": UnappliedFromPayment, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_customer_cash_balance_transaction_service.py0000644000000000000000000001030115102753431022475 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._customer_cash_balance_transaction import ( CustomerCashBalanceTransaction, ) from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._customer_cash_balance_transaction_list_params import ( CustomerCashBalanceTransactionListParams, ) from stripe.params._customer_cash_balance_transaction_retrieve_params import ( CustomerCashBalanceTransactionRetrieveParams, ) class CustomerCashBalanceTransactionService(StripeService): def list( self, customer: str, params: Optional["CustomerCashBalanceTransactionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[CustomerCashBalanceTransaction]": """ Returns a list of transactions that modified the customer's [cash balance](https://docs.stripe.com/docs/payments/customer-balance). """ return cast( "ListObject[CustomerCashBalanceTransaction]", self._request( "get", "/v1/customers/{customer}/cash_balance_transactions".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def list_async( self, customer: str, params: Optional["CustomerCashBalanceTransactionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[CustomerCashBalanceTransaction]": """ Returns a list of transactions that modified the customer's [cash balance](https://docs.stripe.com/docs/payments/customer-balance). """ return cast( "ListObject[CustomerCashBalanceTransaction]", await self._request_async( "get", "/v1/customers/{customer}/cash_balance_transactions".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) def retrieve( self, customer: str, transaction: str, params: Optional[ "CustomerCashBalanceTransactionRetrieveParams" ] = None, options: Optional["RequestOptions"] = None, ) -> "CustomerCashBalanceTransaction": """ Retrieves a specific cash balance transaction, which updated the customer's [cash balance](https://docs.stripe.com/docs/payments/customer-balance). """ return cast( "CustomerCashBalanceTransaction", self._request( "get", "/v1/customers/{customer}/cash_balance_transactions/{transaction}".format( customer=sanitize_id(customer), transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, customer: str, transaction: str, params: Optional[ "CustomerCashBalanceTransactionRetrieveParams" ] = None, options: Optional["RequestOptions"] = None, ) -> "CustomerCashBalanceTransaction": """ Retrieves a specific cash balance transaction, which updated the customer's [cash balance](https://docs.stripe.com/docs/payments/customer-balance). """ return cast( "CustomerCashBalanceTransaction", await self._request_async( "get", "/v1/customers/{customer}/cash_balance_transactions/{transaction}".format( customer=sanitize_id(customer), transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_customer_funding_instructions_service.py0000644000000000000000000000473615102753431022002 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._funding_instructions import FundingInstructions from stripe._request_options import RequestOptions from stripe.params._customer_funding_instructions_create_params import ( CustomerFundingInstructionsCreateParams, ) class CustomerFundingInstructionsService(StripeService): def create( self, customer: str, params: "CustomerFundingInstructionsCreateParams", options: Optional["RequestOptions"] = None, ) -> "FundingInstructions": """ Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new funding instructions will be created. If funding instructions have already been created for a given customer, the same funding instructions will be retrieved. In other words, we will return the same funding instructions each time. """ return cast( "FundingInstructions", self._request( "post", "/v1/customers/{customer}/funding_instructions".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def create_async( self, customer: str, params: "CustomerFundingInstructionsCreateParams", options: Optional["RequestOptions"] = None, ) -> "FundingInstructions": """ Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new funding instructions will be created. If funding instructions have already been created for a given customer, the same funding instructions will be retrieved. In other words, we will return the same funding instructions each time. """ return cast( "FundingInstructions", await self._request_async( "post", "/v1/customers/{customer}/funding_instructions".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_customer_payment_method_service.py0000644000000000000000000000703715102753431020536 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._payment_method import PaymentMethod from stripe._request_options import RequestOptions from stripe.params._customer_payment_method_list_params import ( CustomerPaymentMethodListParams, ) from stripe.params._customer_payment_method_retrieve_params import ( CustomerPaymentMethodRetrieveParams, ) class CustomerPaymentMethodService(StripeService): def list( self, customer: str, params: Optional["CustomerPaymentMethodListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentMethod]": """ Returns a list of PaymentMethods for a given Customer """ return cast( "ListObject[PaymentMethod]", self._request( "get", "/v1/customers/{customer}/payment_methods".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def list_async( self, customer: str, params: Optional["CustomerPaymentMethodListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentMethod]": """ Returns a list of PaymentMethods for a given Customer """ return cast( "ListObject[PaymentMethod]", await self._request_async( "get", "/v1/customers/{customer}/payment_methods".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) def retrieve( self, customer: str, payment_method: str, params: Optional["CustomerPaymentMethodRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethod": """ Retrieves a PaymentMethod object for a given Customer. """ return cast( "PaymentMethod", self._request( "get", "/v1/customers/{customer}/payment_methods/{payment_method}".format( customer=sanitize_id(customer), payment_method=sanitize_id(payment_method), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, customer: str, payment_method: str, params: Optional["CustomerPaymentMethodRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethod": """ Retrieves a PaymentMethod object for a given Customer. """ return cast( "PaymentMethod", await self._request_async( "get", "/v1/customers/{customer}/payment_methods/{payment_method}".format( customer=sanitize_id(customer), payment_method=sanitize_id(payment_method), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_customer_payment_source_service.py0000644000000000000000000002524415102753431020556 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._bank_account import BankAccount from stripe._card import Card from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._source import Source from stripe.params._customer_payment_source_create_params import ( CustomerPaymentSourceCreateParams, ) from stripe.params._customer_payment_source_delete_params import ( CustomerPaymentSourceDeleteParams, ) from stripe.params._customer_payment_source_list_params import ( CustomerPaymentSourceListParams, ) from stripe.params._customer_payment_source_retrieve_params import ( CustomerPaymentSourceRetrieveParams, ) from stripe.params._customer_payment_source_update_params import ( CustomerPaymentSourceUpdateParams, ) from stripe.params._customer_payment_source_verify_params import ( CustomerPaymentSourceVerifyParams, ) from typing import Union class CustomerPaymentSourceService(StripeService): def list( self, customer: str, params: Optional["CustomerPaymentSourceListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Union[Account, BankAccount, Card, Source]]": """ List sources for a specified customer. """ return cast( "ListObject[Union[Account, BankAccount, Card, Source]]", self._request( "get", "/v1/customers/{customer}/sources".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def list_async( self, customer: str, params: Optional["CustomerPaymentSourceListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Union[Account, BankAccount, Card, Source]]": """ List sources for a specified customer. """ return cast( "ListObject[Union[Account, BankAccount, Card, Source]]", await self._request_async( "get", "/v1/customers/{customer}/sources".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) def create( self, customer: str, params: "CustomerPaymentSourceCreateParams", options: Optional["RequestOptions"] = None, ) -> "Union[Account, BankAccount, Card, Source]": """ When you create a new credit card, you must specify a customer or recipient on which to create it. If the card's owner has no default card, then the new card will become the default. However, if the owner already has a default, then it will not change. To change the default, you should [update the customer](https://docs.stripe.com/docs/api#update_customer) to have a new default_source. """ return cast( "Union[Account, BankAccount, Card, Source]", self._request( "post", "/v1/customers/{customer}/sources".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def create_async( self, customer: str, params: "CustomerPaymentSourceCreateParams", options: Optional["RequestOptions"] = None, ) -> "Union[Account, BankAccount, Card, Source]": """ When you create a new credit card, you must specify a customer or recipient on which to create it. If the card's owner has no default card, then the new card will become the default. However, if the owner already has a default, then it will not change. To change the default, you should [update the customer](https://docs.stripe.com/docs/api#update_customer) to have a new default_source. """ return cast( "Union[Account, BankAccount, Card, Source]", await self._request_async( "post", "/v1/customers/{customer}/sources".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) def retrieve( self, customer: str, id: str, params: Optional["CustomerPaymentSourceRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Union[Account, BankAccount, Card, Source]": """ Retrieve a specified source for a given customer. """ return cast( "Union[Account, BankAccount, Card, Source]", self._request( "get", "/v1/customers/{customer}/sources/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, customer: str, id: str, params: Optional["CustomerPaymentSourceRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Union[Account, BankAccount, Card, Source]": """ Retrieve a specified source for a given customer. """ return cast( "Union[Account, BankAccount, Card, Source]", await self._request_async( "get", "/v1/customers/{customer}/sources/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def update( self, customer: str, id: str, params: Optional["CustomerPaymentSourceUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Union[Account, BankAccount, Card, Source]": """ Update a specified source for a given customer. """ return cast( "Union[Account, BankAccount, Card, Source]", self._request( "post", "/v1/customers/{customer}/sources/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def update_async( self, customer: str, id: str, params: Optional["CustomerPaymentSourceUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Union[Account, BankAccount, Card, Source]": """ Update a specified source for a given customer. """ return cast( "Union[Account, BankAccount, Card, Source]", await self._request_async( "post", "/v1/customers/{customer}/sources/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def delete( self, customer: str, id: str, params: Optional["CustomerPaymentSourceDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Union[Account, BankAccount, Card, Source]": """ Delete a specified source for a given customer. """ return cast( "Union[Account, BankAccount, Card, Source]", self._request( "delete", "/v1/customers/{customer}/sources/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def delete_async( self, customer: str, id: str, params: Optional["CustomerPaymentSourceDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Union[Account, BankAccount, Card, Source]": """ Delete a specified source for a given customer. """ return cast( "Union[Account, BankAccount, Card, Source]", await self._request_async( "delete", "/v1/customers/{customer}/sources/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def verify( self, customer: str, id: str, params: Optional["CustomerPaymentSourceVerifyParams"] = None, options: Optional["RequestOptions"] = None, ) -> "BankAccount": """ Verify a specified bank account for a given customer. """ return cast( "BankAccount", self._request( "post", "/v1/customers/{customer}/sources/{id}/verify".format( customer=sanitize_id(customer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def verify_async( self, customer: str, id: str, params: Optional["CustomerPaymentSourceVerifyParams"] = None, options: Optional["RequestOptions"] = None, ) -> "BankAccount": """ Verify a specified bank account for a given customer. """ return cast( "BankAccount", await self._request_async( "post", "/v1/customers/{customer}/sources/{id}/verify".format( customer=sanitize_id(customer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_customer_service.py0000644000000000000000000003434515102753431015443 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._customer import Customer from stripe._customer_balance_transaction_service import ( CustomerBalanceTransactionService, ) from stripe._customer_cash_balance_service import ( CustomerCashBalanceService, ) from stripe._customer_cash_balance_transaction_service import ( CustomerCashBalanceTransactionService, ) from stripe._customer_funding_instructions_service import ( CustomerFundingInstructionsService, ) from stripe._customer_payment_method_service import ( CustomerPaymentMethodService, ) from stripe._customer_payment_source_service import ( CustomerPaymentSourceService, ) from stripe._customer_tax_id_service import CustomerTaxIdService from stripe._discount import Discount from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._search_result_object import SearchResultObject from stripe.params._customer_create_params import CustomerCreateParams from stripe.params._customer_delete_discount_params import ( CustomerDeleteDiscountParams, ) from stripe.params._customer_delete_params import CustomerDeleteParams from stripe.params._customer_list_params import CustomerListParams from stripe.params._customer_retrieve_params import CustomerRetrieveParams from stripe.params._customer_search_params import CustomerSearchParams from stripe.params._customer_update_params import CustomerUpdateParams _subservices = { "balance_transactions": [ "stripe._customer_balance_transaction_service", "CustomerBalanceTransactionService", ], "cash_balance": [ "stripe._customer_cash_balance_service", "CustomerCashBalanceService", ], "cash_balance_transactions": [ "stripe._customer_cash_balance_transaction_service", "CustomerCashBalanceTransactionService", ], "funding_instructions": [ "stripe._customer_funding_instructions_service", "CustomerFundingInstructionsService", ], "payment_methods": [ "stripe._customer_payment_method_service", "CustomerPaymentMethodService", ], "payment_sources": [ "stripe._customer_payment_source_service", "CustomerPaymentSourceService", ], "tax_ids": ["stripe._customer_tax_id_service", "CustomerTaxIdService"], } class CustomerService(StripeService): balance_transactions: "CustomerBalanceTransactionService" cash_balance: "CustomerCashBalanceService" cash_balance_transactions: "CustomerCashBalanceTransactionService" funding_instructions: "CustomerFundingInstructionsService" payment_methods: "CustomerPaymentMethodService" payment_sources: "CustomerPaymentSourceService" tax_ids: "CustomerTaxIdService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def delete( self, customer: str, params: Optional["CustomerDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Customer": """ Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer. """ return cast( "Customer", self._request( "delete", "/v1/customers/{customer}".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def delete_async( self, customer: str, params: Optional["CustomerDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Customer": """ Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer. """ return cast( "Customer", await self._request_async( "delete", "/v1/customers/{customer}".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) def retrieve( self, customer: str, params: Optional["CustomerRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Customer": """ Retrieves a Customer object. """ return cast( "Customer", self._request( "get", "/v1/customers/{customer}".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, customer: str, params: Optional["CustomerRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Customer": """ Retrieves a Customer object. """ return cast( "Customer", await self._request_async( "get", "/v1/customers/{customer}".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) def update( self, customer: str, params: Optional["CustomerUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Customer": """ Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the source parameter, that becomes the customer's active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the source parameter: for each of the customer's current subscriptions, if the subscription bills automatically and is in the past_due state, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer will not trigger this behavior. This request accepts mostly the same arguments as the customer creation call. """ return cast( "Customer", self._request( "post", "/v1/customers/{customer}".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def update_async( self, customer: str, params: Optional["CustomerUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Customer": """ Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the source parameter, that becomes the customer's active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the source parameter: for each of the customer's current subscriptions, if the subscription bills automatically and is in the past_due state, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer will not trigger this behavior. This request accepts mostly the same arguments as the customer creation call. """ return cast( "Customer", await self._request_async( "post", "/v1/customers/{customer}".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) def delete_discount( self, customer: str, params: Optional["CustomerDeleteDiscountParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Discount": """ Removes the currently applied discount on a customer. """ return cast( "Discount", self._request( "delete", "/v1/customers/{customer}/discount".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def delete_discount_async( self, customer: str, params: Optional["CustomerDeleteDiscountParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Discount": """ Removes the currently applied discount on a customer. """ return cast( "Discount", await self._request_async( "delete", "/v1/customers/{customer}/discount".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) def list( self, params: Optional["CustomerListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Customer]": """ Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first. """ return cast( "ListObject[Customer]", self._request( "get", "/v1/customers", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["CustomerListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Customer]": """ Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first. """ return cast( "ListObject[Customer]", await self._request_async( "get", "/v1/customers", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["CustomerCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Customer": """ Creates a new customer object. """ return cast( "Customer", self._request( "post", "/v1/customers", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["CustomerCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Customer": """ Creates a new customer object. """ return cast( "Customer", await self._request_async( "post", "/v1/customers", base_address="api", params=params, options=options, ), ) def search( self, params: "CustomerSearchParams", options: Optional["RequestOptions"] = None, ) -> "SearchResultObject[Customer]": """ Search for customers you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cast( "SearchResultObject[Customer]", self._request( "get", "/v1/customers/search", base_address="api", params=params, options=options, ), ) async def search_async( self, params: "CustomerSearchParams", options: Optional["RequestOptions"] = None, ) -> "SearchResultObject[Customer]": """ Search for customers you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cast( "SearchResultObject[Customer]", await self._request_async( "get", "/v1/customers/search", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_customer_session.py0000644000000000000000000003142115102753431015456 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._stripe_object import StripeObject from typing import ClassVar, List, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._customer import Customer from stripe.params._customer_session_create_params import ( CustomerSessionCreateParams, ) class CustomerSession(CreateableAPIResource["CustomerSession"]): """ A Customer Session allows you to grant Stripe's frontend SDKs (like Stripe.js) client-side access control over a Customer. Related guides: [Customer Session with the Payment Element](https://docs.stripe.com/payments/accept-a-payment-deferred?platform=web&type=payment#save-payment-methods), [Customer Session with the Pricing Table](https://docs.stripe.com/payments/checkout/pricing-table#customer-session), [Customer Session with the Buy Button](https://docs.stripe.com/payment-links/buy-button#pass-an-existing-customer). """ OBJECT_NAME: ClassVar[Literal["customer_session"]] = "customer_session" class Components(StripeObject): class BuyButton(StripeObject): enabled: bool """ Whether the buy button is enabled. """ class CustomerSheet(StripeObject): class Features(StripeObject): payment_method_allow_redisplay_filters: Optional[ List[Literal["always", "limited", "unspecified"]] ] """ A list of [`allow_redisplay`](https://docs.stripe.com/api/payment_methods/object#payment_method_object-allow_redisplay) values that controls which saved payment methods the customer sheet displays by filtering to only show payment methods with an `allow_redisplay` value that is present in this list. If not specified, defaults to ["always"]. In order to display all saved payment methods, specify ["always", "limited", "unspecified"]. """ payment_method_remove: Optional[Literal["disabled", "enabled"]] """ Controls whether the customer sheet displays the option to remove a saved payment method." Allowing buyers to remove their saved payment methods impacts subscriptions that depend on that payment method. Removing the payment method detaches the [`customer` object](https://docs.stripe.com/api/payment_methods/object#payment_method_object-customer) from that [PaymentMethod](https://docs.stripe.com/api/payment_methods). """ enabled: bool """ Whether the customer sheet is enabled. """ features: Optional[Features] """ This hash defines whether the customer sheet supports certain features. """ _inner_class_types = {"features": Features} class MobilePaymentElement(StripeObject): class Features(StripeObject): payment_method_allow_redisplay_filters: Optional[ List[Literal["always", "limited", "unspecified"]] ] """ A list of [`allow_redisplay`](https://docs.stripe.com/api/payment_methods/object#payment_method_object-allow_redisplay) values that controls which saved payment methods the mobile payment element displays by filtering to only show payment methods with an `allow_redisplay` value that is present in this list. If not specified, defaults to ["always"]. In order to display all saved payment methods, specify ["always", "limited", "unspecified"]. """ payment_method_redisplay: Optional[ Literal["disabled", "enabled"] ] """ Controls whether or not the mobile payment element shows saved payment methods. """ payment_method_remove: Optional[Literal["disabled", "enabled"]] """ Controls whether the mobile payment element displays the option to remove a saved payment method." Allowing buyers to remove their saved payment methods impacts subscriptions that depend on that payment method. Removing the payment method detaches the [`customer` object](https://docs.stripe.com/api/payment_methods/object#payment_method_object-customer) from that [PaymentMethod](https://docs.stripe.com/api/payment_methods). """ payment_method_save: Optional[Literal["disabled", "enabled"]] """ Controls whether the mobile payment element displays a checkbox offering to save a new payment method. If a customer checks the box, the [`allow_redisplay`](https://docs.stripe.com/api/payment_methods/object#payment_method_object-allow_redisplay) value on the PaymentMethod is set to `'always'` at confirmation time. For PaymentIntents, the [`setup_future_usage`](https://docs.stripe.com/api/payment_intents/object#payment_intent_object-setup_future_usage) value is also set to the value defined in `payment_method_save_usage`. """ payment_method_save_allow_redisplay_override: Optional[ Literal["always", "limited", "unspecified"] ] """ Allows overriding the value of allow_override when saving a new payment method when payment_method_save is set to disabled. Use values: "always", "limited", or "unspecified". If not specified, defaults to `nil` (no override value). """ enabled: bool """ Whether the mobile payment element is enabled. """ features: Optional[Features] """ This hash defines whether the mobile payment element supports certain features. """ _inner_class_types = {"features": Features} class PaymentElement(StripeObject): class Features(StripeObject): payment_method_allow_redisplay_filters: List[ Literal["always", "limited", "unspecified"] ] """ A list of [`allow_redisplay`](https://docs.stripe.com/api/payment_methods/object#payment_method_object-allow_redisplay) values that controls which saved payment methods the Payment Element displays by filtering to only show payment methods with an `allow_redisplay` value that is present in this list. If not specified, defaults to ["always"]. In order to display all saved payment methods, specify ["always", "limited", "unspecified"]. """ payment_method_redisplay: Literal["disabled", "enabled"] """ Controls whether or not the Payment Element shows saved payment methods. This parameter defaults to `disabled`. """ payment_method_redisplay_limit: Optional[int] """ Determines the max number of saved payment methods for the Payment Element to display. This parameter defaults to `3`. The maximum redisplay limit is `10`. """ payment_method_remove: Literal["disabled", "enabled"] """ Controls whether the Payment Element displays the option to remove a saved payment method. This parameter defaults to `disabled`. Allowing buyers to remove their saved payment methods impacts subscriptions that depend on that payment method. Removing the payment method detaches the [`customer` object](https://docs.stripe.com/api/payment_methods/object#payment_method_object-customer) from that [PaymentMethod](https://docs.stripe.com/api/payment_methods). """ payment_method_save: Literal["disabled", "enabled"] """ Controls whether the Payment Element displays a checkbox offering to save a new payment method. This parameter defaults to `disabled`. If a customer checks the box, the [`allow_redisplay`](https://docs.stripe.com/api/payment_methods/object#payment_method_object-allow_redisplay) value on the PaymentMethod is set to `'always'` at confirmation time. For PaymentIntents, the [`setup_future_usage`](https://docs.stripe.com/api/payment_intents/object#payment_intent_object-setup_future_usage) value is also set to the value defined in `payment_method_save_usage`. """ payment_method_save_usage: Optional[ Literal["off_session", "on_session"] ] """ When using PaymentIntents and the customer checks the save checkbox, this field determines the [`setup_future_usage`](https://docs.stripe.com/api/payment_intents/object#payment_intent_object-setup_future_usage) value used to confirm the PaymentIntent. When using SetupIntents, directly configure the [`usage`](https://docs.stripe.com/api/setup_intents/object#setup_intent_object-usage) value on SetupIntent creation. """ enabled: bool """ Whether the Payment Element is enabled. """ features: Optional[Features] """ This hash defines whether the Payment Element supports certain features. """ _inner_class_types = {"features": Features} class PricingTable(StripeObject): enabled: bool """ Whether the pricing table is enabled. """ buy_button: BuyButton """ This hash contains whether the buy button is enabled. """ customer_sheet: CustomerSheet """ This hash contains whether the customer sheet is enabled and the features it supports. """ mobile_payment_element: MobilePaymentElement """ This hash contains whether the mobile payment element is enabled and the features it supports. """ payment_element: PaymentElement """ This hash contains whether the Payment Element is enabled and the features it supports. """ pricing_table: PricingTable """ This hash contains whether the pricing table is enabled. """ _inner_class_types = { "buy_button": BuyButton, "customer_sheet": CustomerSheet, "mobile_payment_element": MobilePaymentElement, "payment_element": PaymentElement, "pricing_table": PricingTable, } client_secret: str """ The client secret of this Customer Session. Used on the client to set up secure access to the given `customer`. The client secret can be used to provide access to `customer` from your frontend. It should not be stored, logged, or exposed to anyone other than the relevant customer. Make sure that you have TLS enabled on any page that includes the client secret. """ components: Optional[Components] """ Configuration for the components supported by this Customer Session. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ customer: ExpandableField["Customer"] """ The Customer the Customer Session was created for. """ expires_at: int """ The timestamp at which this Customer Session will expire. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["customer_session"] """ String representing the object's type. Objects of the same type share the same value. """ @classmethod def create( cls, **params: Unpack["CustomerSessionCreateParams"] ) -> "CustomerSession": """ Creates a Customer Session object that includes a single-use client secret that you can use on your front-end to grant client-side API access for certain customer resources. """ return cast( "CustomerSession", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["CustomerSessionCreateParams"] ) -> "CustomerSession": """ Creates a Customer Session object that includes a single-use client secret that you can use on your front-end to grant client-side API access for certain customer resources. """ return cast( "CustomerSession", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) _inner_class_types = {"components": Components} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_customer_session_service.py0000644000000000000000000000334415102753431017201 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._customer_session import CustomerSession from stripe._request_options import RequestOptions from stripe.params._customer_session_create_params import ( CustomerSessionCreateParams, ) class CustomerSessionService(StripeService): def create( self, params: "CustomerSessionCreateParams", options: Optional["RequestOptions"] = None, ) -> "CustomerSession": """ Creates a Customer Session object that includes a single-use client secret that you can use on your front-end to grant client-side API access for certain customer resources. """ return cast( "CustomerSession", self._request( "post", "/v1/customer_sessions", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "CustomerSessionCreateParams", options: Optional["RequestOptions"] = None, ) -> "CustomerSession": """ Creates a Customer Session object that includes a single-use client secret that you can use on your front-end to grant client-side API access for certain customer resources. """ return cast( "CustomerSession", await self._request_async( "post", "/v1/customer_sessions", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_customer_tax_id_service.py0000644000000000000000000001370315102753431016766 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._tax_id import TaxId from stripe.params._customer_tax_id_create_params import ( CustomerTaxIdCreateParams, ) from stripe.params._customer_tax_id_delete_params import ( CustomerTaxIdDeleteParams, ) from stripe.params._customer_tax_id_list_params import ( CustomerTaxIdListParams, ) from stripe.params._customer_tax_id_retrieve_params import ( CustomerTaxIdRetrieveParams, ) class CustomerTaxIdService(StripeService): def delete( self, customer: str, id: str, params: Optional["CustomerTaxIdDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TaxId": """ Deletes an existing tax_id object. """ return cast( "TaxId", self._request( "delete", "/v1/customers/{customer}/tax_ids/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def delete_async( self, customer: str, id: str, params: Optional["CustomerTaxIdDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TaxId": """ Deletes an existing tax_id object. """ return cast( "TaxId", await self._request_async( "delete", "/v1/customers/{customer}/tax_ids/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def retrieve( self, customer: str, id: str, params: Optional["CustomerTaxIdRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TaxId": """ Retrieves the tax_id object with the given identifier. """ return cast( "TaxId", self._request( "get", "/v1/customers/{customer}/tax_ids/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, customer: str, id: str, params: Optional["CustomerTaxIdRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TaxId": """ Retrieves the tax_id object with the given identifier. """ return cast( "TaxId", await self._request_async( "get", "/v1/customers/{customer}/tax_ids/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def list( self, customer: str, params: Optional["CustomerTaxIdListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[TaxId]": """ Returns a list of tax IDs for a customer. """ return cast( "ListObject[TaxId]", self._request( "get", "/v1/customers/{customer}/tax_ids".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def list_async( self, customer: str, params: Optional["CustomerTaxIdListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[TaxId]": """ Returns a list of tax IDs for a customer. """ return cast( "ListObject[TaxId]", await self._request_async( "get", "/v1/customers/{customer}/tax_ids".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) def create( self, customer: str, params: "CustomerTaxIdCreateParams", options: Optional["RequestOptions"] = None, ) -> "TaxId": """ Creates a new tax_id object for a customer. """ return cast( "TaxId", self._request( "post", "/v1/customers/{customer}/tax_ids".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def create_async( self, customer: str, params: "CustomerTaxIdCreateParams", options: Optional["RequestOptions"] = None, ) -> "TaxId": """ Creates a new tax_id object for a customer. """ return cast( "TaxId", await self._request_async( "post", "/v1/customers/{customer}/tax_ids".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_deletable_api_resource.py0000644000000000000000000000131015102753431016525 0ustar00from stripe import _util from stripe._api_resource import APIResource from urllib.parse import quote_plus from typing import TypeVar, cast from stripe._stripe_object import StripeObject T = TypeVar("T", bound=StripeObject) class DeletableAPIResource(APIResource[T]): @classmethod def _cls_delete(cls, sid, **params) -> T: url = "%s/%s" % (cls.class_url(), quote_plus(sid)) return cast(T, cls._static_request("delete", url, params=params)) @_util.class_method_variant("_cls_delete") def delete(self, **params) -> T: return cast( T, self._request_and_refresh( "delete", self.instance_url(), params=params ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_discount.py0000644000000000000000000000605215102753431013704 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._stripe_object import StripeObject from typing import ClassVar, Optional from typing_extensions import Literal, TYPE_CHECKING if TYPE_CHECKING: from stripe._coupon import Coupon from stripe._customer import Customer from stripe._promotion_code import PromotionCode class Discount(StripeObject): """ A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes). It contains information about when the discount began, when it will end, and what it is applied to. Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts) """ OBJECT_NAME: ClassVar[Literal["discount"]] = "discount" class Source(StripeObject): coupon: Optional[ExpandableField["Coupon"]] """ The coupon that was redeemed to create this discount. """ type: Literal["coupon"] """ The source type of the discount. """ checkout_session: Optional[str] """ The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode. """ customer: Optional[ExpandableField["Customer"]] """ The ID of the customer associated with this discount. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ end: Optional[int] """ If the coupon has a duration of `repeating`, the date that this discount will end. If the coupon has a duration of `once` or `forever`, this attribute will be null. """ id: str """ The ID of the discount object. Discounts cannot be fetched by ID. Use `expand[]=discounts` in API calls to expand discount IDs in an array. """ invoice: Optional[str] """ The invoice that the discount's coupon was applied to, if it was applied directly to a particular invoice. """ invoice_item: Optional[str] """ The invoice item `id` (or invoice line item `id` for invoice line items of type='subscription') that the discount's coupon was applied to, if it was applied directly to a particular invoice item or invoice line item. """ object: Literal["discount"] """ String representing the object's type. Objects of the same type share the same value. """ promotion_code: Optional[ExpandableField["PromotionCode"]] """ The promotion code applied to create this discount. """ source: Source start: int """ Date that the coupon was applied. """ subscription: Optional[str] """ The subscription that this coupon is applied to, if it is applied to a particular subscription. """ subscription_item: Optional[str] """ The subscription item that this coupon is applied to, if it is applied to a particular subscription item. """ _inner_class_types = {"source": Source} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_dispute.py0000644000000000000000000007472715102753431013547 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._balance_transaction import BalanceTransaction from stripe._charge import Charge from stripe._file import File from stripe._payment_intent import PaymentIntent from stripe.params._dispute_close_params import DisputeCloseParams from stripe.params._dispute_list_params import DisputeListParams from stripe.params._dispute_modify_params import DisputeModifyParams from stripe.params._dispute_retrieve_params import DisputeRetrieveParams class Dispute( ListableAPIResource["Dispute"], UpdateableAPIResource["Dispute"] ): """ A dispute occurs when a customer questions your charge with their card issuer. When this happens, you have the opportunity to respond to the dispute with evidence that shows that the charge is legitimate. Related guide: [Disputes and fraud](https://stripe.com/docs/disputes) """ OBJECT_NAME: ClassVar[Literal["dispute"]] = "dispute" class Evidence(StripeObject): class EnhancedEvidence(StripeObject): class VisaCompellingEvidence3(StripeObject): class DisputedTransaction(StripeObject): class ShippingAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ customer_account_id: Optional[str] """ User Account ID used to log into business platform. Must be recognizable by the user. """ customer_device_fingerprint: Optional[str] """ Unique identifier of the cardholder's device derived from a combination of at least two hardware and software attributes. Must be at least 20 characters. """ customer_device_id: Optional[str] """ Unique identifier of the cardholder's device such as a device serial number (e.g., International Mobile Equipment Identity [IMEI]). Must be at least 15 characters. """ customer_email_address: Optional[str] """ The email address of the customer. """ customer_purchase_ip: Optional[str] """ The IP address that the customer used when making the purchase. """ merchandise_or_services: Optional[ Literal["merchandise", "services"] ] """ Categorization of disputed payment. """ product_description: Optional[str] """ A description of the product or service that was sold. """ shipping_address: Optional[ShippingAddress] """ The address to which a physical product was shipped. All fields are required for Visa Compelling Evidence 3.0 evidence submission. """ _inner_class_types = {"shipping_address": ShippingAddress} class PriorUndisputedTransaction(StripeObject): class ShippingAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ charge: str """ Stripe charge ID for the Visa Compelling Evidence 3.0 eligible prior charge. """ customer_account_id: Optional[str] """ User Account ID used to log into business platform. Must be recognizable by the user. """ customer_device_fingerprint: Optional[str] """ Unique identifier of the cardholder's device derived from a combination of at least two hardware and software attributes. Must be at least 20 characters. """ customer_device_id: Optional[str] """ Unique identifier of the cardholder's device such as a device serial number (e.g., International Mobile Equipment Identity [IMEI]). Must be at least 15 characters. """ customer_email_address: Optional[str] """ The email address of the customer. """ customer_purchase_ip: Optional[str] """ The IP address that the customer used when making the purchase. """ product_description: Optional[str] """ A description of the product or service that was sold. """ shipping_address: Optional[ShippingAddress] """ The address to which a physical product was shipped. All fields are required for Visa Compelling Evidence 3.0 evidence submission. """ _inner_class_types = {"shipping_address": ShippingAddress} disputed_transaction: Optional[DisputedTransaction] """ Disputed transaction details for Visa Compelling Evidence 3.0 evidence submission. """ prior_undisputed_transactions: List[PriorUndisputedTransaction] """ List of exactly two prior undisputed transaction objects for Visa Compelling Evidence 3.0 evidence submission. """ _inner_class_types = { "disputed_transaction": DisputedTransaction, "prior_undisputed_transactions": PriorUndisputedTransaction, } class VisaCompliance(StripeObject): fee_acknowledged: bool """ A field acknowledging the fee incurred when countering a Visa compliance dispute. If this field is set to true, evidence can be submitted for the compliance dispute. Stripe collects a 500 USD (or local equivalent) amount to cover the network costs associated with resolving compliance disputes. Stripe refunds the 500 USD network fee if you win the dispute. """ visa_compelling_evidence_3: Optional[VisaCompellingEvidence3] visa_compliance: Optional[VisaCompliance] _inner_class_types = { "visa_compelling_evidence_3": VisaCompellingEvidence3, "visa_compliance": VisaCompliance, } access_activity_log: Optional[str] """ Any server or activity logs showing proof that the customer accessed or downloaded the purchased digital product. This information should include IP addresses, corresponding timestamps, and any detailed recorded activity. """ billing_address: Optional[str] """ The billing address provided by the customer. """ cancellation_policy: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your subscription cancellation policy, as shown to the customer. """ cancellation_policy_disclosure: Optional[str] """ An explanation of how and when the customer was shown your refund policy prior to purchase. """ cancellation_rebuttal: Optional[str] """ A justification for why the customer's subscription was not canceled. """ customer_communication: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service. """ customer_email_address: Optional[str] """ The email address of the customer. """ customer_name: Optional[str] """ The name of the customer. """ customer_purchase_ip: Optional[str] """ The IP address that the customer used when making the purchase. """ customer_signature: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A relevant document or contract showing the customer's signature. """ duplicate_charge_documentation: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate. """ duplicate_charge_explanation: Optional[str] """ An explanation of the difference between the disputed charge versus the prior charge that appears to be a duplicate. """ duplicate_charge_id: Optional[str] """ The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge. """ enhanced_evidence: EnhancedEvidence product_description: Optional[str] """ A description of the product or service that was sold. """ receipt: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any receipt or message sent to the customer notifying them of the charge. """ refund_policy: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your refund policy, as shown to the customer. """ refund_policy_disclosure: Optional[str] """ Documentation demonstrating that the customer was shown your refund policy prior to purchase. """ refund_refusal_explanation: Optional[str] """ A justification for why the customer is not entitled to a refund. """ service_date: Optional[str] """ The date on which the customer received or began receiving the purchased service, in a clear human-readable format. """ service_documentation: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement. """ shipping_address: Optional[str] """ The address to which a physical product was shipped. You should try to include as complete address information as possible. """ shipping_carrier: Optional[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If multiple carriers were used for this purchase, please separate them with commas. """ shipping_date: Optional[str] """ The date on which a physical product began its route to the shipping address, in a clear human-readable format. """ shipping_documentation: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer's full shipping address, if possible. """ shipping_tracking_number: Optional[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ uncategorized_file: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any additional evidence or statements. """ uncategorized_text: Optional[str] """ Any additional evidence or statements. """ _inner_class_types = {"enhanced_evidence": EnhancedEvidence} class EvidenceDetails(StripeObject): class EnhancedEligibility(StripeObject): class VisaCompellingEvidence3(StripeObject): required_actions: List[ Literal[ "missing_customer_identifiers", "missing_disputed_transaction_description", "missing_merchandise_or_services", "missing_prior_undisputed_transaction_description", "missing_prior_undisputed_transactions", ] ] """ List of actions required to qualify dispute for Visa Compelling Evidence 3.0 evidence submission. """ status: Literal[ "not_qualified", "qualified", "requires_action" ] """ Visa Compelling Evidence 3.0 eligibility status. """ class VisaCompliance(StripeObject): status: Literal[ "fee_acknowledged", "requires_fee_acknowledgement" ] """ Visa compliance eligibility status. """ visa_compelling_evidence_3: Optional[VisaCompellingEvidence3] visa_compliance: Optional[VisaCompliance] _inner_class_types = { "visa_compelling_evidence_3": VisaCompellingEvidence3, "visa_compliance": VisaCompliance, } due_by: Optional[int] """ Date by which evidence must be submitted in order to successfully challenge dispute. Will be 0 if the customer's bank or credit card company doesn't allow a response for this particular dispute. """ enhanced_eligibility: EnhancedEligibility has_evidence: bool """ Whether evidence has been staged for this dispute. """ past_due: bool """ Whether the last evidence submission was submitted past the due date. Defaults to `false` if no evidence submissions have occurred. If `true`, then delivery of the latest evidence is *not* guaranteed. """ submission_count: int """ The number of times evidence has been submitted. Typically, you may only submit evidence once. """ _inner_class_types = {"enhanced_eligibility": EnhancedEligibility} class PaymentMethodDetails(StripeObject): class AmazonPay(StripeObject): dispute_type: Optional[Literal["chargeback", "claim"]] """ The AmazonPay dispute type, chargeback or claim """ class Card(StripeObject): brand: str """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ case_type: Literal[ "block", "chargeback", "compliance", "inquiry", "resolution" ] """ The type of dispute opened. Different case types may have varying fees and financial impact. """ network_reason_code: Optional[str] """ The card network's specific dispute reason code, which maps to one of Stripe's primary dispute categories to simplify response guidance. The [Network code map](https://stripe.com/docs/disputes/categories#network-code-map) lists all available dispute reason codes by network. """ class Klarna(StripeObject): chargeback_loss_reason_code: Optional[str] """ Chargeback loss reason mapped by Stripe from Klarna's chargeback loss reason """ reason_code: Optional[str] """ The reason for the dispute as defined by Klarna """ class Paypal(StripeObject): case_id: Optional[str] """ The ID of the dispute in PayPal. """ reason_code: Optional[str] """ The reason for the dispute as defined by PayPal """ amazon_pay: Optional[AmazonPay] card: Optional[Card] klarna: Optional[Klarna] paypal: Optional[Paypal] type: Literal["amazon_pay", "card", "klarna", "paypal"] """ Payment method type. """ _inner_class_types = { "amazon_pay": AmazonPay, "card": Card, "klarna": Klarna, "paypal": Paypal, } amount: int """ Disputed amount. Usually the amount of the charge, but it can differ (usually because of currency fluctuation or because only part of the order is disputed). """ balance_transactions: List["BalanceTransaction"] """ List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute. """ charge: ExpandableField["Charge"] """ ID of the charge that's disputed. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ enhanced_eligibility_types: List[ Literal["visa_compelling_evidence_3", "visa_compliance"] ] """ List of eligibility types that are included in `enhanced_evidence`. """ evidence: Evidence evidence_details: EvidenceDetails id: str """ Unique identifier for the object. """ is_charge_refundable: bool """ If true, it's still possible to refund the disputed payment. After the payment has been fully refunded, no further funds are withdrawn from your Stripe account as a result of this dispute. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ network_reason_code: Optional[str] """ Network-dependent reason code for the dispute. """ object: Literal["dispute"] """ String representing the object's type. Objects of the same type share the same value. """ payment_intent: Optional[ExpandableField["PaymentIntent"]] """ ID of the PaymentIntent that's disputed. """ payment_method_details: Optional[PaymentMethodDetails] reason: str """ Reason given by cardholder for dispute. Possible values are `bank_cannot_process`, `check_returned`, `credit_not_processed`, `customer_initiated`, `debit_not_authorized`, `duplicate`, `fraudulent`, `general`, `incorrect_account_details`, `insufficient_funds`, `noncompliant`, `product_not_received`, `product_unacceptable`, `subscription_canceled`, or `unrecognized`. Learn more about [dispute reasons](https://stripe.com/docs/disputes/categories). """ status: Literal[ "lost", "needs_response", "prevented", "under_review", "warning_closed", "warning_needs_response", "warning_under_review", "won", ] """ The current status of a dispute. Possible values include:`warning_needs_response`, `warning_under_review`, `warning_closed`, `needs_response`, `under_review`, `won`, `lost`, or `prevented`. """ @classmethod def _cls_close( cls, dispute: str, **params: Unpack["DisputeCloseParams"] ) -> "Dispute": """ Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost. The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible. """ return cast( "Dispute", cls._static_request( "post", "/v1/disputes/{dispute}/close".format( dispute=sanitize_id(dispute) ), params=params, ), ) @overload @staticmethod def close( dispute: str, **params: Unpack["DisputeCloseParams"] ) -> "Dispute": """ Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost. The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible. """ ... @overload def close(self, **params: Unpack["DisputeCloseParams"]) -> "Dispute": """ Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost. The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible. """ ... @class_method_variant("_cls_close") def close( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["DisputeCloseParams"] ) -> "Dispute": """ Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost. The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible. """ return cast( "Dispute", self._request( "post", "/v1/disputes/{dispute}/close".format( dispute=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_close_async( cls, dispute: str, **params: Unpack["DisputeCloseParams"] ) -> "Dispute": """ Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost. The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible. """ return cast( "Dispute", await cls._static_request_async( "post", "/v1/disputes/{dispute}/close".format( dispute=sanitize_id(dispute) ), params=params, ), ) @overload @staticmethod async def close_async( dispute: str, **params: Unpack["DisputeCloseParams"] ) -> "Dispute": """ Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost. The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible. """ ... @overload async def close_async( self, **params: Unpack["DisputeCloseParams"] ) -> "Dispute": """ Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost. The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible. """ ... @class_method_variant("_cls_close_async") async def close_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["DisputeCloseParams"] ) -> "Dispute": """ Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost. The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible. """ return cast( "Dispute", await self._request_async( "post", "/v1/disputes/{dispute}/close".format( dispute=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list( cls, **params: Unpack["DisputeListParams"] ) -> ListObject["Dispute"]: """ Returns a list of your disputes. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["DisputeListParams"] ) -> ListObject["Dispute"]: """ Returns a list of your disputes. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["DisputeModifyParams"] ) -> "Dispute": """ When you get a dispute, contacting your customer is always the best first step. If that doesn't work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your [dashboard](https://dashboard.stripe.com/disputes), but if you prefer, you can use the API to submit evidence programmatically. Depending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our [guide to dispute types](https://docs.stripe.com/docs/disputes/categories). """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Dispute", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["DisputeModifyParams"] ) -> "Dispute": """ When you get a dispute, contacting your customer is always the best first step. If that doesn't work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your [dashboard](https://dashboard.stripe.com/disputes), but if you prefer, you can use the API to submit evidence programmatically. Depending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our [guide to dispute types](https://docs.stripe.com/docs/disputes/categories). """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Dispute", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["DisputeRetrieveParams"] ) -> "Dispute": """ Retrieves the dispute with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["DisputeRetrieveParams"] ) -> "Dispute": """ Retrieves the dispute with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "evidence": Evidence, "evidence_details": EvidenceDetails, "payment_method_details": PaymentMethodDetails, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_dispute_service.py0000644000000000000000000001512415102753431015251 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._dispute import Dispute from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._dispute_close_params import DisputeCloseParams from stripe.params._dispute_list_params import DisputeListParams from stripe.params._dispute_retrieve_params import DisputeRetrieveParams from stripe.params._dispute_update_params import DisputeUpdateParams class DisputeService(StripeService): def list( self, params: Optional["DisputeListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Dispute]": """ Returns a list of your disputes. """ return cast( "ListObject[Dispute]", self._request( "get", "/v1/disputes", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["DisputeListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Dispute]": """ Returns a list of your disputes. """ return cast( "ListObject[Dispute]", await self._request_async( "get", "/v1/disputes", base_address="api", params=params, options=options, ), ) def retrieve( self, dispute: str, params: Optional["DisputeRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Dispute": """ Retrieves the dispute with the given ID. """ return cast( "Dispute", self._request( "get", "/v1/disputes/{dispute}".format(dispute=sanitize_id(dispute)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, dispute: str, params: Optional["DisputeRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Dispute": """ Retrieves the dispute with the given ID. """ return cast( "Dispute", await self._request_async( "get", "/v1/disputes/{dispute}".format(dispute=sanitize_id(dispute)), base_address="api", params=params, options=options, ), ) def update( self, dispute: str, params: Optional["DisputeUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Dispute": """ When you get a dispute, contacting your customer is always the best first step. If that doesn't work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your [dashboard](https://dashboard.stripe.com/disputes), but if you prefer, you can use the API to submit evidence programmatically. Depending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our [guide to dispute types](https://docs.stripe.com/docs/disputes/categories). """ return cast( "Dispute", self._request( "post", "/v1/disputes/{dispute}".format(dispute=sanitize_id(dispute)), base_address="api", params=params, options=options, ), ) async def update_async( self, dispute: str, params: Optional["DisputeUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Dispute": """ When you get a dispute, contacting your customer is always the best first step. If that doesn't work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your [dashboard](https://dashboard.stripe.com/disputes), but if you prefer, you can use the API to submit evidence programmatically. Depending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our [guide to dispute types](https://docs.stripe.com/docs/disputes/categories). """ return cast( "Dispute", await self._request_async( "post", "/v1/disputes/{dispute}".format(dispute=sanitize_id(dispute)), base_address="api", params=params, options=options, ), ) def close( self, dispute: str, params: Optional["DisputeCloseParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Dispute": """ Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost. The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible. """ return cast( "Dispute", self._request( "post", "/v1/disputes/{dispute}/close".format( dispute=sanitize_id(dispute), ), base_address="api", params=params, options=options, ), ) async def close_async( self, dispute: str, params: Optional["DisputeCloseParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Dispute": """ Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost. The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible. """ return cast( "Dispute", await self._request_async( "post", "/v1/disputes/{dispute}/close".format( dispute=sanitize_id(dispute), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_encode.py0000644000000000000000000000353015102753431013307 0ustar00import calendar import datetime import time from collections import OrderedDict from typing import Generator, Optional, Tuple, Any def _encode_datetime(dttime: datetime.datetime): if dttime.tzinfo and dttime.tzinfo.utcoffset(dttime) is not None: utc_timestamp = calendar.timegm(dttime.utctimetuple()) else: utc_timestamp = time.mktime(dttime.timetuple()) return int(utc_timestamp) def _encode_nested_dict(key, data, fmt="%s[%s]"): d = OrderedDict() for subkey, subvalue in data.items(): d[fmt % (key, subkey)] = subvalue return d def _json_encode_date_callback(value): if isinstance(value, datetime.datetime): return _encode_datetime(value) return value def _api_encode( data, api_mode: Optional[str] ) -> Generator[Tuple[str, Any], None, None]: for key, value in data.items(): if value is None: continue elif hasattr(value, "stripe_id"): yield (key, value.stripe_id) elif isinstance(value, list) or isinstance(value, tuple): for i, sv in enumerate(value): encoded_key = key if api_mode == "V2" else "%s[%d]" % (key, i) if isinstance(sv, dict): subdict = _encode_nested_dict(encoded_key, sv) for k, v in _api_encode(subdict, api_mode): yield (k, v) else: yield (encoded_key, sv) elif isinstance(value, dict): subdict = _encode_nested_dict(key, value) for subkey, subvalue in _api_encode(subdict, api_mode): yield (subkey, subvalue) elif isinstance(value, datetime.datetime): yield (key, _encode_datetime(value)) elif isinstance(value, bool): yield (key, str(value).lower()) else: yield (key, value) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_entitlements_service.py0000644000000000000000000000235215102753431016306 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.entitlements._active_entitlement_service import ( ActiveEntitlementService, ) from stripe.entitlements._feature_service import FeatureService _subservices = { "active_entitlements": [ "stripe.entitlements._active_entitlement_service", "ActiveEntitlementService", ], "features": ["stripe.entitlements._feature_service", "FeatureService"], } class EntitlementsService(StripeService): active_entitlements: "ActiveEntitlementService" features: "FeatureService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_ephemeral_key.py0000644000000000000000000001064015102753431014664 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._ephemeral_key_delete_params import ( EphemeralKeyDeleteParams, ) class EphemeralKey( CreateableAPIResource["EphemeralKey"], DeletableAPIResource["EphemeralKey"], ): OBJECT_NAME: ClassVar[Literal["ephemeral_key"]] = "ephemeral_key" created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ expires: int """ Time at which the key will expire. Measured in seconds since the Unix epoch. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["ephemeral_key"] """ String representing the object's type. Objects of the same type share the same value. """ secret: Optional[str] """ The key's secret. You can use this value to make authorized requests to the Stripe API. """ @classmethod def _cls_delete( cls, sid: str, **params: Unpack["EphemeralKeyDeleteParams"] ) -> "EphemeralKey": """ Invalidates a short-lived API key for a given resource. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "EphemeralKey", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete( sid: str, **params: Unpack["EphemeralKeyDeleteParams"] ) -> "EphemeralKey": """ Invalidates a short-lived API key for a given resource. """ ... @overload def delete( self, **params: Unpack["EphemeralKeyDeleteParams"] ) -> "EphemeralKey": """ Invalidates a short-lived API key for a given resource. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["EphemeralKeyDeleteParams"] ) -> "EphemeralKey": """ Invalidates a short-lived API key for a given resource. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["EphemeralKeyDeleteParams"] ) -> "EphemeralKey": """ Invalidates a short-lived API key for a given resource. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "EphemeralKey", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["EphemeralKeyDeleteParams"] ) -> "EphemeralKey": """ Invalidates a short-lived API key for a given resource. """ ... @overload async def delete_async( self, **params: Unpack["EphemeralKeyDeleteParams"] ) -> "EphemeralKey": """ Invalidates a short-lived API key for a given resource. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["EphemeralKeyDeleteParams"] ) -> "EphemeralKey": """ Invalidates a short-lived API key for a given resource. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def create(cls, **params): if params.get("stripe_version") is None: raise ValueError( "stripe_version must be specified to create an ephemeral key" ) url = cls.class_url() return cls._static_request( "post", url, params=params, base_address="api", ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_ephemeral_key_service.py0000644000000000000000000000541315102753431016406 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._ephemeral_key import EphemeralKey from stripe._request_options import RequestOptions from stripe.params._ephemeral_key_create_params import ( EphemeralKeyCreateParams, ) from stripe.params._ephemeral_key_delete_params import ( EphemeralKeyDeleteParams, ) class EphemeralKeyService(StripeService): def delete( self, key: str, params: Optional["EphemeralKeyDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "EphemeralKey": """ Invalidates a short-lived API key for a given resource. """ return cast( "EphemeralKey", self._request( "delete", "/v1/ephemeral_keys/{key}".format(key=sanitize_id(key)), base_address="api", params=params, options=options, ), ) async def delete_async( self, key: str, params: Optional["EphemeralKeyDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "EphemeralKey": """ Invalidates a short-lived API key for a given resource. """ return cast( "EphemeralKey", await self._request_async( "delete", "/v1/ephemeral_keys/{key}".format(key=sanitize_id(key)), base_address="api", params=params, options=options, ), ) def create( self, params: Optional["EphemeralKeyCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "EphemeralKey": """ Creates a short-lived API key for a given resource. """ return cast( "EphemeralKey", self._request( "post", "/v1/ephemeral_keys", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["EphemeralKeyCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "EphemeralKey": """ Creates a short-lived API key for a given resource. """ return cast( "EphemeralKey", await self._request_async( "post", "/v1/ephemeral_keys", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.323062 stripe-13.2.0/stripe/_error.py0000644000000000000000000001267115102753431013211 0ustar00from typing import Dict, Optional, Union, cast from stripe._error_object import ErrorObject class StripeError(Exception): _message: Optional[str] http_body: Optional[str] http_status: Optional[int] json_body: Optional[object] headers: Optional[Dict[str, str]] code: Optional[str] request_id: Optional[str] error: Optional["ErrorObject"] def __init__( self, message: Optional[str] = None, http_body: Optional[Union[bytes, str]] = None, http_status: Optional[int] = None, json_body: Optional[object] = None, headers: Optional[Dict[str, str]] = None, code: Optional[str] = None, ): super(StripeError, self).__init__(message) body: Optional[str] = None if http_body: # http_body can sometimes be a memoryview which must be cast # to a "bytes" before calling decode, so we check for the # decode attribute and then cast if hasattr(http_body, "decode"): try: body = cast(bytes, http_body).decode("utf-8") except BaseException: body = ( "" ) elif isinstance(http_body, str): body = http_body self._message = message self.http_body = body self.http_status = http_status self.json_body = json_body self.headers = headers or {} self.code = code self.request_id = self.headers.get("request-id", None) self.error = self._construct_error_object() def __str__(self): msg = self._message or "" if self.request_id is not None: return "Request {0}: {1}".format(self.request_id, msg) else: return msg # Returns the underlying `Exception` (base class) message, which is usually # the raw message returned by Stripe's API. This was previously available # in python2 via `error.message`. Unlike `str(error)`, it omits "Request # req_..." from the beginning of the string. @property def user_message(self): return self._message def __repr__(self): return "%s(message=%r, http_status=%r, request_id=%r)" % ( self.__class__.__name__, self._message, self.http_status, self.request_id, ) def _construct_error_object(self) -> Optional[ErrorObject]: if ( self.json_body is None or not isinstance(self.json_body, dict) or "error" not in self.json_body or not isinstance(self.json_body["error"], dict) ): return None from stripe._error_object import ErrorObject from stripe._api_requestor import _APIRequestor return ErrorObject._construct_from( values=self.json_body["error"], requestor=_APIRequestor._global_instance(), # We pass in API mode as "V1" here because it's required, # but ErrorObject is reused for both V1 and V2 errors. api_mode="V1", ) class APIError(StripeError): pass class APIConnectionError(StripeError): should_retry: bool def __init__( self, message, http_body=None, http_status=None, json_body=None, headers=None, code=None, should_retry=False, ): super(APIConnectionError, self).__init__( message, http_body, http_status, json_body, headers, code ) self.should_retry = should_retry class StripeErrorWithParamCode(StripeError): def __repr__(self): return ( "%s(message=%r, param=%r, code=%r, http_status=%r, " "request_id=%r)" % ( self.__class__.__name__, self._message, self.param, # pyright: ignore self.code, self.http_status, self.request_id, ) ) class CardError(StripeErrorWithParamCode): def __init__( self, message, param, code, http_body=None, http_status=None, json_body=None, headers=None, ): super(CardError, self).__init__( message, http_body, http_status, json_body, headers, code ) self.param = param class IdempotencyError(StripeError): pass class InvalidRequestError(StripeErrorWithParamCode): def __init__( self, message, param, code=None, http_body=None, http_status=None, json_body=None, headers=None, ): super(InvalidRequestError, self).__init__( message, http_body, http_status, json_body, headers, code ) self.param = param class AuthenticationError(StripeError): pass class PermissionError(StripeError): pass class RateLimitError(StripeError): pass class SignatureVerificationError(StripeError): def __init__(self, message, sig_header, http_body=None): super(SignatureVerificationError, self).__init__(message, http_body) self.sig_header = sig_header # classDefinitions: The beginning of the section generated from our OpenAPI spec class TemporarySessionExpiredError(StripeError): pass # classDefinitions: The end of the section generated from our OpenAPI spec ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.324062 stripe-13.2.0/stripe/_error_object.py0000644000000000000000000000760515102753431014540 0ustar00from typing import Optional from typing_extensions import TYPE_CHECKING from stripe._util import merge_dicts from stripe._stripe_object import StripeObject from stripe._api_mode import ApiMode if TYPE_CHECKING: from stripe._payment_intent import PaymentIntent from stripe._setup_intent import SetupIntent from stripe._source import Source from stripe._payment_method import PaymentMethod class ErrorObject(StripeObject): charge: Optional[str] code: Optional[str] decline_code: Optional[str] doc_url: Optional[str] message: Optional[str] param: Optional[str] payment_intent: Optional["PaymentIntent"] payment_method: Optional["PaymentMethod"] setup_intent: Optional["SetupIntent"] source: Optional["Source"] type: str def refresh_from( self, values, api_key=None, partial=False, stripe_version=None, stripe_account=None, last_response=None, *, api_mode: ApiMode = "V1", ): return self._refresh_from( values=values, partial=partial, last_response=last_response, requestor=self._requestor._new_requestor_with_options( { "api_key": api_key, "stripe_version": stripe_version, "stripe_account": stripe_account, } ), api_mode=api_mode, ) def _refresh_from( self, *, values, partial=False, last_response=None, requestor, api_mode: ApiMode, ) -> None: # Unlike most other API resources, the API will omit attributes in # error objects when they have a null value. We manually set default # values here to facilitate generic error handling. values = merge_dicts( { "charge": None, "code": None, "decline_code": None, "doc_url": None, "message": None, "param": None, "payment_intent": None, "payment_method": None, "setup_intent": None, "source": None, "type": None, }, values, ) return super(ErrorObject, self)._refresh_from( values=values, partial=partial, last_response=last_response, requestor=requestor, api_mode=api_mode, ) class OAuthErrorObject(StripeObject): def refresh_from( self, values, api_key=None, partial=False, stripe_version=None, stripe_account=None, last_response=None, *, api_mode: ApiMode = "V1", ): return self._refresh_from( values=values, partial=partial, last_response=last_response, requestor=self._requestor._new_requestor_with_options( { "api_key": api_key, "stripe_version": stripe_version, "stripe_account": stripe_account, } ), api_mode=api_mode, ) def _refresh_from( self, *, values, partial=False, last_response=None, requestor, api_mode: ApiMode, ) -> None: # Unlike most other API resources, the API will omit attributes in # error objects when they have a null value. We manually set default # values here to facilitate generic error handling. values = merge_dicts( {"error": None, "error_description": None}, values ) return super(OAuthErrorObject, self)._refresh_from( values=values, partial=partial, last_response=last_response, requestor=requestor, api_mode=api_mode, ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.324062 stripe-13.2.0/stripe/_event.py0000644000000000000000000004015515102753431013177 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, Dict, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._event_list_params import EventListParams from stripe.params._event_retrieve_params import EventRetrieveParams from typing import Any class Event(ListableAPIResource["Event"]): """ Snapshot events allow you to track and react to activity in your Stripe integration. When the state of another API resource changes, Stripe creates an `Event` object that contains all the relevant information associated with that action, including the affected API resource. For example, a successful payment triggers a `charge.succeeded` event, which contains the `Charge` in the event's data property. Some actions trigger multiple events. For example, if you create a new subscription for a customer, it triggers both a `customer.subscription.created` event and a `charge.succeeded` event. Configure an event destination in your account to listen for events that represent actions your integration needs to respond to. Additionally, you can retrieve an individual event or a list of events from the API. [Connect](https://docs.stripe.com/connect) platforms can also receive event notifications that occur in their connected accounts. These events include an account attribute that identifies the relevant connected account. You can access events through the [Retrieve Event API](https://docs.stripe.com/api/events#retrieve_event) for 30 days. """ OBJECT_NAME: ClassVar[Literal["event"]] = "event" class Data(StripeObject): object: Dict[str, "Any"] """ Object containing the API resource relevant to the event. For example, an `invoice.created` event will have a full [invoice object](https://stripe.com/docs/api#invoice_object) as the value of the object key. """ previous_attributes: Optional[Dict[str, "Any"]] """ Object containing the names of the updated attributes and their values prior to the event (only included in events of type `*.updated`). If an array attribute has any updated elements, this object contains the entire array. In Stripe API versions 2017-04-06 or earlier, an updated array attribute in this object includes only the updated array elements. """ class Request(StripeObject): id: Optional[str] """ ID of the API request that caused the event. If null, the event was automatic (e.g., Stripe's automatic subscription handling). Request logs are available in the [dashboard](https://dashboard.stripe.com/logs), but currently not in the API. """ idempotency_key: Optional[str] """ The idempotency key transmitted during the request, if any. *Note: This property is populated only for events on or after May 23, 2017*. """ account: Optional[str] """ The connected account that originates the event. """ api_version: Optional[str] """ The Stripe API version used to render `data` when the event was created. The contents of `data` never change, so this value remains static regardless of the API version currently in use. This property is populated only for events created on or after October 31, 2014. """ context: Optional[str] """ Authentication context needed to fetch the event or related object. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ data: Data id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["event"] """ String representing the object's type. Objects of the same type share the same value. """ pending_webhooks: int """ Number of webhooks that haven't been successfully delivered (for example, to return a 20x response) to the URLs you specify. """ request: Optional[Request] """ Information on the API request that triggers the event. """ type: Literal[ "account.application.authorized", "account.application.deauthorized", "account.external_account.created", "account.external_account.deleted", "account.external_account.updated", "account.updated", "application_fee.created", "application_fee.refund.updated", "application_fee.refunded", "balance.available", "balance_settings.updated", "billing.alert.triggered", "billing_portal.configuration.created", "billing_portal.configuration.updated", "billing_portal.session.created", "capability.updated", "cash_balance.funds_available", "charge.captured", "charge.dispute.closed", "charge.dispute.created", "charge.dispute.funds_reinstated", "charge.dispute.funds_withdrawn", "charge.dispute.updated", "charge.expired", "charge.failed", "charge.pending", "charge.refund.updated", "charge.refunded", "charge.succeeded", "charge.updated", "checkout.session.async_payment_failed", "checkout.session.async_payment_succeeded", "checkout.session.completed", "checkout.session.expired", "climate.order.canceled", "climate.order.created", "climate.order.delayed", "climate.order.delivered", "climate.order.product_substituted", "climate.product.created", "climate.product.pricing_updated", "coupon.created", "coupon.deleted", "coupon.updated", "credit_note.created", "credit_note.updated", "credit_note.voided", "customer.created", "customer.deleted", "customer.discount.created", "customer.discount.deleted", "customer.discount.updated", "customer.source.created", "customer.source.deleted", "customer.source.expiring", "customer.source.updated", "customer.subscription.created", "customer.subscription.deleted", "customer.subscription.paused", "customer.subscription.pending_update_applied", "customer.subscription.pending_update_expired", "customer.subscription.resumed", "customer.subscription.trial_will_end", "customer.subscription.updated", "customer.tax_id.created", "customer.tax_id.deleted", "customer.tax_id.updated", "customer.updated", "customer_cash_balance_transaction.created", "entitlements.active_entitlement_summary.updated", "file.created", "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", "identity.verification_session.canceled", "identity.verification_session.created", "identity.verification_session.processing", "identity.verification_session.redacted", "identity.verification_session.requires_input", "identity.verification_session.verified", "invoice.created", "invoice.deleted", "invoice.finalization_failed", "invoice.finalized", "invoice.marked_uncollectible", "invoice.overdue", "invoice.overpaid", "invoice.paid", "invoice.payment_action_required", "invoice.payment_attempt_required", "invoice.payment_failed", "invoice.payment_succeeded", "invoice.sent", "invoice.upcoming", "invoice.updated", "invoice.voided", "invoice.will_be_due", "invoice_payment.paid", "invoiceitem.created", "invoiceitem.deleted", "issuing_authorization.created", "issuing_authorization.request", "issuing_authorization.updated", "issuing_card.created", "issuing_card.updated", "issuing_cardholder.created", "issuing_cardholder.updated", "issuing_dispute.closed", "issuing_dispute.created", "issuing_dispute.funds_reinstated", "issuing_dispute.funds_rescinded", "issuing_dispute.submitted", "issuing_dispute.updated", "issuing_personalization_design.activated", "issuing_personalization_design.deactivated", "issuing_personalization_design.rejected", "issuing_personalization_design.updated", "issuing_token.created", "issuing_token.updated", "issuing_transaction.created", "issuing_transaction.purchase_details_receipt_updated", "issuing_transaction.updated", "mandate.updated", "payment_intent.amount_capturable_updated", "payment_intent.canceled", "payment_intent.created", "payment_intent.partially_funded", "payment_intent.payment_failed", "payment_intent.processing", "payment_intent.requires_action", "payment_intent.succeeded", "payment_link.created", "payment_link.updated", "payment_method.attached", "payment_method.automatically_updated", "payment_method.detached", "payment_method.updated", "payout.canceled", "payout.created", "payout.failed", "payout.paid", "payout.reconciliation_completed", "payout.updated", "person.created", "person.deleted", "person.updated", "plan.created", "plan.deleted", "plan.updated", "price.created", "price.deleted", "price.updated", "product.created", "product.deleted", "product.updated", "promotion_code.created", "promotion_code.updated", "quote.accepted", "quote.canceled", "quote.created", "quote.finalized", "radar.early_fraud_warning.created", "radar.early_fraud_warning.updated", "refund.created", "refund.failed", "refund.updated", "reporting.report_run.failed", "reporting.report_run.succeeded", "reporting.report_type.updated", "review.closed", "review.opened", "setup_intent.canceled", "setup_intent.created", "setup_intent.requires_action", "setup_intent.setup_failed", "setup_intent.succeeded", "sigma.scheduled_query_run.created", "source.canceled", "source.chargeable", "source.failed", "source.mandate_notification", "source.refund_attributes_required", "source.transaction.created", "source.transaction.updated", "subscription_schedule.aborted", "subscription_schedule.canceled", "subscription_schedule.completed", "subscription_schedule.created", "subscription_schedule.expiring", "subscription_schedule.released", "subscription_schedule.updated", "tax.settings.updated", "tax_rate.created", "tax_rate.updated", "terminal.reader.action_failed", "terminal.reader.action_succeeded", "terminal.reader.action_updated", "test_helpers.test_clock.advancing", "test_helpers.test_clock.created", "test_helpers.test_clock.deleted", "test_helpers.test_clock.internal_failure", "test_helpers.test_clock.ready", "topup.canceled", "topup.created", "topup.failed", "topup.reversed", "topup.succeeded", "transfer.created", "transfer.reversed", "transfer.updated", "treasury.credit_reversal.created", "treasury.credit_reversal.posted", "treasury.debit_reversal.completed", "treasury.debit_reversal.created", "treasury.debit_reversal.initial_credit_granted", "treasury.financial_account.closed", "treasury.financial_account.created", "treasury.financial_account.features_status_updated", "treasury.inbound_transfer.canceled", "treasury.inbound_transfer.created", "treasury.inbound_transfer.failed", "treasury.inbound_transfer.succeeded", "treasury.outbound_payment.canceled", "treasury.outbound_payment.created", "treasury.outbound_payment.expected_arrival_date_updated", "treasury.outbound_payment.failed", "treasury.outbound_payment.posted", "treasury.outbound_payment.returned", "treasury.outbound_payment.tracking_details_updated", "treasury.outbound_transfer.canceled", "treasury.outbound_transfer.created", "treasury.outbound_transfer.expected_arrival_date_updated", "treasury.outbound_transfer.failed", "treasury.outbound_transfer.posted", "treasury.outbound_transfer.returned", "treasury.outbound_transfer.tracking_details_updated", "treasury.received_credit.created", "treasury.received_credit.failed", "treasury.received_credit.succeeded", "treasury.received_debit.created", "billing.credit_balance_transaction.created", "billing.credit_grant.created", "billing.credit_grant.updated", "billing.meter.created", "billing.meter.deactivated", "billing.meter.reactivated", "billing.meter.updated", ] """ Description of the event (for example, `invoice.created` or `charge.refunded`). """ @classmethod def list(cls, **params: Unpack["EventListParams"]) -> ListObject["Event"]: """ 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://docs.stripe.com/api/events/object) api_version attribute (not according to your current Stripe API version or Stripe-Version header). """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["EventListParams"] ) -> ListObject["Event"]: """ 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://docs.stripe.com/api/events/object) api_version attribute (not according to your current Stripe API version or Stripe-Version header). """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["EventRetrieveParams"] ) -> "Event": """ Retrieves the details of an event if it was created in the last 30 days. Supply the unique identifier of the event, which you might have received in a webhook. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["EventRetrieveParams"] ) -> "Event": """ Retrieves the details of an event if it was created in the last 30 days. Supply the unique identifier of the event, which you might have received in a webhook. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"data": Data, "request": Request} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.324062 stripe-13.2.0/stripe/_event_service.py0000644000000000000000000000647615102753431014727 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._event import Event from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._event_list_params import EventListParams from stripe.params._event_retrieve_params import EventRetrieveParams class EventService(StripeService): def list( self, params: Optional["EventListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Event]": """ 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://docs.stripe.com/api/events/object) api_version attribute (not according to your current Stripe API version or Stripe-Version header). """ return cast( "ListObject[Event]", self._request( "get", "/v1/events", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["EventListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Event]": """ 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://docs.stripe.com/api/events/object) api_version attribute (not according to your current Stripe API version or Stripe-Version header). """ return cast( "ListObject[Event]", await self._request_async( "get", "/v1/events", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["EventRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Event": """ Retrieves the details of an event if it was created in the last 30 days. Supply the unique identifier of the event, which you might have received in a webhook. """ return cast( "Event", self._request( "get", "/v1/events/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["EventRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Event": """ Retrieves the details of an event if it was created in the last 30 days. Supply the unique identifier of the event, which you might have received in a webhook. """ return cast( "Event", await self._request_async( "get", "/v1/events/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.324062 stripe-13.2.0/stripe/_exchange_rate.py0000644000000000000000000001357015102753431014654 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._util import deprecated from typing import ClassVar, Dict from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._exchange_rate_list_params import ExchangeRateListParams from stripe.params._exchange_rate_retrieve_params import ( ExchangeRateRetrieveParams, ) class ExchangeRate(ListableAPIResource["ExchangeRate"]): """ [Deprecated] The `ExchangeRate` APIs are deprecated. Please use the [FX Quotes API](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api) instead. `ExchangeRate` objects allow you to determine the rates that Stripe is currently using to convert from one currency to another. Since this number is variable throughout the day, there are various reasons why you might want to know the current rate (for example, to dynamically price an item for a user with a default payment in a foreign currency). Please refer to our [Exchange Rates API](https://stripe.com/docs/fx-rates) guide for more details. *[Note: this integration path is supported but no longer recommended]* Additionally, you can guarantee that a charge is made with an exchange rate that you expect is current. To do so, you must pass in the exchange_rate to charges endpoints. If the value is no longer up to date, the charge won't go through. Please refer to our [Using with charges](https://stripe.com/docs/exchange-rates) guide for more details. -----   *This Exchange Rates API is a Beta Service and is subject to Stripe's terms of service. You may use the API solely for the purpose of transacting on Stripe. For example, the API may be queried in order to:* - *localize prices for processing payments on Stripe* - *reconcile Stripe transactions* - *determine how much money to send to a connected account* - *determine app fees to charge a connected account* *Using this Exchange Rates API beta for any purpose other than to transact on Stripe is strictly prohibited and constitutes a violation of Stripe's terms of service.* """ OBJECT_NAME: ClassVar[Literal["exchange_rate"]] = "exchange_rate" id: str """ Unique identifier for the object. Represented as the three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) in lowercase. """ object: Literal["exchange_rate"] """ String representing the object's type. Objects of the same type share the same value. """ rates: Dict[str, float] """ Hash where the keys are supported currencies and the values are the exchange rate at which the base id currency converts to the key currency. """ @classmethod @deprecated( "This method is deprecated, please refer to the description for details.", ) def list( cls, **params: Unpack["ExchangeRateListParams"] ) -> ListObject["ExchangeRate"]: """ [Deprecated] The ExchangeRate APIs are deprecated. Please use the [FX Quotes API](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api) instead. Returns a list of objects that contain the rates at which foreign currencies are converted to one another. Only shows the currencies for which Stripe supports. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod @deprecated( "This method is deprecated, please refer to the description for details.", ) async def list_async( cls, **params: Unpack["ExchangeRateListParams"] ) -> ListObject["ExchangeRate"]: """ [Deprecated] The ExchangeRate APIs are deprecated. Please use the [FX Quotes API](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api) instead. Returns a list of objects that contain the rates at which foreign currencies are converted to one another. Only shows the currencies for which Stripe supports. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod @deprecated( "This method is deprecated, please refer to the description for details.", ) def retrieve( cls, id: str, **params: Unpack["ExchangeRateRetrieveParams"] ) -> "ExchangeRate": """ [Deprecated] The ExchangeRate APIs are deprecated. Please use the [FX Quotes API](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api) instead. Retrieves the exchange rates from the given currency to every supported currency. """ instance = cls(id, **params) instance.refresh() return instance @classmethod @deprecated( "This method is deprecated, please refer to the description for details.", ) async def retrieve_async( cls, id: str, **params: Unpack["ExchangeRateRetrieveParams"] ) -> "ExchangeRate": """ [Deprecated] The ExchangeRate APIs are deprecated. Please use the [FX Quotes API](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api) instead. Retrieves the exchange rates from the given currency to every supported currency. """ instance = cls(id, **params) await instance.refresh_async() return instance ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.324062 stripe-13.2.0/stripe/_exchange_rate_service.py0000644000000000000000000000760715102753431016400 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._exchange_rate import ExchangeRate from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._exchange_rate_list_params import ExchangeRateListParams from stripe.params._exchange_rate_retrieve_params import ( ExchangeRateRetrieveParams, ) class ExchangeRateService(StripeService): def list( self, params: Optional["ExchangeRateListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ExchangeRate]": """ [Deprecated] The ExchangeRate APIs are deprecated. Please use the [FX Quotes API](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api) instead. Returns a list of objects that contain the rates at which foreign currencies are converted to one another. Only shows the currencies for which Stripe supports. """ return cast( "ListObject[ExchangeRate]", self._request( "get", "/v1/exchange_rates", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["ExchangeRateListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ExchangeRate]": """ [Deprecated] The ExchangeRate APIs are deprecated. Please use the [FX Quotes API](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api) instead. Returns a list of objects that contain the rates at which foreign currencies are converted to one another. Only shows the currencies for which Stripe supports. """ return cast( "ListObject[ExchangeRate]", await self._request_async( "get", "/v1/exchange_rates", base_address="api", params=params, options=options, ), ) def retrieve( self, rate_id: str, params: Optional["ExchangeRateRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ExchangeRate": """ [Deprecated] The ExchangeRate APIs are deprecated. Please use the [FX Quotes API](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api) instead. Retrieves the exchange rates from the given currency to every supported currency. """ return cast( "ExchangeRate", self._request( "get", "/v1/exchange_rates/{rate_id}".format( rate_id=sanitize_id(rate_id), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, rate_id: str, params: Optional["ExchangeRateRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ExchangeRate": """ [Deprecated] The ExchangeRate APIs are deprecated. Please use the [FX Quotes API](https://docs.stripe.com/payments/currencies/localize-prices/fx-quotes-api) instead. Retrieves the exchange rates from the given currency to every supported currency. """ return cast( "ExchangeRate", await self._request_async( "get", "/v1/exchange_rates/{rate_id}".format( rate_id=sanitize_id(rate_id), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.324062 stripe-13.2.0/stripe/_expandable_field.py0000644000000000000000000000012415102753431015314 0ustar00from typing import Union, TypeVar T = TypeVar("T") ExpandableField = Union[str, T] ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.324062 stripe-13.2.0/stripe/_file.py0000644000000000000000000001572515102753431013002 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from typing import ClassVar, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._file_link import FileLink from stripe.params._file_create_params import FileCreateParams from stripe.params._file_list_params import FileListParams from stripe.params._file_retrieve_params import FileRetrieveParams class File(CreateableAPIResource["File"], ListableAPIResource["File"]): """ This object represents files hosted on Stripe's servers. You can upload files with the [create file](https://stripe.com/docs/api#create_file) request (for example, when uploading dispute evidence). Stripe also creates files independently (for example, the results of a [Sigma scheduled query](https://docs.stripe.com/api#scheduled_queries)). Related guide: [File upload guide](https://stripe.com/docs/file-upload) """ OBJECT_NAME: ClassVar[Literal["file"]] = "file" created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ expires_at: Optional[int] """ The file expires and isn't available at this time in epoch seconds. """ filename: Optional[str] """ The suitable name for saving the file to a filesystem. """ id: str """ Unique identifier for the object. """ links: Optional[ListObject["FileLink"]] """ A list of [file links](https://stripe.com/docs/api#file_links) that point at this file. """ object: Literal["file"] """ String representing the object's type. Objects of the same type share the same value. """ purpose: Literal[ "account_requirement", "additional_verification", "business_icon", "business_logo", "customer_signature", "dispute_evidence", "document_provider_identity_document", "finance_report_run", "financial_account_statement", "identity_document", "identity_document_downloadable", "issuing_regulatory_reporting", "pci_document", "platform_terms_of_service", "selfie", "sigma_scheduled_query", "tax_document_user_upload", "terminal_android_apk", "terminal_reader_splashscreen", ] """ The [purpose](https://stripe.com/docs/file-upload#uploading-a-file) of the uploaded file. """ size: int """ The size of the file object in bytes. """ title: Optional[str] """ A suitable title for the document. """ type: Optional[str] """ The returned file type (for example, `csv`, `pdf`, `jpg`, or `png`). """ url: Optional[str] """ Use your live secret API key to download the file from this URL. """ @classmethod def create(cls, **params: Unpack["FileCreateParams"]) -> "File": """ To upload a file to Stripe, you need to send a request of type multipart/form-data. Include the file you want to upload in the request, and the parameters for creating a file. All of Stripe's officially supported Client libraries support sending multipart/form-data. """ params["content_type"] = "multipart/form-data" return cast( "File", cls._static_request( "post", cls.class_url(), params=params, base_address="files", ), ) @classmethod async def create_async( cls, **params: Unpack["FileCreateParams"] ) -> "File": """ To upload a file to Stripe, you need to send a request of type multipart/form-data. Include the file you want to upload in the request, and the parameters for creating a file. All of Stripe's officially supported Client libraries support sending multipart/form-data. """ params["content_type"] = "multipart/form-data" return cast( "File", await cls._static_request_async( "post", cls.class_url(), params=params, base_address="files", ), ) @classmethod def list(cls, **params: Unpack["FileListParams"]) -> ListObject["File"]: """ Returns a list of the files that your account has access to. Stripe sorts and returns the files by their creation dates, placing the most recently created files at the top. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["FileListParams"] ) -> ListObject["File"]: """ Returns a list of the files that your account has access to. Stripe sorts and returns the files by their creation dates, placing the most recently created files at the top. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["FileRetrieveParams"] ) -> "File": """ Retrieves the details of an existing file object. After you supply a unique file ID, Stripe returns the corresponding file object. Learn how to [access file contents](https://docs.stripe.com/docs/file-upload#download-file-contents). """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["FileRetrieveParams"] ) -> "File": """ Retrieves the details of an existing file object. After you supply a unique file ID, Stripe returns the corresponding file object. Learn how to [access file contents](https://docs.stripe.com/docs/file-upload#download-file-contents). """ instance = cls(id, **params) await instance.refresh_async() return instance # This resource can have two different object names. In latter API # versions, only `file` is used, but since stripe-python may be used with # any API version, we need to support deserializing the older # `file_upload` object into the same class. OBJECT_NAME_ALT = "file_upload" @classmethod def class_url(cls): return "/v1/files" # For backwards compatibility, the `File` class is aliased to `FileUpload`. FileUpload = File ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.324062 stripe-13.2.0/stripe/_file_link.py0000644000000000000000000001305115102753431014005 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, Dict, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._file import File from stripe.params._file_link_create_params import FileLinkCreateParams from stripe.params._file_link_list_params import FileLinkListParams from stripe.params._file_link_modify_params import FileLinkModifyParams from stripe.params._file_link_retrieve_params import FileLinkRetrieveParams class FileLink( CreateableAPIResource["FileLink"], ListableAPIResource["FileLink"], UpdateableAPIResource["FileLink"], ): """ To share the contents of a `File` object with non-Stripe users, you can create a `FileLink`. `FileLink`s contain a URL that you can use to retrieve the contents of the file without authentication. """ OBJECT_NAME: ClassVar[Literal["file_link"]] = "file_link" created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ expired: bool """ Returns if the link is already expired. """ expires_at: Optional[int] """ Time that the link expires. """ file: ExpandableField["File"] """ The file object this link points to. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["file_link"] """ String representing the object's type. Objects of the same type share the same value. """ url: Optional[str] """ The publicly accessible URL to download the file. """ @classmethod def create(cls, **params: Unpack["FileLinkCreateParams"]) -> "FileLink": """ Creates a new file link object. """ return cast( "FileLink", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["FileLinkCreateParams"] ) -> "FileLink": """ Creates a new file link object. """ return cast( "FileLink", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["FileLinkListParams"] ) -> ListObject["FileLink"]: """ Returns a list of file links. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["FileLinkListParams"] ) -> ListObject["FileLink"]: """ Returns a list of file links. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["FileLinkModifyParams"] ) -> "FileLink": """ Updates an existing file link object. Expired links can no longer be updated. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "FileLink", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["FileLinkModifyParams"] ) -> "FileLink": """ Updates an existing file link object. Expired links can no longer be updated. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "FileLink", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["FileLinkRetrieveParams"] ) -> "FileLink": """ Retrieves the file link with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["FileLinkRetrieveParams"] ) -> "FileLink": """ Retrieves the file link with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.324062 stripe-13.2.0/stripe/_file_link_service.py0000644000000000000000000001163215102753431015530 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._file_link import FileLink from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._file_link_create_params import FileLinkCreateParams from stripe.params._file_link_list_params import FileLinkListParams from stripe.params._file_link_retrieve_params import FileLinkRetrieveParams from stripe.params._file_link_update_params import FileLinkUpdateParams class FileLinkService(StripeService): def list( self, params: Optional["FileLinkListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[FileLink]": """ Returns a list of file links. """ return cast( "ListObject[FileLink]", self._request( "get", "/v1/file_links", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["FileLinkListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[FileLink]": """ Returns a list of file links. """ return cast( "ListObject[FileLink]", await self._request_async( "get", "/v1/file_links", base_address="api", params=params, options=options, ), ) def create( self, params: "FileLinkCreateParams", options: Optional["RequestOptions"] = None, ) -> "FileLink": """ Creates a new file link object. """ return cast( "FileLink", self._request( "post", "/v1/file_links", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "FileLinkCreateParams", options: Optional["RequestOptions"] = None, ) -> "FileLink": """ Creates a new file link object. """ return cast( "FileLink", await self._request_async( "post", "/v1/file_links", base_address="api", params=params, options=options, ), ) def retrieve( self, link: str, params: Optional["FileLinkRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "FileLink": """ Retrieves the file link with the given ID. """ return cast( "FileLink", self._request( "get", "/v1/file_links/{link}".format(link=sanitize_id(link)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, link: str, params: Optional["FileLinkRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "FileLink": """ Retrieves the file link with the given ID. """ return cast( "FileLink", await self._request_async( "get", "/v1/file_links/{link}".format(link=sanitize_id(link)), base_address="api", params=params, options=options, ), ) def update( self, link: str, params: Optional["FileLinkUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "FileLink": """ Updates an existing file link object. Expired links can no longer be updated. """ return cast( "FileLink", self._request( "post", "/v1/file_links/{link}".format(link=sanitize_id(link)), base_address="api", params=params, options=options, ), ) async def update_async( self, link: str, params: Optional["FileLinkUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "FileLink": """ Updates an existing file link object. Expired links can no longer be updated. """ return cast( "FileLink", await self._request_async( "post", "/v1/file_links/{link}".format(link=sanitize_id(link)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.324062 stripe-13.2.0/stripe/_file_service.py0000644000000000000000000001157215102753431014516 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._file import File from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._file_create_params import FileCreateParams from stripe.params._file_list_params import FileListParams from stripe.params._file_retrieve_params import FileRetrieveParams class FileService(StripeService): def list( self, params: Optional["FileListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[File]": """ Returns a list of the files that your account has access to. Stripe sorts and returns the files by their creation dates, placing the most recently created files at the top. """ return cast( "ListObject[File]", self._request( "get", "/v1/files", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["FileListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[File]": """ Returns a list of the files that your account has access to. Stripe sorts and returns the files by their creation dates, placing the most recently created files at the top. """ return cast( "ListObject[File]", await self._request_async( "get", "/v1/files", base_address="api", params=params, options=options, ), ) def create( self, params: "FileCreateParams", options: Optional["RequestOptions"] = None, ) -> "File": """ To upload a file to Stripe, you need to send a request of type multipart/form-data. Include the file you want to upload in the request, and the parameters for creating a file. All of Stripe's officially supported Client libraries support sending multipart/form-data. """ if options is None: options = {} options["content_type"] = "multipart/form-data" return cast( "File", self._request( "post", "/v1/files", base_address="files", params=params, options=options, ), ) async def create_async( self, params: "FileCreateParams", options: Optional["RequestOptions"] = None, ) -> "File": """ To upload a file to Stripe, you need to send a request of type multipart/form-data. Include the file you want to upload in the request, and the parameters for creating a file. All of Stripe's officially supported Client libraries support sending multipart/form-data. """ if options is None: options = {} options["content_type"] = "multipart/form-data" return cast( "File", await self._request_async( "post", "/v1/files", base_address="files", params=params, options=options, ), ) def retrieve( self, file: str, params: Optional["FileRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "File": """ Retrieves the details of an existing file object. After you supply a unique file ID, Stripe returns the corresponding file object. Learn how to [access file contents](https://docs.stripe.com/docs/file-upload#download-file-contents). """ return cast( "File", self._request( "get", "/v1/files/{file}".format(file=sanitize_id(file)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, file: str, params: Optional["FileRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "File": """ Retrieves the details of an existing file object. After you supply a unique file ID, Stripe returns the corresponding file object. Learn how to [access file contents](https://docs.stripe.com/docs/file-upload#download-file-contents). """ return cast( "File", await self._request_async( "get", "/v1/files/{file}".format(file=sanitize_id(file)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.324062 stripe-13.2.0/stripe/_financial_connections_service.py0000644000000000000000000000272715102753431020127 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.financial_connections._account_service import AccountService from stripe.financial_connections._session_service import SessionService from stripe.financial_connections._transaction_service import ( TransactionService, ) _subservices = { "accounts": [ "stripe.financial_connections._account_service", "AccountService", ], "sessions": [ "stripe.financial_connections._session_service", "SessionService", ], "transactions": [ "stripe.financial_connections._transaction_service", "TransactionService", ], } class FinancialConnectionsService(StripeService): accounts: "AccountService" sessions: "SessionService" transactions: "TransactionService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.324062 stripe-13.2.0/stripe/_forwarding_service.py0000644000000000000000000000170315102753431015734 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.forwarding._request_service import RequestService _subservices = { "requests": ["stripe.forwarding._request_service", "RequestService"], } class ForwardingService(StripeService): requests: "RequestService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.324062 stripe-13.2.0/stripe/_funding_instructions.py0000644000000000000000000005226515102753431016341 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar, List, Optional from typing_extensions import Literal class FundingInstructions(StripeObject): """ Each customer has a [`balance`](https://stripe.com/docs/api/customers/object#customer_object-balance) that is automatically applied to future invoices and payments using the `customer_balance` payment method. Customers can fund this balance by initiating a bank transfer to any account in the `financial_addresses` field. Related guide: [Customer balance funding instructions](https://stripe.com/docs/payments/customer-balance/funding-instructions) """ OBJECT_NAME: ClassVar[Literal["funding_instructions"]] = ( "funding_instructions" ) class BankTransfer(StripeObject): class FinancialAddress(StripeObject): class Aba(StripeObject): class AccountHolderAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class BankAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ account_holder_address: AccountHolderAddress account_holder_name: str """ The account holder name """ account_number: str """ The ABA account number """ account_type: str """ The account type """ bank_address: BankAddress bank_name: str """ The bank name """ routing_number: str """ The ABA routing number """ _inner_class_types = { "account_holder_address": AccountHolderAddress, "bank_address": BankAddress, } class Iban(StripeObject): class AccountHolderAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class BankAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ account_holder_address: AccountHolderAddress account_holder_name: str """ The name of the person or business that owns the bank account """ bank_address: BankAddress bic: str """ The BIC/SWIFT code of the account. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ iban: str """ The IBAN of the account. """ _inner_class_types = { "account_holder_address": AccountHolderAddress, "bank_address": BankAddress, } class SortCode(StripeObject): class AccountHolderAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class BankAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ account_holder_address: AccountHolderAddress account_holder_name: str """ The name of the person or business that owns the bank account """ account_number: str """ The account number """ bank_address: BankAddress sort_code: str """ The six-digit sort code """ _inner_class_types = { "account_holder_address": AccountHolderAddress, "bank_address": BankAddress, } class Spei(StripeObject): class AccountHolderAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class BankAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ account_holder_address: AccountHolderAddress account_holder_name: str """ The account holder name """ bank_address: BankAddress bank_code: str """ The three-digit bank code """ bank_name: str """ The short banking institution name """ clabe: str """ The CLABE number """ _inner_class_types = { "account_holder_address": AccountHolderAddress, "bank_address": BankAddress, } class Swift(StripeObject): class AccountHolderAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class BankAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ account_holder_address: AccountHolderAddress account_holder_name: str """ The account holder name """ account_number: str """ The account number """ account_type: str """ The account type """ bank_address: BankAddress bank_name: str """ The bank name """ swift_code: str """ The SWIFT code """ _inner_class_types = { "account_holder_address": AccountHolderAddress, "bank_address": BankAddress, } class Zengin(StripeObject): class AccountHolderAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class BankAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ account_holder_address: AccountHolderAddress account_holder_name: Optional[str] """ The account holder name """ account_number: Optional[str] """ The account number """ account_type: Optional[str] """ The bank account type. In Japan, this can only be `futsu` or `toza`. """ bank_address: BankAddress bank_code: Optional[str] """ The bank code of the account """ bank_name: Optional[str] """ The bank name of the account """ branch_code: Optional[str] """ The branch code of the account """ branch_name: Optional[str] """ The branch name of the account """ _inner_class_types = { "account_holder_address": AccountHolderAddress, "bank_address": BankAddress, } aba: Optional[Aba] """ ABA Records contain U.S. bank account details per the ABA format. """ iban: Optional[Iban] """ Iban Records contain E.U. bank account details per the SEPA format. """ sort_code: Optional[SortCode] """ Sort Code Records contain U.K. bank account details per the sort code format. """ spei: Optional[Spei] """ SPEI Records contain Mexico bank account details per the SPEI format. """ supported_networks: Optional[ List[ Literal[ "ach", "bacs", "domestic_wire_us", "fps", "sepa", "spei", "swift", "zengin", ] ] ] """ The payment networks supported by this FinancialAddress """ swift: Optional[Swift] """ SWIFT Records contain U.S. bank account details per the SWIFT format. """ type: Literal[ "aba", "iban", "sort_code", "spei", "swift", "zengin" ] """ The type of financial address """ zengin: Optional[Zengin] """ Zengin Records contain Japan bank account details per the Zengin format. """ _inner_class_types = { "aba": Aba, "iban": Iban, "sort_code": SortCode, "spei": Spei, "swift": Swift, "zengin": Zengin, } country: str """ The country of the bank account to fund """ financial_addresses: List[FinancialAddress] """ A list of financial addresses that can be used to fund a particular balance """ type: Literal["eu_bank_transfer", "jp_bank_transfer"] """ The bank_transfer type """ _inner_class_types = {"financial_addresses": FinancialAddress} bank_transfer: BankTransfer currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ funding_type: Literal["bank_transfer"] """ The `funding_type` of the returned instructions """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["funding_instructions"] """ String representing the object's type. Objects of the same type share the same value. """ _inner_class_types = {"bank_transfer": BankTransfer} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.324062 stripe-13.2.0/stripe/_http_client.py0000644000000000000000000014207115102753431014373 0ustar00from io import BytesIO import textwrap import email import time import random import threading import json import asyncio import ssl from http.client import HTTPResponse # Used for global variables import stripe # noqa: IMP101 from stripe import _util from stripe._request_metrics import RequestMetrics from stripe._error import APIConnectionError from typing import ( Any, Dict, Iterable, List, Mapping, MutableMapping, Optional, Tuple, ClassVar, Union, cast, overload, AsyncIterable, ) from typing_extensions import ( TYPE_CHECKING, Literal, NoReturn, TypedDict, Awaitable, Never, ) if TYPE_CHECKING: from urllib.parse import ParseResult try: from requests import Session as RequestsSession except ImportError: pass try: from httpx import Timeout as HTTPXTimeout from httpx import Client as HTTPXClientType except ImportError: pass try: from aiohttp import ClientTimeout as AIOHTTPTimeout from aiohttp import StreamReader as AIOHTTPStreamReader except ImportError: pass def _now_ms(): return int(round(time.time() * 1000)) def new_default_http_client(*args: Any, **kwargs: Any) -> "HTTPClient": """ This method creates and returns a new HTTPClient based on what libraries are available. It uses the following precedence rules: 1. Urlfetch (this is provided by Google App Engine, so if it's present you probably want it) 2. Requests (popular library, the top priority for all environments outside Google App Engine, but not always present) 3. Pycurl (another library, not always present, not as preferred as Requests but at least it verifies SSL certs) 4. urllib with a warning (basically always present, a reasonable final default) For performance, it only imports what it's actually going to use. But, it re-calculates every time its called, so probably save its result instead of calling it multiple times. """ try: from google.appengine.api import urlfetch # type: ignore # noqa: F401 except ImportError: pass else: return UrlFetchClient(*args, **kwargs) try: import requests # noqa: F401 except ImportError: pass else: return RequestsClient(*args, **kwargs) try: import pycurl # type: ignore # noqa: F401 except ImportError: pass else: return PycurlClient(*args, **kwargs) return UrllibClient(*args, **kwargs) def new_http_client_async_fallback(*args: Any, **kwargs: Any) -> "HTTPClient": """ Similar to `new_default_http_client` above, this returns a client that can handle async HTTP requests, if available. """ try: import httpx # noqa: F401 import anyio # noqa: F401 except ImportError: pass else: return HTTPXClient(*args, **kwargs) try: import aiohttp # noqa: F401 except ImportError: pass else: return AIOHTTPClient(*args, **kwargs) return NoImportFoundAsyncClient(*args, **kwargs) class HTTPClient(object): """ Base HTTP client that custom clients can inherit from. """ name: ClassVar[str] class _Proxy(TypedDict): http: Optional[str] https: Optional[str] MAX_DELAY = 5 INITIAL_DELAY = 0.5 MAX_RETRY_AFTER = 60 _proxy: Optional[_Proxy] _verify_ssl_certs: bool def __init__( self, verify_ssl_certs: bool = True, proxy: Optional[Union[str, _Proxy]] = None, async_fallback_client: Optional["HTTPClient"] = None, _lib=None, # used for internal unit testing ): self._verify_ssl_certs = verify_ssl_certs if proxy: if isinstance(proxy, str): proxy = {"http": proxy, "https": proxy} if not isinstance(proxy, dict): # pyright: ignore[reportUnnecessaryIsInstance] raise ValueError( "Proxy(ies) must be specified as either a string " "URL or a dict() with string URL under the" " " "https" " and/or " "http" " keys." ) self._proxy = proxy.copy() if proxy else None self._async_fallback_client = async_fallback_client self._thread_local = threading.local() def _should_retry( self, response: Optional[Tuple[Any, int, Optional[Mapping[str, str]]]], api_connection_error: Optional[APIConnectionError], num_retries: int, max_network_retries: Optional[int], ): max_network_retries = ( max_network_retries if max_network_retries is not None else 0 ) if num_retries >= max_network_retries: return False if response is None: # We generally want to retry on timeout and connection # exceptions, but defer this decision to underlying subclass # implementations. They should evaluate the driver-specific # errors worthy of retries, and set flag on the error returned. assert api_connection_error is not None return api_connection_error.should_retry _, status_code, rheaders = response # The API may ask us not to retry (eg; if doing so would be a no-op) # or advise us to retry (eg; in cases of lock timeouts); we defer to that. # # Note that we expect the headers object to be a CaseInsensitiveDict, as is the case with the requests library. if rheaders is not None and "stripe-should-retry" in rheaders: if rheaders["stripe-should-retry"] == "false": return False if rheaders["stripe-should-retry"] == "true": return True # Retry on conflict errors. if status_code == 409: return True # Retry on 500, 503, and other internal errors. # # 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 status_code >= 500: return True return False def _retry_after_header( self, response: Optional[Tuple[Any, Any, Mapping[str, str]]] = None ): if response is None: return None _, _, rheaders = response try: return int(rheaders["retry-after"]) except (KeyError, ValueError): return None def _sleep_time_seconds( self, num_retries: int, response: Optional[Tuple[Any, Any, Mapping[str, str]]] = None, ) -> float: """ Apply exponential backoff with initial_network_retry_delay on the number of num_retries so far as inputs. Do not allow the number to exceed `max_network_retry_delay`. """ sleep_seconds = min( HTTPClient.INITIAL_DELAY * (2 ** (num_retries - 1)), HTTPClient.MAX_DELAY, ) sleep_seconds = self._add_jitter_time(sleep_seconds) # But never sleep less than the base sleep seconds. sleep_seconds = max(HTTPClient.INITIAL_DELAY, sleep_seconds) # And never sleep less than the time the API asks us to wait, assuming it's a reasonable ask. retry_after = self._retry_after_header(response) or 0 if retry_after <= HTTPClient.MAX_RETRY_AFTER: sleep_seconds = max(retry_after, sleep_seconds) return sleep_seconds def _add_jitter_time(self, sleep_seconds: float) -> float: """ Randomize the value in `[(sleep_seconds/ 2) to (sleep_seconds)]`. Also separated method here to isolate randomness for tests """ sleep_seconds *= 0.5 * (1 + random.uniform(0, 1)) return sleep_seconds def _add_telemetry_header( self, headers: Mapping[str, str] ) -> Mapping[str, str]: last_request_metrics = getattr( self._thread_local, "last_request_metrics", None ) if stripe.enable_telemetry and last_request_metrics: telemetry = { "last_request_metrics": last_request_metrics.payload() } ret = dict(headers) ret["X-Stripe-Client-Telemetry"] = json.dumps(telemetry) return ret return headers def _record_request_metrics(self, response, request_start, usage): _, _, rheaders = response if "Request-Id" in rheaders and stripe.enable_telemetry: request_id = rheaders["Request-Id"] request_duration_ms = _now_ms() - request_start self._thread_local.last_request_metrics = RequestMetrics( request_id, request_duration_ms, usage=usage ) def request_with_retries( self, method: str, url: str, headers: Mapping[str, str], post_data: Any = None, max_network_retries: Optional[int] = None, *, _usage: Optional[List[str]] = None, ) -> Tuple[str, int, Mapping[str, str]]: return self._request_with_retries_internal( method, url, headers, post_data, is_streaming=False, max_network_retries=max_network_retries, _usage=_usage, ) def request_stream_with_retries( self, method: str, url: str, headers: Mapping[str, str], post_data=None, max_network_retries=None, *, _usage: Optional[List[str]] = None, ) -> Tuple[Any, int, Mapping[str, str]]: return self._request_with_retries_internal( method, url, headers, post_data, is_streaming=True, max_network_retries=max_network_retries, _usage=_usage, ) def _request_with_retries_internal( self, method: str, url: str, headers: Mapping[str, str], post_data: Any, is_streaming: bool, max_network_retries: Optional[int], *, _usage: Optional[List[str]] = None, ) -> Tuple[Any, int, Mapping[str, str]]: headers = self._add_telemetry_header(headers) num_retries = 0 while True: request_start = _now_ms() try: if is_streaming: response = self.request_stream( method, url, headers, post_data ) else: response = self.request(method, url, headers, post_data) connection_error = None except APIConnectionError as e: connection_error = e response = None if self._should_retry( response, connection_error, num_retries, max_network_retries ): if connection_error: _util.log_info( "Encountered a retryable error %s" % connection_error.user_message ) num_retries += 1 sleep_time = self._sleep_time_seconds(num_retries, response) _util.log_info( ( "Initiating retry %i for request %s %s after " "sleeping %.2f seconds." % (num_retries, method, url, sleep_time) ) ) time.sleep(sleep_time) else: if response is not None: self._record_request_metrics( response, request_start, usage=_usage ) return response else: assert connection_error is not None raise connection_error def request( self, method: str, url: str, headers: Optional[Mapping[str, str]], post_data: Any = None, *, _usage: Optional[List[str]] = None, ) -> Tuple[str, int, Mapping[str, str]]: raise NotImplementedError( "HTTPClient subclasses must implement `request`" ) def request_stream( self, method: str, url: str, headers: Optional[Mapping[str, str]], post_data: Any = None, *, _usage: Optional[List[str]] = None, ) -> Tuple[Any, int, Mapping[str, str]]: raise NotImplementedError( "HTTPClient subclasses must implement `request_stream`" ) def close(self): raise NotImplementedError( "HTTPClient subclasses must implement `close`" ) async def request_with_retries_async( self, method: str, url: str, headers: Mapping[str, str], post_data=None, max_network_retries: Optional[int] = None, *, _usage: Optional[List[str]] = None, ) -> Tuple[Any, int, Any]: return await self._request_with_retries_internal_async( method, url, headers, post_data, is_streaming=False, max_network_retries=max_network_retries, _usage=_usage, ) async def request_stream_with_retries_async( self, method: str, url: str, headers: Mapping[str, str], post_data=None, max_network_retries=None, *, _usage: Optional[List[str]] = None, ) -> Tuple[AsyncIterable[bytes], int, Any]: return await self._request_with_retries_internal_async( method, url, headers, post_data, is_streaming=True, max_network_retries=max_network_retries, _usage=_usage, ) @overload async def _request_with_retries_internal_async( self, method: str, url: str, headers: Mapping[str, str], post_data, is_streaming: Literal[False], max_network_retries: Optional[int], *, _usage: Optional[List[str]] = None, ) -> Tuple[Any, int, Mapping[str, str]]: ... @overload async def _request_with_retries_internal_async( self, method: str, url: str, headers: Mapping[str, str], post_data, is_streaming: Literal[True], max_network_retries: Optional[int], *, _usage: Optional[List[str]] = None, ) -> Tuple[AsyncIterable[bytes], int, Mapping[str, str]]: ... async def _request_with_retries_internal_async( self, method: str, url: str, headers: Mapping[str, str], post_data, is_streaming: bool, max_network_retries: Optional[int], *, _usage: Optional[List[str]] = None, ) -> Tuple[Any, int, Mapping[str, str]]: headers = self._add_telemetry_header(headers) num_retries = 0 while True: request_start = _now_ms() try: if is_streaming: response = await self.request_stream_async( method, url, headers, post_data ) else: response = await self.request_async( method, url, headers, post_data ) connection_error = None except APIConnectionError as e: connection_error = e response = None if self._should_retry( response, connection_error, num_retries, max_network_retries ): if connection_error: _util.log_info( "Encountered a retryable error %s" % connection_error.user_message ) num_retries += 1 sleep_time = self._sleep_time_seconds(num_retries, response) _util.log_info( ( "Initiating retry %i for request %s %s after " "sleeping %.2f seconds." % (num_retries, method, url, sleep_time) ) ) await self.sleep_async(sleep_time) else: if response is not None: self._record_request_metrics( response, request_start, usage=_usage ) return response else: assert connection_error is not None raise connection_error async def request_async( self, method: str, url: str, headers: Mapping[str, str], post_data=None ) -> Tuple[bytes, int, Mapping[str, str]]: if self._async_fallback_client is not None: return await self._async_fallback_client.request_async( method, url, headers, post_data ) raise NotImplementedError( "HTTPClient subclasses must implement `request_async`" ) async def request_stream_async( self, method: str, url: str, headers: Mapping[str, str], post_data=None ) -> Tuple[AsyncIterable[bytes], int, Mapping[str, str]]: if self._async_fallback_client is not None: return await self._async_fallback_client.request_stream_async( method, url, headers, post_data ) raise NotImplementedError( "HTTPClient subclasses must implement `request_stream_async`" ) async def close_async(self): if self._async_fallback_client is not None: return await self._async_fallback_client.close_async() raise NotImplementedError( "HTTPClient subclasses must implement `close_async`" ) def sleep_async(self, secs: float) -> Awaitable[None]: if self._async_fallback_client is not None: return self._async_fallback_client.sleep_async(secs) raise NotImplementedError( "HTTPClient subclasses must implement `sleep`" ) class RequestsClient(HTTPClient): name = "requests" def __init__( self, timeout: Union[float, Tuple[float, float]] = 80, session: Optional["RequestsSession"] = None, verify_ssl_certs: bool = True, proxy: Optional[Union[str, HTTPClient._Proxy]] = None, async_fallback_client: Optional[HTTPClient] = None, _lib=None, # used for internal unit testing **kwargs, ): super(RequestsClient, self).__init__( verify_ssl_certs=verify_ssl_certs, proxy=proxy, async_fallback_client=async_fallback_client, ) self._session = session self._timeout = timeout if _lib is None: import requests _lib = requests self.requests = _lib def request( self, method: str, url: str, headers: Optional[Mapping[str, str]], post_data=None, ) -> Tuple[bytes, int, Mapping[str, str]]: return self._request_internal( method, url, headers, post_data, is_streaming=False ) def request_stream( self, method: str, url: str, headers: Optional[Mapping[str, str]], post_data=None, ) -> Tuple[Any, int, Mapping[str, str]]: return self._request_internal( method, url, headers, post_data, is_streaming=True ) @overload def _request_internal( self, method: str, url: str, headers: Optional[Mapping[str, str]], post_data, is_streaming: Literal[True], ) -> Tuple[Any, int, Mapping[str, str]]: ... @overload def _request_internal( self, method: str, url: str, headers: Optional[Mapping[str, str]], post_data, is_streaming: Literal[False], ) -> Tuple[bytes, int, Mapping[str, str]]: ... def _request_internal( self, method: str, url: str, headers: Optional[Mapping[str, str]], post_data, is_streaming: bool, ) -> Tuple[Union[bytes, Any], int, Mapping[str, str]]: kwargs = {} if self._verify_ssl_certs: kwargs["verify"] = stripe.ca_bundle_path else: kwargs["verify"] = False if self._proxy: kwargs["proxies"] = self._proxy if is_streaming: kwargs["stream"] = True if getattr(self._thread_local, "session", None) is None: self._thread_local.session = ( self._session or self.requests.Session() ) try: try: result = cast( "RequestsSession", self._thread_local.session ).request( method, url, headers=headers, data=post_data, timeout=self._timeout, **kwargs, ) except TypeError as e: raise TypeError( "Warning: It looks like your installed version of the " '"requests" library is not compatible with Stripe\'s ' "usage thereof. (HINT: The most likely cause is that " 'your "requests" library is out of date. You can fix ' 'that by running "pip install -U requests".) The ' "underlying error was: %s" % (e,) ) if is_streaming: content = result.raw else: # This causes the content to actually be read, which could cause # e.g. a socket timeout. TODO: The other fetch methods probably # are susceptible to the same and should be updated. content = result.content status_code = result.status_code except Exception as e: # Would catch just requests.exceptions.RequestException, but can # also raise ValueError, RuntimeError, etc. self._handle_request_error(e) return content, status_code, result.headers def _handle_request_error(self, e: Exception) -> NoReturn: # Catch SSL error first as it belongs to ConnectionError, # but we don't want to retry if isinstance(e, self.requests.exceptions.SSLError): msg = ( "Could not verify Stripe's SSL certificate. Please make " "sure that your network is not intercepting certificates. " "If this problem persists, let us know at " "support@stripe.com." ) err = "%s: %s" % (type(e).__name__, str(e)) should_retry = False # Retry only timeout and connect errors; similar to urllib3 Retry elif isinstance( e, ( self.requests.exceptions.Timeout, self.requests.exceptions.ConnectionError, ), ): msg = ( "Unexpected error communicating with Stripe. " "If this problem persists, let us know at " "support@stripe.com." ) err = "%s: %s" % (type(e).__name__, str(e)) should_retry = True # Catch remaining request exceptions elif isinstance(e, self.requests.exceptions.RequestException): msg = ( "Unexpected error communicating with Stripe. " "If this problem persists, let us know at " "support@stripe.com." ) err = "%s: %s" % (type(e).__name__, str(e)) should_retry = False else: msg = ( "Unexpected error communicating with Stripe. " "It looks like there's probably a configuration " "issue locally. If this problem persists, let us " "know at support@stripe.com." ) err = "A %s was raised" % (type(e).__name__,) if str(e): err += " with error message %s" % (str(e),) else: err += " with no error message" should_retry = False msg = textwrap.fill(msg) + "\n\n(Network error: %s)" % (err,) raise APIConnectionError(msg, should_retry=should_retry) from e def close(self): if getattr(self._thread_local, "session", None) is not None: self._thread_local.session.close() class UrlFetchClient(HTTPClient): name = "urlfetch" def __init__( self, verify_ssl_certs: bool = True, proxy: Optional[HTTPClient._Proxy] = None, deadline: int = 55, async_fallback_client: Optional[HTTPClient] = None, _lib=None, # used for internal unit testing ): super(UrlFetchClient, self).__init__( verify_ssl_certs=verify_ssl_certs, proxy=proxy, async_fallback_client=async_fallback_client, ) # no proxy support in urlfetch. for a patch, see: # https://code.google.com/p/googleappengine/issues/detail?id=544 if proxy: raise ValueError( "No proxy support in urlfetch library. " "Set stripe.default_http_client to either RequestsClient, " "PycurlClient, or UrllibClient instance to use a proxy." ) self._verify_ssl_certs = verify_ssl_certs # GAE requests time out after 60 seconds, so make sure to default # to 55 seconds to allow for a slow Stripe self._deadline = deadline if _lib is None: from google.appengine.api import urlfetch # pyright: ignore _lib = urlfetch self.urlfetch = _lib def request( self, method: str, url: str, headers: Mapping[str, str], post_data=None ) -> Tuple[str, int, Mapping[str, str]]: return self._request_internal( method, url, headers, post_data, is_streaming=False ) def request_stream( self, method: str, url: str, headers: Mapping[str, str], post_data=None ) -> Tuple[BytesIO, int, Mapping[str, str]]: return self._request_internal( method, url, headers, post_data, is_streaming=True ) @overload def _request_internal( self, method: str, url: str, headers: Mapping[str, str], post_data, is_streaming: Literal[True], ) -> Tuple[BytesIO, int, Any]: ... @overload def _request_internal( self, method: str, url: str, headers: Mapping[str, str], post_data, is_streaming: Literal[False], ) -> Tuple[str, int, Any]: ... def _request_internal( self, method: str, url: str, headers: Mapping[str, str], post_data, is_streaming, ): try: result = self.urlfetch.fetch( url=url, method=method, headers=headers, # Google App Engine doesn't let us specify our own cert bundle. # However, that's ok because the CA bundle they use recognizes # api.stripe.com. validate_certificate=self._verify_ssl_certs, deadline=self._deadline, payload=post_data, ) except self.urlfetch.Error as e: self._handle_request_error(e, url) if is_streaming: # This doesn't really stream. content = BytesIO(str.encode(result.content)) else: content = result.content return content, result.status_code, result.headers def _handle_request_error(self, e: Exception, url: str) -> NoReturn: if isinstance(e, self.urlfetch.InvalidURLError): msg = ( "The Stripe library attempted to fetch an " "invalid URL (%r). This is likely due to a bug " "in the Stripe Python bindings. Please let us know " "at support@stripe.com." % (url,) ) elif isinstance(e, self.urlfetch.DownloadError): msg = "There was a problem retrieving data from Stripe." elif isinstance(e, self.urlfetch.ResponseTooLargeError): msg = ( "There was a problem receiving all of your data from " "Stripe. This is likely due to a bug in Stripe. " "Please let us know at support@stripe.com." ) else: msg = ( "Unexpected error communicating with Stripe. If this " "problem persists, let us know at support@stripe.com." ) msg = textwrap.fill(msg) + "\n\n(Network error: " + str(e) + ")" raise APIConnectionError(msg) from e def close(self): pass class _Proxy(TypedDict): http: Optional["ParseResult"] https: Optional["ParseResult"] class PycurlClient(HTTPClient): class _ParsedProxy(TypedDict, total=False): http: Optional["ParseResult"] https: Optional["ParseResult"] name = "pycurl" _parsed_proxy: Optional[_ParsedProxy] def __init__( self, verify_ssl_certs: bool = True, proxy: Optional[HTTPClient._Proxy] = None, async_fallback_client: Optional[HTTPClient] = None, _lib=None, # used for internal unit testing ): super(PycurlClient, self).__init__( verify_ssl_certs=verify_ssl_certs, proxy=proxy, async_fallback_client=async_fallback_client, ) if _lib is None: import pycurl # pyright: ignore[reportMissingModuleSource] _lib = pycurl self.pycurl = _lib # Initialize this within the object so that we can reuse connections. self._curl = _lib.Curl() self._parsed_proxy = {} # need to urlparse the proxy, since PyCurl # consumes the proxy url in small pieces if self._proxy: from urllib.parse import urlparse proxy_ = self._proxy for scheme, value in proxy_.items(): # In general, TypedDict.items() gives you (key: str, value: object) # but we know value to be a string because all the value types on Proxy_ are strings. self._parsed_proxy[scheme] = urlparse(cast(str, value)) def parse_headers(self, data): if "\r\n" not in data: return {} raw_headers = data.split("\r\n", 1)[1] headers = email.message_from_string(raw_headers) return dict((k.lower(), v) for k, v in dict(headers).items()) def request( self, method, url, headers: Mapping[str, str], post_data=None ) -> Tuple[str, int, Mapping[str, str]]: return self._request_internal( method, url, headers, post_data, is_streaming=False ) def request_stream( self, method, url, headers: Mapping[str, str], post_data=None ) -> Tuple[BytesIO, int, Mapping[str, str]]: return self._request_internal( method, url, headers, post_data, is_streaming=True ) @overload def _request_internal( self, method: str, url: str, headers: Mapping[str, str], post_data, is_streaming: Literal[True], ) -> Tuple[BytesIO, int, Any]: ... @overload def _request_internal( self, method: str, url: str, headers: Mapping[str, str], post_data, is_streaming: Literal[False], ) -> Tuple[str, int, Mapping[str, str]]: ... def _request_internal( self, method: str, url: str, headers: Mapping[str, str], post_data, is_streaming, ) -> Tuple[Union[str, BytesIO], int, Mapping[str, str]]: b = BytesIO() rheaders = BytesIO() # Pycurl's design is a little weird: although we set per-request # options on this object, it's also capable of maintaining established # connections. Here we call reset() between uses to make sure it's in a # pristine state, but notably reset() doesn't reset connections, so we # still get to take advantage of those by virtue of re-using the same # object. self._curl.reset() proxy = self._get_proxy(url) if proxy: if proxy.hostname: self._curl.setopt(self.pycurl.PROXY, proxy.hostname) if proxy.port: self._curl.setopt(self.pycurl.PROXYPORT, proxy.port) if proxy.username or proxy.password: self._curl.setopt( self.pycurl.PROXYUSERPWD, "%s:%s" % (proxy.username, proxy.password), ) if method == "get": self._curl.setopt(self.pycurl.HTTPGET, 1) elif method == "post": self._curl.setopt(self.pycurl.POST, 1) self._curl.setopt(self.pycurl.POSTFIELDS, post_data) else: self._curl.setopt(self.pycurl.CUSTOMREQUEST, method.upper()) # pycurl doesn't like unicode URLs self._curl.setopt(self.pycurl.URL, url) self._curl.setopt(self.pycurl.WRITEFUNCTION, b.write) self._curl.setopt(self.pycurl.HEADERFUNCTION, rheaders.write) self._curl.setopt(self.pycurl.NOSIGNAL, 1) self._curl.setopt(self.pycurl.CONNECTTIMEOUT, 30) self._curl.setopt(self.pycurl.TIMEOUT, 80) self._curl.setopt( self.pycurl.HTTPHEADER, ["%s: %s" % (k, v) for k, v in dict(headers).items()], ) if self._verify_ssl_certs: self._curl.setopt(self.pycurl.CAINFO, stripe.ca_bundle_path) else: self._curl.setopt(self.pycurl.SSL_VERIFYHOST, False) try: self._curl.perform() except self.pycurl.error as e: self._handle_request_error(e) if is_streaming: b.seek(0) rcontent = b else: rcontent = b.getvalue().decode("utf-8") rcode = self._curl.getinfo(self.pycurl.RESPONSE_CODE) headers = self.parse_headers(rheaders.getvalue().decode("utf-8")) return rcontent, rcode, headers def _handle_request_error(self, e: Exception) -> NoReturn: if e.args[0] in [ self.pycurl.E_COULDNT_CONNECT, self.pycurl.E_COULDNT_RESOLVE_HOST, self.pycurl.E_OPERATION_TIMEOUTED, ]: msg = ( "Could not connect to Stripe. Please check your " "internet connection and try again. If this problem " "persists, you should check Stripe's service status at " "https://twitter.com/stripestatus, or let us know at " "support@stripe.com." ) should_retry = True elif e.args[0] in [ self.pycurl.E_SSL_CACERT, self.pycurl.E_SSL_PEER_CERTIFICATE, ]: msg = ( "Could not verify Stripe's SSL certificate. Please make " "sure that your network is not intercepting certificates. " "If this problem persists, let us know at " "support@stripe.com." ) should_retry = False else: msg = ( "Unexpected error communicating with Stripe. If this " "problem persists, let us know at support@stripe.com." ) should_retry = False msg = textwrap.fill(msg) + "\n\n(Network error: " + e.args[1] + ")" raise APIConnectionError(msg, should_retry=should_retry) from e def _get_proxy(self, url) -> Optional["ParseResult"]: if self._parsed_proxy: proxy = self._parsed_proxy scheme = url.split(":")[0] if url else None if scheme: return proxy.get(scheme, proxy.get(scheme[0:-1])) return None def close(self): pass class UrllibClient(HTTPClient): name = "urllib.request" def __init__( self, verify_ssl_certs: bool = True, proxy: Optional[HTTPClient._Proxy] = None, async_fallback_client: Optional[HTTPClient] = None, _lib=None, # used for internal unit testing ): super(UrllibClient, self).__init__( verify_ssl_certs=verify_ssl_certs, proxy=proxy, async_fallback_client=async_fallback_client, ) if _lib is None: import urllib.request as urllibrequest _lib = urllibrequest self.urllibrequest = _lib import urllib.error as urlliberror self.urlliberror = urlliberror # prepare and cache proxy tied opener here self._opener = None if self._proxy: # We have to cast _Proxy to Dict[str, str] because pyright is not smart enough to # realize that all the value types are str. proxy_handler = self.urllibrequest.ProxyHandler( cast(Dict[str, str], self._proxy) ) self._opener = self.urllibrequest.build_opener(proxy_handler) def request( self, method: str, url: str, headers: Mapping[str, str], post_data=None ) -> Tuple[str, int, Mapping[str, str]]: return self._request_internal( method, url, headers, post_data, is_streaming=False ) def request_stream( self, method: str, url: str, headers: Mapping[str, str], post_data=None ) -> Tuple[HTTPResponse, int, Mapping[str, str]]: return self._request_internal( method, url, headers, post_data, is_streaming=True ) @overload def _request_internal( self, method: str, url: str, headers: Mapping[str, str], post_data, is_streaming: Literal[False], ) -> Tuple[str, int, Any]: ... @overload def _request_internal( self, method: str, url: str, headers: Mapping[str, str], post_data, is_streaming: Literal[True], ) -> Tuple[HTTPResponse, int, Any]: ... def _request_internal( self, method: str, url: str, headers: Mapping[str, str], post_data, is_streaming, ): if isinstance(post_data, str): post_data = post_data.encode("utf-8") req = self.urllibrequest.Request( url, post_data, cast(MutableMapping[str, str], headers) ) if method not in ("get", "post"): req.get_method = lambda: method.upper() try: # use the custom proxy tied opener, if any. # otherwise, fall to the default urllib opener. response = ( self._opener.open(req) if self._opener else self.urllibrequest.urlopen(req) ) if is_streaming: rcontent = response else: rcontent = response.read() rcode = response.code headers = dict(response.info()) except self.urlliberror.HTTPError as e: rcode = e.code rcontent = e.read() headers = dict(e.info()) except (self.urlliberror.URLError, ValueError) as e: self._handle_request_error(e) lh = dict((k.lower(), v) for k, v in iter(dict(headers).items())) return rcontent, rcode, lh def _handle_request_error(self, e: Exception) -> NoReturn: msg = ( "Unexpected error communicating with Stripe. " "If this problem persists, let us know at support@stripe.com." ) msg = textwrap.fill(msg) + "\n\n(Network error: " + str(e) + ")" raise APIConnectionError(msg) from e def close(self): pass class HTTPXClient(HTTPClient): name = "httpx" _client: Optional["HTTPXClientType"] def __init__( self, timeout: Optional[Union[float, "HTTPXTimeout"]] = 80, allow_sync_methods=False, _lib=None, # used for internal unit testing **kwargs, ): super(HTTPXClient, self).__init__(**kwargs) if _lib is None: import httpx _lib = httpx self.httpx = _lib import anyio self.anyio = anyio kwargs = {} if self._verify_ssl_certs: kwargs["verify"] = ssl.create_default_context( cafile=stripe.ca_bundle_path ) else: kwargs["verify"] = False self._client_async = self.httpx.AsyncClient(**kwargs) self._client = None if allow_sync_methods: self._client = self.httpx.Client(**kwargs) self._timeout = timeout def sleep_async(self, secs): return self.anyio.sleep(secs) def _get_request_args_kwargs( self, method: str, url: str, headers: Mapping[str, str], post_data ): kwargs = {} if self._proxy: kwargs["proxies"] = self._proxy if self._timeout: kwargs["timeout"] = self._timeout return [ (method, url), {"headers": headers, "data": post_data or {}, **kwargs}, ] def request( self, method: str, url: str, headers: Mapping[str, str], post_data=None, ) -> Tuple[bytes, int, Mapping[str, str]]: if self._client is None: raise RuntimeError( "Stripe: HTTPXClient was initialized with allow_sync_methods=False, " "so it cannot be used for synchronous requests." ) args, kwargs = self._get_request_args_kwargs( method, url, headers, post_data ) try: response = self._client.request(*args, **kwargs) except Exception as e: self._handle_request_error(e) content = response.content status_code = response.status_code response_headers = response.headers return content, status_code, response_headers async def request_async( self, method: str, url: str, headers: Mapping[str, str], post_data=None, ) -> Tuple[bytes, int, Mapping[str, str]]: args, kwargs = self._get_request_args_kwargs( method, url, headers, post_data ) try: response = await self._client_async.request(*args, **kwargs) except Exception as e: self._handle_request_error(e) content = response.content status_code = response.status_code response_headers = response.headers return content, status_code, response_headers def _handle_request_error(self, e: Exception) -> NoReturn: msg = ( "Unexpected error communicating with Stripe. If this " "problem persists, let us know at support@stripe.com." ) err = "A %s was raised" % (type(e).__name__,) should_retry = True msg = textwrap.fill(msg) + "\n\n(Network error: %s)" % (err,) raise APIConnectionError(msg, should_retry=should_retry) from e def request_stream( self, method: str, url: str, headers: Mapping[str, str], post_data=None ) -> Tuple[Iterable[bytes], int, Mapping[str, str]]: if self._client is None: raise RuntimeError( "Stripe: HTTPXClient was not initialized with allow_sync_methods=True, " "so it cannot be used for synchronous requests." ) args, kwargs = self._get_request_args_kwargs( method, url, headers, post_data ) try: response = self._client.send( request=self._client_async.build_request(*args, **kwargs), stream=True, ) except Exception as e: self._handle_request_error(e) content = response.iter_bytes() status_code = response.status_code headers = response.headers return content, status_code, headers async def request_stream_async( self, method: str, url: str, headers: Mapping[str, str], post_data=None ) -> Tuple[AsyncIterable[bytes], int, Mapping[str, str]]: args, kwargs = self._get_request_args_kwargs( method, url, headers, post_data ) try: response = await self._client_async.send( request=self._client_async.build_request(*args, **kwargs), stream=True, ) except Exception as e: self._handle_request_error(e) content = response.aiter_bytes() status_code = response.status_code headers = response.headers return content, status_code, headers def close(self): if self._client is not None: self._client.close() async def close_async(self): await self._client_async.aclose() class AIOHTTPClient(HTTPClient): name = "aiohttp" def __init__( self, timeout: Optional[Union[float, "AIOHTTPTimeout"]] = 80, _lib=None, # used for internal unit testing **kwargs, ): super(AIOHTTPClient, self).__init__(**kwargs) if _lib is None: import aiohttp _lib = aiohttp self.aiohttp = _lib self._timeout = timeout self._cached_session = None @property def _session(self): if self._cached_session is None: kwargs = {} if self._verify_ssl_certs: ssl_context = ssl.create_default_context( cafile=stripe.ca_bundle_path ) kwargs["connector"] = self.aiohttp.TCPConnector( ssl=ssl_context ) else: kwargs["connector"] = self.aiohttp.TCPConnector( verify_ssl=False ) self._cached_session = self.aiohttp.ClientSession(**kwargs) return self._cached_session def sleep_async(self, secs): return asyncio.sleep(secs) def request(self) -> Tuple[bytes, int, Mapping[str, str]]: raise NotImplementedError( "AIOHTTPClient does not support synchronous requests." ) def _get_request_args_kwargs( self, method: str, url: str, headers: Mapping[str, str], post_data ): args = (method, url) kwargs = {} if self._proxy: if self._proxy["http"] != self._proxy["https"]: raise ValueError( "AIOHTTPClient does not support different proxies for HTTP and HTTPS." ) kwargs["proxy"] = self._proxy["https"] if self._timeout: kwargs["timeout"] = self._timeout kwargs["headers"] = headers kwargs["data"] = post_data return args, kwargs async def request_async( self, method: str, url: str, headers: Mapping[str, str], post_data=None, ) -> Tuple[bytes, int, Mapping[str, str]]: ( content, status_code, response_headers, ) = await self.request_stream_async( method, url, headers, post_data=post_data ) return (await content.read()), status_code, response_headers def _handle_request_error(self, e: Exception) -> NoReturn: msg = ( "Unexpected error communicating with Stripe. If this " "problem persists, let us know at support@stripe.com." ) err = "A %s was raised" % (type(e).__name__,) should_retry = True msg = textwrap.fill(msg) + "\n\n(Network error: %s)" % (err,) raise APIConnectionError(msg, should_retry=should_retry) from e def request_stream(self) -> Tuple[Iterable[bytes], int, Mapping[str, str]]: raise NotImplementedError( "AIOHTTPClient does not support synchronous requests." ) async def request_stream_async( self, method: str, url: str, headers: Mapping[str, str], post_data=None ) -> Tuple["AIOHTTPStreamReader", int, Mapping[str, str]]: args, kwargs = self._get_request_args_kwargs( method, url, headers, post_data ) try: response = await self._session.request(*args, **kwargs) except Exception as e: self._handle_request_error(e) content = response.content status_code = response.status response_headers = response.headers return content, status_code, response_headers def close(self): pass async def close_async(self): await self._session.close() class NoImportFoundAsyncClient(HTTPClient): def __init__(self, **kwargs): super(NoImportFoundAsyncClient, self).__init__(**kwargs) @staticmethod def raise_async_client_import_error() -> Never: raise ImportError( ( "Import httpx not found. To make async http requests," "You must either install httpx or define your own" "async http client by subclassing stripe.HTTPClient" "and setting stripe.default_http_client to an instance of it." ) ) async def request_async( self, method: str, url: str, headers: Mapping[str, str], post_data=None ) -> Tuple[bytes, int, Mapping[str, str]]: self.raise_async_client_import_error() async def request_stream_async( self, method: str, url: str, headers: Mapping[str, str], post_data=None ): self.raise_async_client_import_error() async def close_async(self): self.raise_async_client_import_error() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.324062 stripe-13.2.0/stripe/_identity_service.py0000644000000000000000000000253515102753431015427 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.identity._verification_report_service import ( VerificationReportService, ) from stripe.identity._verification_session_service import ( VerificationSessionService, ) _subservices = { "verification_reports": [ "stripe.identity._verification_report_service", "VerificationReportService", ], "verification_sessions": [ "stripe.identity._verification_session_service", "VerificationSessionService", ], } class IdentityService(StripeService): verification_reports: "VerificationReportService" verification_sessions: "VerificationSessionService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.325062 stripe-13.2.0/stripe/_invoice.py0000644000000000000000000037211515102753431013516 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._nested_resource_class_methods import nested_resource_class_methods from stripe._search_result_object import SearchResultObject from stripe._searchable_api_resource import SearchableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ( AsyncIterator, ClassVar, Dict, Iterator, List, Optional, Union, cast, overload, ) from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._application import Application from stripe._bank_account import BankAccount from stripe._card import Card as CardResource from stripe._customer import Customer from stripe._discount import Discount from stripe._invoice_line_item import InvoiceLineItem from stripe._invoice_payment import InvoicePayment from stripe._payment_intent import PaymentIntent from stripe._payment_method import PaymentMethod from stripe._setup_intent import SetupIntent from stripe._shipping_rate import ShippingRate from stripe._source import Source from stripe._subscription import Subscription from stripe._tax_id import TaxId from stripe._tax_rate import TaxRate from stripe.billing._credit_balance_transaction import ( CreditBalanceTransaction, ) from stripe.params._invoice_add_lines_params import InvoiceAddLinesParams from stripe.params._invoice_attach_payment_params import ( InvoiceAttachPaymentParams, ) from stripe.params._invoice_create_params import InvoiceCreateParams from stripe.params._invoice_create_preview_params import ( InvoiceCreatePreviewParams, ) from stripe.params._invoice_delete_params import InvoiceDeleteParams from stripe.params._invoice_finalize_invoice_params import ( InvoiceFinalizeInvoiceParams, ) from stripe.params._invoice_list_lines_params import InvoiceListLinesParams from stripe.params._invoice_list_params import InvoiceListParams from stripe.params._invoice_mark_uncollectible_params import ( InvoiceMarkUncollectibleParams, ) from stripe.params._invoice_modify_params import InvoiceModifyParams from stripe.params._invoice_pay_params import InvoicePayParams from stripe.params._invoice_remove_lines_params import ( InvoiceRemoveLinesParams, ) from stripe.params._invoice_retrieve_params import InvoiceRetrieveParams from stripe.params._invoice_search_params import InvoiceSearchParams from stripe.params._invoice_send_invoice_params import ( InvoiceSendInvoiceParams, ) from stripe.params._invoice_update_lines_params import ( InvoiceUpdateLinesParams, ) from stripe.params._invoice_void_invoice_params import ( InvoiceVoidInvoiceParams, ) from stripe.test_helpers._test_clock import TestClock @nested_resource_class_methods("line") class Invoice( CreateableAPIResource["Invoice"], DeletableAPIResource["Invoice"], ListableAPIResource["Invoice"], SearchableAPIResource["Invoice"], UpdateableAPIResource["Invoice"], ): """ Invoices are statements of amounts owed by a customer, and are either generated one-off, or generated periodically from a subscription. They contain [invoice items](https://stripe.com/docs/api#invoiceitems), and proration adjustments that may be caused by subscription upgrades/downgrades (if necessary). If your invoice is configured to be billed through automatic charges, Stripe automatically finalizes your invoice and attempts payment. Note that finalizing the invoice, [when automatic](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection), does not happen immediately as the invoice is created. Stripe waits until one hour after the last webhook was successfully sent (or the last webhook timed out after failing). If you (and the platforms you may have connected to) have no webhooks configured, Stripe waits one hour after creation to finalize the invoice. If your invoice is configured to be billed by sending an email, then based on your [email settings](https://dashboard.stripe.com/account/billing/automatic), Stripe will email the invoice to your customer and await payment. These emails can contain a link to a hosted page to pay the invoice. Stripe applies any customer credit on the account before determining the amount due for the invoice (i.e., the amount that will be actually charged). If the amount due for the invoice is less than Stripe's [minimum allowed charge per currency](https://docs.stripe.com/docs/currencies#minimum-and-maximum-charge-amounts), the invoice is automatically marked paid, and we add the amount due to the customer's credit balance which is applied to the next invoice. More details on the customer's credit balance are [here](https://stripe.com/docs/billing/customer/balance). Related guide: [Send invoices to customers](https://stripe.com/docs/billing/invoices/sending) """ OBJECT_NAME: ClassVar[Literal["invoice"]] = "invoice" class AutomaticTax(StripeObject): class Liability(StripeObject): account: Optional[ExpandableField["Account"]] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced. """ disabled_reason: Optional[ Literal[ "finalization_requires_location_inputs", "finalization_system_error", ] ] """ If Stripe disabled automatic tax, this enum describes why. """ enabled: bool """ Whether Stripe automatically computes tax on this invoice. Note that incompatible invoice items (invoice items with manually specified [tax rates](https://stripe.com/docs/api/tax_rates), negative amounts, or `tax_behavior=unspecified`) cannot be added to automatic tax invoices. """ liability: Optional[Liability] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ provider: Optional[str] """ The tax provider powering automatic tax. """ status: Optional[ Literal["complete", "failed", "requires_location_inputs"] ] """ The status of the most recent automated tax calculation for this invoice. """ _inner_class_types = {"liability": Liability} class ConfirmationSecret(StripeObject): client_secret: str """ The client_secret of the payment that Stripe creates for the invoice after finalization. """ type: str """ The type of client_secret. Currently this is always payment_intent, referencing the default payment_intent that Stripe creates during invoice finalization """ class CustomField(StripeObject): name: str """ The name of the custom field. """ value: str """ The value of the custom field. """ class CustomerAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class CustomerShipping(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Optional[Address] carrier: Optional[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: Optional[str] """ Recipient name. """ phone: Optional[str] """ Recipient phone (including extension). """ tracking_number: Optional[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ _inner_class_types = {"address": Address} class CustomerTaxId(StripeObject): type: Literal[ "ad_nrt", "ae_trn", "al_tin", "am_tin", "ao_tin", "ar_cuit", "au_abn", "au_arn", "aw_tin", "az_tin", "ba_tin", "bb_tin", "bd_bin", "bf_ifu", "bg_uic", "bh_vat", "bj_ifu", "bo_tin", "br_cnpj", "br_cpf", "bs_tin", "by_tin", "ca_bn", "ca_gst_hst", "ca_pst_bc", "ca_pst_mb", "ca_pst_sk", "ca_qst", "cd_nif", "ch_uid", "ch_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", "de_stn", "do_rcn", "ec_ruc", "eg_tin", "es_cif", "et_tin", "eu_oss_vat", "eu_vat", "gb_vat", "ge_vat", "gn_nif", "hk_br", "hr_oib", "hu_tin", "id_npwp", "il_vat", "in_gst", "is_vat", "jp_cn", "jp_rn", "jp_trn", "ke_pin", "kg_tin", "kh_tin", "kr_brn", "kz_bin", "la_tin", "li_uid", "li_vat", "ma_vat", "md_vat", "me_pib", "mk_vat", "mr_nif", "mx_rfc", "my_frp", "my_itn", "my_sst", "ng_tin", "no_vat", "no_voec", "np_pan", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "ro_tin", "rs_pib", "ru_inn", "ru_kpp", "sa_vat", "sg_gst", "sg_uen", "si_tin", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", "tw_vat", "tz_vat", "ua_vat", "ug_tin", "unknown", "us_ein", "uy_ruc", "uz_tin", "uz_vat", "ve_rif", "vn_tin", "za_vat", "zm_tin", "zw_tin", ] """ The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `hr_oib`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `no_voec`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, `al_tin`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, `tz_vat`, `uz_vat`, `uz_tin`, `md_vat`, `ma_vat`, `by_tin`, `ao_tin`, `bs_tin`, `bb_tin`, `cd_nif`, `mr_nif`, `me_pib`, `zw_tin`, `ba_tin`, `gn_nif`, `mk_vat`, `sr_fin`, `sn_ninea`, `am_tin`, `np_pan`, `tj_tin`, `ug_tin`, `zm_tin`, `kh_tin`, `aw_tin`, `az_tin`, `bd_bin`, `bj_ifu`, `et_tin`, `kg_tin`, `la_tin`, `cm_niu`, `cv_nif`, `bf_ifu`, or `unknown` """ value: Optional[str] """ The value of the tax ID. """ class FromInvoice(StripeObject): action: str """ The relation between this invoice and the cloned invoice """ invoice: ExpandableField["Invoice"] """ The invoice that was cloned. """ class Issuer(StripeObject): account: Optional[ExpandableField["Account"]] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced. """ class LastFinalizationError(StripeObject): advice_code: Optional[str] """ For card errors resulting from a card issuer decline, a short string indicating [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines) if they provide one. """ charge: Optional[str] """ For card errors, the ID of the failed charge. """ code: Optional[ Literal[ "account_closed", "account_country_invalid_address", "account_error_country_change_requires_additional_steps", "account_information_mismatch", "account_invalid", "account_number_invalid", "acss_debit_session_incomplete", "alipay_upgrade_required", "amount_too_large", "amount_too_small", "api_key_expired", "application_fees_not_allowed", "authentication_required", "balance_insufficient", "balance_invalid_parameter", "bank_account_bad_routing_numbers", "bank_account_declined", "bank_account_exists", "bank_account_restricted", "bank_account_unusable", "bank_account_unverified", "bank_account_verification_failed", "billing_invalid_mandate", "bitcoin_upgrade_required", "capture_charge_authorization_expired", "capture_unauthorized_payment", "card_decline_rate_limit_exceeded", "card_declined", "cardholder_phone_number_required", "charge_already_captured", "charge_already_refunded", "charge_disputed", "charge_exceeds_source_limit", "charge_exceeds_transaction_limit", "charge_expired_for_capture", "charge_invalid_parameter", "charge_not_refundable", "clearing_code_unsupported", "country_code_invalid", "country_unsupported", "coupon_expired", "customer_max_payment_methods", "customer_max_subscriptions", "customer_session_expired", "customer_tax_location_invalid", "debit_not_authorized", "email_invalid", "expired_card", "financial_connections_account_inactive", "financial_connections_account_pending_account_numbers", "financial_connections_account_unavailable_account_numbers", "financial_connections_no_successful_transaction_refresh", "forwarding_api_inactive", "forwarding_api_invalid_parameter", "forwarding_api_retryable_upstream_error", "forwarding_api_upstream_connection_error", "forwarding_api_upstream_connection_timeout", "forwarding_api_upstream_error", "idempotency_key_in_use", "incorrect_address", "incorrect_cvc", "incorrect_number", "incorrect_zip", "india_recurring_payment_mandate_canceled", "instant_payouts_config_disabled", "instant_payouts_currency_disabled", "instant_payouts_limit_exceeded", "instant_payouts_unsupported", "insufficient_funds", "intent_invalid_state", "intent_verification_method_missing", "invalid_card_type", "invalid_characters", "invalid_charge_amount", "invalid_cvc", "invalid_expiry_month", "invalid_expiry_year", "invalid_mandate_reference_prefix_format", "invalid_number", "invalid_source_usage", "invalid_tax_location", "invoice_no_customer_line_items", "invoice_no_payment_method_types", "invoice_no_subscription_line_items", "invoice_not_editable", "invoice_on_behalf_of_not_editable", "invoice_payment_intent_requires_action", "invoice_upcoming_none", "livemode_mismatch", "lock_timeout", "missing", "no_account", "not_allowed_on_standard_account", "out_of_inventory", "ownership_declaration_not_allowed", "parameter_invalid_empty", "parameter_invalid_integer", "parameter_invalid_string_blank", "parameter_invalid_string_empty", "parameter_missing", "parameter_unknown", "parameters_exclusive", "payment_intent_action_required", "payment_intent_authentication_failure", "payment_intent_incompatible_payment_method", "payment_intent_invalid_parameter", "payment_intent_konbini_rejected_confirmation_number", "payment_intent_mandate_invalid", "payment_intent_payment_attempt_expired", "payment_intent_payment_attempt_failed", "payment_intent_rate_limit_exceeded", "payment_intent_unexpected_state", "payment_method_bank_account_already_verified", "payment_method_bank_account_blocked", "payment_method_billing_details_address_missing", "payment_method_configuration_failures", "payment_method_currency_mismatch", "payment_method_customer_decline", "payment_method_invalid_parameter", "payment_method_invalid_parameter_testmode", "payment_method_microdeposit_failed", "payment_method_microdeposit_verification_amounts_invalid", "payment_method_microdeposit_verification_amounts_mismatch", "payment_method_microdeposit_verification_attempts_exceeded", "payment_method_microdeposit_verification_descriptor_code_mismatch", "payment_method_microdeposit_verification_timeout", "payment_method_not_available", "payment_method_provider_decline", "payment_method_provider_timeout", "payment_method_unactivated", "payment_method_unexpected_state", "payment_method_unsupported_type", "payout_reconciliation_not_ready", "payouts_limit_exceeded", "payouts_not_allowed", "platform_account_required", "platform_api_key_expired", "postal_code_invalid", "processing_error", "product_inactive", "progressive_onboarding_limit_exceeded", "rate_limit", "refer_to_customer", "refund_disputed_payment", "resource_already_exists", "resource_missing", "return_intent_already_processed", "routing_number_invalid", "secret_key_required", "sepa_unsupported_account", "setup_attempt_failed", "setup_intent_authentication_failure", "setup_intent_invalid_parameter", "setup_intent_mandate_invalid", "setup_intent_mobile_wallet_unsupported", "setup_intent_setup_attempt_expired", "setup_intent_unexpected_state", "shipping_address_invalid", "shipping_calculation_failed", "sku_inactive", "state_unsupported", "status_transition_invalid", "stripe_tax_inactive", "tax_id_invalid", "tax_id_prohibited", "taxes_calculation_failed", "terminal_location_country_unsupported", "terminal_reader_busy", "terminal_reader_hardware_fault", "terminal_reader_invalid_location_for_activation", "terminal_reader_invalid_location_for_payment", "terminal_reader_offline", "terminal_reader_timeout", "testmode_charges_only", "tls_version_unsupported", "token_already_used", "token_card_network_invalid", "token_in_use", "transfer_source_balance_parameters_mismatch", "transfers_not_allowed", "url_invalid", ] ] """ For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported. """ decline_code: Optional[str] """ For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one. """ doc_url: Optional[str] """ A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported. """ message: Optional[str] """ A human-readable message providing more details about the error. For card errors, these messages can be shown to your users. """ network_advice_code: Optional[str] """ For card errors resulting from a card issuer decline, a 2 digit code which indicates the advice given to merchant by the card network on how to proceed with an error. """ network_decline_code: Optional[str] """ For payments declined by the network, an alphanumeric code which indicates the reason the payment failed. """ param: Optional[str] """ If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field. """ payment_intent: Optional["PaymentIntent"] """ A PaymentIntent guides you through the process of collecting a payment from your customer. We recommend that you create exactly one PaymentIntent for each order or customer session in your system. You can reference the PaymentIntent later to see the history of payment attempts for a particular session. A PaymentIntent transitions through [multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses) throughout its lifetime as it interfaces with Stripe.js to perform authentication flows and ultimately creates at most one successful charge. Related guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents) """ payment_method: Optional["PaymentMethod"] """ PaymentMethod objects represent your customer's payment instruments. You can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to Customer objects to store instrument details for future payments. Related guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios). """ payment_method_type: Optional[str] """ If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors. """ request_log_url: Optional[str] """ A URL to the request log entry in your dashboard. """ setup_intent: Optional["SetupIntent"] """ A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments. For example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment. Later, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow. Create a SetupIntent when you're ready to collect your customer's payment credentials. Don't maintain long-lived, unconfirmed SetupIntents because they might not be valid. The SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides you through the setup process. Successful SetupIntents result in payment credentials that are optimized for future payments. For example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through [Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection to streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents). If you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer), it automatically attaches the resulting payment method to that Customer after successful setup. We recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on PaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods. By using SetupIntents, you can reduce friction for your customers, even as regulations change over time. Related guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents) """ source: Optional[ Union["Account", "BankAccount", "CardResource", "Source"] ] type: Literal[ "api_error", "card_error", "idempotency_error", "invalid_request_error", ] """ The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error` """ class Parent(StripeObject): class QuoteDetails(StripeObject): quote: str """ The quote that generated this invoice """ class SubscriptionDetails(StripeObject): metadata: Optional[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) defined as subscription metadata when an invoice is created. Becomes an immutable snapshot of the subscription metadata at the time of invoice finalization. *Note: This attribute is populated only for invoices created on or after June 29, 2023.* """ subscription: ExpandableField["Subscription"] """ The subscription that generated this invoice """ subscription_proration_date: Optional[int] """ Only set for upcoming invoices that preview prorations. The time used to calculate prorations. """ quote_details: Optional[QuoteDetails] """ Details about the quote that generated this invoice """ subscription_details: Optional[SubscriptionDetails] """ Details about the subscription that generated this invoice """ type: Literal["quote_details", "subscription_details"] """ The type of parent that generated this invoice """ _inner_class_types = { "quote_details": QuoteDetails, "subscription_details": SubscriptionDetails, } class PaymentSettings(StripeObject): class PaymentMethodOptions(StripeObject): class AcssDebit(StripeObject): class MandateOptions(StripeObject): transaction_type: Optional[Literal["business", "personal"]] """ Transaction type of the mandate. """ mandate_options: Optional[MandateOptions] verification_method: Optional[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ _inner_class_types = {"mandate_options": MandateOptions} class Bancontact(StripeObject): preferred_language: Literal["de", "en", "fr", "nl"] """ Preferred language of the Bancontact authorization page that the customer is redirected to. """ class Card(StripeObject): class Installments(StripeObject): enabled: Optional[bool] """ Whether Installments are enabled for this Invoice. """ installments: Optional[Installments] request_three_d_secure: Optional[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ _inner_class_types = {"installments": Installments} class CustomerBalance(StripeObject): class BankTransfer(StripeObject): class EuBankTransfer(StripeObject): country: Literal["BE", "DE", "ES", "FR", "IE", "NL"] """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ eu_bank_transfer: Optional[EuBankTransfer] type: Optional[str] """ The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. """ _inner_class_types = {"eu_bank_transfer": EuBankTransfer} bank_transfer: Optional[BankTransfer] funding_type: Optional[Literal["bank_transfer"]] """ The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. """ _inner_class_types = {"bank_transfer": BankTransfer} class Konbini(StripeObject): pass class SepaDebit(StripeObject): pass class UsBankAccount(StripeObject): class FinancialConnections(StripeObject): class Filters(StripeObject): account_subcategories: Optional[ List[Literal["checking", "savings"]] ] """ The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`. """ filters: Optional[Filters] permissions: Optional[ List[ Literal[ "balances", "ownership", "payment_method", "transactions", ] ] ] """ The list of permissions to request. The `payment_method` permission must be included. """ prefetch: Optional[ List[Literal["balances", "ownership", "transactions"]] ] """ Data features requested to be retrieved upon account creation. """ _inner_class_types = {"filters": Filters} financial_connections: Optional[FinancialConnections] verification_method: Optional[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ _inner_class_types = { "financial_connections": FinancialConnections, } acss_debit: Optional[AcssDebit] """ If paying by `acss_debit`, this sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to the invoice's PaymentIntent. """ bancontact: Optional[Bancontact] """ If paying by `bancontact`, this sub-hash contains details about the Bancontact payment method options to pass to the invoice's PaymentIntent. """ card: Optional[Card] """ If paying by `card`, this sub-hash contains details about the Card payment method options to pass to the invoice's PaymentIntent. """ customer_balance: Optional[CustomerBalance] """ If paying by `customer_balance`, this sub-hash contains details about the Bank transfer payment method options to pass to the invoice's PaymentIntent. """ konbini: Optional[Konbini] """ If paying by `konbini`, this sub-hash contains details about the Konbini payment method options to pass to the invoice's PaymentIntent. """ sepa_debit: Optional[SepaDebit] """ If paying by `sepa_debit`, this sub-hash contains details about the SEPA Direct Debit payment method options to pass to the invoice's PaymentIntent. """ us_bank_account: Optional[UsBankAccount] """ If paying by `us_bank_account`, this sub-hash contains details about the ACH direct debit payment method options to pass to the invoice's PaymentIntent. """ _inner_class_types = { "acss_debit": AcssDebit, "bancontact": Bancontact, "card": Card, "customer_balance": CustomerBalance, "konbini": Konbini, "sepa_debit": SepaDebit, "us_bank_account": UsBankAccount, } default_mandate: Optional[str] """ ID of the mandate to be used for this invoice. It must correspond to the payment method used to pay the invoice, including the invoice's default_payment_method or default_source, if set. """ payment_method_options: Optional[PaymentMethodOptions] """ Payment-method-specific configuration to provide to the invoice's PaymentIntent. """ payment_method_types: Optional[ List[ Literal[ "ach_credit_transfer", "ach_debit", "acss_debit", "affirm", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "boleto", "card", "cashapp", "crypto", "custom", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "jp_credit_transfer", "kakao_pay", "klarna", "konbini", "kr_card", "link", "multibanco", "naver_pay", "nz_bank_account", "p24", "payco", "paynow", "paypal", "promptpay", "revolut_pay", "sepa_credit_transfer", "sepa_debit", "sofort", "swish", "us_bank_account", "wechat_pay", ] ] ] """ The list of payment method types (e.g. card) to provide to the invoice's PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice's default payment method, the subscription's default payment method, the customer's default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice). """ _inner_class_types = {"payment_method_options": PaymentMethodOptions} class Rendering(StripeObject): class Pdf(StripeObject): page_size: Optional[Literal["a4", "auto", "letter"]] """ Page size of invoice pdf. Options include a4, letter, and auto. If set to auto, page size will be switched to a4 or letter based on customer locale. """ amount_tax_display: Optional[str] """ How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. """ pdf: Optional[Pdf] """ Invoice pdf rendering options """ template: Optional[str] """ ID of the rendering template that the invoice is formatted by. """ template_version: Optional[int] """ Version of the rendering template that the invoice is using. """ _inner_class_types = {"pdf": Pdf} class ShippingCost(StripeObject): class Tax(StripeObject): amount: int """ Amount of tax applied for this rate. """ rate: "TaxRate" """ Tax rates can be applied to [invoices](https://docs.stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://docs.stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://docs.stripe.com/payments/checkout/use-manual-tax-rates) to collect tax. Related guide: [Tax rates](https://docs.stripe.com/billing/taxes/tax-rates) """ taxability_reason: Optional[ Literal[ "customer_exempt", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] ] """ The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. """ taxable_amount: Optional[int] """ The amount on which tax is calculated, in cents (or local equivalent). """ amount_subtotal: int """ Total shipping cost before any taxes are applied. """ amount_tax: int """ Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0. """ amount_total: int """ Total shipping cost after taxes are applied. """ shipping_rate: Optional[ExpandableField["ShippingRate"]] """ The ID of the ShippingRate for this invoice. """ taxes: Optional[List[Tax]] """ The taxes applied to the shipping rate. """ _inner_class_types = {"taxes": Tax} class ShippingDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Optional[Address] carrier: Optional[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: Optional[str] """ Recipient name. """ phone: Optional[str] """ Recipient phone (including extension). """ tracking_number: Optional[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ _inner_class_types = {"address": Address} class StatusTransitions(StripeObject): finalized_at: Optional[int] """ The time that the invoice draft was finalized. """ marked_uncollectible_at: Optional[int] """ The time that the invoice was marked uncollectible. """ paid_at: Optional[int] """ The time that the invoice was paid. """ voided_at: Optional[int] """ The time that the invoice was voided. """ class ThresholdReason(StripeObject): class ItemReason(StripeObject): line_item_ids: List[str] """ The IDs of the line items that triggered the threshold invoice. """ usage_gte: int """ The quantity threshold boundary that applied to the given line item. """ amount_gte: Optional[int] """ The total invoice amount threshold boundary if it triggered the threshold invoice. """ item_reasons: List[ItemReason] """ Indicates which line items triggered a threshold invoice. """ _inner_class_types = {"item_reasons": ItemReason} class TotalDiscountAmount(StripeObject): amount: int """ The amount, in cents (or local equivalent), of the discount. """ discount: ExpandableField["Discount"] """ The discount that was applied to get this discount amount. """ class TotalPretaxCreditAmount(StripeObject): amount: int """ The amount, in cents (or local equivalent), of the pretax credit amount. """ credit_balance_transaction: Optional[ ExpandableField["CreditBalanceTransaction"] ] """ The credit balance transaction that was applied to get this pretax credit amount. """ discount: Optional[ExpandableField["Discount"]] """ The discount that was applied to get this pretax credit amount. """ type: Literal["credit_balance_transaction", "discount"] """ Type of the pretax credit amount referenced. """ class TotalTax(StripeObject): class TaxRateDetails(StripeObject): tax_rate: str amount: int """ The amount of the tax, in cents (or local equivalent). """ tax_behavior: Literal["exclusive", "inclusive"] """ Whether this tax is inclusive or exclusive. """ tax_rate_details: Optional[TaxRateDetails] """ Additional details about the tax rate. Only present when `type` is `tax_rate_details`. """ taxability_reason: Literal[ "customer_exempt", "not_available", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] """ The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. """ taxable_amount: Optional[int] """ The amount on which tax is calculated, in cents (or local equivalent). """ type: Literal["tax_rate_details"] """ The type of tax information. """ _inner_class_types = {"tax_rate_details": TaxRateDetails} account_country: Optional[str] """ The country of the business associated with this invoice, most often the business creating the invoice. """ account_name: Optional[str] """ The public name of the business associated with this invoice, most often the business creating the invoice. """ account_tax_ids: Optional[List[ExpandableField["TaxId"]]] """ The account tax IDs associated with the invoice. Only editable when the invoice is a draft. """ amount_due: int """ Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the `amount_due` may be 0. If there is a positive `starting_balance` for the invoice (the customer owes money), the `amount_due` will also take that into account. The charge that gets generated for the invoice will be for the amount specified in `amount_due`. """ amount_overpaid: int """ Amount that was overpaid on the invoice. The amount overpaid is credited to the customer's credit balance. """ amount_paid: int """ The amount, in cents (or local equivalent), that was paid. """ amount_remaining: int """ The difference between amount_due and amount_paid, in cents (or local equivalent). """ amount_shipping: int """ This is the sum of all the shipping amounts. """ application: Optional[ExpandableField["Application"]] """ ID of the Connect Application that created the invoice. """ attempt_count: int """ Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule. If a failure is returned with a non-retryable return code, the invoice can no longer be retried unless a new payment method is obtained. Retries will continue to be scheduled, and attempt_count will continue to increment, but retries will only be executed if a new payment method is obtained. """ attempted: bool """ Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the `invoice.created` webhook, for example, so you might not want to display that invoice as unpaid to your users. """ auto_advance: Optional[bool] """ Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action. """ automatic_tax: AutomaticTax automatically_finalizes_at: Optional[int] """ The time when this invoice is currently scheduled to be automatically finalized. The field will be `null` if the invoice is not scheduled to finalize in the future. If the invoice is not in the draft state, this field will always be `null` - see `finalized_at` for the time when an already-finalized invoice was finalized. """ billing_reason: Optional[ Literal[ "automatic_pending_invoice_item_invoice", "manual", "quote_accept", "subscription", "subscription_create", "subscription_cycle", "subscription_threshold", "subscription_update", "upcoming", ] ] """ Indicates the reason why the invoice was created. * `manual`: Unrelated to a subscription, for example, created via the invoice editor. * `subscription`: No longer in use. Applies to subscriptions from before May 2018 where no distinction was made between updates, cycles, and thresholds. * `subscription_create`: A new subscription was created. * `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 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"] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions. """ confirmation_secret: Optional[ConfirmationSecret] """ The confirmation secret associated with this invoice. Currently, this contains the client_secret of the PaymentIntent that Stripe creates during invoice finalization. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ custom_fields: Optional[List[CustomField]] """ Custom fields displayed on the invoice. """ customer: Optional[ExpandableField["Customer"]] """ The ID of the customer who will be billed. """ customer_address: Optional[CustomerAddress] """ The customer's address. Until the invoice is finalized, this field will equal `customer.address`. Once the invoice is finalized, this field will no longer be updated. """ customer_email: Optional[str] """ The customer's email. Until the invoice is finalized, this field will equal `customer.email`. Once the invoice is finalized, this field will no longer be updated. """ customer_name: Optional[str] """ The customer's name. Until the invoice is finalized, this field will equal `customer.name`. Once the invoice is finalized, this field will no longer be updated. """ customer_phone: Optional[str] """ The customer's phone number. Until the invoice is finalized, this field will equal `customer.phone`. Once the invoice is finalized, this field will no longer be updated. """ customer_shipping: Optional[CustomerShipping] """ The customer's shipping information. Until the invoice is finalized, this field will equal `customer.shipping`. Once the invoice is finalized, this field will no longer be updated. """ customer_tax_exempt: Optional[Literal["exempt", "none", "reverse"]] """ The customer's tax exempt status. Until the invoice is finalized, this field will equal `customer.tax_exempt`. Once the invoice is finalized, this field will no longer be updated. """ customer_tax_ids: Optional[List[CustomerTaxId]] """ The customer's tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated. """ default_payment_method: Optional[ExpandableField["PaymentMethod"]] """ ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings. """ default_source: Optional[ ExpandableField[ Union["Account", "BankAccount", "CardResource", "Source"] ] ] """ ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source. """ default_tax_rates: List["TaxRate"] """ The tax rates applied to this invoice, if any. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard. """ discounts: List[ExpandableField["Discount"]] """ The discounts applied to the invoice. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount. """ due_date: Optional[int] """ The date on which payment for this invoice is due. This value will be `null` for invoices where `collection_method=charge_automatically`. """ effective_at: Optional[int] """ The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt. """ ending_balance: Optional[int] """ Ending customer balance after the invoice is finalized. Invoices are finalized approximately an hour after successful webhook delivery or when payment collection is attempted for the invoice. If the invoice has not been finalized yet, this will be null. """ footer: Optional[str] """ Footer displayed on the invoice. """ from_invoice: Optional[FromInvoice] """ Details of the invoice that was cloned. See the [revision documentation](https://stripe.com/docs/invoicing/invoice-revisions) for more details. """ hosted_invoice_url: Optional[str] """ The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null. """ id: str """ Unique identifier for the object. For preview invoices created using the [create preview](https://stripe.com/docs/api/invoices/create_preview) endpoint, this id will be prefixed with `upcoming_in`. """ invoice_pdf: Optional[str] """ The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null. """ issuer: Issuer last_finalization_error: Optional[LastFinalizationError] """ The error encountered during the previous attempt to finalize the invoice. This field is cleared when the invoice is successfully finalized. """ latest_revision: Optional[ExpandableField["Invoice"]] """ The ID of the most recent non-draft revision of this invoice """ lines: ListObject["InvoiceLineItem"] """ The individual line items that make up the invoice. `lines` is sorted as follows: (1) pending invoice items (including prorations) in reverse chronological order, (2) subscription items in reverse chronological order, and (3) invoice items added after invoice creation in chronological order. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ next_payment_attempt: Optional[int] """ The time at which payment will next be attempted. This value will be `null` for invoices where `collection_method=send_invoice`. """ number: Optional[str] """ A unique, identifying string that appears on emails sent to the customer for this invoice. This starts with the customer's unique invoice_prefix if it is specified. """ object: Literal["invoice"] """ String representing the object's type. Objects of the same type share the same value. """ on_behalf_of: Optional[ExpandableField["Account"]] """ The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details. """ parent: Optional[Parent] """ The parent that generated this invoice """ payment_settings: PaymentSettings payments: Optional[ListObject["InvoicePayment"]] """ Payments for this invoice """ period_end: int """ End of the usage period during which invoice items were added to this invoice. This looks back one period for a subscription invoice. Use the [line item period](https://docs.stripe.com/api/invoices/line_item#invoice_line_item_object-period) to get the service period for each price. """ period_start: int """ Start of the usage period during which invoice items were added to this invoice. This looks back one period for a subscription invoice. Use the [line item period](https://docs.stripe.com/api/invoices/line_item#invoice_line_item_object-period) to get the service period for each price. """ post_payment_credit_notes_amount: int """ Total amount of all post-payment credit notes issued for this invoice. """ pre_payment_credit_notes_amount: int """ Total amount of all pre-payment credit notes issued for this invoice. """ receipt_number: Optional[str] """ This is the transaction number that appears on email receipts sent for this invoice. """ rendering: Optional[Rendering] """ The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page. """ shipping_cost: Optional[ShippingCost] """ The details of the cost of shipping, including the ShippingRate applied on the invoice. """ shipping_details: Optional[ShippingDetails] """ 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. """ starting_balance: int """ Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance. For revision invoices, this also includes any customer balance that was applied to the original invoice. """ statement_descriptor: Optional[str] """ Extra information about an invoice for the customer's credit card statement. """ status: Optional[Literal["draft", "open", "paid", "uncollectible", "void"]] """ The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview) """ status_transitions: StatusTransitions subtotal: int """ Total of all subscriptions, invoice items, and prorations on the invoice before any invoice level discount or exclusive tax is applied. Item discounts are already incorporated """ subtotal_excluding_tax: Optional[int] """ The integer amount in cents (or local equivalent) representing the subtotal of the invoice before any invoice level discount or tax is applied. Item discounts are already incorporated """ test_clock: Optional[ExpandableField["TestClock"]] """ ID of the test clock this invoice belongs to. """ threshold_reason: Optional[ThresholdReason] total: int """ Total after discounts and taxes. """ total_discount_amounts: Optional[List[TotalDiscountAmount]] """ The aggregate amounts calculated per discount across all line items. """ total_excluding_tax: Optional[int] """ The integer amount in cents (or local equivalent) representing the total amount of the invoice including all discounts but excluding all tax. """ total_pretax_credit_amounts: Optional[List[TotalPretaxCreditAmount]] """ Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this invoice. This is a combined list of total_pretax_credit_amounts across all invoice line items. """ total_taxes: Optional[List[TotalTax]] """ The aggregate tax information of all line items. """ webhooks_delivered_at: Optional[int] """ Invoices are automatically paid or sent 1 hour after webhooks are delivered, or until all webhook delivery attempts have [been exhausted](https://stripe.com/docs/billing/webhooks#understand). This field tracks the time when webhooks for this invoice were successfully delivered. If the invoice had no webhooks to deliver, this will be set while the invoice is being created. """ @classmethod def _cls_add_lines( cls, invoice: str, **params: Unpack["InvoiceAddLinesParams"] ) -> "Invoice": """ Adds multiple line items to an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", cls._static_request( "post", "/v1/invoices/{invoice}/add_lines".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod def add_lines( invoice: str, **params: Unpack["InvoiceAddLinesParams"] ) -> "Invoice": """ Adds multiple line items to an invoice. This is only possible when an invoice is still a draft. """ ... @overload def add_lines( self, **params: Unpack["InvoiceAddLinesParams"] ) -> "Invoice": """ Adds multiple line items to an invoice. This is only possible when an invoice is still a draft. """ ... @class_method_variant("_cls_add_lines") def add_lines( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceAddLinesParams"] ) -> "Invoice": """ Adds multiple line items to an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/add_lines".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_add_lines_async( cls, invoice: str, **params: Unpack["InvoiceAddLinesParams"] ) -> "Invoice": """ Adds multiple line items to an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", await cls._static_request_async( "post", "/v1/invoices/{invoice}/add_lines".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod async def add_lines_async( invoice: str, **params: Unpack["InvoiceAddLinesParams"] ) -> "Invoice": """ Adds multiple line items to an invoice. This is only possible when an invoice is still a draft. """ ... @overload async def add_lines_async( self, **params: Unpack["InvoiceAddLinesParams"] ) -> "Invoice": """ Adds multiple line items to an invoice. This is only possible when an invoice is still a draft. """ ... @class_method_variant("_cls_add_lines_async") async def add_lines_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceAddLinesParams"] ) -> "Invoice": """ Adds multiple line items to an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/add_lines".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_attach_payment( cls, invoice: str, **params: Unpack["InvoiceAttachPaymentParams"] ) -> "Invoice": """ Attaches a PaymentIntent or an Out of Band Payment to the invoice, adding it to the list of payments. For the PaymentIntent, when the PaymentIntent's status changes to succeeded, the payment is credited to the invoice, increasing its amount_paid. When the invoice is fully paid, the invoice's status becomes paid. If the PaymentIntent's status is already succeeded when it's attached, it's credited to the invoice immediately. See: [Partial payments](https://docs.stripe.com/docs/invoicing/partial-payments) to learn more. """ return cast( "Invoice", cls._static_request( "post", "/v1/invoices/{invoice}/attach_payment".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod def attach_payment( invoice: str, **params: Unpack["InvoiceAttachPaymentParams"] ) -> "Invoice": """ Attaches a PaymentIntent or an Out of Band Payment to the invoice, adding it to the list of payments. For the PaymentIntent, when the PaymentIntent's status changes to succeeded, the payment is credited to the invoice, increasing its amount_paid. When the invoice is fully paid, the invoice's status becomes paid. If the PaymentIntent's status is already succeeded when it's attached, it's credited to the invoice immediately. See: [Partial payments](https://docs.stripe.com/docs/invoicing/partial-payments) to learn more. """ ... @overload def attach_payment( self, **params: Unpack["InvoiceAttachPaymentParams"] ) -> "Invoice": """ Attaches a PaymentIntent or an Out of Band Payment to the invoice, adding it to the list of payments. For the PaymentIntent, when the PaymentIntent's status changes to succeeded, the payment is credited to the invoice, increasing its amount_paid. When the invoice is fully paid, the invoice's status becomes paid. If the PaymentIntent's status is already succeeded when it's attached, it's credited to the invoice immediately. See: [Partial payments](https://docs.stripe.com/docs/invoicing/partial-payments) to learn more. """ ... @class_method_variant("_cls_attach_payment") def attach_payment( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceAttachPaymentParams"] ) -> "Invoice": """ Attaches a PaymentIntent or an Out of Band Payment to the invoice, adding it to the list of payments. For the PaymentIntent, when the PaymentIntent's status changes to succeeded, the payment is credited to the invoice, increasing its amount_paid. When the invoice is fully paid, the invoice's status becomes paid. If the PaymentIntent's status is already succeeded when it's attached, it's credited to the invoice immediately. See: [Partial payments](https://docs.stripe.com/docs/invoicing/partial-payments) to learn more. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/attach_payment".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_attach_payment_async( cls, invoice: str, **params: Unpack["InvoiceAttachPaymentParams"] ) -> "Invoice": """ Attaches a PaymentIntent or an Out of Band Payment to the invoice, adding it to the list of payments. For the PaymentIntent, when the PaymentIntent's status changes to succeeded, the payment is credited to the invoice, increasing its amount_paid. When the invoice is fully paid, the invoice's status becomes paid. If the PaymentIntent's status is already succeeded when it's attached, it's credited to the invoice immediately. See: [Partial payments](https://docs.stripe.com/docs/invoicing/partial-payments) to learn more. """ return cast( "Invoice", await cls._static_request_async( "post", "/v1/invoices/{invoice}/attach_payment".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod async def attach_payment_async( invoice: str, **params: Unpack["InvoiceAttachPaymentParams"] ) -> "Invoice": """ Attaches a PaymentIntent or an Out of Band Payment to the invoice, adding it to the list of payments. For the PaymentIntent, when the PaymentIntent's status changes to succeeded, the payment is credited to the invoice, increasing its amount_paid. When the invoice is fully paid, the invoice's status becomes paid. If the PaymentIntent's status is already succeeded when it's attached, it's credited to the invoice immediately. See: [Partial payments](https://docs.stripe.com/docs/invoicing/partial-payments) to learn more. """ ... @overload async def attach_payment_async( self, **params: Unpack["InvoiceAttachPaymentParams"] ) -> "Invoice": """ Attaches a PaymentIntent or an Out of Band Payment to the invoice, adding it to the list of payments. For the PaymentIntent, when the PaymentIntent's status changes to succeeded, the payment is credited to the invoice, increasing its amount_paid. When the invoice is fully paid, the invoice's status becomes paid. If the PaymentIntent's status is already succeeded when it's attached, it's credited to the invoice immediately. See: [Partial payments](https://docs.stripe.com/docs/invoicing/partial-payments) to learn more. """ ... @class_method_variant("_cls_attach_payment_async") async def attach_payment_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceAttachPaymentParams"] ) -> "Invoice": """ Attaches a PaymentIntent or an Out of Band Payment to the invoice, adding it to the list of payments. For the PaymentIntent, when the PaymentIntent's status changes to succeeded, the payment is credited to the invoice, increasing its amount_paid. When the invoice is fully paid, the invoice's status becomes paid. If the PaymentIntent's status is already succeeded when it's attached, it's credited to the invoice immediately. See: [Partial payments](https://docs.stripe.com/docs/invoicing/partial-payments) to learn more. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/attach_payment".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create(cls, **params: Unpack["InvoiceCreateParams"]) -> "Invoice": """ This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you [finalize the invoice, which allows you to [pay](#pay_invoice) or send](https://docs.stripe.com/api#finalize_invoice) the invoice to your customers. """ return cast( "Invoice", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["InvoiceCreateParams"] ) -> "Invoice": """ This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you [finalize the invoice, which allows you to [pay](#pay_invoice) or send](https://docs.stripe.com/api#finalize_invoice) the invoice to your customers. """ return cast( "Invoice", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def create_preview( cls, **params: Unpack["InvoiceCreatePreviewParams"] ) -> "Invoice": """ At any time, you can preview the upcoming invoice for a subscription or subscription schedule. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice. You can also preview the effects of creating or updating a subscription or subscription schedule, including a preview of any prorations that will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass the subscription_details.proration_date parameter when doing the actual subscription update. The recommended way to get only the prorations being previewed on the invoice is to consider line items where parent.subscription_item_details.proration is true. Note that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer's discount. Note: Currency conversion calculations use the latest exchange rates. Exchange rates may vary between the time of the preview and the time of the actual invoice creation. [Learn more](https://docs.stripe.com/currencies/conversions) """ return cast( "Invoice", cls._static_request( "post", "/v1/invoices/create_preview", params=params, ), ) @classmethod async def create_preview_async( cls, **params: Unpack["InvoiceCreatePreviewParams"] ) -> "Invoice": """ At any time, you can preview the upcoming invoice for a subscription or subscription schedule. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice. You can also preview the effects of creating or updating a subscription or subscription schedule, including a preview of any prorations that will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass the subscription_details.proration_date parameter when doing the actual subscription update. The recommended way to get only the prorations being previewed on the invoice is to consider line items where parent.subscription_item_details.proration is true. Note that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer's discount. Note: Currency conversion calculations use the latest exchange rates. Exchange rates may vary between the time of the preview and the time of the actual invoice creation. [Learn more](https://docs.stripe.com/currencies/conversions) """ return cast( "Invoice", await cls._static_request_async( "post", "/v1/invoices/create_preview", params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["InvoiceDeleteParams"] ) -> "Invoice": """ Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://docs.stripe.com/api#void_invoice). """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Invoice", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete(sid: str, **params: Unpack["InvoiceDeleteParams"]) -> "Invoice": """ Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://docs.stripe.com/api#void_invoice). """ ... @overload def delete(self, **params: Unpack["InvoiceDeleteParams"]) -> "Invoice": """ Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://docs.stripe.com/api#void_invoice). """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceDeleteParams"] ) -> "Invoice": """ Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://docs.stripe.com/api#void_invoice). """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["InvoiceDeleteParams"] ) -> "Invoice": """ Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://docs.stripe.com/api#void_invoice). """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Invoice", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["InvoiceDeleteParams"] ) -> "Invoice": """ Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://docs.stripe.com/api#void_invoice). """ ... @overload async def delete_async( self, **params: Unpack["InvoiceDeleteParams"] ) -> "Invoice": """ Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://docs.stripe.com/api#void_invoice). """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceDeleteParams"] ) -> "Invoice": """ Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://docs.stripe.com/api#void_invoice). """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def _cls_finalize_invoice( cls, invoice: str, **params: Unpack["InvoiceFinalizeInvoiceParams"] ) -> "Invoice": """ Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you'd like to finalize a draft invoice manually, you can do so using this method. """ return cast( "Invoice", cls._static_request( "post", "/v1/invoices/{invoice}/finalize".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod def finalize_invoice( invoice: str, **params: Unpack["InvoiceFinalizeInvoiceParams"] ) -> "Invoice": """ Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you'd like to finalize a draft invoice manually, you can do so using this method. """ ... @overload def finalize_invoice( self, **params: Unpack["InvoiceFinalizeInvoiceParams"] ) -> "Invoice": """ Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you'd like to finalize a draft invoice manually, you can do so using this method. """ ... @class_method_variant("_cls_finalize_invoice") def finalize_invoice( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceFinalizeInvoiceParams"] ) -> "Invoice": """ Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you'd like to finalize a draft invoice manually, you can do so using this method. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/finalize".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_finalize_invoice_async( cls, invoice: str, **params: Unpack["InvoiceFinalizeInvoiceParams"] ) -> "Invoice": """ Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you'd like to finalize a draft invoice manually, you can do so using this method. """ return cast( "Invoice", await cls._static_request_async( "post", "/v1/invoices/{invoice}/finalize".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod async def finalize_invoice_async( invoice: str, **params: Unpack["InvoiceFinalizeInvoiceParams"] ) -> "Invoice": """ Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you'd like to finalize a draft invoice manually, you can do so using this method. """ ... @overload async def finalize_invoice_async( self, **params: Unpack["InvoiceFinalizeInvoiceParams"] ) -> "Invoice": """ Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you'd like to finalize a draft invoice manually, you can do so using this method. """ ... @class_method_variant("_cls_finalize_invoice_async") async def finalize_invoice_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceFinalizeInvoiceParams"] ) -> "Invoice": """ Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you'd like to finalize a draft invoice manually, you can do so using this method. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/finalize".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list( cls, **params: Unpack["InvoiceListParams"] ) -> ListObject["Invoice"]: """ You can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by creation date, with the most recently created invoices appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["InvoiceListParams"] ) -> ListObject["Invoice"]: """ You can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by creation date, with the most recently created invoices appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def _cls_mark_uncollectible( cls, invoice: str, **params: Unpack["InvoiceMarkUncollectibleParams"] ) -> "Invoice": """ Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes. """ return cast( "Invoice", cls._static_request( "post", "/v1/invoices/{invoice}/mark_uncollectible".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod def mark_uncollectible( invoice: str, **params: Unpack["InvoiceMarkUncollectibleParams"] ) -> "Invoice": """ Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes. """ ... @overload def mark_uncollectible( self, **params: Unpack["InvoiceMarkUncollectibleParams"] ) -> "Invoice": """ Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes. """ ... @class_method_variant("_cls_mark_uncollectible") def mark_uncollectible( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceMarkUncollectibleParams"] ) -> "Invoice": """ Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/mark_uncollectible".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_mark_uncollectible_async( cls, invoice: str, **params: Unpack["InvoiceMarkUncollectibleParams"] ) -> "Invoice": """ Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes. """ return cast( "Invoice", await cls._static_request_async( "post", "/v1/invoices/{invoice}/mark_uncollectible".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod async def mark_uncollectible_async( invoice: str, **params: Unpack["InvoiceMarkUncollectibleParams"] ) -> "Invoice": """ Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes. """ ... @overload async def mark_uncollectible_async( self, **params: Unpack["InvoiceMarkUncollectibleParams"] ) -> "Invoice": """ Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes. """ ... @class_method_variant("_cls_mark_uncollectible_async") async def mark_uncollectible_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceMarkUncollectibleParams"] ) -> "Invoice": """ Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/mark_uncollectible".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def modify( cls, id: str, **params: Unpack["InvoiceModifyParams"] ) -> "Invoice": """ Draft invoices are fully editable. Once an invoice is [finalized](https://docs.stripe.com/docs/billing/invoices/workflow#finalized), monetary values, as well as collection_method, become uneditable. If you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on, sending reminders for, or [automatically reconciling](https://docs.stripe.com/docs/billing/invoices/reconciliation) invoices, pass auto_advance=false. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Invoice", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["InvoiceModifyParams"] ) -> "Invoice": """ Draft invoices are fully editable. Once an invoice is [finalized](https://docs.stripe.com/docs/billing/invoices/workflow#finalized), monetary values, as well as collection_method, become uneditable. If you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on, sending reminders for, or [automatically reconciling](https://docs.stripe.com/docs/billing/invoices/reconciliation) invoices, pass auto_advance=false. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Invoice", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def _cls_pay( cls, invoice: str, **params: Unpack["InvoicePayParams"] ) -> "Invoice": """ Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so. """ return cast( "Invoice", cls._static_request( "post", "/v1/invoices/{invoice}/pay".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod def pay(invoice: str, **params: Unpack["InvoicePayParams"]) -> "Invoice": """ Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so. """ ... @overload def pay(self, **params: Unpack["InvoicePayParams"]) -> "Invoice": """ Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so. """ ... @class_method_variant("_cls_pay") def pay( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoicePayParams"] ) -> "Invoice": """ Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/pay".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_pay_async( cls, invoice: str, **params: Unpack["InvoicePayParams"] ) -> "Invoice": """ Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so. """ return cast( "Invoice", await cls._static_request_async( "post", "/v1/invoices/{invoice}/pay".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod async def pay_async( invoice: str, **params: Unpack["InvoicePayParams"] ) -> "Invoice": """ Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so. """ ... @overload async def pay_async( self, **params: Unpack["InvoicePayParams"] ) -> "Invoice": """ Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so. """ ... @class_method_variant("_cls_pay_async") async def pay_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoicePayParams"] ) -> "Invoice": """ Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/pay".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_remove_lines( cls, invoice: str, **params: Unpack["InvoiceRemoveLinesParams"] ) -> "Invoice": """ Removes multiple line items from an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", cls._static_request( "post", "/v1/invoices/{invoice}/remove_lines".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod def remove_lines( invoice: str, **params: Unpack["InvoiceRemoveLinesParams"] ) -> "Invoice": """ Removes multiple line items from an invoice. This is only possible when an invoice is still a draft. """ ... @overload def remove_lines( self, **params: Unpack["InvoiceRemoveLinesParams"] ) -> "Invoice": """ Removes multiple line items from an invoice. This is only possible when an invoice is still a draft. """ ... @class_method_variant("_cls_remove_lines") def remove_lines( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceRemoveLinesParams"] ) -> "Invoice": """ Removes multiple line items from an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/remove_lines".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_remove_lines_async( cls, invoice: str, **params: Unpack["InvoiceRemoveLinesParams"] ) -> "Invoice": """ Removes multiple line items from an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", await cls._static_request_async( "post", "/v1/invoices/{invoice}/remove_lines".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod async def remove_lines_async( invoice: str, **params: Unpack["InvoiceRemoveLinesParams"] ) -> "Invoice": """ Removes multiple line items from an invoice. This is only possible when an invoice is still a draft. """ ... @overload async def remove_lines_async( self, **params: Unpack["InvoiceRemoveLinesParams"] ) -> "Invoice": """ Removes multiple line items from an invoice. This is only possible when an invoice is still a draft. """ ... @class_method_variant("_cls_remove_lines_async") async def remove_lines_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceRemoveLinesParams"] ) -> "Invoice": """ Removes multiple line items from an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/remove_lines".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["InvoiceRetrieveParams"] ) -> "Invoice": """ Retrieves the invoice with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["InvoiceRetrieveParams"] ) -> "Invoice": """ Retrieves the invoice with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def _cls_send_invoice( cls, invoice: str, **params: Unpack["InvoiceSendInvoiceParams"] ) -> "Invoice": """ Stripe will automatically send invoices to customers according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email. Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event. """ return cast( "Invoice", cls._static_request( "post", "/v1/invoices/{invoice}/send".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod def send_invoice( invoice: str, **params: Unpack["InvoiceSendInvoiceParams"] ) -> "Invoice": """ Stripe will automatically send invoices to customers according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email. Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event. """ ... @overload def send_invoice( self, **params: Unpack["InvoiceSendInvoiceParams"] ) -> "Invoice": """ Stripe will automatically send invoices to customers according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email. Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event. """ ... @class_method_variant("_cls_send_invoice") def send_invoice( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceSendInvoiceParams"] ) -> "Invoice": """ Stripe will automatically send invoices to customers according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email. Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/send".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_send_invoice_async( cls, invoice: str, **params: Unpack["InvoiceSendInvoiceParams"] ) -> "Invoice": """ Stripe will automatically send invoices to customers according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email. Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event. """ return cast( "Invoice", await cls._static_request_async( "post", "/v1/invoices/{invoice}/send".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod async def send_invoice_async( invoice: str, **params: Unpack["InvoiceSendInvoiceParams"] ) -> "Invoice": """ Stripe will automatically send invoices to customers according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email. Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event. """ ... @overload async def send_invoice_async( self, **params: Unpack["InvoiceSendInvoiceParams"] ) -> "Invoice": """ Stripe will automatically send invoices to customers according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email. Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event. """ ... @class_method_variant("_cls_send_invoice_async") async def send_invoice_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceSendInvoiceParams"] ) -> "Invoice": """ Stripe will automatically send invoices to customers according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email. Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/send".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_update_lines( cls, invoice: str, **params: Unpack["InvoiceUpdateLinesParams"] ) -> "Invoice": """ Updates multiple line items on an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", cls._static_request( "post", "/v1/invoices/{invoice}/update_lines".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod def update_lines( invoice: str, **params: Unpack["InvoiceUpdateLinesParams"] ) -> "Invoice": """ Updates multiple line items on an invoice. This is only possible when an invoice is still a draft. """ ... @overload def update_lines( self, **params: Unpack["InvoiceUpdateLinesParams"] ) -> "Invoice": """ Updates multiple line items on an invoice. This is only possible when an invoice is still a draft. """ ... @class_method_variant("_cls_update_lines") def update_lines( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceUpdateLinesParams"] ) -> "Invoice": """ Updates multiple line items on an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/update_lines".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_update_lines_async( cls, invoice: str, **params: Unpack["InvoiceUpdateLinesParams"] ) -> "Invoice": """ Updates multiple line items on an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", await cls._static_request_async( "post", "/v1/invoices/{invoice}/update_lines".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod async def update_lines_async( invoice: str, **params: Unpack["InvoiceUpdateLinesParams"] ) -> "Invoice": """ Updates multiple line items on an invoice. This is only possible when an invoice is still a draft. """ ... @overload async def update_lines_async( self, **params: Unpack["InvoiceUpdateLinesParams"] ) -> "Invoice": """ Updates multiple line items on an invoice. This is only possible when an invoice is still a draft. """ ... @class_method_variant("_cls_update_lines_async") async def update_lines_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceUpdateLinesParams"] ) -> "Invoice": """ Updates multiple line items on an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/update_lines".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_void_invoice( cls, invoice: str, **params: Unpack["InvoiceVoidInvoiceParams"] ) -> "Invoice": """ Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://docs.stripe.com/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found. Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or credit note](https://docs.stripe.com/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business. """ return cast( "Invoice", cls._static_request( "post", "/v1/invoices/{invoice}/void".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod def void_invoice( invoice: str, **params: Unpack["InvoiceVoidInvoiceParams"] ) -> "Invoice": """ Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://docs.stripe.com/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found. Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or credit note](https://docs.stripe.com/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business. """ ... @overload def void_invoice( self, **params: Unpack["InvoiceVoidInvoiceParams"] ) -> "Invoice": """ Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://docs.stripe.com/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found. Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or credit note](https://docs.stripe.com/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business. """ ... @class_method_variant("_cls_void_invoice") def void_invoice( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceVoidInvoiceParams"] ) -> "Invoice": """ Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://docs.stripe.com/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found. Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or credit note](https://docs.stripe.com/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/void".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_void_invoice_async( cls, invoice: str, **params: Unpack["InvoiceVoidInvoiceParams"] ) -> "Invoice": """ Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://docs.stripe.com/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found. Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or credit note](https://docs.stripe.com/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business. """ return cast( "Invoice", await cls._static_request_async( "post", "/v1/invoices/{invoice}/void".format( invoice=sanitize_id(invoice) ), params=params, ), ) @overload @staticmethod async def void_invoice_async( invoice: str, **params: Unpack["InvoiceVoidInvoiceParams"] ) -> "Invoice": """ Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://docs.stripe.com/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found. Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or credit note](https://docs.stripe.com/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business. """ ... @overload async def void_invoice_async( self, **params: Unpack["InvoiceVoidInvoiceParams"] ) -> "Invoice": """ Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://docs.stripe.com/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found. Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or credit note](https://docs.stripe.com/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business. """ ... @class_method_variant("_cls_void_invoice_async") async def void_invoice_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceVoidInvoiceParams"] ) -> "Invoice": """ Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://docs.stripe.com/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found. Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or credit note](https://docs.stripe.com/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/void".format( invoice=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def search( cls, *args, **kwargs: Unpack["InvoiceSearchParams"] ) -> SearchResultObject["Invoice"]: """ Search for invoices you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cls._search(search_url="/v1/invoices/search", *args, **kwargs) @classmethod async def search_async( cls, *args, **kwargs: Unpack["InvoiceSearchParams"] ) -> SearchResultObject["Invoice"]: """ Search for invoices you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return await cls._search_async( search_url="/v1/invoices/search", *args, **kwargs ) @classmethod def search_auto_paging_iter( cls, *args, **kwargs: Unpack["InvoiceSearchParams"] ) -> Iterator["Invoice"]: return cls.search(*args, **kwargs).auto_paging_iter() @classmethod async def search_auto_paging_iter_async( cls, *args, **kwargs: Unpack["InvoiceSearchParams"] ) -> AsyncIterator["Invoice"]: return (await cls.search_async(*args, **kwargs)).auto_paging_iter() @classmethod def list_lines( cls, invoice: str, **params: Unpack["InvoiceListLinesParams"] ) -> ListObject["InvoiceLineItem"]: """ When retrieving an invoice, you'll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["InvoiceLineItem"], cls._static_request( "get", "/v1/invoices/{invoice}/lines".format( invoice=sanitize_id(invoice) ), params=params, ), ) @classmethod async def list_lines_async( cls, invoice: str, **params: Unpack["InvoiceListLinesParams"] ) -> ListObject["InvoiceLineItem"]: """ When retrieving an invoice, you'll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["InvoiceLineItem"], await cls._static_request_async( "get", "/v1/invoices/{invoice}/lines".format( invoice=sanitize_id(invoice) ), params=params, ), ) _inner_class_types = { "automatic_tax": AutomaticTax, "confirmation_secret": ConfirmationSecret, "custom_fields": CustomField, "customer_address": CustomerAddress, "customer_shipping": CustomerShipping, "customer_tax_ids": CustomerTaxId, "from_invoice": FromInvoice, "issuer": Issuer, "last_finalization_error": LastFinalizationError, "parent": Parent, "payment_settings": PaymentSettings, "rendering": Rendering, "shipping_cost": ShippingCost, "shipping_details": ShippingDetails, "status_transitions": StatusTransitions, "threshold_reason": ThresholdReason, "total_discount_amounts": TotalDiscountAmount, "total_pretax_credit_amounts": TotalPretaxCreditAmount, "total_taxes": TotalTax, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.325062 stripe-13.2.0/stripe/_invoice_item.py0000644000000000000000000003712015102753431014526 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._customer import Customer from stripe._discount import Discount from stripe._invoice import Invoice from stripe._tax_rate import TaxRate from stripe.params._invoice_item_create_params import ( InvoiceItemCreateParams, ) from stripe.params._invoice_item_delete_params import ( InvoiceItemDeleteParams, ) from stripe.params._invoice_item_list_params import InvoiceItemListParams from stripe.params._invoice_item_modify_params import ( InvoiceItemModifyParams, ) from stripe.params._invoice_item_retrieve_params import ( InvoiceItemRetrieveParams, ) from stripe.test_helpers._test_clock import TestClock class InvoiceItem( CreateableAPIResource["InvoiceItem"], DeletableAPIResource["InvoiceItem"], ListableAPIResource["InvoiceItem"], UpdateableAPIResource["InvoiceItem"], ): """ Invoice Items represent the component lines of an [invoice](https://stripe.com/docs/api/invoices). When you create an invoice item with an `invoice` field, it is attached to the specified invoice and included as [an invoice line item](https://stripe.com/docs/api/invoices/line_item) within [invoice.lines](https://stripe.com/docs/api/invoices/object#invoice_object-lines). Invoice Items can be created before you are ready to actually send the invoice. This can be particularly useful when combined with a [subscription](https://stripe.com/docs/api/subscriptions). Sometimes you want to add a charge or credit to a customer, but actually charge or credit the customer's card only at the end of a regular billing cycle. This is useful for combining several charges (to minimize per-transaction fees), or for having Stripe tabulate your usage-based billing totals. Related guides: [Integrate with the Invoicing API](https://stripe.com/docs/invoicing/integration), [Subscription Invoices](https://stripe.com/docs/billing/invoices/subscription#adding-upcoming-invoice-items). """ OBJECT_NAME: ClassVar[Literal["invoiceitem"]] = "invoiceitem" class Parent(StripeObject): class SubscriptionDetails(StripeObject): subscription: str """ The subscription that generated this invoice item """ subscription_item: Optional[str] """ The subscription item that generated this invoice item """ subscription_details: Optional[SubscriptionDetails] """ Details about the subscription that generated this invoice item """ type: Literal["subscription_details"] """ The type of parent that generated this invoice item """ _inner_class_types = {"subscription_details": SubscriptionDetails} class Period(StripeObject): end: int """ The end of the period, which must be greater than or equal to the start. This value is inclusive. """ start: int """ The start of the period. This value is inclusive. """ class Pricing(StripeObject): class PriceDetails(StripeObject): price: str """ The ID of the price this item is associated with. """ product: str """ The ID of the product this item is associated with. """ price_details: Optional[PriceDetails] type: Literal["price_details"] """ The type of the pricing details. """ unit_amount_decimal: Optional[str] """ The unit amount (in the `currency` specified) of the item which contains a decimal value with at most 12 decimal places. """ _inner_class_types = {"price_details": PriceDetails} class ProrationDetails(StripeObject): class DiscountAmount(StripeObject): amount: int """ The amount, in cents (or local equivalent), of the discount. """ discount: ExpandableField["Discount"] """ The discount that was applied to get this discount amount. """ discount_amounts: List[DiscountAmount] """ Discount amounts applied when the proration was created. """ _inner_class_types = {"discount_amounts": DiscountAmount} amount: int """ Amount (in the `currency` specified) of the invoice item. This should always be equal to `unit_amount * quantity`. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: ExpandableField["Customer"] """ The ID of the customer who will be billed when this invoice item is billed. """ date: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ discountable: bool """ If true, discounts will apply to this invoice item. Always false for prorations. """ discounts: Optional[List[ExpandableField["Discount"]]] """ The discounts which apply to the invoice item. Item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount. """ id: str """ Unique identifier for the object. """ invoice: Optional[ExpandableField["Invoice"]] """ The ID of the invoice this invoice item belongs to. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ net_amount: Optional[int] """ The amount after discounts, but before credits and taxes. This field is `null` for `discountable=true` items. """ object: Literal["invoiceitem"] """ String representing the object's type. Objects of the same type share the same value. """ parent: Optional[Parent] """ The parent that generated this invoice item. """ period: Period pricing: Optional[Pricing] """ The pricing information of the invoice item. """ proration: bool """ Whether the invoice item was created automatically as a proration adjustment when the customer switched plans. """ proration_details: Optional[ProrationDetails] quantity: int """ Quantity of units for the invoice item. If the invoice item is a proration, the quantity of the subscription that the proration was computed for. """ tax_rates: Optional[List["TaxRate"]] """ The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item. """ test_clock: Optional[ExpandableField["TestClock"]] """ ID of the test clock this invoice item belongs to. """ @classmethod def create( cls, **params: Unpack["InvoiceItemCreateParams"] ) -> "InvoiceItem": """ Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified. """ return cast( "InvoiceItem", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["InvoiceItemCreateParams"] ) -> "InvoiceItem": """ Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified. """ return cast( "InvoiceItem", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["InvoiceItemDeleteParams"] ) -> "InvoiceItem": """ Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they're not attached to invoices, or if it's attached to a draft invoice. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "InvoiceItem", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete( sid: str, **params: Unpack["InvoiceItemDeleteParams"] ) -> "InvoiceItem": """ Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they're not attached to invoices, or if it's attached to a draft invoice. """ ... @overload def delete( self, **params: Unpack["InvoiceItemDeleteParams"] ) -> "InvoiceItem": """ Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they're not attached to invoices, or if it's attached to a draft invoice. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceItemDeleteParams"] ) -> "InvoiceItem": """ Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they're not attached to invoices, or if it's attached to a draft invoice. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["InvoiceItemDeleteParams"] ) -> "InvoiceItem": """ Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they're not attached to invoices, or if it's attached to a draft invoice. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "InvoiceItem", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["InvoiceItemDeleteParams"] ) -> "InvoiceItem": """ Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they're not attached to invoices, or if it's attached to a draft invoice. """ ... @overload async def delete_async( self, **params: Unpack["InvoiceItemDeleteParams"] ) -> "InvoiceItem": """ Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they're not attached to invoices, or if it's attached to a draft invoice. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceItemDeleteParams"] ) -> "InvoiceItem": """ Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they're not attached to invoices, or if it's attached to a draft invoice. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def list( cls, **params: Unpack["InvoiceItemListParams"] ) -> ListObject["InvoiceItem"]: """ Returns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["InvoiceItemListParams"] ) -> ListObject["InvoiceItem"]: """ Returns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["InvoiceItemModifyParams"] ) -> "InvoiceItem": """ Updates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it's attached to is closed. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "InvoiceItem", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["InvoiceItemModifyParams"] ) -> "InvoiceItem": """ Updates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it's attached to is closed. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "InvoiceItem", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["InvoiceItemRetrieveParams"] ) -> "InvoiceItem": """ Retrieves the invoice item with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["InvoiceItemRetrieveParams"] ) -> "InvoiceItem": """ Retrieves the invoice item with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "parent": Parent, "period": Period, "pricing": Pricing, "proration_details": ProrationDetails, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.325062 stripe-13.2.0/stripe/_invoice_item_service.py0000644000000000000000000001721115102753431016245 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._invoice_item import InvoiceItem from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._invoice_item_create_params import ( InvoiceItemCreateParams, ) from stripe.params._invoice_item_delete_params import ( InvoiceItemDeleteParams, ) from stripe.params._invoice_item_list_params import InvoiceItemListParams from stripe.params._invoice_item_retrieve_params import ( InvoiceItemRetrieveParams, ) from stripe.params._invoice_item_update_params import ( InvoiceItemUpdateParams, ) class InvoiceItemService(StripeService): def delete( self, invoiceitem: str, params: Optional["InvoiceItemDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoiceItem": """ Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they're not attached to invoices, or if it's attached to a draft invoice. """ return cast( "InvoiceItem", self._request( "delete", "/v1/invoiceitems/{invoiceitem}".format( invoiceitem=sanitize_id(invoiceitem), ), base_address="api", params=params, options=options, ), ) async def delete_async( self, invoiceitem: str, params: Optional["InvoiceItemDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoiceItem": """ Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they're not attached to invoices, or if it's attached to a draft invoice. """ return cast( "InvoiceItem", await self._request_async( "delete", "/v1/invoiceitems/{invoiceitem}".format( invoiceitem=sanitize_id(invoiceitem), ), base_address="api", params=params, options=options, ), ) def retrieve( self, invoiceitem: str, params: Optional["InvoiceItemRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoiceItem": """ Retrieves the invoice item with the given ID. """ return cast( "InvoiceItem", self._request( "get", "/v1/invoiceitems/{invoiceitem}".format( invoiceitem=sanitize_id(invoiceitem), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, invoiceitem: str, params: Optional["InvoiceItemRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoiceItem": """ Retrieves the invoice item with the given ID. """ return cast( "InvoiceItem", await self._request_async( "get", "/v1/invoiceitems/{invoiceitem}".format( invoiceitem=sanitize_id(invoiceitem), ), base_address="api", params=params, options=options, ), ) def update( self, invoiceitem: str, params: Optional["InvoiceItemUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoiceItem": """ Updates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it's attached to is closed. """ return cast( "InvoiceItem", self._request( "post", "/v1/invoiceitems/{invoiceitem}".format( invoiceitem=sanitize_id(invoiceitem), ), base_address="api", params=params, options=options, ), ) async def update_async( self, invoiceitem: str, params: Optional["InvoiceItemUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoiceItem": """ Updates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it's attached to is closed. """ return cast( "InvoiceItem", await self._request_async( "post", "/v1/invoiceitems/{invoiceitem}".format( invoiceitem=sanitize_id(invoiceitem), ), base_address="api", params=params, options=options, ), ) def list( self, params: Optional["InvoiceItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[InvoiceItem]": """ Returns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first. """ return cast( "ListObject[InvoiceItem]", self._request( "get", "/v1/invoiceitems", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["InvoiceItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[InvoiceItem]": """ Returns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first. """ return cast( "ListObject[InvoiceItem]", await self._request_async( "get", "/v1/invoiceitems", base_address="api", params=params, options=options, ), ) def create( self, params: "InvoiceItemCreateParams", options: Optional["RequestOptions"] = None, ) -> "InvoiceItem": """ Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified. """ return cast( "InvoiceItem", self._request( "post", "/v1/invoiceitems", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "InvoiceItemCreateParams", options: Optional["RequestOptions"] = None, ) -> "InvoiceItem": """ Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified. """ return cast( "InvoiceItem", await self._request_async( "post", "/v1/invoiceitems", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.325062 stripe-13.2.0/stripe/_invoice_line_item.py0000644000000000000000000003045115102753431015535 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, Dict, List, Optional, cast from typing_extensions import Literal, TYPE_CHECKING if TYPE_CHECKING: from stripe._discount import Discount from stripe._subscription import Subscription from stripe.billing._credit_balance_transaction import ( CreditBalanceTransaction, ) class InvoiceLineItem(UpdateableAPIResource["InvoiceLineItem"]): """ Invoice Line Items represent the individual lines within an [invoice](https://stripe.com/docs/api/invoices) and only exist within the context of an invoice. Each line item is backed by either an [invoice item](https://stripe.com/docs/api/invoiceitems) or a [subscription item](https://stripe.com/docs/api/subscription_items). """ OBJECT_NAME: ClassVar[Literal["line_item"]] = "line_item" class DiscountAmount(StripeObject): amount: int """ The amount, in cents (or local equivalent), of the discount. """ discount: ExpandableField["Discount"] """ The discount that was applied to get this discount amount. """ class Parent(StripeObject): class InvoiceItemDetails(StripeObject): class ProrationDetails(StripeObject): class CreditedItems(StripeObject): invoice: str """ Invoice containing the credited invoice line items """ invoice_line_items: List[str] """ Credited invoice line items """ credited_items: Optional[CreditedItems] """ For a credit proration `line_item`, the original debit line_items to which the credit proration applies. """ _inner_class_types = {"credited_items": CreditedItems} invoice_item: str """ The invoice item that generated this line item """ proration: bool """ Whether this is a proration """ proration_details: Optional[ProrationDetails] """ Additional details for proration line items """ subscription: Optional[str] """ The subscription that the invoice item belongs to """ _inner_class_types = {"proration_details": ProrationDetails} class SubscriptionItemDetails(StripeObject): class ProrationDetails(StripeObject): class CreditedItems(StripeObject): invoice: str """ Invoice containing the credited invoice line items """ invoice_line_items: List[str] """ Credited invoice line items """ credited_items: Optional[CreditedItems] """ For a credit proration `line_item`, the original debit line_items to which the credit proration applies. """ _inner_class_types = {"credited_items": CreditedItems} invoice_item: Optional[str] """ The invoice item that generated this line item """ proration: bool """ Whether this is a proration """ proration_details: Optional[ProrationDetails] """ Additional details for proration line items """ subscription: Optional[str] """ The subscription that the subscription item belongs to """ subscription_item: str """ The subscription item that generated this line item """ _inner_class_types = {"proration_details": ProrationDetails} invoice_item_details: Optional[InvoiceItemDetails] """ Details about the invoice item that generated this line item """ subscription_item_details: Optional[SubscriptionItemDetails] """ Details about the subscription item that generated this line item """ type: Literal["invoice_item_details", "subscription_item_details"] """ The type of parent that generated this line item """ _inner_class_types = { "invoice_item_details": InvoiceItemDetails, "subscription_item_details": SubscriptionItemDetails, } class Period(StripeObject): end: int """ The end of the period, which must be greater than or equal to the start. This value is inclusive. """ start: int """ The start of the period. This value is inclusive. """ class PretaxCreditAmount(StripeObject): amount: int """ The amount, in cents (or local equivalent), of the pretax credit amount. """ credit_balance_transaction: Optional[ ExpandableField["CreditBalanceTransaction"] ] """ The credit balance transaction that was applied to get this pretax credit amount. """ discount: Optional[ExpandableField["Discount"]] """ The discount that was applied to get this pretax credit amount. """ type: Literal["credit_balance_transaction", "discount"] """ Type of the pretax credit amount referenced. """ class Pricing(StripeObject): class PriceDetails(StripeObject): price: str """ The ID of the price this item is associated with. """ product: str """ The ID of the product this item is associated with. """ price_details: Optional[PriceDetails] type: Literal["price_details"] """ The type of the pricing details. """ unit_amount_decimal: Optional[str] """ The unit amount (in the `currency` specified) of the item which contains a decimal value with at most 12 decimal places. """ _inner_class_types = {"price_details": PriceDetails} class Tax(StripeObject): class TaxRateDetails(StripeObject): tax_rate: str amount: int """ The amount of the tax, in cents (or local equivalent). """ tax_behavior: Literal["exclusive", "inclusive"] """ Whether this tax is inclusive or exclusive. """ tax_rate_details: Optional[TaxRateDetails] """ Additional details about the tax rate. Only present when `type` is `tax_rate_details`. """ taxability_reason: Literal[ "customer_exempt", "not_available", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] """ The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. """ taxable_amount: Optional[int] """ The amount on which tax is calculated, in cents (or local equivalent). """ type: Literal["tax_rate_details"] """ The type of tax information. """ _inner_class_types = {"tax_rate_details": TaxRateDetails} amount: int """ The amount, in cents (or local equivalent). """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ discount_amounts: Optional[List[DiscountAmount]] """ The amount of discount calculated per discount for this line item. """ discountable: bool """ If true, discounts will apply to this line item. Always false for prorations. """ discounts: List[ExpandableField["Discount"]] """ The discounts applied to the invoice line item. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount. """ id: str """ Unique identifier for the object. """ invoice: Optional[str] """ The ID of the invoice that contains this line item. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. Note that for line items with `type=subscription`, `metadata` reflects the current metadata from the subscription associated with the line item, unless the invoice line was directly updated with different metadata after creation. """ object: Literal["line_item"] """ String representing the object's type. Objects of the same type share the same value. """ parent: Optional[Parent] """ The parent that generated this line item. """ period: Period pretax_credit_amounts: Optional[List[PretaxCreditAmount]] """ Contains pretax credit amounts (ex: discount, credit grants, etc) that apply to this line item. """ pricing: Optional[Pricing] """ The pricing information of the line item. """ quantity: Optional[int] """ The quantity of the subscription, if the line item is a subscription or a proration. """ subscription: Optional[ExpandableField["Subscription"]] taxes: Optional[List[Tax]] """ The tax information of the line item. """ @classmethod def modify( cls, invoice: str, line_item_id: str, **params ) -> "InvoiceLineItem": """ Updates an invoice's line item. Some fields, such as tax_amounts, only live on the invoice line item, so they can only be updated through this endpoint. Other fields, such as amount, live on both the invoice item and the invoice line item, so updates on this endpoint will propagate to the invoice item as well. Updating an invoice's line item is only possible before the invoice is finalized. """ url = "/v1/invoices/%s/lines/%s" % ( sanitize_id(invoice), sanitize_id(line_item_id), ) return cast( "InvoiceLineItem", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, invoice: str, line_item_id: str, **params ) -> "InvoiceLineItem": """ Updates an invoice's line item. Some fields, such as tax_amounts, only live on the invoice line item, so they can only be updated through this endpoint. Other fields, such as amount, live on both the invoice item and the invoice line item, so updates on this endpoint will propagate to the invoice item as well. Updating an invoice's line item is only possible before the invoice is finalized. """ url = "/v1/invoices/%s/lines/%s" % ( sanitize_id(invoice), sanitize_id(line_item_id), ) return cast( "InvoiceLineItem", await cls._static_request_async( "post", url, params=params, ), ) _inner_class_types = { "discount_amounts": DiscountAmount, "parent": Parent, "period": Period, "pretax_credit_amounts": PretaxCreditAmount, "pricing": Pricing, "taxes": Tax, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.325062 stripe-13.2.0/stripe/_invoice_line_item_service.py0000644000000000000000000001071015102753431017251 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._invoice_line_item import InvoiceLineItem from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._invoice_line_item_list_params import ( InvoiceLineItemListParams, ) from stripe.params._invoice_line_item_update_params import ( InvoiceLineItemUpdateParams, ) class InvoiceLineItemService(StripeService): def list( self, invoice: str, params: Optional["InvoiceLineItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[InvoiceLineItem]": """ When retrieving an invoice, you'll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( "ListObject[InvoiceLineItem]", self._request( "get", "/v1/invoices/{invoice}/lines".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) async def list_async( self, invoice: str, params: Optional["InvoiceLineItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[InvoiceLineItem]": """ When retrieving an invoice, you'll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( "ListObject[InvoiceLineItem]", await self._request_async( "get", "/v1/invoices/{invoice}/lines".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) def update( self, invoice: str, line_item_id: str, params: Optional["InvoiceLineItemUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoiceLineItem": """ Updates an invoice's line item. Some fields, such as tax_amounts, only live on the invoice line item, so they can only be updated through this endpoint. Other fields, such as amount, live on both the invoice item and the invoice line item, so updates on this endpoint will propagate to the invoice item as well. Updating an invoice's line item is only possible before the invoice is finalized. """ return cast( "InvoiceLineItem", self._request( "post", "/v1/invoices/{invoice}/lines/{line_item_id}".format( invoice=sanitize_id(invoice), line_item_id=sanitize_id(line_item_id), ), base_address="api", params=params, options=options, ), ) async def update_async( self, invoice: str, line_item_id: str, params: Optional["InvoiceLineItemUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoiceLineItem": """ Updates an invoice's line item. Some fields, such as tax_amounts, only live on the invoice line item, so they can only be updated through this endpoint. Other fields, such as amount, live on both the invoice item and the invoice line item, so updates on this endpoint will propagate to the invoice item as well. Updating an invoice's line item is only possible before the invoice is finalized. """ return cast( "InvoiceLineItem", await self._request_async( "post", "/v1/invoices/{invoice}/lines/{line_item_id}".format( invoice=sanitize_id(invoice), line_item_id=sanitize_id(line_item_id), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.325062 stripe-13.2.0/stripe/_invoice_payment.py0000644000000000000000000001466415102753431015255 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._charge import Charge from stripe._invoice import Invoice from stripe._payment_intent import PaymentIntent from stripe._payment_record import PaymentRecord from stripe.params._invoice_payment_list_params import ( InvoicePaymentListParams, ) from stripe.params._invoice_payment_retrieve_params import ( InvoicePaymentRetrieveParams, ) class InvoicePayment(ListableAPIResource["InvoicePayment"]): """ Invoice Payments represent payments made against invoices. Invoice Payments can be accessed in two ways: 1. By expanding the `payments` field on the [Invoice](https://stripe.com/docs/api#invoice) resource. 2. By using the Invoice Payment retrieve and list endpoints. Invoice Payments include the mapping between payment objects, such as Payment Intent, and Invoices. This resource and its endpoints allows you to easily track if a payment is associated with a specific invoice and monitor the allocation details of the payments. """ OBJECT_NAME: ClassVar[Literal["invoice_payment"]] = "invoice_payment" class Payment(StripeObject): charge: Optional[ExpandableField["Charge"]] """ ID of the successful charge for this payment when `type` is `charge`.Note: charge is only surfaced if the charge object is not associated with a payment intent. If the charge object does have a payment intent, the Invoice Payment surfaces the payment intent instead. """ payment_intent: Optional[ExpandableField["PaymentIntent"]] """ ID of the PaymentIntent associated with this payment when `type` is `payment_intent`. Note: This property is only populated for invoices finalized on or after March 15th, 2019. """ payment_record: Optional[ExpandableField["PaymentRecord"]] """ ID of the PaymentRecord associated with this payment when `type` is `payment_record`. """ type: Literal["charge", "payment_intent", "payment_record"] """ Type of payment object associated with this invoice payment. """ class StatusTransitions(StripeObject): canceled_at: Optional[int] """ The time that the payment was canceled. """ paid_at: Optional[int] """ The time that the payment succeeded. """ amount_paid: Optional[int] """ Amount that was actually paid for this invoice, in cents (or local equivalent). This field is null until the payment is `paid`. This amount can be less than the `amount_requested` if the PaymentIntent's `amount_received` is not sufficient to pay all of the invoices that it is attached to. """ amount_requested: int """ Amount intended to be paid toward this invoice, in cents (or local equivalent) """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ id: str """ Unique identifier for the object. """ invoice: ExpandableField["Invoice"] """ The invoice that was paid. """ is_default: bool """ Stripe automatically creates a default InvoicePayment when the invoice is finalized, and keeps it synchronized with the invoice's `amount_remaining`. The PaymentIntent associated with the default payment can't be edited or canceled directly. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["invoice_payment"] """ String representing the object's type. Objects of the same type share the same value. """ payment: Payment status: str """ The status of the payment, one of `open`, `paid`, or `canceled`. """ status_transitions: StatusTransitions @classmethod def list( cls, **params: Unpack["InvoicePaymentListParams"] ) -> ListObject["InvoicePayment"]: """ When retrieving an invoice, there is an includable payments property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of payments. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["InvoicePaymentListParams"] ) -> ListObject["InvoicePayment"]: """ When retrieving an invoice, there is an includable payments property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of payments. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["InvoicePaymentRetrieveParams"] ) -> "InvoicePayment": """ Retrieves the invoice payment with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["InvoicePaymentRetrieveParams"] ) -> "InvoicePayment": """ Retrieves the invoice payment with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "payment": Payment, "status_transitions": StatusTransitions, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.325062 stripe-13.2.0/stripe/_invoice_payment_service.py0000644000000000000000000000652015102753431016765 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._invoice_payment import InvoicePayment from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._invoice_payment_list_params import ( InvoicePaymentListParams, ) from stripe.params._invoice_payment_retrieve_params import ( InvoicePaymentRetrieveParams, ) class InvoicePaymentService(StripeService): def list( self, params: Optional["InvoicePaymentListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[InvoicePayment]": """ When retrieving an invoice, there is an includable payments property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of payments. """ return cast( "ListObject[InvoicePayment]", self._request( "get", "/v1/invoice_payments", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["InvoicePaymentListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[InvoicePayment]": """ When retrieving an invoice, there is an includable payments property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of payments. """ return cast( "ListObject[InvoicePayment]", await self._request_async( "get", "/v1/invoice_payments", base_address="api", params=params, options=options, ), ) def retrieve( self, invoice_payment: str, params: Optional["InvoicePaymentRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoicePayment": """ Retrieves the invoice payment with the given ID. """ return cast( "InvoicePayment", self._request( "get", "/v1/invoice_payments/{invoice_payment}".format( invoice_payment=sanitize_id(invoice_payment), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, invoice_payment: str, params: Optional["InvoicePaymentRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoicePayment": """ Retrieves the invoice payment with the given ID. """ return cast( "InvoicePayment", await self._request_async( "get", "/v1/invoice_payments/{invoice_payment}".format( invoice_payment=sanitize_id(invoice_payment), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.325062 stripe-13.2.0/stripe/_invoice_rendering_template.py0000644000000000000000000003331015102753431017435 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._invoice_rendering_template_archive_params import ( InvoiceRenderingTemplateArchiveParams, ) from stripe.params._invoice_rendering_template_list_params import ( InvoiceRenderingTemplateListParams, ) from stripe.params._invoice_rendering_template_retrieve_params import ( InvoiceRenderingTemplateRetrieveParams, ) from stripe.params._invoice_rendering_template_unarchive_params import ( InvoiceRenderingTemplateUnarchiveParams, ) class InvoiceRenderingTemplate( ListableAPIResource["InvoiceRenderingTemplate"] ): """ Invoice Rendering Templates are used to configure how invoices are rendered on surfaces like the PDF. Invoice Rendering Templates can be created from within the Dashboard, and they can be used over the API when creating invoices. """ OBJECT_NAME: ClassVar[Literal["invoice_rendering_template"]] = ( "invoice_rendering_template" ) created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ nickname: Optional[str] """ A brief description of the template, hidden from customers """ object: Literal["invoice_rendering_template"] """ String representing the object's type. Objects of the same type share the same value. """ status: Literal["active", "archived"] """ The status of the template, one of `active` or `archived`. """ version: int """ Version of this template; version increases by one when an update on the template changes any field that controls invoice rendering """ @classmethod def _cls_archive( cls, template: str, **params: Unpack["InvoiceRenderingTemplateArchiveParams"], ) -> "InvoiceRenderingTemplate": """ Updates the status of an invoice rendering template to ‘archived' so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it. """ return cast( "InvoiceRenderingTemplate", cls._static_request( "post", "/v1/invoice_rendering_templates/{template}/archive".format( template=sanitize_id(template) ), params=params, ), ) @overload @staticmethod def archive( template: str, **params: Unpack["InvoiceRenderingTemplateArchiveParams"], ) -> "InvoiceRenderingTemplate": """ Updates the status of an invoice rendering template to ‘archived' so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it. """ ... @overload def archive( self, **params: Unpack["InvoiceRenderingTemplateArchiveParams"] ) -> "InvoiceRenderingTemplate": """ Updates the status of an invoice rendering template to ‘archived' so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it. """ ... @class_method_variant("_cls_archive") def archive( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceRenderingTemplateArchiveParams"] ) -> "InvoiceRenderingTemplate": """ Updates the status of an invoice rendering template to ‘archived' so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it. """ return cast( "InvoiceRenderingTemplate", self._request( "post", "/v1/invoice_rendering_templates/{template}/archive".format( template=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_archive_async( cls, template: str, **params: Unpack["InvoiceRenderingTemplateArchiveParams"], ) -> "InvoiceRenderingTemplate": """ Updates the status of an invoice rendering template to ‘archived' so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it. """ return cast( "InvoiceRenderingTemplate", await cls._static_request_async( "post", "/v1/invoice_rendering_templates/{template}/archive".format( template=sanitize_id(template) ), params=params, ), ) @overload @staticmethod async def archive_async( template: str, **params: Unpack["InvoiceRenderingTemplateArchiveParams"], ) -> "InvoiceRenderingTemplate": """ Updates the status of an invoice rendering template to ‘archived' so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it. """ ... @overload async def archive_async( self, **params: Unpack["InvoiceRenderingTemplateArchiveParams"] ) -> "InvoiceRenderingTemplate": """ Updates the status of an invoice rendering template to ‘archived' so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it. """ ... @class_method_variant("_cls_archive_async") async def archive_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceRenderingTemplateArchiveParams"] ) -> "InvoiceRenderingTemplate": """ Updates the status of an invoice rendering template to ‘archived' so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it. """ return cast( "InvoiceRenderingTemplate", await self._request_async( "post", "/v1/invoice_rendering_templates/{template}/archive".format( template=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list( cls, **params: Unpack["InvoiceRenderingTemplateListParams"] ) -> ListObject["InvoiceRenderingTemplate"]: """ List all templates, ordered by creation date, with the most recently created template appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["InvoiceRenderingTemplateListParams"] ) -> ListObject["InvoiceRenderingTemplate"]: """ List all templates, ordered by creation date, with the most recently created template appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["InvoiceRenderingTemplateRetrieveParams"], ) -> "InvoiceRenderingTemplate": """ Retrieves an invoice rendering template with the given ID. It by default returns the latest version of the template. Optionally, specify a version to see previous versions. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["InvoiceRenderingTemplateRetrieveParams"], ) -> "InvoiceRenderingTemplate": """ Retrieves an invoice rendering template with the given ID. It by default returns the latest version of the template. Optionally, specify a version to see previous versions. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def _cls_unarchive( cls, template: str, **params: Unpack["InvoiceRenderingTemplateUnarchiveParams"], ) -> "InvoiceRenderingTemplate": """ Unarchive an invoice rendering template so it can be used on new Stripe objects again. """ return cast( "InvoiceRenderingTemplate", cls._static_request( "post", "/v1/invoice_rendering_templates/{template}/unarchive".format( template=sanitize_id(template) ), params=params, ), ) @overload @staticmethod def unarchive( template: str, **params: Unpack["InvoiceRenderingTemplateUnarchiveParams"], ) -> "InvoiceRenderingTemplate": """ Unarchive an invoice rendering template so it can be used on new Stripe objects again. """ ... @overload def unarchive( self, **params: Unpack["InvoiceRenderingTemplateUnarchiveParams"] ) -> "InvoiceRenderingTemplate": """ Unarchive an invoice rendering template so it can be used on new Stripe objects again. """ ... @class_method_variant("_cls_unarchive") def unarchive( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceRenderingTemplateUnarchiveParams"] ) -> "InvoiceRenderingTemplate": """ Unarchive an invoice rendering template so it can be used on new Stripe objects again. """ return cast( "InvoiceRenderingTemplate", self._request( "post", "/v1/invoice_rendering_templates/{template}/unarchive".format( template=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_unarchive_async( cls, template: str, **params: Unpack["InvoiceRenderingTemplateUnarchiveParams"], ) -> "InvoiceRenderingTemplate": """ Unarchive an invoice rendering template so it can be used on new Stripe objects again. """ return cast( "InvoiceRenderingTemplate", await cls._static_request_async( "post", "/v1/invoice_rendering_templates/{template}/unarchive".format( template=sanitize_id(template) ), params=params, ), ) @overload @staticmethod async def unarchive_async( template: str, **params: Unpack["InvoiceRenderingTemplateUnarchiveParams"], ) -> "InvoiceRenderingTemplate": """ Unarchive an invoice rendering template so it can be used on new Stripe objects again. """ ... @overload async def unarchive_async( self, **params: Unpack["InvoiceRenderingTemplateUnarchiveParams"] ) -> "InvoiceRenderingTemplate": """ Unarchive an invoice rendering template so it can be used on new Stripe objects again. """ ... @class_method_variant("_cls_unarchive_async") async def unarchive_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InvoiceRenderingTemplateUnarchiveParams"] ) -> "InvoiceRenderingTemplate": """ Unarchive an invoice rendering template so it can be used on new Stripe objects again. """ return cast( "InvoiceRenderingTemplate", await self._request_async( "post", "/v1/invoice_rendering_templates/{template}/unarchive".format( template=sanitize_id(self.get("id")) ), params=params, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.325062 stripe-13.2.0/stripe/_invoice_rendering_template_service.py0000644000000000000000000001617315102753431021165 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._invoice_rendering_template import InvoiceRenderingTemplate from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._invoice_rendering_template_archive_params import ( InvoiceRenderingTemplateArchiveParams, ) from stripe.params._invoice_rendering_template_list_params import ( InvoiceRenderingTemplateListParams, ) from stripe.params._invoice_rendering_template_retrieve_params import ( InvoiceRenderingTemplateRetrieveParams, ) from stripe.params._invoice_rendering_template_unarchive_params import ( InvoiceRenderingTemplateUnarchiveParams, ) class InvoiceRenderingTemplateService(StripeService): def list( self, params: Optional["InvoiceRenderingTemplateListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[InvoiceRenderingTemplate]": """ List all templates, ordered by creation date, with the most recently created template appearing first. """ return cast( "ListObject[InvoiceRenderingTemplate]", self._request( "get", "/v1/invoice_rendering_templates", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["InvoiceRenderingTemplateListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[InvoiceRenderingTemplate]": """ List all templates, ordered by creation date, with the most recently created template appearing first. """ return cast( "ListObject[InvoiceRenderingTemplate]", await self._request_async( "get", "/v1/invoice_rendering_templates", base_address="api", params=params, options=options, ), ) def retrieve( self, template: str, params: Optional["InvoiceRenderingTemplateRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoiceRenderingTemplate": """ Retrieves an invoice rendering template with the given ID. It by default returns the latest version of the template. Optionally, specify a version to see previous versions. """ return cast( "InvoiceRenderingTemplate", self._request( "get", "/v1/invoice_rendering_templates/{template}".format( template=sanitize_id(template), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, template: str, params: Optional["InvoiceRenderingTemplateRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoiceRenderingTemplate": """ Retrieves an invoice rendering template with the given ID. It by default returns the latest version of the template. Optionally, specify a version to see previous versions. """ return cast( "InvoiceRenderingTemplate", await self._request_async( "get", "/v1/invoice_rendering_templates/{template}".format( template=sanitize_id(template), ), base_address="api", params=params, options=options, ), ) def archive( self, template: str, params: Optional["InvoiceRenderingTemplateArchiveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoiceRenderingTemplate": """ Updates the status of an invoice rendering template to ‘archived' so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it. """ return cast( "InvoiceRenderingTemplate", self._request( "post", "/v1/invoice_rendering_templates/{template}/archive".format( template=sanitize_id(template), ), base_address="api", params=params, options=options, ), ) async def archive_async( self, template: str, params: Optional["InvoiceRenderingTemplateArchiveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoiceRenderingTemplate": """ Updates the status of an invoice rendering template to ‘archived' so no new Stripe objects (customers, invoices, etc.) can reference it. The template can also no longer be updated. However, if the template is already set on a Stripe object, it will continue to be applied on invoices generated by it. """ return cast( "InvoiceRenderingTemplate", await self._request_async( "post", "/v1/invoice_rendering_templates/{template}/archive".format( template=sanitize_id(template), ), base_address="api", params=params, options=options, ), ) def unarchive( self, template: str, params: Optional["InvoiceRenderingTemplateUnarchiveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoiceRenderingTemplate": """ Unarchive an invoice rendering template so it can be used on new Stripe objects again. """ return cast( "InvoiceRenderingTemplate", self._request( "post", "/v1/invoice_rendering_templates/{template}/unarchive".format( template=sanitize_id(template), ), base_address="api", params=params, options=options, ), ) async def unarchive_async( self, template: str, params: Optional["InvoiceRenderingTemplateUnarchiveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InvoiceRenderingTemplate": """ Unarchive an invoice rendering template so it can be used on new Stripe objects again. """ return cast( "InvoiceRenderingTemplate", await self._request_async( "post", "/v1/invoice_rendering_templates/{template}/unarchive".format( template=sanitize_id(template), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.325062 stripe-13.2.0/stripe/_invoice_service.py0000644000000000000000000007617515102753431015245 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._invoice import Invoice from stripe._invoice_line_item_service import InvoiceLineItemService from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._search_result_object import SearchResultObject from stripe.params._invoice_add_lines_params import InvoiceAddLinesParams from stripe.params._invoice_attach_payment_params import ( InvoiceAttachPaymentParams, ) from stripe.params._invoice_create_params import InvoiceCreateParams from stripe.params._invoice_create_preview_params import ( InvoiceCreatePreviewParams, ) from stripe.params._invoice_delete_params import InvoiceDeleteParams from stripe.params._invoice_finalize_invoice_params import ( InvoiceFinalizeInvoiceParams, ) from stripe.params._invoice_list_params import InvoiceListParams from stripe.params._invoice_mark_uncollectible_params import ( InvoiceMarkUncollectibleParams, ) from stripe.params._invoice_pay_params import InvoicePayParams from stripe.params._invoice_remove_lines_params import ( InvoiceRemoveLinesParams, ) from stripe.params._invoice_retrieve_params import InvoiceRetrieveParams from stripe.params._invoice_search_params import InvoiceSearchParams from stripe.params._invoice_send_invoice_params import ( InvoiceSendInvoiceParams, ) from stripe.params._invoice_update_lines_params import ( InvoiceUpdateLinesParams, ) from stripe.params._invoice_update_params import InvoiceUpdateParams from stripe.params._invoice_void_invoice_params import ( InvoiceVoidInvoiceParams, ) _subservices = { "line_items": [ "stripe._invoice_line_item_service", "InvoiceLineItemService", ], } class InvoiceService(StripeService): line_items: "InvoiceLineItemService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def delete( self, invoice: str, params: Optional["InvoiceDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://docs.stripe.com/api#void_invoice). """ return cast( "Invoice", self._request( "delete", "/v1/invoices/{invoice}".format(invoice=sanitize_id(invoice)), base_address="api", params=params, options=options, ), ) async def delete_async( self, invoice: str, params: Optional["InvoiceDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be [voided](https://docs.stripe.com/api#void_invoice). """ return cast( "Invoice", await self._request_async( "delete", "/v1/invoices/{invoice}".format(invoice=sanitize_id(invoice)), base_address="api", params=params, options=options, ), ) def retrieve( self, invoice: str, params: Optional["InvoiceRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Retrieves the invoice with the given ID. """ return cast( "Invoice", self._request( "get", "/v1/invoices/{invoice}".format(invoice=sanitize_id(invoice)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, invoice: str, params: Optional["InvoiceRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Retrieves the invoice with the given ID. """ return cast( "Invoice", await self._request_async( "get", "/v1/invoices/{invoice}".format(invoice=sanitize_id(invoice)), base_address="api", params=params, options=options, ), ) def update( self, invoice: str, params: Optional["InvoiceUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Draft invoices are fully editable. Once an invoice is [finalized](https://docs.stripe.com/docs/billing/invoices/workflow#finalized), monetary values, as well as collection_method, become uneditable. If you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on, sending reminders for, or [automatically reconciling](https://docs.stripe.com/docs/billing/invoices/reconciliation) invoices, pass auto_advance=false. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}".format(invoice=sanitize_id(invoice)), base_address="api", params=params, options=options, ), ) async def update_async( self, invoice: str, params: Optional["InvoiceUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Draft invoices are fully editable. Once an invoice is [finalized](https://docs.stripe.com/docs/billing/invoices/workflow#finalized), monetary values, as well as collection_method, become uneditable. If you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on, sending reminders for, or [automatically reconciling](https://docs.stripe.com/docs/billing/invoices/reconciliation) invoices, pass auto_advance=false. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}".format(invoice=sanitize_id(invoice)), base_address="api", params=params, options=options, ), ) def list( self, params: Optional["InvoiceListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Invoice]": """ You can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by creation date, with the most recently created invoices appearing first. """ return cast( "ListObject[Invoice]", self._request( "get", "/v1/invoices", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["InvoiceListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Invoice]": """ You can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by creation date, with the most recently created invoices appearing first. """ return cast( "ListObject[Invoice]", await self._request_async( "get", "/v1/invoices", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["InvoiceCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you [finalize the invoice, which allows you to [pay](#pay_invoice) or send](https://docs.stripe.com/api#finalize_invoice) the invoice to your customers. """ return cast( "Invoice", self._request( "post", "/v1/invoices", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["InvoiceCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ This endpoint creates a draft invoice for a given customer. The invoice remains a draft until you [finalize the invoice, which allows you to [pay](#pay_invoice) or send](https://docs.stripe.com/api#finalize_invoice) the invoice to your customers. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices", base_address="api", params=params, options=options, ), ) def search( self, params: "InvoiceSearchParams", options: Optional["RequestOptions"] = None, ) -> "SearchResultObject[Invoice]": """ Search for invoices you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cast( "SearchResultObject[Invoice]", self._request( "get", "/v1/invoices/search", base_address="api", params=params, options=options, ), ) async def search_async( self, params: "InvoiceSearchParams", options: Optional["RequestOptions"] = None, ) -> "SearchResultObject[Invoice]": """ Search for invoices you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cast( "SearchResultObject[Invoice]", await self._request_async( "get", "/v1/invoices/search", base_address="api", params=params, options=options, ), ) def add_lines( self, invoice: str, params: "InvoiceAddLinesParams", options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Adds multiple line items to an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/add_lines".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) async def add_lines_async( self, invoice: str, params: "InvoiceAddLinesParams", options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Adds multiple line items to an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/add_lines".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) def attach_payment( self, invoice: str, params: Optional["InvoiceAttachPaymentParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Attaches a PaymentIntent or an Out of Band Payment to the invoice, adding it to the list of payments. For the PaymentIntent, when the PaymentIntent's status changes to succeeded, the payment is credited to the invoice, increasing its amount_paid. When the invoice is fully paid, the invoice's status becomes paid. If the PaymentIntent's status is already succeeded when it's attached, it's credited to the invoice immediately. See: [Partial payments](https://docs.stripe.com/docs/invoicing/partial-payments) to learn more. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/attach_payment".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) async def attach_payment_async( self, invoice: str, params: Optional["InvoiceAttachPaymentParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Attaches a PaymentIntent or an Out of Band Payment to the invoice, adding it to the list of payments. For the PaymentIntent, when the PaymentIntent's status changes to succeeded, the payment is credited to the invoice, increasing its amount_paid. When the invoice is fully paid, the invoice's status becomes paid. If the PaymentIntent's status is already succeeded when it's attached, it's credited to the invoice immediately. See: [Partial payments](https://docs.stripe.com/docs/invoicing/partial-payments) to learn more. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/attach_payment".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) def finalize_invoice( self, invoice: str, params: Optional["InvoiceFinalizeInvoiceParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you'd like to finalize a draft invoice manually, you can do so using this method. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/finalize".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) async def finalize_invoice_async( self, invoice: str, params: Optional["InvoiceFinalizeInvoiceParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you'd like to finalize a draft invoice manually, you can do so using this method. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/finalize".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) def mark_uncollectible( self, invoice: str, params: Optional["InvoiceMarkUncollectibleParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/mark_uncollectible".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) async def mark_uncollectible_async( self, invoice: str, params: Optional["InvoiceMarkUncollectibleParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/mark_uncollectible".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) def pay( self, invoice: str, params: Optional["InvoicePayParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/pay".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) async def pay_async( self, invoice: str, params: Optional["InvoicePayParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/pay".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) def remove_lines( self, invoice: str, params: "InvoiceRemoveLinesParams", options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Removes multiple line items from an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/remove_lines".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) async def remove_lines_async( self, invoice: str, params: "InvoiceRemoveLinesParams", options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Removes multiple line items from an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/remove_lines".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) def send_invoice( self, invoice: str, params: Optional["InvoiceSendInvoiceParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Stripe will automatically send invoices to customers according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email. Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/send".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) async def send_invoice_async( self, invoice: str, params: Optional["InvoiceSendInvoiceParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Stripe will automatically send invoices to customers according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email. Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/send".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) def update_lines( self, invoice: str, params: "InvoiceUpdateLinesParams", options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Updates multiple line items on an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/update_lines".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) async def update_lines_async( self, invoice: str, params: "InvoiceUpdateLinesParams", options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Updates multiple line items on an invoice. This is only possible when an invoice is still a draft. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/update_lines".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) def void_invoice( self, invoice: str, params: Optional["InvoiceVoidInvoiceParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://docs.stripe.com/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found. Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or credit note](https://docs.stripe.com/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business. """ return cast( "Invoice", self._request( "post", "/v1/invoices/{invoice}/void".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) async def void_invoice_async( self, invoice: str, params: Optional["InvoiceVoidInvoiceParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://docs.stripe.com/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found. Consult with local regulations to determine whether and how an invoice might be amended, canceled, or voided in the jurisdiction you're doing business in. You might need to [issue another invoice or credit note](https://docs.stripe.com/api#create_invoice) instead. Stripe recommends that you consult with your legal counsel for advice specific to your business. """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/{invoice}/void".format( invoice=sanitize_id(invoice), ), base_address="api", params=params, options=options, ), ) def create_preview( self, params: Optional["InvoiceCreatePreviewParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ At any time, you can preview the upcoming invoice for a subscription or subscription schedule. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice. You can also preview the effects of creating or updating a subscription or subscription schedule, including a preview of any prorations that will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass the subscription_details.proration_date parameter when doing the actual subscription update. The recommended way to get only the prorations being previewed on the invoice is to consider line items where parent.subscription_item_details.proration is true. Note that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer's discount. Note: Currency conversion calculations use the latest exchange rates. Exchange rates may vary between the time of the preview and the time of the actual invoice creation. [Learn more](https://docs.stripe.com/currencies/conversions) """ return cast( "Invoice", self._request( "post", "/v1/invoices/create_preview", base_address="api", params=params, options=options, ), ) async def create_preview_async( self, params: Optional["InvoiceCreatePreviewParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Invoice": """ At any time, you can preview the upcoming invoice for a subscription or subscription schedule. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice. You can also preview the effects of creating or updating a subscription or subscription schedule, including a preview of any prorations that will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass the subscription_details.proration_date parameter when doing the actual subscription update. The recommended way to get only the prorations being previewed on the invoice is to consider line items where parent.subscription_item_details.proration is true. Note that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer's discount. Note: Currency conversion calculations use the latest exchange rates. Exchange rates may vary between the time of the preview and the time of the actual invoice creation. [Learn more](https://docs.stripe.com/currencies/conversions) """ return cast( "Invoice", await self._request_async( "post", "/v1/invoices/create_preview", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.325062 stripe-13.2.0/stripe/_issuing_service.py0000644000000000000000000000457515102753431015265 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.issuing._authorization_service import AuthorizationService from stripe.issuing._card_service import CardService from stripe.issuing._cardholder_service import CardholderService from stripe.issuing._dispute_service import DisputeService from stripe.issuing._personalization_design_service import ( PersonalizationDesignService, ) from stripe.issuing._physical_bundle_service import PhysicalBundleService from stripe.issuing._token_service import TokenService from stripe.issuing._transaction_service import TransactionService _subservices = { "authorizations": [ "stripe.issuing._authorization_service", "AuthorizationService", ], "cards": ["stripe.issuing._card_service", "CardService"], "cardholders": ["stripe.issuing._cardholder_service", "CardholderService"], "disputes": ["stripe.issuing._dispute_service", "DisputeService"], "personalization_designs": [ "stripe.issuing._personalization_design_service", "PersonalizationDesignService", ], "physical_bundles": [ "stripe.issuing._physical_bundle_service", "PhysicalBundleService", ], "tokens": ["stripe.issuing._token_service", "TokenService"], "transactions": [ "stripe.issuing._transaction_service", "TransactionService", ], } class IssuingService(StripeService): authorizations: "AuthorizationService" cards: "CardService" cardholders: "CardholderService" disputes: "DisputeService" personalization_designs: "PersonalizationDesignService" physical_bundles: "PhysicalBundleService" tokens: "TokenService" transactions: "TransactionService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.326062 stripe-13.2.0/stripe/_line_item.py0000644000000000000000000000752515102753431014027 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar, List, Optional from typing_extensions import Literal, TYPE_CHECKING if TYPE_CHECKING: from stripe._discount import Discount as DiscountResource from stripe._price import Price from stripe._tax_rate import TaxRate class LineItem(StripeObject): """ A line item. """ OBJECT_NAME: ClassVar[Literal["item"]] = "item" class Discount(StripeObject): amount: int """ The amount discounted. """ discount: "DiscountResource" """ A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes). It contains information about when the discount began, when it will end, and what it is applied to. Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts) """ class Tax(StripeObject): amount: int """ Amount of tax applied for this rate. """ rate: "TaxRate" """ Tax rates can be applied to [invoices](https://docs.stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://docs.stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://docs.stripe.com/payments/checkout/use-manual-tax-rates) to collect tax. Related guide: [Tax rates](https://docs.stripe.com/billing/taxes/tax-rates) """ taxability_reason: Optional[ Literal[ "customer_exempt", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] ] """ The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. """ taxable_amount: Optional[int] """ The amount on which tax is calculated, in cents (or local equivalent). """ amount_discount: int """ Total discount amount applied. If no discounts were applied, defaults to 0. """ amount_subtotal: int """ Total before any discounts or taxes are applied. """ amount_tax: int """ Total tax amount applied. If no tax was applied, defaults to 0. """ amount_total: int """ Total after discounts and taxes. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. Defaults to product name. """ discounts: Optional[List[Discount]] """ The discounts applied to the line item. """ id: str """ Unique identifier for the object. """ object: Literal["item"] """ String representing the object's type. Objects of the same type share the same value. """ price: Optional["Price"] """ The price used to generate the line item. """ quantity: Optional[int] """ The quantity of products being purchased. """ taxes: Optional[List[Tax]] """ The taxes applied to the line item. """ _inner_class_types = {"discounts": Discount, "taxes": Tax} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.326062 stripe-13.2.0/stripe/_list_object.py0000644000000000000000000001756415102753431014367 0ustar00# pyright: strict, reportUnnecessaryTypeIgnoreComment=false # reportUnnecessaryTypeIgnoreComment is set to false because some type ignores are required in some # python versions but not the others from typing_extensions import Self, Unpack from typing import ( Any, AsyncIterator, Iterator, List, Generic, TypeVar, cast, Mapping, ) from stripe._api_requestor import ( _APIRequestor, # pyright: ignore[reportPrivateUsage] ) from stripe._any_iterator import AnyIterator from stripe._stripe_object import StripeObject from stripe._request_options import RequestOptions, extract_options_from_dict from urllib.parse import quote_plus T = TypeVar("T", bound=StripeObject) class ListObject(StripeObject, Generic[T]): OBJECT_NAME = "list" data: List[T] has_more: bool url: str def _get_url_for_list(self) -> str: url = self.get("url") if not isinstance(url, str): raise ValueError( 'Cannot call .list on a list object without a string "url" property' ) return url def list(self, **params: Mapping[str, Any]) -> Self: return cast( Self, self._request( "get", self._get_url_for_list(), params=params, base_address="api", ), ) async def list_async(self, **params: Mapping[str, Any]) -> Self: return cast( Self, await self._request_async( "get", self._get_url_for_list(), params=params, base_address="api", ), ) def create(self, **params: Mapping[str, Any]) -> T: url = self.get("url") if not isinstance(url, str): raise ValueError( 'Cannot call .create on a list object for the collection of an object without a string "url" property' ) return cast( T, self._request( "post", url, params=params, base_address="api", ), ) def retrieve(self, id: str, **params: Mapping[str, Any]): url = self.get("url") if not isinstance(url, str): raise ValueError( 'Cannot call .retrieve on a list object for the collection of an object without a string "url" property' ) url = "%s/%s" % (self.get("url"), quote_plus(id)) return cast( T, self._request( "get", url, params=params, base_address="api", ), ) def __getitem__(self, k: str) -> T: if isinstance(k, str): # pyright: ignore return super(ListObject, self).__getitem__(k) else: raise KeyError( "You tried to access the %s index, but ListObject types only " "support string keys. (HINT: List calls return an object with " "a 'data' (which is the data array). You likely want to call " ".data[%s])" % (repr(k), repr(k)) ) # Pyright doesn't like this because ListObject inherits from StripeObject inherits from Dict[str, Any] # and so it wants the type of __iter__ to agree with __iter__ from Dict[str, Any] # But we are iterating through "data", which is a List[T]. def __iter__( # pyright: ignore self, ) -> Iterator[T]: return getattr(self, "data", []).__iter__() def __len__(self) -> int: return getattr(self, "data", []).__len__() def __reversed__(self) -> Iterator[T]: # pyright: ignore (see above) return getattr(self, "data", []).__reversed__() def auto_paging_iter(self) -> AnyIterator[T]: return AnyIterator( self._auto_paging_iter(), self._auto_paging_iter_async(), ) def _auto_paging_iter(self) -> Iterator[T]: page = self while True: if ( self._retrieve_params.get("ending_before") is not None and self._retrieve_params.get("starting_after") is None ): for item in reversed(page): yield item page = page.previous_page() else: for item in page: yield item page = page.next_page() if page.is_empty: break async def _auto_paging_iter_async(self) -> AsyncIterator[T]: page = self while True: if ( self._retrieve_params.get("ending_before") is not None and self._retrieve_params.get("starting_after") is None ): for item in reversed(page): yield item page = await page.previous_page_async() else: for item in page: yield item page = await page.next_page_async() if page.is_empty: break @classmethod def _empty_list( cls, **params: Unpack[RequestOptions], ) -> Self: return cls._construct_from( values={"data": []}, last_response=None, requestor=_APIRequestor._global_with_options( # pyright: ignore[reportPrivateUsage] **params, ), api_mode="V1", ) @property def is_empty(self) -> bool: return not self.data def _get_filters_for_next_page( self, params: RequestOptions ) -> Mapping[str, Any]: last_id = getattr(self.data[-1], "id") if not last_id: raise ValueError( "Unexpected: element in .data of list object had no id" ) params_with_filters = dict(self._retrieve_params) params_with_filters.update({"starting_after": last_id}) params_with_filters.update(params) return params_with_filters def next_page(self, **params: Unpack[RequestOptions]) -> Self: if not self.has_more: request_options, _ = extract_options_from_dict(params) return self._empty_list( **request_options, ) return self.list( **self._get_filters_for_next_page(params), ) async def next_page_async(self, **params: Unpack[RequestOptions]) -> Self: if not self.has_more: request_options, _ = extract_options_from_dict(params) return self._empty_list( **request_options, ) return await self.list_async(**self._get_filters_for_next_page(params)) def _get_filters_for_previous_page( self, params: RequestOptions ) -> Mapping[str, Any]: first_id = getattr(self.data[0], "id") if not first_id: raise ValueError( "Unexpected: element in .data of list object had no id" ) params_with_filters = dict(self._retrieve_params) params_with_filters.update({"ending_before": first_id}) params_with_filters.update(params) return params_with_filters def previous_page(self, **params: Unpack[RequestOptions]) -> Self: if not self.has_more: request_options, _ = extract_options_from_dict(params) return self._empty_list( **request_options, ) result = self.list( **self._get_filters_for_previous_page(params), ) return result async def previous_page_async( self, **params: Unpack[RequestOptions] ) -> Self: if not self.has_more: request_options, _ = extract_options_from_dict(params) return self._empty_list( **request_options, ) result = await self.list_async( **self._get_filters_for_previous_page(params) ) return result ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.326062 stripe-13.2.0/stripe/_listable_api_resource.py0000644000000000000000000000167515102753431016421 0ustar00from stripe._api_resource import APIResource from stripe._list_object import ListObject from stripe._stripe_object import StripeObject from typing import TypeVar T = TypeVar("T", bound=StripeObject) # TODO(major): 1704 - remove this class and all internal usages. `.list` is already inlined into the resource classes. # Although we should inline .auto_paging_iter into the resource classes as well. class ListableAPIResource(APIResource[T]): @classmethod def auto_paging_iter(cls, **params): return cls.list(**params).auto_paging_iter() @classmethod def list(cls, **params) -> ListObject[T]: result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__,) ) return result ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.326062 stripe-13.2.0/stripe/_login_link.py0000644000000000000000000000172415102753431014202 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar from typing_extensions import Literal class LoginLink(StripeObject): """ Login Links are single-use URLs that takes an Express account to the login page for their Stripe dashboard. A Login Link differs from an [Account Link](https://stripe.com/docs/api/account_links) in that it takes the user directly to their [Express dashboard for the specified account](https://stripe.com/docs/connect/integrate-express-dashboard#create-login-link) """ OBJECT_NAME: ClassVar[Literal["login_link"]] = "login_link" created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ object: Literal["login_link"] """ String representing the object's type. Objects of the same type share the same value. """ url: str """ The URL for the login link. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.326062 stripe-13.2.0/stripe/_mandate.py0000644000000000000000000002066215102753431013470 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._api_resource import APIResource from stripe._expandable_field import ExpandableField from stripe._stripe_object import StripeObject from typing import ClassVar, List, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._payment_method import PaymentMethod from stripe.params._mandate_retrieve_params import MandateRetrieveParams class Mandate(APIResource["Mandate"]): """ A Mandate is a record of the permission that your customer gives you to debit their payment method. """ OBJECT_NAME: ClassVar[Literal["mandate"]] = "mandate" class CustomerAcceptance(StripeObject): class Offline(StripeObject): pass class Online(StripeObject): ip_address: Optional[str] """ The customer accepts the mandate from this IP address. """ user_agent: Optional[str] """ The customer accepts the mandate using the user agent of the browser. """ accepted_at: Optional[int] """ The time that the customer accepts the mandate. """ offline: Optional[Offline] online: Optional[Online] type: Literal["offline", "online"] """ The mandate includes the type of customer acceptance information, such as: `online` or `offline`. """ _inner_class_types = {"offline": Offline, "online": Online} class MultiUse(StripeObject): pass class PaymentMethodDetails(StripeObject): class AcssDebit(StripeObject): default_for: Optional[List[Literal["invoice", "subscription"]]] """ List of Stripe products where this mandate can be selected automatically. """ interval_description: Optional[str] """ Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'. """ payment_schedule: Literal["combined", "interval", "sporadic"] """ Payment schedule for the mandate. """ transaction_type: Literal["business", "personal"] """ Transaction type of the mandate. """ class AmazonPay(StripeObject): pass class AuBecsDebit(StripeObject): url: str """ The URL of the mandate. This URL generally contains sensitive information about the customer and should be shared with them exclusively. """ class BacsDebit(StripeObject): network_status: Literal[ "accepted", "pending", "refused", "revoked" ] """ The status of the mandate on the Bacs network. Can be one of `pending`, `revoked`, `refused`, or `accepted`. """ reference: str """ The unique reference identifying the mandate on the Bacs network. """ revocation_reason: Optional[ Literal[ "account_closed", "bank_account_restricted", "bank_ownership_changed", "could_not_process", "debit_not_authorized", ] ] """ When the mandate is revoked on the Bacs network this field displays the reason for the revocation. """ url: str """ The URL that will contain the mandate that the customer has signed. """ class Card(StripeObject): pass class Cashapp(StripeObject): pass class KakaoPay(StripeObject): pass class Klarna(StripeObject): pass class KrCard(StripeObject): pass class Link(StripeObject): pass class NaverPay(StripeObject): pass class NzBankAccount(StripeObject): pass class Paypal(StripeObject): billing_agreement_id: Optional[str] """ The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer. """ payer_id: Optional[str] """ PayPal account PayerID. This identifier uniquely identifies the PayPal customer. """ class RevolutPay(StripeObject): pass class SepaDebit(StripeObject): reference: str """ The unique reference of the mandate. """ url: str """ The URL of the mandate. This URL generally contains sensitive information about the customer and should be shared with them exclusively. """ class UsBankAccount(StripeObject): collection_method: Optional[Literal["paper"]] """ Mandate collection method """ acss_debit: Optional[AcssDebit] amazon_pay: Optional[AmazonPay] au_becs_debit: Optional[AuBecsDebit] bacs_debit: Optional[BacsDebit] card: Optional[Card] cashapp: Optional[Cashapp] kakao_pay: Optional[KakaoPay] klarna: Optional[Klarna] kr_card: Optional[KrCard] link: Optional[Link] naver_pay: Optional[NaverPay] nz_bank_account: Optional[NzBankAccount] paypal: Optional[Paypal] revolut_pay: Optional[RevolutPay] sepa_debit: Optional[SepaDebit] type: str """ This mandate corresponds with a specific payment method type. The `payment_method_details` includes an additional hash with the same name and contains mandate information that's specific to that payment method. """ us_bank_account: Optional[UsBankAccount] _inner_class_types = { "acss_debit": AcssDebit, "amazon_pay": AmazonPay, "au_becs_debit": AuBecsDebit, "bacs_debit": BacsDebit, "card": Card, "cashapp": Cashapp, "kakao_pay": KakaoPay, "klarna": Klarna, "kr_card": KrCard, "link": Link, "naver_pay": NaverPay, "nz_bank_account": NzBankAccount, "paypal": Paypal, "revolut_pay": RevolutPay, "sepa_debit": SepaDebit, "us_bank_account": UsBankAccount, } class SingleUse(StripeObject): amount: int """ The amount of the payment on a single use mandate. """ currency: str """ The currency of the payment on a single use mandate. """ customer_acceptance: CustomerAcceptance id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ multi_use: Optional[MultiUse] object: Literal["mandate"] """ String representing the object's type. Objects of the same type share the same value. """ on_behalf_of: Optional[str] """ The account (if any) that the mandate is intended for. """ payment_method: ExpandableField["PaymentMethod"] """ ID of the payment method associated with this mandate. """ payment_method_details: PaymentMethodDetails single_use: Optional[SingleUse] status: Literal["active", "inactive", "pending"] """ The mandate status indicates whether or not you can use it to initiate a payment. """ type: Literal["multi_use", "single_use"] """ The type of the mandate. """ @classmethod def retrieve( cls, id: str, **params: Unpack["MandateRetrieveParams"] ) -> "Mandate": """ Retrieves a Mandate object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["MandateRetrieveParams"] ) -> "Mandate": """ Retrieves a Mandate object. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "customer_acceptance": CustomerAcceptance, "multi_use": MultiUse, "payment_method_details": PaymentMethodDetails, "single_use": SingleUse, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.326062 stripe-13.2.0/stripe/_mandate_service.py0000644000000000000000000000303615102753431015204 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._mandate import Mandate from stripe._request_options import RequestOptions from stripe.params._mandate_retrieve_params import MandateRetrieveParams class MandateService(StripeService): def retrieve( self, mandate: str, params: Optional["MandateRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Mandate": """ Retrieves a Mandate object. """ return cast( "Mandate", self._request( "get", "/v1/mandates/{mandate}".format(mandate=sanitize_id(mandate)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, mandate: str, params: Optional["MandateRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Mandate": """ Retrieves a Mandate object. """ return cast( "Mandate", await self._request_async( "get", "/v1/mandates/{mandate}".format(mandate=sanitize_id(mandate)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.326062 stripe-13.2.0/stripe/_multipart_data_generator.py0000644000000000000000000000522615102753431017136 0ustar00import random import io from stripe._encode import _api_encode class MultipartDataGenerator(object): data: io.BytesIO line_break: str boundary: int chunk_size: int def __init__(self, chunk_size: int = 1028): self.data = io.BytesIO() self.line_break = "\r\n" self.boundary = self._initialize_boundary() self.chunk_size = chunk_size def add_params(self, params): # Flatten parameters first params = dict(_api_encode(params, "V1")) for key, value in params.items(): if value is None: continue self._write(self.param_header()) self._write(self.line_break) if hasattr(value, "read"): filename = "blob" if hasattr(value, "name"): # Convert the filename to string, just in case it's not # already one. E.g. `tempfile.TemporaryFile` has a `name` # attribute but it's an `int`. filename = str(value.name) self._write('Content-Disposition: form-data; name="') self._write(key) self._write('"; filename="') self._write(filename) self._write('"') self._write(self.line_break) self._write("Content-Type: application/octet-stream") self._write(self.line_break) self._write(self.line_break) self._write_file(value) else: self._write('Content-Disposition: form-data; name="') self._write(key) self._write('"') self._write(self.line_break) self._write(self.line_break) self._write(str(value)) self._write(self.line_break) def param_header(self): return "--%s" % self.boundary def get_post_data(self): self._write("--%s--" % (self.boundary,)) self._write(self.line_break) return self.data.getvalue() def _write(self, value): if isinstance(value, bytes): array = bytearray(value) elif isinstance(value, str): array = bytearray(value, encoding="utf-8") else: raise TypeError( "unexpected type: {value_type}".format(value_type=type(value)) ) self.data.write(array) def _write_file(self, f): while True: file_contents = f.read(self.chunk_size) if not file_contents: break self._write(file_contents) def _initialize_boundary(self): return random.randint(0, 2**63) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.326062 stripe-13.2.0/stripe/_nested_resource_class_methods.py0000644000000000000000000000777415102753431020171 0ustar00from typing import List, Optional from urllib.parse import quote_plus from stripe._api_resource import APIResource # TODO(major): 1704. Remove this. It is no longer used except for "nested_resource_url" and "nested_resource_request", # which are unnecessary and deprecated and should also be removed. def nested_resource_class_methods( resource: str, path: Optional[str] = None, operations: Optional[List[str]] = None, resource_plural: Optional[str] = None, ): if resource_plural is None: resource_plural = "%ss" % resource if path is None: path = resource_plural def wrapper(cls): def nested_resource_url(cls, id, nested_id=None): url = "%s/%s/%s" % ( cls.class_url(), quote_plus(id), quote_plus(path), ) if nested_id is not None: url += "/%s" % quote_plus(nested_id) return url resource_url_method = "%ss_url" % resource setattr(cls, resource_url_method, classmethod(nested_resource_url)) def nested_resource_request(cls, method, url, **params): return APIResource._static_request( method, url, params=params, ) resource_request_method = "%ss_request" % resource setattr( cls, resource_request_method, classmethod(nested_resource_request) ) if operations is None: return cls for operation in operations: if operation == "create": def create_nested_resource(cls, id, **params): url = getattr(cls, resource_url_method)(id) return getattr(cls, resource_request_method)( "post", url, **params ) create_method = "create_%s" % resource setattr( cls, create_method, classmethod(create_nested_resource) ) elif operation == "retrieve": def retrieve_nested_resource(cls, id, nested_id, **params): url = getattr(cls, resource_url_method)(id, nested_id) return getattr(cls, resource_request_method)( "get", url, **params ) retrieve_method = "retrieve_%s" % resource setattr( cls, retrieve_method, classmethod(retrieve_nested_resource) ) elif operation == "update": def modify_nested_resource(cls, id, nested_id, **params): url = getattr(cls, resource_url_method)(id, nested_id) return getattr(cls, resource_request_method)( "post", url, **params ) modify_method = "modify_%s" % resource setattr( cls, modify_method, classmethod(modify_nested_resource) ) elif operation == "delete": def delete_nested_resource(cls, id, nested_id, **params): url = getattr(cls, resource_url_method)(id, nested_id) return getattr(cls, resource_request_method)( "delete", url, **params ) delete_method = "delete_%s" % resource setattr( cls, delete_method, classmethod(delete_nested_resource) ) elif operation == "list": def list_nested_resources(cls, id, **params): url = getattr(cls, resource_url_method)(id) return getattr(cls, resource_request_method)( "get", url, **params ) list_method = "list_%s" % resource_plural setattr(cls, list_method, classmethod(list_nested_resources)) else: raise ValueError("Unknown operation: %s" % operation) return cls return wrapper ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.326062 stripe-13.2.0/stripe/_oauth.py0000644000000000000000000003567215102753431013206 0ustar00# Used for global variables from stripe import connect_api_base from stripe._error import AuthenticationError from stripe._api_requestor import _APIRequestor from stripe._encode import _api_encode from urllib.parse import urlencode from stripe._stripe_object import StripeObject from typing import List, cast, Optional from typing_extensions import ( Literal, NotRequired, TypedDict, Unpack, TYPE_CHECKING, ) if TYPE_CHECKING: from stripe._request_options import RequestOptions class OAuth(object): class OAuthToken(StripeObject): access_token: Optional[str] """ The access token you can use to make requests on behalf of this Stripe account. Use it as you would any Stripe secret API key. This key does not expire, but may be revoked by the user at any time (you'll get a account.application.deauthorized webhook event when this happens). """ scope: Optional[str] """ The scope granted to the access token, depending on the scope of the authorization code and scope parameter. """ livemode: Optional[bool] """ The live mode indicator for the token. If true, the access_token can be used as a live secret key. If false, the access_token can be used as a test secret key. Depends on the mode of the secret API key used to make the request. """ token_type: Optional[Literal["bearer"]] """ Will always have a value of bearer. """ refresh_token: Optional[str] """ Can be used to get a new access token of an equal or lesser scope, or of a different live mode (where applicable). """ stripe_user_id: Optional[str] """ The unique id of the account you have been granted access to, as a string. """ stripe_publishable_key: Optional[str] """ A publishable key that can be used with this account. Matches the mode—live or test—of the token. """ class OAuthDeauthorization(StripeObject): stripe_user_id: str """ The unique id of the account you have revoked access to, as a string. This is the same as the stripe_user_id you passed in. If this is returned, the revocation was successful. """ class OAuthAuthorizeUrlParams(TypedDict): client_id: NotRequired[str] """ The unique identifier provided to your application, found in your application settings. """ response_type: NotRequired[Literal["code"]] """ The only option at the moment is `'code'`. """ redirect_uri: NotRequired[str] """ The URL for the authorize response redirect. If provided, this must exactly match one of the comma-separated redirect_uri values in your application settings. To protect yourself from certain forms of man-in-the-middle attacks, the live mode redirect_uri must use a secure HTTPS connection. Defaults to the redirect_uri in your application settings if not provided. """ scope: NotRequired[str] """ read_write or read_only, depending on the level of access you need. Defaults to read_only. """ state: NotRequired[str] """ An arbitrary string value we will pass back to you, useful for CSRF protection. """ stripe_landing: NotRequired[str] """ login or register, depending on what type of screen you want your users to see. Only override this to be login if you expect all your users to have Stripe accounts already (e.g., most read-only applications, like analytics dashboards or accounting software). Defaults to login for scope read_only and register for scope read_write. """ always_prompt: NotRequired[bool] """ Boolean to indicate that the user should always be asked to connect, even if they're already connected. Defaults to false. """ suggested_capabilities: NotRequired[List[str]] """ Express only An array of capabilities to apply to the connected account. """ stripe_user: NotRequired["OAuth.OAuthAuthorizeUrlParamsStripeUser"] """ Stripe will use these to prefill details in the account form for new users. Some prefilled fields (e.g., URL or product category) may be automatically hidden from the user's view. Any parameters with invalid values will be silently ignored. """ class OAuthAuthorizeUrlParamsStripeUser(TypedDict): """ A more detailed explanation of what it means for a field to be required or optional can be found in our API documentation. See `Account Creation (Overview)` and `Account Update` """ email: NotRequired[str] """ Recommended The user's email address. Must be a valid email format. """ url: NotRequired[str] """ Recommended The URL for the user's business. This may be the user's website, a profile page within your application, or another publicly available profile for the business, such as a LinkedIn or Facebook profile. Must be URL-encoded and include a scheme (http or https). If you will be prefilling this field, we highly recommend that the linked page contain a description of the user's products or services and their contact information. If we don't have enough information, we'll have to reach out to the user directly before initiating payouts. """ country: NotRequired[str] """ Two-letter country code (e.g., US or CA). Must be a country that Stripe currently supports. """ phone_number: NotRequired[str] """ The business phone number. Must be 10 digits only. Must also prefill stripe_user[country] with the corresponding country. """ business_name: NotRequired[str] """ The legal name of the business, also used for the statement descriptor. """ business_type: NotRequired[str] """ The type of the business. Must be one of sole_prop, corporation, non_profit, partnership, or llc. """ first_name: NotRequired[str] """ First name of the person who will be filling out a Stripe application. """ last_name: NotRequired[str] """ Last name of the person who will be filling out a Stripe application. """ dob_day: NotRequired[str] """ Day (0-31), month (1-12), and year (YYYY, greater than 1900) for the birth date of the person who will be filling out a Stripe application. If you choose to pass these parameters, you must pass all three. """ dob_month: NotRequired[str] """ Day (0-31), month (1-12), and year (YYYY, greater than 1900) for the birth date of the person who will be filling out a Stripe application. If you choose to pass these parameters, you must pass all three. """ dob_year: NotRequired[str] """ Day (0-31), month (1-12), and year (YYYY, greater than 1900) for the birth date of the person who will be filling out a Stripe application. If you choose to pass these parameters, you must pass all three. """ street_address: NotRequired[str] """ Standard only Street address of the business. """ city: NotRequired[str] """ Address city of the business. We highly recommend that you also prefill stripe_user[country] with the corresponding country. """ state: NotRequired[str] """ Standard only Address state of the business, must be the two-letter state or province code (e.g., NY for a U.S. business or AB for a Canadian one). Must also prefill stripe_user[country] with the corresponding country. """ zip: NotRequired[str] """ Standard only Address ZIP code of the business, must be a string. We highly recommend that you also prefill stripe_user[country] with the corresponding country. """ physical_product: NotRequired[str] """ Standard only A string: true if the user sells a physical product, false otherwise. """ product_description: NotRequired[str] """ A description of what the business is accepting payments for. """ currency: NotRequired[str] """ Standard only Three-letter ISO code representing currency, in lowercase (e.g., usd or cad). Must be a valid country and currency combination that Stripe supports. Must prefill stripe_user[country] with the corresponding country. """ first_name_kana: NotRequired[str] """ The Kana variation of the first name of the person who will be filling out a Stripe application. Must prefill stripe_user[country] with JP, as this parameter is only relevant for Japan. """ first_name_kanji: NotRequired[str] """ The Kanji variation of the first name of the person who will be filling out a Stripe application. Must prefill stripe_user[country] with JP, as this parameter is only relevant for Japan. """ last_name_kana: NotRequired[str] """ The Kana variation of the last name of the person who will be filling out a Stripe application. Must prefill stripe_user[country] with JP, as this parameter is only relevant for Japan. """ last_name_kanji: NotRequired[str] """ The Kanji variation of the last name of the person who will be filling out a Stripe application. Must prefill stripe_user[country] with JP, as this parameter is only relevant for Japan. """ gender: NotRequired[str] """ The gender of the person who will be filling out a Stripe application. (International regulations require either male or female.) Must prefill stripe_user[country] with JP, as this parameter is only relevant for Japan. """ block_kana: NotRequired[str] """ Standard only The Kana variation of the address block. This parameter is only relevant for Japan. You must prefill stripe_user[country] with JP and stripe_user[zip] with a valid Japanese postal code to use this parameter. """ block_kanji: NotRequired[str] """ Standard only The Kanji variation of the address block. This parameter is only relevant for Japan. You must prefill stripe_user[country] with JP and stripe_user[zip] with a valid Japanese postal code to use this parameter. """ building_kana: NotRequired[str] """ Standard only The Kana variation of the address building. This parameter is only relevant for Japan. You must prefill stripe_user[country] with JP and stripe_user[zip] with a valid Japanese postal code to use this parameter. """ building_kanji: NotRequired[str] """ Standard only The Kanji variation of the address building. This parameter is only relevant for Japan. You must prefill stripe_user[country] with JP and stripe_user[zip] with a valid Japanese postal code to use this parameter. """ class OAuthTokenParams(TypedDict): grant_type: Literal["authorization_code", "refresh_token"] """ `'authorization_code'` when turning an authorization code into an access token, or `'refresh_token'` when using a refresh token to get a new access token. """ code: NotRequired[str] """ The value of the code or refresh_token, depending on the grant_type. """ refresh_token: NotRequired[str] """ The value of the code or refresh_token, depending on the grant_type. """ scope: NotRequired[str] """ When requesting a new access token from a refresh token, any scope that has an equal or lesser scope as the refresh token. Has no effect when requesting an access token from an authorization code. Defaults to the scope of the refresh token. """ assert_capabilities: NotRequired[List[str]] """ Express only Check whether the suggested_capabilities were applied to the connected account. """ class OAuthDeauthorizeParams(TypedDict): client_id: NotRequired[str] """ The client_id of the application that you'd like to disconnect the account from. The account must be connected to this application. """ stripe_user_id: str """ The account you'd like to disconnect from. """ @staticmethod def _set_client_id(params): if "client_id" in params: return from stripe import client_id if client_id: params["client_id"] = client_id return raise AuthenticationError( "No client_id provided. (HINT: set your client_id using " '"stripe.client_id = "). You can find your client_ids ' "in your Stripe dashboard at " "https://dashboard.stripe.com/account/applications/settings, " "after registering your account as a platform. See " "https://stripe.com/docs/connect/standalone-accounts for details, " "or email support@stripe.com if you have any questions." ) @staticmethod def authorize_url( express: bool = False, **params: Unpack[OAuthAuthorizeUrlParams] ) -> str: if express is False: path = "/oauth/authorize" else: path = "/express/oauth/authorize" OAuth._set_client_id(params) if "response_type" not in params: params["response_type"] = "code" query = urlencode(list(_api_encode(params, "V1"))) url = connect_api_base + path + "?" + query return url @staticmethod def token( api_key: Optional[str] = None, **params: Unpack[OAuthTokenParams] ) -> OAuthToken: options: "RequestOptions" = {"api_key": api_key} requestor = _APIRequestor._global_instance() return cast( "OAuth.OAuthToken", requestor.request( "post", "/oauth/token", params=params, options=options, base_address="connect", ), ) @staticmethod def deauthorize( api_key: Optional[str] = None, **params: Unpack[OAuthDeauthorizeParams] ) -> OAuthDeauthorization: options: "RequestOptions" = {"api_key": api_key} requestor = _APIRequestor._global_instance() OAuth._set_client_id(params) return cast( "OAuth.OAuthDeauthorization", requestor.request( "post", "/oauth/deauthorize", params=params, options=options, base_address="connect", ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.326062 stripe-13.2.0/stripe/_oauth_service.py0000644000000000000000000000714215102753431014715 0ustar00from stripe._stripe_service import StripeService from stripe._error import AuthenticationError from stripe._encode import _api_encode from urllib.parse import urlencode from typing import cast, Optional from typing_extensions import NotRequired, TypedDict, TYPE_CHECKING if TYPE_CHECKING: from stripe._client_options import _ClientOptions from stripe._request_options import RequestOptions from stripe._oauth import OAuth class OAuthService(StripeService): _options: Optional["_ClientOptions"] def __init__(self, client, options=None): super(OAuthService, self).__init__(client) self._options = options class OAuthAuthorizeUrlOptions(TypedDict): express: NotRequired[bool] """ Express only Boolean to indicate that the user should be sent to the express onboarding flow instead of the standard onboarding flow. """ def _set_client_id(self, params): if "client_id" in params: return client_id = self._options and self._options.client_id if client_id: params["client_id"] = client_id return raise AuthenticationError( "No client_id provided. (HINT: set your client_id when configuring " 'your StripeClient: "stripe.StripeClient(..., client_id=)"). ' "You can find your client_ids in your Stripe dashboard at " "https://dashboard.stripe.com/account/applications/settings, " "after registering your account as a platform. See " "https://stripe.com/docs/connect/standalone-accounts for details, " "or email support@stripe.com if you have any questions." ) def authorize_url( self, params: Optional["OAuth.OAuthAuthorizeUrlParams"] = None, options: Optional[OAuthAuthorizeUrlOptions] = None, ) -> str: if params is None: params = {} if options is None: options = {} if options.get("express"): path = "/express/oauth/authorize" else: path = "/oauth/authorize" self._set_client_id(params) if "response_type" not in params: params["response_type"] = "code" query = urlencode(list(_api_encode(params, "V1"))) # connect_api_base will be always set to stripe.DEFAULT_CONNECT_API_BASE # if it is not overridden on the client explicitly. connect_api_base = self._requestor.base_addresses.get("connect") assert connect_api_base is not None url = connect_api_base + path + "?" + query return url def token( self, params: "OAuth.OAuthTokenParams", options: Optional["RequestOptions"] = None, ) -> "OAuth.OAuthToken": if options is None: options = {} return cast( "OAuth.OAuthToken", self._requestor.request( "post", "/oauth/token", params=params, options=options, base_address="connect", ), ) def deauthorize( self, params: "OAuth.OAuthDeauthorizeParams", options: Optional["RequestOptions"] = None, ) -> "OAuth.OAuthDeauthorization": if options is None: options = {} self._set_client_id(params) return cast( "OAuth.OAuthDeauthorization", self._requestor.request( "post", "/oauth/deauthorize", params=params, options=options, base_address="connect", ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.326062 stripe-13.2.0/stripe/_object_classes.py0000644000000000000000000003176215102753431015045 0ustar00# -*- coding: utf-8 -*- from importlib import import_module from typing import Dict, Tuple from typing_extensions import TYPE_CHECKING, Type from stripe._stripe_object import StripeObject if TYPE_CHECKING: from stripe._api_mode import ApiMode OBJECT_CLASSES: Dict[str, Tuple[str, str]] = { # data structures "list": ("stripe._list_object", "ListObject"), "search_result": ("stripe._search_result_object", "SearchResultObject"), "file": ("stripe._file", "File"), # there's also an alt name for compatibility "file_upload": ("stripe._file", "File"), # Object classes: The beginning of the section generated from our OpenAPI spec "account": ("stripe._account", "Account"), "account_link": ("stripe._account_link", "AccountLink"), "account_session": ("stripe._account_session", "AccountSession"), "apple_pay_domain": ("stripe._apple_pay_domain", "ApplePayDomain"), "application": ("stripe._application", "Application"), "application_fee": ("stripe._application_fee", "ApplicationFee"), "fee_refund": ("stripe._application_fee_refund", "ApplicationFeeRefund"), "apps.secret": ("stripe.apps._secret", "Secret"), "balance": ("stripe._balance", "Balance"), "balance_settings": ("stripe._balance_settings", "BalanceSettings"), "balance_transaction": ( "stripe._balance_transaction", "BalanceTransaction", ), "bank_account": ("stripe._bank_account", "BankAccount"), "billing_portal.configuration": ( "stripe.billing_portal._configuration", "Configuration", ), "billing_portal.session": ("stripe.billing_portal._session", "Session"), "billing.alert": ("stripe.billing._alert", "Alert"), "billing.alert_triggered": ( "stripe.billing._alert_triggered", "AlertTriggered", ), "billing.credit_balance_summary": ( "stripe.billing._credit_balance_summary", "CreditBalanceSummary", ), "billing.credit_balance_transaction": ( "stripe.billing._credit_balance_transaction", "CreditBalanceTransaction", ), "billing.credit_grant": ("stripe.billing._credit_grant", "CreditGrant"), "billing.meter": ("stripe.billing._meter", "Meter"), "billing.meter_event": ("stripe.billing._meter_event", "MeterEvent"), "billing.meter_event_adjustment": ( "stripe.billing._meter_event_adjustment", "MeterEventAdjustment", ), "billing.meter_event_summary": ( "stripe.billing._meter_event_summary", "MeterEventSummary", ), "capability": ("stripe._capability", "Capability"), "card": ("stripe._card", "Card"), "cash_balance": ("stripe._cash_balance", "CashBalance"), "charge": ("stripe._charge", "Charge"), "checkout.session": ("stripe.checkout._session", "Session"), "climate.order": ("stripe.climate._order", "Order"), "climate.product": ("stripe.climate._product", "Product"), "climate.supplier": ("stripe.climate._supplier", "Supplier"), "confirmation_token": ("stripe._confirmation_token", "ConfirmationToken"), "connect_collection_transfer": ( "stripe._connect_collection_transfer", "ConnectCollectionTransfer", ), "country_spec": ("stripe._country_spec", "CountrySpec"), "coupon": ("stripe._coupon", "Coupon"), "credit_note": ("stripe._credit_note", "CreditNote"), "credit_note_line_item": ( "stripe._credit_note_line_item", "CreditNoteLineItem", ), "customer": ("stripe._customer", "Customer"), "customer_balance_transaction": ( "stripe._customer_balance_transaction", "CustomerBalanceTransaction", ), "customer_cash_balance_transaction": ( "stripe._customer_cash_balance_transaction", "CustomerCashBalanceTransaction", ), "customer_session": ("stripe._customer_session", "CustomerSession"), "discount": ("stripe._discount", "Discount"), "dispute": ("stripe._dispute", "Dispute"), "entitlements.active_entitlement": ( "stripe.entitlements._active_entitlement", "ActiveEntitlement", ), "entitlements.active_entitlement_summary": ( "stripe.entitlements._active_entitlement_summary", "ActiveEntitlementSummary", ), "entitlements.feature": ("stripe.entitlements._feature", "Feature"), "ephemeral_key": ("stripe._ephemeral_key", "EphemeralKey"), "event": ("stripe._event", "Event"), "exchange_rate": ("stripe._exchange_rate", "ExchangeRate"), "file": ("stripe._file", "File"), "file_link": ("stripe._file_link", "FileLink"), "financial_connections.account": ( "stripe.financial_connections._account", "Account", ), "financial_connections.account_owner": ( "stripe.financial_connections._account_owner", "AccountOwner", ), "financial_connections.account_ownership": ( "stripe.financial_connections._account_ownership", "AccountOwnership", ), "financial_connections.session": ( "stripe.financial_connections._session", "Session", ), "financial_connections.transaction": ( "stripe.financial_connections._transaction", "Transaction", ), "forwarding.request": ("stripe.forwarding._request", "Request"), "funding_instructions": ( "stripe._funding_instructions", "FundingInstructions", ), "identity.verification_report": ( "stripe.identity._verification_report", "VerificationReport", ), "identity.verification_session": ( "stripe.identity._verification_session", "VerificationSession", ), "invoice": ("stripe._invoice", "Invoice"), "invoiceitem": ("stripe._invoice_item", "InvoiceItem"), "line_item": ("stripe._invoice_line_item", "InvoiceLineItem"), "invoice_payment": ("stripe._invoice_payment", "InvoicePayment"), "invoice_rendering_template": ( "stripe._invoice_rendering_template", "InvoiceRenderingTemplate", ), "issuing.authorization": ( "stripe.issuing._authorization", "Authorization", ), "issuing.card": ("stripe.issuing._card", "Card"), "issuing.cardholder": ("stripe.issuing._cardholder", "Cardholder"), "issuing.dispute": ("stripe.issuing._dispute", "Dispute"), "issuing.personalization_design": ( "stripe.issuing._personalization_design", "PersonalizationDesign", ), "issuing.physical_bundle": ( "stripe.issuing._physical_bundle", "PhysicalBundle", ), "issuing.token": ("stripe.issuing._token", "Token"), "issuing.transaction": ("stripe.issuing._transaction", "Transaction"), "item": ("stripe._line_item", "LineItem"), "login_link": ("stripe._login_link", "LoginLink"), "mandate": ("stripe._mandate", "Mandate"), "payment_attempt_record": ( "stripe._payment_attempt_record", "PaymentAttemptRecord", ), "payment_intent": ("stripe._payment_intent", "PaymentIntent"), "payment_intent_amount_details_line_item": ( "stripe._payment_intent_amount_details_line_item", "PaymentIntentAmountDetailsLineItem", ), "payment_link": ("stripe._payment_link", "PaymentLink"), "payment_method": ("stripe._payment_method", "PaymentMethod"), "payment_method_configuration": ( "stripe._payment_method_configuration", "PaymentMethodConfiguration", ), "payment_method_domain": ( "stripe._payment_method_domain", "PaymentMethodDomain", ), "payment_record": ("stripe._payment_record", "PaymentRecord"), "payout": ("stripe._payout", "Payout"), "person": ("stripe._person", "Person"), "plan": ("stripe._plan", "Plan"), "price": ("stripe._price", "Price"), "product": ("stripe._product", "Product"), "product_feature": ("stripe._product_feature", "ProductFeature"), "promotion_code": ("stripe._promotion_code", "PromotionCode"), "quote": ("stripe._quote", "Quote"), "radar.early_fraud_warning": ( "stripe.radar._early_fraud_warning", "EarlyFraudWarning", ), "radar.value_list": ("stripe.radar._value_list", "ValueList"), "radar.value_list_item": ( "stripe.radar._value_list_item", "ValueListItem", ), "refund": ("stripe._refund", "Refund"), "reporting.report_run": ("stripe.reporting._report_run", "ReportRun"), "reporting.report_type": ("stripe.reporting._report_type", "ReportType"), "reserve_transaction": ( "stripe._reserve_transaction", "ReserveTransaction", ), "transfer_reversal": ("stripe._reversal", "Reversal"), "review": ("stripe._review", "Review"), "setup_attempt": ("stripe._setup_attempt", "SetupAttempt"), "setup_intent": ("stripe._setup_intent", "SetupIntent"), "shipping_rate": ("stripe._shipping_rate", "ShippingRate"), "scheduled_query_run": ( "stripe.sigma._scheduled_query_run", "ScheduledQueryRun", ), "source": ("stripe._source", "Source"), "source_mandate_notification": ( "stripe._source_mandate_notification", "SourceMandateNotification", ), "source_transaction": ("stripe._source_transaction", "SourceTransaction"), "subscription": ("stripe._subscription", "Subscription"), "subscription_item": ("stripe._subscription_item", "SubscriptionItem"), "subscription_schedule": ( "stripe._subscription_schedule", "SubscriptionSchedule", ), "tax.calculation": ("stripe.tax._calculation", "Calculation"), "tax.calculation_line_item": ( "stripe.tax._calculation_line_item", "CalculationLineItem", ), "tax.registration": ("stripe.tax._registration", "Registration"), "tax.settings": ("stripe.tax._settings", "Settings"), "tax.transaction": ("stripe.tax._transaction", "Transaction"), "tax.transaction_line_item": ( "stripe.tax._transaction_line_item", "TransactionLineItem", ), "tax_code": ("stripe._tax_code", "TaxCode"), "tax_deducted_at_source": ( "stripe._tax_deducted_at_source", "TaxDeductedAtSource", ), "tax_id": ("stripe._tax_id", "TaxId"), "tax_rate": ("stripe._tax_rate", "TaxRate"), "terminal.configuration": ( "stripe.terminal._configuration", "Configuration", ), "terminal.connection_token": ( "stripe.terminal._connection_token", "ConnectionToken", ), "terminal.location": ("stripe.terminal._location", "Location"), "terminal.reader": ("stripe.terminal._reader", "Reader"), "test_helpers.test_clock": ( "stripe.test_helpers._test_clock", "TestClock", ), "token": ("stripe._token", "Token"), "topup": ("stripe._topup", "Topup"), "transfer": ("stripe._transfer", "Transfer"), "treasury.credit_reversal": ( "stripe.treasury._credit_reversal", "CreditReversal", ), "treasury.debit_reversal": ( "stripe.treasury._debit_reversal", "DebitReversal", ), "treasury.financial_account": ( "stripe.treasury._financial_account", "FinancialAccount", ), "treasury.financial_account_features": ( "stripe.treasury._financial_account_features", "FinancialAccountFeatures", ), "treasury.inbound_transfer": ( "stripe.treasury._inbound_transfer", "InboundTransfer", ), "treasury.outbound_payment": ( "stripe.treasury._outbound_payment", "OutboundPayment", ), "treasury.outbound_transfer": ( "stripe.treasury._outbound_transfer", "OutboundTransfer", ), "treasury.received_credit": ( "stripe.treasury._received_credit", "ReceivedCredit", ), "treasury.received_debit": ( "stripe.treasury._received_debit", "ReceivedDebit", ), "treasury.transaction": ("stripe.treasury._transaction", "Transaction"), "treasury.transaction_entry": ( "stripe.treasury._transaction_entry", "TransactionEntry", ), "webhook_endpoint": ("stripe._webhook_endpoint", "WebhookEndpoint"), # Object classes: The end of the section generated from our OpenAPI spec } V2_OBJECT_CLASSES: Dict[str, Tuple[str, str]] = { # V2 Object classes: The beginning of the section generated from our OpenAPI spec "v2.billing.meter_event": ("stripe.v2.billing._meter_event", "MeterEvent"), "v2.billing.meter_event_adjustment": ( "stripe.v2.billing._meter_event_adjustment", "MeterEventAdjustment", ), "v2.billing.meter_event_session": ( "stripe.v2.billing._meter_event_session", "MeterEventSession", ), "v2.core.event": ("stripe.v2.core._event", "Event"), "v2.core.event_destination": ( "stripe.v2.core._event_destination", "EventDestination", ), # V2 Object classes: The end of the section generated from our OpenAPI spec } def get_object_class( api_mode: "ApiMode", object_name: str ) -> Type[StripeObject]: mapping = OBJECT_CLASSES if api_mode == "V1" else V2_OBJECT_CLASSES if object_name not in mapping: return StripeObject import_path, class_name = mapping[object_name] return getattr( import_module(import_path), class_name, ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.326062 stripe-13.2.0/stripe/_payment_attempt_record.py0000644000000000000000000023542515102753431016635 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, Dict, List, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._mandate import Mandate from stripe._payment_method import PaymentMethod from stripe.params._payment_attempt_record_list_params import ( PaymentAttemptRecordListParams, ) from stripe.params._payment_attempt_record_retrieve_params import ( PaymentAttemptRecordRetrieveParams, ) class PaymentAttemptRecord(ListableAPIResource["PaymentAttemptRecord"]): """ A Payment Attempt Record represents an individual attempt at making a payment, on or off Stripe. Each payment attempt tries to collect a fixed amount of money from a fixed customer and payment method. Payment Attempt Records are attached to Payment Records. Only one attempt per Payment Record can have guaranteed funds. """ OBJECT_NAME: ClassVar[Literal["payment_attempt_record"]] = ( "payment_attempt_record" ) class Amount(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class AmountAuthorized(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class AmountCanceled(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class AmountFailed(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class AmountGuaranteed(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class AmountRefunded(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class AmountRequested(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class CustomerDetails(StripeObject): customer: Optional[str] """ ID of the Stripe Customer associated with this payment. """ email: Optional[str] """ The customer's email address. """ name: Optional[str] """ The customer's name. """ phone: Optional[str] """ The customer's phone number. """ class PaymentMethodDetails(StripeObject): class AchCreditTransfer(StripeObject): account_number: Optional[str] """ Account number to transfer funds to. """ bank_name: Optional[str] """ Name of the bank associated with the routing number. """ routing_number: Optional[str] """ Routing transit number for the bank account to transfer funds to. """ swift_code: Optional[str] """ SWIFT code of the bank associated with the routing number. """ class AchDebit(StripeObject): account_holder_type: Optional[Literal["company", "individual"]] """ Type of entity that holds the account. This can be either `individual` or `company`. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ country: Optional[str] """ Two-letter ISO code representing the country the bank account is located in. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ routing_number: Optional[str] """ Routing transit number of the bank account. """ class AcssDebit(StripeObject): bank_name: Optional[str] """ Name of the bank associated with the bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ institution_number: Optional[str] """ Institution number of the bank account """ last4: Optional[str] """ Last four digits of the bank account number. """ mandate: Optional[str] """ ID of the mandate used to make this payment. """ transit_number: Optional[str] """ Transit number of the bank account. """ class Affirm(StripeObject): location: Optional[str] """ ID of the [location](https://stripe.com/docs/api/terminal/locations) that this transaction's reader is assigned to. """ reader: Optional[str] """ ID of the [reader](https://stripe.com/docs/api/terminal/readers) this transaction was made on. """ transaction_id: Optional[str] """ The Affirm transaction ID associated with this payment. """ class AfterpayClearpay(StripeObject): order_id: Optional[str] """ The Afterpay order ID associated with this payment intent. """ reference: Optional[str] """ Order identifier shown to the merchant in Afterpay's online portal. """ class Alipay(StripeObject): buyer_id: Optional[str] """ Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same. """ fingerprint: Optional[str] """ Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same. """ transaction_id: Optional[str] """ Transaction ID of this particular Alipay transaction. """ class Alma(StripeObject): class Installments(StripeObject): count: int """ The number of installments. """ installments: Optional[Installments] transaction_id: Optional[str] """ The Alma transaction ID associated with this payment. """ _inner_class_types = {"installments": Installments} class AmazonPay(StripeObject): class Funding(StripeObject): class Card(StripeObject): brand: Optional[str] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ exp_month: Optional[int] """ Two-digit number representing the card's expiration month. """ exp_year: Optional[int] """ Four-digit number representing the card's expiration year. """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ last4: Optional[str] """ The last four digits of the card. """ card: Optional[Card] type: Optional[Literal["card"]] """ funding type of the underlying payment method. """ _inner_class_types = {"card": Card} funding: Optional[Funding] transaction_id: Optional[str] """ The Amazon Pay transaction ID associated with this payment. """ _inner_class_types = {"funding": Funding} class AuBecsDebit(StripeObject): bsb_number: Optional[str] """ Bank-State-Branch number of the bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ mandate: Optional[str] """ ID of the mandate used to make this payment. """ class BacsDebit(StripeObject): fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ mandate: Optional[str] """ ID of the mandate used to make this payment. """ sort_code: Optional[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class Bancontact(StripeObject): bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ bic: Optional[str] """ Bank Identifier Code of the bank associated with the bank account. """ generated_sepa_debit: Optional[ExpandableField["PaymentMethod"]] """ The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ generated_sepa_debit_mandate: Optional[ExpandableField["Mandate"]] """ The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ iban_last4: Optional[str] """ Last four characters of the IBAN. """ preferred_language: Optional[Literal["de", "en", "fr", "nl"]] """ Preferred language of the Bancontact authorization page that the customer is redirected to. Can be one of `en`, `de`, `fr`, or `nl` """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by Bancontact directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ class Billie(StripeObject): transaction_id: Optional[str] """ The Billie transaction ID associated with this payment. """ class BillingDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Address """ A representation of a physical address. """ email: Optional[str] """ The billing email associated with the method of payment. """ name: Optional[str] """ The billing name associated with the method of payment. """ phone: Optional[str] """ The billing phone number associated with the method of payment. """ _inner_class_types = {"address": Address} class Blik(StripeObject): buyer_id: Optional[str] """ A unique and immutable identifier assigned by BLIK to every buyer. """ class Boleto(StripeObject): tax_id: str """ The tax ID of the customer (CPF for individuals consumers or CNPJ for businesses consumers) """ class Card(StripeObject): class Checks(StripeObject): address_line1_check: Optional[ Literal["fail", "pass", "unavailable", "unchecked"] ] address_postal_code_check: Optional[ Literal["fail", "pass", "unavailable", "unchecked"] ] cvc_check: Optional[ Literal["fail", "pass", "unavailable", "unchecked"] ] class NetworkToken(StripeObject): used: bool """ Indicates if Stripe used a network token, either user provided or Stripe managed when processing the transaction. """ class ThreeDSecure(StripeObject): authentication_flow: Optional[ Literal["challenge", "frictionless"] ] result: Optional[ Literal[ "attempt_acknowledged", "authenticated", "exempted", "failed", "not_supported", "processing_error", ] ] result_reason: Optional[ Literal[ "abandoned", "bypassed", "canceled", "card_not_enrolled", "network_not_supported", "protocol_error", "rejected", ] ] version: Optional[Literal["1.0.2", "2.1.0", "2.2.0"]] class Wallet(StripeObject): class ApplePay(StripeObject): type: str """ Type of the apple_pay transaction, one of `apple_pay` or `apple_pay_later`. """ class GooglePay(StripeObject): pass apple_pay: Optional[ApplePay] dynamic_last4: Optional[str] """ (For tokenized numbers only.) The last four digits of the device account number. """ google_pay: Optional[GooglePay] type: str """ The type of the card wallet, one of `apple_pay` or `google_pay`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. """ _inner_class_types = { "apple_pay": ApplePay, "google_pay": GooglePay, } brand: Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ capture_before: Optional[int] """ When using manual capture, a future timestamp at which the charge will be automatically refunded if uncaptured. """ checks: Optional[Checks] """ Check results by Card networks on Card address and CVC at time of payment. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Literal["credit", "debit", "prepaid", "unknown"] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ last4: str """ The last four digits of the card. """ moto: Optional[bool] """ True if this payment was marked as MOTO and out of scope for SCA. """ network: Optional[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`. """ network_token: Optional[NetworkToken] """ If this card has network token credentials, this contains the details of the network token credentials. """ network_transaction_id: Optional[str] """ This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise. """ three_d_secure: Optional[ThreeDSecure] """ Populated if this transaction used 3D Secure authentication. """ wallet: Optional[Wallet] """ If this Card is part of a card wallet, this contains the details of the card wallet. """ _inner_class_types = { "checks": Checks, "network_token": NetworkToken, "three_d_secure": ThreeDSecure, "wallet": Wallet, } class CardPresent(StripeObject): class Offline(StripeObject): stored_at: Optional[int] """ Time at which the payment was collected while offline """ type: Optional[Literal["deferred"]] """ The method used to process this payment method offline. Only deferred is allowed. """ class Receipt(StripeObject): account_type: Optional[ Literal["checking", "credit", "prepaid", "unknown"] ] """ The type of account being debited or credited """ application_cryptogram: Optional[str] """ The Application Cryptogram, a unique value generated by the card to authenticate the transaction with issuers. """ application_preferred_name: Optional[str] """ The Application Identifier (AID) on the card used to determine which networks are eligible to process the transaction. Referenced from EMV tag 9F12, data encoded on the card's chip. """ authorization_code: Optional[str] """ Identifier for this transaction. """ authorization_response_code: Optional[str] """ EMV tag 8A. A code returned by the card issuer. """ cardholder_verification_method: Optional[str] """ Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`. """ dedicated_file_name: Optional[str] """ Similar to the application_preferred_name, identifying the applications (AIDs) available on the card. Referenced from EMV tag 84. """ terminal_verification_results: Optional[str] """ A 5-byte string that records the checks and validations that occur between the card and the terminal. These checks determine how the terminal processes the transaction and what risk tolerance is acceptable. Referenced from EMV Tag 95. """ transaction_status_information: Optional[str] """ An indication of which steps were completed during the card read process. Referenced from EMV Tag 9B. """ class Wallet(StripeObject): type: Literal[ "apple_pay", "google_pay", "samsung_pay", "unknown" ] """ The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`. """ amount_authorized: Optional[int] """ The authorized amount """ brand: Optional[str] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ brand_product: Optional[str] """ The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card. """ capture_before: Optional[int] """ When using manual capture, a future timestamp after which the charge will be automatically refunded if uncaptured. """ cardholder_name: Optional[str] """ The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ emv_auth_data: Optional[str] """ Authorization response cryptogram. """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ generated_card: Optional[str] """ ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ incremental_authorization_supported: bool """ Whether this [PaymentIntent](https://stripe.com/docs/api/payment_intents) is eligible for incremental authorizations. Request support using [request_incremental_authorization_support](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method_options-card_present-request_incremental_authorization_support). """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: Optional[str] """ The last four digits of the card. """ network: Optional[str] """ Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`. """ network_transaction_id: Optional[str] """ This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise. """ offline: Optional[Offline] """ Details about payments collected offline. """ overcapture_supported: bool """ Defines whether the authorized amount can be over-captured or not """ preferred_locales: Optional[List[str]] """ The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip. """ read_method: Optional[ Literal[ "contact_emv", "contactless_emv", "contactless_magstripe_mode", "magnetic_stripe_fallback", "magnetic_stripe_track2", ] ] """ How card details were read in this transaction. """ receipt: Optional[Receipt] """ A collection of fields required to be displayed on receipts. Only required for EMV transactions. """ wallet: Optional[Wallet] _inner_class_types = { "offline": Offline, "receipt": Receipt, "wallet": Wallet, } class Cashapp(StripeObject): buyer_id: Optional[str] """ A unique and immutable identifier assigned by Cash App to every buyer. """ cashtag: Optional[str] """ A public identifier for buyers using Cash App. """ transaction_id: Optional[str] """ A unique and immutable identifier of payments assigned by Cash App """ class Crypto(StripeObject): buyer_address: Optional[str] """ The wallet address of the customer. """ network: Optional[Literal["base", "ethereum", "polygon", "solana"]] """ The blockchain network that the transaction was sent on. """ token_currency: Optional[Literal["usdc", "usdg", "usdp"]] """ The token currency that the transaction was sent with. """ transaction_hash: Optional[str] """ The blockchain transaction hash of the crypto payment. """ class Custom(StripeObject): display_name: str """ Display name for the custom (user-defined) payment method type used to make this payment. """ type: Optional[str] """ The custom payment method type associated with this payment. """ class CustomerBalance(StripeObject): pass class Eps(StripeObject): bank: Optional[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`. """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by EPS directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. EPS rarely provides this information so the attribute is usually empty. """ class Fpx(StripeObject): account_holder_type: Optional[Literal["company", "individual"]] """ Account holder type, if provided. Can be one of `individual` or `company`. """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`. """ transaction_id: Optional[str] """ Unique transaction id generated by FPX for every request from the merchant """ class Giropay(StripeObject): bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ bic: Optional[str] """ Bank Identifier Code of the bank associated with the bank account. """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by Giropay directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. Giropay rarely provides this information so the attribute is usually empty. """ class Grabpay(StripeObject): transaction_id: Optional[str] """ Unique transaction id generated by GrabPay """ class Ideal(StripeObject): bank: Optional[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `buut`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`. """ bic: Optional[ Literal[ "ABNANL2A", "ASNBNL21", "BITSNL2A", "BUNQNL2A", "BUUTNL2A", "FVLBNL22", "HANDNL2A", "INGBNL2A", "KNABNL2H", "MOYONL21", "NNBANL2G", "NTSBDEB1", "RABONL2U", "RBRBNL21", "REVOIE23", "REVOLT21", "SNSBNL2A", "TRIONL2U", ] ] """ The Bank Identifier Code of the customer's bank. """ generated_sepa_debit: Optional[ExpandableField["PaymentMethod"]] """ The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ generated_sepa_debit_mandate: Optional[ExpandableField["Mandate"]] """ The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ iban_last4: Optional[str] """ Last four characters of the IBAN. """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by iDEAL directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ class InteracPresent(StripeObject): class Receipt(StripeObject): account_type: Optional[ Literal["checking", "savings", "unknown"] ] """ The type of account being debited or credited """ application_cryptogram: Optional[str] """ The Application Cryptogram, a unique value generated by the card to authenticate the transaction with issuers. """ application_preferred_name: Optional[str] """ The Application Identifier (AID) on the card used to determine which networks are eligible to process the transaction. Referenced from EMV tag 9F12, data encoded on the card's chip. """ authorization_code: Optional[str] """ Identifier for this transaction. """ authorization_response_code: Optional[str] """ EMV tag 8A. A code returned by the card issuer. """ cardholder_verification_method: Optional[str] """ Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`. """ dedicated_file_name: Optional[str] """ Similar to the application_preferred_name, identifying the applications (AIDs) available on the card. Referenced from EMV tag 84. """ terminal_verification_results: Optional[str] """ A 5-byte string that records the checks and validations that occur between the card and the terminal. These checks determine how the terminal processes the transaction and what risk tolerance is acceptable. Referenced from EMV Tag 95. """ transaction_status_information: Optional[str] """ An indication of which steps were completed during the card read process. Referenced from EMV Tag 9B. """ brand: Optional[str] """ Card brand. Can be `interac`, `mastercard` or `visa`. """ cardholder_name: Optional[str] """ The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ emv_auth_data: Optional[str] """ Authorization response cryptogram. """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ generated_card: Optional[str] """ ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: Optional[str] """ The last four digits of the card. """ network: Optional[str] """ Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`. """ network_transaction_id: Optional[str] """ This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise. """ preferred_locales: Optional[List[str]] """ The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip. """ read_method: Optional[ Literal[ "contact_emv", "contactless_emv", "contactless_magstripe_mode", "magnetic_stripe_fallback", "magnetic_stripe_track2", ] ] """ How card details were read in this transaction. """ receipt: Optional[Receipt] """ A collection of fields required to be displayed on receipts. Only required for EMV transactions. """ _inner_class_types = {"receipt": Receipt} class KakaoPay(StripeObject): buyer_id: Optional[str] """ A unique identifier for the buyer as determined by the local payment processor. """ transaction_id: Optional[str] """ The Kakao Pay transaction ID associated with this payment. """ class Klarna(StripeObject): class PayerDetails(StripeObject): class Address(StripeObject): country: Optional[str] """ The payer address country """ address: Optional[Address] """ The payer's address """ _inner_class_types = {"address": Address} payer_details: Optional[PayerDetails] """ The payer details for this transaction. """ payment_method_category: Optional[str] """ The Klarna payment method used for this transaction. Can be one of `pay_later`, `pay_now`, `pay_with_financing`, or `pay_in_installments` """ preferred_locale: Optional[str] """ Preferred language of the Klarna authorization page that the customer is redirected to. Can be one of `de-AT`, `en-AT`, `nl-BE`, `fr-BE`, `en-BE`, `de-DE`, `en-DE`, `da-DK`, `en-DK`, `es-ES`, `en-ES`, `fi-FI`, `sv-FI`, `en-FI`, `en-GB`, `en-IE`, `it-IT`, `en-IT`, `nl-NL`, `en-NL`, `nb-NO`, `en-NO`, `sv-SE`, `en-SE`, `en-US`, `es-US`, `fr-FR`, `en-FR`, `cs-CZ`, `en-CZ`, `ro-RO`, `en-RO`, `el-GR`, `en-GR`, `en-AU`, `en-NZ`, `en-CA`, `fr-CA`, `pl-PL`, `en-PL`, `pt-PT`, `en-PT`, `de-CH`, `fr-CH`, `it-CH`, or `en-CH` """ _inner_class_types = {"payer_details": PayerDetails} class Konbini(StripeObject): class Store(StripeObject): chain: Optional[ Literal["familymart", "lawson", "ministop", "seicomart"] ] """ The name of the convenience store chain where the payment was completed. """ store: Optional[Store] """ If the payment succeeded, this contains the details of the convenience store where the payment was completed. """ _inner_class_types = {"store": Store} class KrCard(StripeObject): brand: Optional[ Literal[ "bc", "citi", "hana", "hyundai", "jeju", "jeonbuk", "kakaobank", "kbank", "kdbbank", "kookmin", "kwangju", "lotte", "mg", "nh", "post", "samsung", "savingsbank", "shinhan", "shinhyup", "suhyup", "tossbank", "woori", ] ] """ The local credit or debit card brand. """ buyer_id: Optional[str] """ A unique identifier for the buyer as determined by the local payment processor. """ last4: Optional[str] """ The last four digits of the card. This may not be present for American Express cards. """ transaction_id: Optional[str] """ The Korean Card transaction ID associated with this payment. """ class Link(StripeObject): country: Optional[str] """ Two-letter ISO code representing the funding source country beneath the Link payment. You could use this attribute to get a sense of international fees. """ class MbWay(StripeObject): pass class Mobilepay(StripeObject): class Card(StripeObject): brand: Optional[str] """ Brand of the card used in the transaction """ country: Optional[str] """ Two-letter ISO code representing the country of the card """ exp_month: Optional[int] """ Two digit number representing the card's expiration month """ exp_year: Optional[int] """ Two digit number representing the card's expiration year """ last4: Optional[str] """ The last 4 digits of the card """ card: Optional[Card] """ Internal card details """ _inner_class_types = {"card": Card} class Multibanco(StripeObject): entity: Optional[str] """ Entity number associated with this Multibanco payment. """ reference: Optional[str] """ Reference number associated with this Multibanco payment. """ class NaverPay(StripeObject): buyer_id: Optional[str] """ A unique identifier for the buyer as determined by the local payment processor. """ transaction_id: Optional[str] """ The Naver Pay transaction ID associated with this payment. """ class NzBankAccount(StripeObject): account_holder_name: Optional[str] """ The name on the bank account. Only present if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ bank_code: str """ The numeric code for the bank account's bank. """ bank_name: str """ The name of the bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ last4: str """ Last four digits of the bank account number. """ suffix: Optional[str] """ The suffix of the bank account number. """ class Oxxo(StripeObject): number: Optional[str] """ OXXO reference number """ class P24(StripeObject): bank: Optional[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank. Can be one of `ing`, `citi_handlowy`, `tmobile_usbugi_bankowe`, `plus_bank`, `etransfer_pocztowy24`, `banki_spbdzielcze`, `bank_nowy_bfg_sa`, `getin_bank`, `velobank`, `blik`, `noble_pay`, `ideabank`, `envelobank`, `santander_przelew24`, `nest_przelew`, `mbank_mtransfer`, `inteligo`, `pbac_z_ipko`, `bnp_paribas`, `credit_agricole`, `toyota_bank`, `bank_pekao_sa`, `volkswagen_bank`, `bank_millennium`, `alior_bank`, or `boz`. """ reference: Optional[str] """ Unique reference for this Przelewy24 payment. """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by Przelewy24 directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. Przelewy24 rarely provides this information so the attribute is usually empty. """ class PayByBank(StripeObject): pass class Payco(StripeObject): buyer_id: Optional[str] """ A unique identifier for the buyer as determined by the local payment processor. """ transaction_id: Optional[str] """ The Payco transaction ID associated with this payment. """ class Paynow(StripeObject): location: Optional[str] """ ID of the [location](https://stripe.com/docs/api/terminal/locations) that this transaction's reader is assigned to. """ reader: Optional[str] """ ID of the [reader](https://stripe.com/docs/api/terminal/readers) this transaction was made on. """ reference: Optional[str] """ Reference number associated with this PayNow payment """ class Paypal(StripeObject): class SellerProtection(StripeObject): dispute_categories: Optional[ List[Literal["fraudulent", "product_not_received"]] ] """ An array of conditions that are covered for the transaction, if applicable. """ status: Literal[ "eligible", "not_eligible", "partially_eligible" ] """ Indicates whether the transaction is eligible for PayPal's seller protection. """ country: Optional[str] """ Two-letter ISO code representing the buyer's country. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ payer_email: Optional[str] """ Owner's email. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ payer_id: Optional[str] """ PayPal account PayerID. This identifier uniquely identifies the PayPal customer. """ payer_name: Optional[str] """ Owner's full name. Values provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ seller_protection: Optional[SellerProtection] """ The level of protection offered as defined by PayPal Seller Protection for Merchants, for this transaction. """ transaction_id: Optional[str] """ A unique ID generated by PayPal for this transaction. """ _inner_class_types = {"seller_protection": SellerProtection} class Pix(StripeObject): bank_transaction_id: Optional[str] """ Unique transaction id generated by BCB """ class Promptpay(StripeObject): reference: Optional[str] """ Bill reference generated by PromptPay """ class RevolutPay(StripeObject): class Funding(StripeObject): class Card(StripeObject): brand: Optional[str] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ exp_month: Optional[int] """ Two-digit number representing the card's expiration month. """ exp_year: Optional[int] """ Four-digit number representing the card's expiration year. """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ last4: Optional[str] """ The last four digits of the card. """ card: Optional[Card] type: Optional[Literal["card"]] """ funding type of the underlying payment method. """ _inner_class_types = {"card": Card} funding: Optional[Funding] transaction_id: Optional[str] """ The Revolut Pay transaction ID associated with this payment. """ _inner_class_types = {"funding": Funding} class SamsungPay(StripeObject): buyer_id: Optional[str] """ A unique identifier for the buyer as determined by the local payment processor. """ transaction_id: Optional[str] """ The Samsung Pay transaction ID associated with this payment. """ class Satispay(StripeObject): transaction_id: Optional[str] """ The Satispay transaction ID associated with this payment. """ class SepaCreditTransfer(StripeObject): bank_name: Optional[str] """ Name of the bank associated with the bank account. """ bic: Optional[str] """ Bank Identifier Code of the bank associated with the bank account. """ iban: Optional[str] """ IBAN of the bank account to transfer funds to. """ class SepaDebit(StripeObject): bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ branch_code: Optional[str] """ Branch code of bank associated with the bank account. """ country: Optional[str] """ Two-letter ISO code representing the country the bank account is located in. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four characters of the IBAN. """ mandate: Optional[str] """ Find the ID of the mandate used for this payment under the [payment_method_details.sepa_debit.mandate](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-sepa_debit-mandate) property on the Charge. Use this mandate ID to [retrieve the Mandate](https://stripe.com/docs/api/mandates/retrieve). """ class Sofort(StripeObject): bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ bic: Optional[str] """ Bank Identifier Code of the bank associated with the bank account. """ country: Optional[str] """ Two-letter ISO code representing the country the bank account is located in. """ generated_sepa_debit: Optional[ExpandableField["PaymentMethod"]] """ The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ generated_sepa_debit_mandate: Optional[ExpandableField["Mandate"]] """ The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ iban_last4: Optional[str] """ Last four characters of the IBAN. """ preferred_language: Optional[ Literal["de", "en", "es", "fr", "it", "nl", "pl"] ] """ Preferred language of the SOFORT authorization page that the customer is redirected to. Can be one of `de`, `en`, `es`, `fr`, `it`, `nl`, or `pl` """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by SOFORT directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ class StripeAccount(StripeObject): pass class Swish(StripeObject): fingerprint: Optional[str] """ Uniquely identifies the payer's Swish account. You can use this attribute to check whether two Swish transactions were paid for by the same payer """ payment_reference: Optional[str] """ Payer bank reference number for the payment """ verified_phone_last4: Optional[str] """ The last four digits of the Swish account phone number """ class Twint(StripeObject): pass class UsBankAccount(StripeObject): account_holder_type: Optional[Literal["company", "individual"]] account_type: Optional[Literal["checking", "savings"]] bank_name: Optional[str] """ Name of the bank associated with the bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ mandate: Optional[ExpandableField["Mandate"]] """ ID of the mandate used to make this payment. """ payment_reference: Optional[str] """ Reference number to locate ACH payments with customer's bank. """ routing_number: Optional[str] """ Routing number of the bank account. """ class Wechat(StripeObject): pass class WechatPay(StripeObject): fingerprint: Optional[str] """ Uniquely identifies this particular WeChat Pay account. You can use this attribute to check whether two WeChat accounts are the same. """ location: Optional[str] """ ID of the [location](https://stripe.com/docs/api/terminal/locations) that this transaction's reader is assigned to. """ reader: Optional[str] """ ID of the [reader](https://stripe.com/docs/api/terminal/readers) this transaction was made on. """ transaction_id: Optional[str] """ Transaction ID of this particular WeChat Pay transaction. """ class Zip(StripeObject): pass ach_credit_transfer: Optional[AchCreditTransfer] ach_debit: Optional[AchDebit] acss_debit: Optional[AcssDebit] affirm: Optional[Affirm] afterpay_clearpay: Optional[AfterpayClearpay] alipay: Optional[Alipay] alma: Optional[Alma] amazon_pay: Optional[AmazonPay] au_becs_debit: Optional[AuBecsDebit] bacs_debit: Optional[BacsDebit] bancontact: Optional[Bancontact] billie: Optional[Billie] billing_details: Optional[BillingDetails] """ The billing details associated with the method of payment. """ blik: Optional[Blik] boleto: Optional[Boleto] card: Optional[Card] """ Details of the card used for this payment attempt. """ card_present: Optional[CardPresent] cashapp: Optional[Cashapp] crypto: Optional[Crypto] custom: Optional[Custom] """ Custom Payment Methods represent Payment Method types not modeled directly in the Stripe API. This resource consists of details about the custom payment method used for this payment attempt. """ customer_balance: Optional[CustomerBalance] eps: Optional[Eps] fpx: Optional[Fpx] giropay: Optional[Giropay] grabpay: Optional[Grabpay] ideal: Optional[Ideal] interac_present: Optional[InteracPresent] kakao_pay: Optional[KakaoPay] klarna: Optional[Klarna] konbini: Optional[Konbini] kr_card: Optional[KrCard] link: Optional[Link] mb_way: Optional[MbWay] mobilepay: Optional[Mobilepay] multibanco: Optional[Multibanco] naver_pay: Optional[NaverPay] nz_bank_account: Optional[NzBankAccount] oxxo: Optional[Oxxo] p24: Optional[P24] pay_by_bank: Optional[PayByBank] payco: Optional[Payco] payment_method: Optional[str] """ ID of the Stripe PaymentMethod used to make this payment. """ paynow: Optional[Paynow] paypal: Optional[Paypal] pix: Optional[Pix] promptpay: Optional[Promptpay] revolut_pay: Optional[RevolutPay] samsung_pay: Optional[SamsungPay] satispay: Optional[Satispay] sepa_credit_transfer: Optional[SepaCreditTransfer] sepa_debit: Optional[SepaDebit] sofort: Optional[Sofort] stripe_account: Optional[StripeAccount] swish: Optional[Swish] twint: Optional[Twint] type: str """ The type of transaction-specific details of the payment method used in the payment. See [PaymentMethod.type](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type) for the full list of possible types. An additional hash is included on `payment_method_details` with a name matching this value. 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] _inner_class_types = { "ach_credit_transfer": AchCreditTransfer, "ach_debit": AchDebit, "acss_debit": AcssDebit, "affirm": Affirm, "afterpay_clearpay": AfterpayClearpay, "alipay": Alipay, "alma": Alma, "amazon_pay": AmazonPay, "au_becs_debit": AuBecsDebit, "bacs_debit": BacsDebit, "bancontact": Bancontact, "billie": Billie, "billing_details": BillingDetails, "blik": Blik, "boleto": Boleto, "card": Card, "card_present": CardPresent, "cashapp": Cashapp, "crypto": Crypto, "custom": Custom, "customer_balance": CustomerBalance, "eps": Eps, "fpx": Fpx, "giropay": Giropay, "grabpay": Grabpay, "ideal": Ideal, "interac_present": InteracPresent, "kakao_pay": KakaoPay, "klarna": Klarna, "konbini": Konbini, "kr_card": KrCard, "link": Link, "mb_way": MbWay, "mobilepay": Mobilepay, "multibanco": Multibanco, "naver_pay": NaverPay, "nz_bank_account": NzBankAccount, "oxxo": Oxxo, "p24": P24, "pay_by_bank": PayByBank, "payco": Payco, "paynow": Paynow, "paypal": Paypal, "pix": Pix, "promptpay": Promptpay, "revolut_pay": RevolutPay, "samsung_pay": SamsungPay, "satispay": Satispay, "sepa_credit_transfer": SepaCreditTransfer, "sepa_debit": SepaDebit, "sofort": Sofort, "stripe_account": StripeAccount, "swish": Swish, "twint": Twint, "us_bank_account": UsBankAccount, "wechat": Wechat, "wechat_pay": WechatPay, "zip": Zip, } class ProcessorDetails(StripeObject): class Custom(StripeObject): payment_reference: Optional[str] """ An opaque string for manual reconciliation of this payment, for example a check number or a payment processor ID. """ custom: Optional[Custom] """ Custom processors represent payment processors not modeled directly in the Stripe API. This resource consists of details about the custom processor used for this payment attempt. """ type: Literal["custom"] """ The processor used for this payment attempt. """ _inner_class_types = {"custom": Custom} class ShippingDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Address """ A representation of a physical address. """ name: Optional[str] """ The shipping recipient's name. """ phone: Optional[str] """ The shipping recipient's phone number. """ _inner_class_types = {"address": Address} amount: Amount """ A representation of an amount of money, consisting of an amount and a currency. """ amount_authorized: AmountAuthorized """ A representation of an amount of money, consisting of an amount and a currency. """ amount_canceled: AmountCanceled """ A representation of an amount of money, consisting of an amount and a currency. """ amount_failed: AmountFailed """ A representation of an amount of money, consisting of an amount and a currency. """ amount_guaranteed: AmountGuaranteed """ A representation of an amount of money, consisting of an amount and a currency. """ amount_refunded: AmountRefunded """ A representation of an amount of money, consisting of an amount and a currency. """ amount_requested: AmountRequested """ A representation of an amount of money, consisting of an amount and a currency. """ application: Optional[str] """ ID of the Connect application that created the PaymentAttemptRecord. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ customer_details: Optional[CustomerDetails] """ Customer information for this payment. """ customer_presence: Optional[Literal["off_session", "on_session"]] """ Indicates whether the customer was present in your checkout flow during this payment. """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["payment_attempt_record"] """ String representing the object's type. Objects of the same type share the same value. """ payment_method_details: Optional[PaymentMethodDetails] """ Information about the Payment Method debited for this payment. """ payment_record: Optional[str] """ ID of the Payment Record this Payment Attempt Record belongs to. """ processor_details: ProcessorDetails """ Processor information associated with this payment. """ reported_by: Literal["self", "stripe"] """ Indicates who reported the payment. """ shipping_details: Optional[ShippingDetails] """ Shipping information for this payment. """ @classmethod def list( cls, **params: Unpack["PaymentAttemptRecordListParams"] ) -> ListObject["PaymentAttemptRecord"]: """ List all the Payment Attempt Records attached to the specified Payment Record. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["PaymentAttemptRecordListParams"] ) -> ListObject["PaymentAttemptRecord"]: """ List all the Payment Attempt Records attached to the specified Payment Record. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["PaymentAttemptRecordRetrieveParams"] ) -> "PaymentAttemptRecord": """ Retrieves a Payment Attempt Record with the given ID """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["PaymentAttemptRecordRetrieveParams"] ) -> "PaymentAttemptRecord": """ Retrieves a Payment Attempt Record with the given ID """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "amount": Amount, "amount_authorized": AmountAuthorized, "amount_canceled": AmountCanceled, "amount_failed": AmountFailed, "amount_guaranteed": AmountGuaranteed, "amount_refunded": AmountRefunded, "amount_requested": AmountRequested, "customer_details": CustomerDetails, "payment_method_details": PaymentMethodDetails, "processor_details": ProcessorDetails, "shipping_details": ShippingDetails, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.326062 stripe-13.2.0/stripe/_payment_attempt_record_service.py0000644000000000000000000000604715102753431020351 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._payment_attempt_record import PaymentAttemptRecord from stripe._request_options import RequestOptions from stripe.params._payment_attempt_record_list_params import ( PaymentAttemptRecordListParams, ) from stripe.params._payment_attempt_record_retrieve_params import ( PaymentAttemptRecordRetrieveParams, ) class PaymentAttemptRecordService(StripeService): def list( self, params: "PaymentAttemptRecordListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentAttemptRecord]": """ List all the Payment Attempt Records attached to the specified Payment Record. """ return cast( "ListObject[PaymentAttemptRecord]", self._request( "get", "/v1/payment_attempt_records", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "PaymentAttemptRecordListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentAttemptRecord]": """ List all the Payment Attempt Records attached to the specified Payment Record. """ return cast( "ListObject[PaymentAttemptRecord]", await self._request_async( "get", "/v1/payment_attempt_records", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["PaymentAttemptRecordRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentAttemptRecord": """ Retrieves a Payment Attempt Record with the given ID """ return cast( "PaymentAttemptRecord", self._request( "get", "/v1/payment_attempt_records/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["PaymentAttemptRecordRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentAttemptRecord": """ Retrieves a Payment Attempt Record with the given ID """ return cast( "PaymentAttemptRecord", await self._request_async( "get", "/v1/payment_attempt_records/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3270621 stripe-13.2.0/stripe/_payment_intent.py0000644000000000000000000066270515102753431015127 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._nested_resource_class_methods import nested_resource_class_methods from stripe._search_result_object import SearchResultObject from stripe._searchable_api_resource import SearchableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ( AsyncIterator, ClassVar, Dict, Iterator, List, Optional, Union, cast, overload, ) from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._application import Application from stripe._bank_account import BankAccount from stripe._card import Card as CardResource from stripe._charge import Charge from stripe._customer import Customer from stripe._payment_intent_amount_details_line_item import ( PaymentIntentAmountDetailsLineItem, ) from stripe._payment_method import PaymentMethod from stripe._review import Review from stripe._setup_intent import SetupIntent from stripe._source import Source from stripe.params._payment_intent_apply_customer_balance_params import ( PaymentIntentApplyCustomerBalanceParams, ) from stripe.params._payment_intent_cancel_params import ( PaymentIntentCancelParams, ) from stripe.params._payment_intent_capture_params import ( PaymentIntentCaptureParams, ) from stripe.params._payment_intent_confirm_params import ( PaymentIntentConfirmParams, ) from stripe.params._payment_intent_create_params import ( PaymentIntentCreateParams, ) from stripe.params._payment_intent_increment_authorization_params import ( PaymentIntentIncrementAuthorizationParams, ) from stripe.params._payment_intent_list_amount_details_line_items_params import ( PaymentIntentListAmountDetailsLineItemsParams, ) from stripe.params._payment_intent_list_params import ( PaymentIntentListParams, ) from stripe.params._payment_intent_modify_params import ( PaymentIntentModifyParams, ) from stripe.params._payment_intent_retrieve_params import ( PaymentIntentRetrieveParams, ) from stripe.params._payment_intent_search_params import ( PaymentIntentSearchParams, ) from stripe.params._payment_intent_verify_microdeposits_params import ( PaymentIntentVerifyMicrodepositsParams, ) from typing import Any @nested_resource_class_methods("amount_details_line_item") class PaymentIntent( CreateableAPIResource["PaymentIntent"], ListableAPIResource["PaymentIntent"], SearchableAPIResource["PaymentIntent"], UpdateableAPIResource["PaymentIntent"], ): """ A PaymentIntent guides you through the process of collecting a payment from your customer. We recommend that you create exactly one PaymentIntent for each order or customer session in your system. You can reference the PaymentIntent later to see the history of payment attempts for a particular session. A PaymentIntent transitions through [multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses) throughout its lifetime as it interfaces with Stripe.js to perform authentication flows and ultimately creates at most one successful charge. Related guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents) """ OBJECT_NAME: ClassVar[Literal["payment_intent"]] = "payment_intent" class AmountDetails(StripeObject): class Shipping(StripeObject): amount: Optional[int] """ If a physical good is being shipped, the cost of shipping represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than or equal to 0. """ from_postal_code: Optional[str] """ If a physical good is being shipped, the postal code of where it is being shipped from. At most 10 alphanumeric characters long, hyphens are allowed. """ to_postal_code: Optional[str] """ If a physical good is being shipped, the postal code of where it is being shipped to. At most 10 alphanumeric characters long, hyphens are allowed. """ class Tax(StripeObject): total_tax_amount: Optional[int] """ The total amount of tax on the transaction represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L2 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[line_items][#][tax][total_tax_amount]` field. """ class Tip(StripeObject): amount: Optional[int] """ Portion of the amount that corresponds to a tip. """ discount_amount: Optional[int] """ The total discount applied on the transaction represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[line_items][#][discount_amount]` field. """ line_items: Optional[ListObject["PaymentIntentAmountDetailsLineItem"]] """ A list of line items, each containing information about a product in the PaymentIntent. There is a maximum of 100 line items. """ shipping: Optional[Shipping] tax: Optional[Tax] tip: Optional[Tip] _inner_class_types = {"shipping": Shipping, "tax": Tax, "tip": Tip} class AutomaticPaymentMethods(StripeObject): allow_redirects: Optional[Literal["always", "never"]] """ Controls whether this PaymentIntent will accept redirect-based payment methods. Redirect-based payment methods may require your customer to be redirected to a payment method's app or site for authentication or additional steps. To [confirm](https://stripe.com/docs/api/payment_intents/confirm) this PaymentIntent, you may be required to provide a `return_url` to redirect customers back to your site after they authenticate or complete the payment. """ enabled: bool """ Automatically calculates compatible payment methods """ class LastPaymentError(StripeObject): advice_code: Optional[str] """ For card errors resulting from a card issuer decline, a short string indicating [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines) if they provide one. """ charge: Optional[str] """ For card errors, the ID of the failed charge. """ code: Optional[ Literal[ "account_closed", "account_country_invalid_address", "account_error_country_change_requires_additional_steps", "account_information_mismatch", "account_invalid", "account_number_invalid", "acss_debit_session_incomplete", "alipay_upgrade_required", "amount_too_large", "amount_too_small", "api_key_expired", "application_fees_not_allowed", "authentication_required", "balance_insufficient", "balance_invalid_parameter", "bank_account_bad_routing_numbers", "bank_account_declined", "bank_account_exists", "bank_account_restricted", "bank_account_unusable", "bank_account_unverified", "bank_account_verification_failed", "billing_invalid_mandate", "bitcoin_upgrade_required", "capture_charge_authorization_expired", "capture_unauthorized_payment", "card_decline_rate_limit_exceeded", "card_declined", "cardholder_phone_number_required", "charge_already_captured", "charge_already_refunded", "charge_disputed", "charge_exceeds_source_limit", "charge_exceeds_transaction_limit", "charge_expired_for_capture", "charge_invalid_parameter", "charge_not_refundable", "clearing_code_unsupported", "country_code_invalid", "country_unsupported", "coupon_expired", "customer_max_payment_methods", "customer_max_subscriptions", "customer_session_expired", "customer_tax_location_invalid", "debit_not_authorized", "email_invalid", "expired_card", "financial_connections_account_inactive", "financial_connections_account_pending_account_numbers", "financial_connections_account_unavailable_account_numbers", "financial_connections_no_successful_transaction_refresh", "forwarding_api_inactive", "forwarding_api_invalid_parameter", "forwarding_api_retryable_upstream_error", "forwarding_api_upstream_connection_error", "forwarding_api_upstream_connection_timeout", "forwarding_api_upstream_error", "idempotency_key_in_use", "incorrect_address", "incorrect_cvc", "incorrect_number", "incorrect_zip", "india_recurring_payment_mandate_canceled", "instant_payouts_config_disabled", "instant_payouts_currency_disabled", "instant_payouts_limit_exceeded", "instant_payouts_unsupported", "insufficient_funds", "intent_invalid_state", "intent_verification_method_missing", "invalid_card_type", "invalid_characters", "invalid_charge_amount", "invalid_cvc", "invalid_expiry_month", "invalid_expiry_year", "invalid_mandate_reference_prefix_format", "invalid_number", "invalid_source_usage", "invalid_tax_location", "invoice_no_customer_line_items", "invoice_no_payment_method_types", "invoice_no_subscription_line_items", "invoice_not_editable", "invoice_on_behalf_of_not_editable", "invoice_payment_intent_requires_action", "invoice_upcoming_none", "livemode_mismatch", "lock_timeout", "missing", "no_account", "not_allowed_on_standard_account", "out_of_inventory", "ownership_declaration_not_allowed", "parameter_invalid_empty", "parameter_invalid_integer", "parameter_invalid_string_blank", "parameter_invalid_string_empty", "parameter_missing", "parameter_unknown", "parameters_exclusive", "payment_intent_action_required", "payment_intent_authentication_failure", "payment_intent_incompatible_payment_method", "payment_intent_invalid_parameter", "payment_intent_konbini_rejected_confirmation_number", "payment_intent_mandate_invalid", "payment_intent_payment_attempt_expired", "payment_intent_payment_attempt_failed", "payment_intent_rate_limit_exceeded", "payment_intent_unexpected_state", "payment_method_bank_account_already_verified", "payment_method_bank_account_blocked", "payment_method_billing_details_address_missing", "payment_method_configuration_failures", "payment_method_currency_mismatch", "payment_method_customer_decline", "payment_method_invalid_parameter", "payment_method_invalid_parameter_testmode", "payment_method_microdeposit_failed", "payment_method_microdeposit_verification_amounts_invalid", "payment_method_microdeposit_verification_amounts_mismatch", "payment_method_microdeposit_verification_attempts_exceeded", "payment_method_microdeposit_verification_descriptor_code_mismatch", "payment_method_microdeposit_verification_timeout", "payment_method_not_available", "payment_method_provider_decline", "payment_method_provider_timeout", "payment_method_unactivated", "payment_method_unexpected_state", "payment_method_unsupported_type", "payout_reconciliation_not_ready", "payouts_limit_exceeded", "payouts_not_allowed", "platform_account_required", "platform_api_key_expired", "postal_code_invalid", "processing_error", "product_inactive", "progressive_onboarding_limit_exceeded", "rate_limit", "refer_to_customer", "refund_disputed_payment", "resource_already_exists", "resource_missing", "return_intent_already_processed", "routing_number_invalid", "secret_key_required", "sepa_unsupported_account", "setup_attempt_failed", "setup_intent_authentication_failure", "setup_intent_invalid_parameter", "setup_intent_mandate_invalid", "setup_intent_mobile_wallet_unsupported", "setup_intent_setup_attempt_expired", "setup_intent_unexpected_state", "shipping_address_invalid", "shipping_calculation_failed", "sku_inactive", "state_unsupported", "status_transition_invalid", "stripe_tax_inactive", "tax_id_invalid", "tax_id_prohibited", "taxes_calculation_failed", "terminal_location_country_unsupported", "terminal_reader_busy", "terminal_reader_hardware_fault", "terminal_reader_invalid_location_for_activation", "terminal_reader_invalid_location_for_payment", "terminal_reader_offline", "terminal_reader_timeout", "testmode_charges_only", "tls_version_unsupported", "token_already_used", "token_card_network_invalid", "token_in_use", "transfer_source_balance_parameters_mismatch", "transfers_not_allowed", "url_invalid", ] ] """ For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported. """ decline_code: Optional[str] """ For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one. """ doc_url: Optional[str] """ A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported. """ message: Optional[str] """ A human-readable message providing more details about the error. For card errors, these messages can be shown to your users. """ network_advice_code: Optional[str] """ For card errors resulting from a card issuer decline, a 2 digit code which indicates the advice given to merchant by the card network on how to proceed with an error. """ network_decline_code: Optional[str] """ For payments declined by the network, an alphanumeric code which indicates the reason the payment failed. """ param: Optional[str] """ If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field. """ payment_intent: Optional["PaymentIntent"] """ A PaymentIntent guides you through the process of collecting a payment from your customer. We recommend that you create exactly one PaymentIntent for each order or customer session in your system. You can reference the PaymentIntent later to see the history of payment attempts for a particular session. A PaymentIntent transitions through [multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses) throughout its lifetime as it interfaces with Stripe.js to perform authentication flows and ultimately creates at most one successful charge. Related guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents) """ payment_method: Optional["PaymentMethod"] """ PaymentMethod objects represent your customer's payment instruments. You can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to Customer objects to store instrument details for future payments. Related guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios). """ payment_method_type: Optional[str] """ If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors. """ request_log_url: Optional[str] """ A URL to the request log entry in your dashboard. """ setup_intent: Optional["SetupIntent"] """ A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments. For example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment. Later, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow. Create a SetupIntent when you're ready to collect your customer's payment credentials. Don't maintain long-lived, unconfirmed SetupIntents because they might not be valid. The SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides you through the setup process. Successful SetupIntents result in payment credentials that are optimized for future payments. For example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through [Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection to streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents). If you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer), it automatically attaches the resulting payment method to that Customer after successful setup. We recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on PaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods. By using SetupIntents, you can reduce friction for your customers, even as regulations change over time. Related guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents) """ source: Optional[ Union["Account", "BankAccount", "CardResource", "Source"] ] type: Literal[ "api_error", "card_error", "idempotency_error", "invalid_request_error", ] """ The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error` """ class NextAction(StripeObject): class AlipayHandleRedirect(StripeObject): native_data: Optional[str] """ The native data to be used with Alipay SDK you must redirect your customer to in order to authenticate the payment in an Android App. """ native_url: Optional[str] """ The native URL you must redirect your customer to in order to authenticate the payment in an iOS App. """ return_url: Optional[str] """ If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion. """ url: Optional[str] """ The URL you must redirect your customer to in order to authenticate the payment. """ class BoletoDisplayDetails(StripeObject): expires_at: Optional[int] """ The timestamp after which the boleto expires. """ hosted_voucher_url: Optional[str] """ The URL to the hosted boleto voucher page, which allows customers to view the boleto voucher. """ number: Optional[str] """ The boleto number. """ pdf: Optional[str] """ The URL to the downloadable boleto voucher PDF. """ class CardAwaitNotification(StripeObject): charge_attempt_at: Optional[int] """ The time that payment will be attempted. If customer approval is required, they need to provide approval before this time. """ customer_approval_required: Optional[bool] """ For payments greater than INR 15000, the customer must provide explicit approval of the payment with their bank. For payments of lower amount, no customer action is required. """ class CashappHandleRedirectOrDisplayQrCode(StripeObject): class QrCode(StripeObject): expires_at: int """ The date (unix timestamp) when the QR code expires. """ image_url_png: str """ The image_url_png string used to render QR code """ image_url_svg: str """ The image_url_svg string used to render QR code """ hosted_instructions_url: str """ The URL to the hosted Cash App Pay instructions page, which allows customers to view the QR code, and supports QR code refreshing on expiration. """ mobile_auth_url: str """ The url for mobile redirect based auth """ qr_code: QrCode _inner_class_types = {"qr_code": QrCode} class DisplayBankTransferInstructions(StripeObject): class FinancialAddress(StripeObject): class Aba(StripeObject): class AccountHolderAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class BankAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ account_holder_address: AccountHolderAddress account_holder_name: str """ The account holder name """ account_number: str """ The ABA account number """ account_type: str """ The account type """ bank_address: BankAddress bank_name: str """ The bank name """ routing_number: str """ The ABA routing number """ _inner_class_types = { "account_holder_address": AccountHolderAddress, "bank_address": BankAddress, } class Iban(StripeObject): class AccountHolderAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class BankAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ account_holder_address: AccountHolderAddress account_holder_name: str """ The name of the person or business that owns the bank account """ bank_address: BankAddress bic: str """ The BIC/SWIFT code of the account. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ iban: str """ The IBAN of the account. """ _inner_class_types = { "account_holder_address": AccountHolderAddress, "bank_address": BankAddress, } class SortCode(StripeObject): class AccountHolderAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class BankAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ account_holder_address: AccountHolderAddress account_holder_name: str """ The name of the person or business that owns the bank account """ account_number: str """ The account number """ bank_address: BankAddress sort_code: str """ The six-digit sort code """ _inner_class_types = { "account_holder_address": AccountHolderAddress, "bank_address": BankAddress, } class Spei(StripeObject): class AccountHolderAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class BankAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ account_holder_address: AccountHolderAddress account_holder_name: str """ The account holder name """ bank_address: BankAddress bank_code: str """ The three-digit bank code """ bank_name: str """ The short banking institution name """ clabe: str """ The CLABE number """ _inner_class_types = { "account_holder_address": AccountHolderAddress, "bank_address": BankAddress, } class Swift(StripeObject): class AccountHolderAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class BankAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ account_holder_address: AccountHolderAddress account_holder_name: str """ The account holder name """ account_number: str """ The account number """ account_type: str """ The account type """ bank_address: BankAddress bank_name: str """ The bank name """ swift_code: str """ The SWIFT code """ _inner_class_types = { "account_holder_address": AccountHolderAddress, "bank_address": BankAddress, } class Zengin(StripeObject): class AccountHolderAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class BankAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ account_holder_address: AccountHolderAddress account_holder_name: Optional[str] """ The account holder name """ account_number: Optional[str] """ The account number """ account_type: Optional[str] """ The bank account type. In Japan, this can only be `futsu` or `toza`. """ bank_address: BankAddress bank_code: Optional[str] """ The bank code of the account """ bank_name: Optional[str] """ The bank name of the account """ branch_code: Optional[str] """ The branch code of the account """ branch_name: Optional[str] """ The branch name of the account """ _inner_class_types = { "account_holder_address": AccountHolderAddress, "bank_address": BankAddress, } aba: Optional[Aba] """ ABA Records contain U.S. bank account details per the ABA format. """ iban: Optional[Iban] """ Iban Records contain E.U. bank account details per the SEPA format. """ sort_code: Optional[SortCode] """ Sort Code Records contain U.K. bank account details per the sort code format. """ spei: Optional[Spei] """ SPEI Records contain Mexico bank account details per the SPEI format. """ supported_networks: Optional[ List[ Literal[ "ach", "bacs", "domestic_wire_us", "fps", "sepa", "spei", "swift", "zengin", ] ] ] """ The payment networks supported by this FinancialAddress """ swift: Optional[Swift] """ SWIFT Records contain U.S. bank account details per the SWIFT format. """ type: Literal[ "aba", "iban", "sort_code", "spei", "swift", "zengin" ] """ The type of financial address """ zengin: Optional[Zengin] """ Zengin Records contain Japan bank account details per the Zengin format. """ _inner_class_types = { "aba": Aba, "iban": Iban, "sort_code": SortCode, "spei": Spei, "swift": Swift, "zengin": Zengin, } amount_remaining: Optional[int] """ The remaining amount that needs to be transferred to complete the payment. """ currency: Optional[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ financial_addresses: Optional[List[FinancialAddress]] """ A list of financial addresses that can be used to fund the customer balance """ hosted_instructions_url: Optional[str] """ A link to a hosted page that guides your customer through completing the transfer. """ reference: Optional[str] """ A string identifying this payment. Instruct your customer to include this code in the reference or memo field of their bank transfer. """ type: Literal[ "eu_bank_transfer", "gb_bank_transfer", "jp_bank_transfer", "mx_bank_transfer", "us_bank_transfer", ] """ Type of bank transfer """ _inner_class_types = {"financial_addresses": FinancialAddress} class KonbiniDisplayDetails(StripeObject): class Stores(StripeObject): class Familymart(StripeObject): confirmation_number: Optional[str] """ The confirmation number. """ payment_code: str """ The payment code. """ class Lawson(StripeObject): confirmation_number: Optional[str] """ The confirmation number. """ payment_code: str """ The payment code. """ class Ministop(StripeObject): confirmation_number: Optional[str] """ The confirmation number. """ payment_code: str """ The payment code. """ class Seicomart(StripeObject): confirmation_number: Optional[str] """ The confirmation number. """ payment_code: str """ The payment code. """ familymart: Optional[Familymart] """ FamilyMart instruction details. """ lawson: Optional[Lawson] """ Lawson instruction details. """ ministop: Optional[Ministop] """ Ministop instruction details. """ seicomart: Optional[Seicomart] """ Seicomart instruction details. """ _inner_class_types = { "familymart": Familymart, "lawson": Lawson, "ministop": Ministop, "seicomart": Seicomart, } expires_at: int """ The timestamp at which the pending Konbini payment expires. """ hosted_voucher_url: Optional[str] """ The URL for the Konbini payment instructions page, which allows customers to view and print a Konbini voucher. """ stores: Stores _inner_class_types = {"stores": Stores} class MultibancoDisplayDetails(StripeObject): entity: Optional[str] """ Entity number associated with this Multibanco payment. """ expires_at: Optional[int] """ The timestamp at which the Multibanco voucher expires. """ hosted_voucher_url: Optional[str] """ The URL for the hosted Multibanco voucher page, which allows customers to view a Multibanco voucher. """ reference: Optional[str] """ Reference number associated with this Multibanco payment. """ class OxxoDisplayDetails(StripeObject): expires_after: Optional[int] """ The timestamp after which the OXXO voucher expires. """ hosted_voucher_url: Optional[str] """ The URL for the hosted OXXO voucher page, which allows customers to view and print an OXXO voucher. """ number: Optional[str] """ OXXO reference number. """ class PaynowDisplayQrCode(StripeObject): data: str """ The raw data string used to generate QR code, it should be used together with QR code library. """ hosted_instructions_url: Optional[str] """ The URL to the hosted PayNow instructions page, which allows customers to view the PayNow QR code. """ image_url_png: str """ The image_url_png string used to render QR code """ image_url_svg: str """ The image_url_svg string used to render QR code """ class PixDisplayQrCode(StripeObject): data: Optional[str] """ The raw data string used to generate QR code, it should be used together with QR code library. """ expires_at: Optional[int] """ The date (unix timestamp) when the PIX expires. """ hosted_instructions_url: Optional[str] """ The URL to the hosted pix instructions page, which allows customers to view the pix QR code. """ image_url_png: Optional[str] """ The image_url_png string used to render png QR code """ image_url_svg: Optional[str] """ The image_url_svg string used to render svg QR code """ class PromptpayDisplayQrCode(StripeObject): data: str """ The raw data string used to generate QR code, it should be used together with QR code library. """ hosted_instructions_url: str """ The URL to the hosted PromptPay instructions page, which allows customers to view the PromptPay QR code. """ image_url_png: str """ The PNG path used to render the QR code, can be used as the source in an HTML img tag """ image_url_svg: str """ The SVG path used to render the QR code, can be used as the source in an HTML img tag """ class RedirectToUrl(StripeObject): return_url: Optional[str] """ If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion. """ url: Optional[str] """ The URL you must redirect your customer to in order to authenticate the payment. """ class SwishHandleRedirectOrDisplayQrCode(StripeObject): class QrCode(StripeObject): data: str """ The raw data string used to generate QR code, it should be used together with QR code library. """ image_url_png: str """ The image_url_png string used to render QR code """ image_url_svg: str """ The image_url_svg string used to render QR code """ hosted_instructions_url: str """ The URL to the hosted Swish instructions page, which allows customers to view the QR code. """ mobile_auth_url: str """ The url for mobile redirect based auth (for internal use only and not typically available in standard API requests). """ qr_code: QrCode _inner_class_types = {"qr_code": QrCode} class VerifyWithMicrodeposits(StripeObject): arrival_date: int """ The timestamp when the microdeposits are expected to land. """ hosted_verification_url: str """ The URL for the hosted verification page, which allows customers to verify their bank account. """ microdeposit_type: Optional[Literal["amounts", "descriptor_code"]] """ The type of the microdeposit sent to the customer. Used to distinguish between different verification methods. """ class WechatPayDisplayQrCode(StripeObject): data: str """ The data being used to generate QR code """ hosted_instructions_url: str """ The URL to the hosted WeChat Pay instructions page, which allows customers to view the WeChat Pay QR code. """ image_data_url: str """ The base64 image data for a pre-generated QR code """ image_url_png: str """ The image_url_png string used to render QR code """ image_url_svg: str """ The image_url_svg string used to render QR code """ class WechatPayRedirectToAndroidApp(StripeObject): app_id: str """ app_id is the APP ID registered on WeChat open platform """ nonce_str: str """ nonce_str is a random string """ package: str """ package is static value """ partner_id: str """ an unique merchant ID assigned by WeChat Pay """ prepay_id: str """ an unique trading ID assigned by WeChat Pay """ sign: str """ A signature """ timestamp: str """ Specifies the current time in epoch format """ class WechatPayRedirectToIosApp(StripeObject): native_url: str """ An universal link that redirect to WeChat Pay app """ alipay_handle_redirect: Optional[AlipayHandleRedirect] boleto_display_details: Optional[BoletoDisplayDetails] card_await_notification: Optional[CardAwaitNotification] cashapp_handle_redirect_or_display_qr_code: Optional[ CashappHandleRedirectOrDisplayQrCode ] display_bank_transfer_instructions: Optional[ DisplayBankTransferInstructions ] konbini_display_details: Optional[KonbiniDisplayDetails] multibanco_display_details: Optional[MultibancoDisplayDetails] oxxo_display_details: Optional[OxxoDisplayDetails] paynow_display_qr_code: Optional[PaynowDisplayQrCode] pix_display_qr_code: Optional[PixDisplayQrCode] promptpay_display_qr_code: Optional[PromptpayDisplayQrCode] redirect_to_url: Optional[RedirectToUrl] swish_handle_redirect_or_display_qr_code: Optional[ SwishHandleRedirectOrDisplayQrCode ] type: str """ Type of the next action to perform. Refer to the other child attributes under `next_action` for available values. Examples include: `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, `oxxo_display_details`, or `verify_with_microdeposits`. """ use_stripe_sdk: Optional[Dict[str, "Any"]] """ When confirming a PaymentIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js. """ verify_with_microdeposits: Optional[VerifyWithMicrodeposits] wechat_pay_display_qr_code: Optional[WechatPayDisplayQrCode] wechat_pay_redirect_to_android_app: Optional[ WechatPayRedirectToAndroidApp ] wechat_pay_redirect_to_ios_app: Optional[WechatPayRedirectToIosApp] _inner_class_types = { "alipay_handle_redirect": AlipayHandleRedirect, "boleto_display_details": BoletoDisplayDetails, "card_await_notification": CardAwaitNotification, "cashapp_handle_redirect_or_display_qr_code": CashappHandleRedirectOrDisplayQrCode, "display_bank_transfer_instructions": DisplayBankTransferInstructions, "konbini_display_details": KonbiniDisplayDetails, "multibanco_display_details": MultibancoDisplayDetails, "oxxo_display_details": OxxoDisplayDetails, "paynow_display_qr_code": PaynowDisplayQrCode, "pix_display_qr_code": PixDisplayQrCode, "promptpay_display_qr_code": PromptpayDisplayQrCode, "redirect_to_url": RedirectToUrl, "swish_handle_redirect_or_display_qr_code": SwishHandleRedirectOrDisplayQrCode, "verify_with_microdeposits": VerifyWithMicrodeposits, "wechat_pay_display_qr_code": WechatPayDisplayQrCode, "wechat_pay_redirect_to_android_app": WechatPayRedirectToAndroidApp, "wechat_pay_redirect_to_ios_app": WechatPayRedirectToIosApp, } class PaymentDetails(StripeObject): customer_reference: Optional[str] """ A unique value to identify the customer. This field is available only for card payments. This field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. """ order_reference: Optional[str] """ A unique value assigned by the business to identify the transaction. Required for L2 and L3 rates. Required when the Payment Method Types array contains `card`, including when [automatic_payment_methods.enabled](https://docs.stripe.com/api/payment_intents/create#create_payment_intent-automatic_payment_methods-enabled) is set to `true`. For Cards, this field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. For Klarna, this field is truncated to 255 characters and is visible to customers when they view the order in the Klarna app. """ class PaymentMethodConfigurationDetails(StripeObject): id: str """ ID of the payment method configuration used. """ parent: Optional[str] """ ID of the parent payment method configuration used. """ class PaymentMethodOptions(StripeObject): class AcssDebit(StripeObject): class MandateOptions(StripeObject): custom_mandate_url: Optional[str] """ A URL for custom mandate text """ interval_description: Optional[str] """ Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'. """ payment_schedule: Optional[ Literal["combined", "interval", "sporadic"] ] """ Payment schedule for the mandate. """ transaction_type: Optional[Literal["business", "personal"]] """ Transaction type of the mandate. """ mandate_options: Optional[MandateOptions] setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: Optional[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ verification_method: Optional[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ _inner_class_types = {"mandate_options": MandateOptions} class Affirm(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ preferred_locale: Optional[str] """ Preferred language of the Affirm authorization page that the customer is redirected to. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class AfterpayClearpay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ reference: Optional[str] """ An internal identifier or reference that this payment corresponds to. You must limit the identifier to 128 characters, and it can only contain letters, numbers, underscores, backslashes, and dashes. This field differs from the statement descriptor and item name. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Alipay(StripeObject): setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Alma(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ class AmazonPay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class AuBecsDebit(StripeObject): setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: Optional[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class BacsDebit(StripeObject): class MandateOptions(StripeObject): reference_prefix: Optional[str] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'. """ mandate_options: Optional[MandateOptions] setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: Optional[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ _inner_class_types = {"mandate_options": MandateOptions} class Bancontact(StripeObject): preferred_language: Literal["de", "en", "fr", "nl"] """ Preferred language of the Bancontact authorization page that the customer is redirected to. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Billie(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ class Blik(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Boleto(StripeObject): expires_after_days: int """ The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto voucher will expire on Wednesday at 23:59 America/Sao_Paulo time. """ setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Card(StripeObject): class Installments(StripeObject): class AvailablePlan(StripeObject): count: Optional[int] """ For `fixed_count` installment plans, this is the number of installment payments your customer will make to their credit card. """ interval: Optional[Literal["month"]] """ For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card. One of `month`. """ type: Literal["bonus", "fixed_count", "revolving"] """ Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`. """ class Plan(StripeObject): count: Optional[int] """ For `fixed_count` installment plans, this is the number of installment payments your customer will make to their credit card. """ interval: Optional[Literal["month"]] """ For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card. One of `month`. """ type: Literal["bonus", "fixed_count", "revolving"] """ Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`. """ available_plans: Optional[List[AvailablePlan]] """ Installment plans that may be selected for this PaymentIntent. """ enabled: bool """ Whether Installments are enabled for this PaymentIntent. """ plan: Optional[Plan] """ Installment plan selected for this PaymentIntent. """ _inner_class_types = { "available_plans": AvailablePlan, "plan": Plan, } class MandateOptions(StripeObject): amount: int """ Amount to be charged for future payments. """ amount_type: Literal["fixed", "maximum"] """ One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. """ description: Optional[str] """ A description of the mandate or subscription that is meant to be displayed to the customer. """ end_date: Optional[int] """ End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date. """ interval: Literal["day", "month", "sporadic", "week", "year"] """ Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`. """ interval_count: Optional[int] """ The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`. """ reference: str """ Unique identifier for the mandate or subscription. """ start_date: int """ Start date of the mandate or subscription. Start date should not be lesser than yesterday. """ supported_types: Optional[List[Literal["india"]]] """ Specifies the type of mandates supported. Possible values are `india`. """ capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ installments: Optional[Installments] """ Installment details for this payment. For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments). """ mandate_options: Optional[MandateOptions] """ Configuration options for setting up an eMandate for cards issued in India. """ network: Optional[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "girocard", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Selected network to process this payment intent on. Depends on the available networks of the card attached to the payment intent. Can be only set confirm-time. """ request_extended_authorization: Optional[ Literal["if_available", "never"] ] """ Request ability to [capture beyond the standard authorization validity window](https://stripe.com/docs/payments/extended-authorization) for this PaymentIntent. """ request_incremental_authorization: Optional[ Literal["if_available", "never"] ] """ Request ability to [increment the authorization](https://stripe.com/docs/payments/incremental-authorization) for this PaymentIntent. """ request_multicapture: Optional[Literal["if_available", "never"]] """ Request ability to make [multiple captures](https://stripe.com/docs/payments/multicapture) for this PaymentIntent. """ request_overcapture: Optional[Literal["if_available", "never"]] """ Request ability to [overcapture](https://stripe.com/docs/payments/overcapture) for this PaymentIntent. """ request_three_d_secure: Optional[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ require_cvc_recollection: Optional[bool] """ When enabled, using a card that is attached to a customer will require the CVC to be provided again (i.e. using the cvc_token parameter). """ setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ statement_descriptor_suffix_kana: Optional[str] """ Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that's set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters. """ statement_descriptor_suffix_kanji: Optional[str] """ Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that's set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters. """ _inner_class_types = { "installments": Installments, "mandate_options": MandateOptions, } class CardPresent(StripeObject): class Routing(StripeObject): requested_priority: Optional[ Literal["domestic", "international"] ] """ 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) """ request_incremental_authorization_support: Optional[bool] """ 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. """ routing: Optional[Routing] _inner_class_types = {"routing": Routing} class Cashapp(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Crypto(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class CustomerBalance(StripeObject): class BankTransfer(StripeObject): class EuBankTransfer(StripeObject): country: Literal["BE", "DE", "ES", "FR", "IE", "NL"] """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ eu_bank_transfer: Optional[EuBankTransfer] requested_address_types: Optional[ List[ Literal[ "aba", "iban", "sepa", "sort_code", "spei", "swift", "zengin", ] ] ] """ List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned. Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`. """ type: Optional[ Literal[ "eu_bank_transfer", "gb_bank_transfer", "jp_bank_transfer", "mx_bank_transfer", "us_bank_transfer", ] ] """ The bank transfer type that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. """ _inner_class_types = {"eu_bank_transfer": EuBankTransfer} bank_transfer: Optional[BankTransfer] funding_type: Optional[Literal["bank_transfer"]] """ The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ _inner_class_types = {"bank_transfer": BankTransfer} class Eps(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Fpx(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Giropay(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Grabpay(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Ideal(StripeObject): setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class InteracPresent(StripeObject): pass class KakaoPay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Klarna(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ preferred_locale: Optional[str] """ Preferred locale of the Klarna checkout page that the customer is redirected to. """ setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Konbini(StripeObject): confirmation_number: Optional[str] """ An optional 10 to 11 digit numeric-only string determining the confirmation code at applicable convenience stores. """ expires_after_days: Optional[int] """ The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST. """ expires_at: Optional[int] """ The timestamp at which the Konbini payment instructions will expire. Only one of `expires_after_days` or `expires_at` may be set. """ product_description: Optional[str] """ A product descriptor of up to 22 characters, which will appear to customers at the convenience store. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class KrCard(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Link(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ persistent_token: Optional[str] """ [Deprecated] This is a legacy parameter that no longer has any function. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class MbWay(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Mobilepay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Multibanco(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class NaverPay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class NzBankAccount(StripeObject): setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: Optional[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class Oxxo(StripeObject): expires_after_days: int """ The number of calendar days before an OXXO invoice expires. For example, if you create an OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class P24(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PayByBank(StripeObject): pass class Payco(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ class Paynow(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Paypal(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ preferred_locale: Optional[str] """ Preferred locale of the PayPal checkout page that the customer is redirected to. """ reference: Optional[str] """ A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Pix(StripeObject): amount_includes_iof: Optional[Literal["always", "never"]] """ Determines if the amount includes the IOF tax. """ expires_after_seconds: Optional[int] """ The number of seconds (between 10 and 1209600) after which Pix payment will expire. """ expires_at: Optional[int] """ The timestamp at which the Pix expires. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Promptpay(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class RevolutPay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SamsungPay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ class Satispay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ class SepaDebit(StripeObject): class MandateOptions(StripeObject): reference_prefix: Optional[str] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'. """ mandate_options: Optional[MandateOptions] setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: Optional[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ _inner_class_types = {"mandate_options": MandateOptions} class Sofort(StripeObject): preferred_language: Optional[ Literal["de", "en", "es", "fr", "it", "nl", "pl"] ] """ Preferred language of the SOFORT authorization page that the customer is redirected to. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Swish(StripeObject): reference: Optional[str] """ A reference for this payment to be displayed in the Swish app. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Twint(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class UsBankAccount(StripeObject): class FinancialConnections(StripeObject): class Filters(StripeObject): account_subcategories: Optional[ List[Literal["checking", "savings"]] ] """ The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`. """ filters: Optional[Filters] permissions: Optional[ List[ Literal[ "balances", "ownership", "payment_method", "transactions", ] ] ] """ The list of permissions to request. The `payment_method` permission must be included. """ prefetch: Optional[ List[Literal["balances", "ownership", "transactions"]] ] """ Data features requested to be retrieved upon account creation. """ return_url: Optional[str] """ For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. """ _inner_class_types = {"filters": Filters} class MandateOptions(StripeObject): collection_method: Optional[Literal["paper"]] """ Mandate collection method """ financial_connections: Optional[FinancialConnections] mandate_options: Optional[MandateOptions] preferred_settlement_speed: Optional[ Literal["fastest", "standard"] ] """ Preferred transaction settlement speed """ setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: Optional[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ verification_method: Optional[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ _inner_class_types = { "financial_connections": FinancialConnections, "mandate_options": MandateOptions, } class WechatPay(StripeObject): app_id: Optional[str] """ The app ID registered with WeChat Pay. Only required when client is ios or android. """ client: Optional[Literal["android", "ios", "web"]] """ The client type that the end customer will pay from """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Zip(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ acss_debit: Optional[AcssDebit] affirm: Optional[Affirm] afterpay_clearpay: Optional[AfterpayClearpay] alipay: Optional[Alipay] alma: Optional[Alma] amazon_pay: Optional[AmazonPay] au_becs_debit: Optional[AuBecsDebit] bacs_debit: Optional[BacsDebit] bancontact: Optional[Bancontact] billie: Optional[Billie] blik: Optional[Blik] boleto: Optional[Boleto] card: Optional[Card] card_present: Optional[CardPresent] cashapp: Optional[Cashapp] crypto: Optional[Crypto] customer_balance: Optional[CustomerBalance] eps: Optional[Eps] fpx: Optional[Fpx] giropay: Optional[Giropay] grabpay: Optional[Grabpay] ideal: Optional[Ideal] interac_present: Optional[InteracPresent] kakao_pay: Optional[KakaoPay] klarna: Optional[Klarna] konbini: Optional[Konbini] kr_card: Optional[KrCard] link: Optional[Link] mb_way: Optional[MbWay] mobilepay: Optional[Mobilepay] multibanco: Optional[Multibanco] naver_pay: Optional[NaverPay] nz_bank_account: Optional[NzBankAccount] oxxo: Optional[Oxxo] p24: Optional[P24] pay_by_bank: Optional[PayByBank] payco: Optional[Payco] paynow: Optional[Paynow] paypal: Optional[Paypal] pix: Optional[Pix] promptpay: Optional[Promptpay] revolut_pay: Optional[RevolutPay] samsung_pay: Optional[SamsungPay] satispay: Optional[Satispay] sepa_debit: Optional[SepaDebit] sofort: Optional[Sofort] swish: Optional[Swish] twint: Optional[Twint] us_bank_account: Optional[UsBankAccount] wechat_pay: Optional[WechatPay] zip: Optional[Zip] _inner_class_types = { "acss_debit": AcssDebit, "affirm": Affirm, "afterpay_clearpay": AfterpayClearpay, "alipay": Alipay, "alma": Alma, "amazon_pay": AmazonPay, "au_becs_debit": AuBecsDebit, "bacs_debit": BacsDebit, "bancontact": Bancontact, "billie": Billie, "blik": Blik, "boleto": Boleto, "card": Card, "card_present": CardPresent, "cashapp": Cashapp, "crypto": Crypto, "customer_balance": CustomerBalance, "eps": Eps, "fpx": Fpx, "giropay": Giropay, "grabpay": Grabpay, "ideal": Ideal, "interac_present": InteracPresent, "kakao_pay": KakaoPay, "klarna": Klarna, "konbini": Konbini, "kr_card": KrCard, "link": Link, "mb_way": MbWay, "mobilepay": Mobilepay, "multibanco": Multibanco, "naver_pay": NaverPay, "nz_bank_account": NzBankAccount, "oxxo": Oxxo, "p24": P24, "pay_by_bank": PayByBank, "payco": Payco, "paynow": Paynow, "paypal": Paypal, "pix": Pix, "promptpay": Promptpay, "revolut_pay": RevolutPay, "samsung_pay": SamsungPay, "satispay": Satispay, "sepa_debit": SepaDebit, "sofort": Sofort, "swish": Swish, "twint": Twint, "us_bank_account": UsBankAccount, "wechat_pay": WechatPay, "zip": Zip, } class PresentmentDetails(StripeObject): presentment_amount: int """ Amount intended to be collected by this payment, denominated in `presentment_currency`. """ presentment_currency: str """ Currency presented to the customer during payment. """ class Processing(StripeObject): class Card(StripeObject): class CustomerNotification(StripeObject): approval_requested: Optional[bool] """ Whether customer approval has been requested for this payment. For payments greater than INR 15000 or mandate amount, the customer must provide explicit approval of the payment with their bank. """ completes_at: Optional[int] """ If customer approval is required, they need to provide approval before this time. """ customer_notification: Optional[CustomerNotification] _inner_class_types = { "customer_notification": CustomerNotification } card: Optional[Card] type: Literal["card"] """ Type of the payment method for which payment is in `processing` state, one of `card`. """ _inner_class_types = {"card": Card} class Shipping(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Optional[Address] carrier: Optional[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: Optional[str] """ Recipient name. """ phone: Optional[str] """ Recipient phone (including extension). """ tracking_number: Optional[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ _inner_class_types = {"address": Address} class TransferData(StripeObject): amount: Optional[int] """ The amount transferred to the destination account. This transfer will occur automatically after the payment succeeds. If no amount is specified, by default the entire payment amount is transferred to the destination account. The amount must be less than or equal to the [amount](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-amount), and must be a positive integer representing how much to transfer in the smallest currency unit (e.g., 100 cents to charge $1.00). """ destination: ExpandableField["Account"] """ The account (if any) that the payment is attributed to for tax reporting, and where funds from the payment are transferred to after payment success. """ amount: int """ Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). """ amount_capturable: int """ Amount that can be captured from this PaymentIntent. """ amount_details: Optional[AmountDetails] amount_received: int """ Amount that this PaymentIntent collects. """ application: Optional[ExpandableField["Application"]] """ ID of the Connect application that created the PaymentIntent. """ application_fee_amount: Optional[int] """ The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total amount captured. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ automatic_payment_methods: Optional[AutomaticPaymentMethods] """ Settings to configure compatible payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods) """ canceled_at: Optional[int] """ Populated when `status` is `canceled`, this is the time at which the PaymentIntent was canceled. Measured in seconds since the Unix epoch. """ cancellation_reason: Optional[ Literal[ "abandoned", "automatic", "duplicate", "expired", "failed_invoice", "fraudulent", "requested_by_customer", "void_invoice", ] ] """ Reason for cancellation of this PaymentIntent, either user-provided (`duplicate`, `fraudulent`, `requested_by_customer`, or `abandoned`) or generated by Stripe internally (`failed_invoice`, `void_invoice`, `automatic`, or `expired`). """ capture_method: Literal["automatic", "automatic_async", "manual"] """ Controls when the funds will be captured from the customer's account. """ client_secret: Optional[str] """ The client secret of this PaymentIntent. Used for client-side retrieval using a publishable key. The client secret can be used to complete a payment from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret. Refer to our docs to [accept a payment](https://stripe.com/docs/payments/accept-a-payment?ui=elements) and learn about how `client_secret` should be handled. """ confirmation_method: Literal["automatic", "manual"] """ Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: Optional[ExpandableField["Customer"]] """ ID of the Customer this PaymentIntent belongs to, if one exists. Payment methods attached to other Customers cannot be used with this PaymentIntent. If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ excluded_payment_method_types: Optional[ List[ Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "card", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] ] ] """ The list of payment method types to exclude from use with this payment. """ id: str """ Unique identifier for the object. """ last_payment_error: Optional[LastPaymentError] """ The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if the PaymentIntent is later updated for any reason. """ latest_charge: Optional[ExpandableField["Charge"]] """ ID of the latest [Charge object](https://stripe.com/docs/api/charges) created by this PaymentIntent. This property is `null` until PaymentIntent confirmation is attempted. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. Learn more about [storing information in metadata](https://stripe.com/docs/payments/payment-intents/creating-payment-intents#storing-information-in-metadata). """ next_action: Optional[NextAction] """ If present, this property tells you what actions you need to take in order for your customer to fulfill a payment using the provided source. """ object: Literal["payment_intent"] """ String representing the object's type. Objects of the same type share the same value. """ on_behalf_of: Optional[ExpandableField["Account"]] """ The account (if any) for which the funds of the PaymentIntent are intended. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts) for details. """ payment_details: Optional[PaymentDetails] payment_method: Optional[ExpandableField["PaymentMethod"]] """ ID of the payment method used in this PaymentIntent. """ payment_method_configuration_details: Optional[ PaymentMethodConfigurationDetails ] """ Information about the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) used for this PaymentIntent. """ payment_method_options: Optional[PaymentMethodOptions] """ Payment-method-specific configuration for this PaymentIntent. """ payment_method_types: List[str] """ The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. A comprehensive list of valid payment method types can be found [here](https://docs.stripe.com/api/payment_methods/object#payment_method_object-type). """ presentment_details: Optional[PresentmentDetails] processing: Optional[Processing] """ If present, this property tells you about the processing state of the payment. """ receipt_email: Optional[str] """ Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). """ review: Optional[ExpandableField["Review"]] """ ID of the review associated with this PaymentIntent, if any. """ setup_future_usage: Optional[Literal["off_session", "on_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ shipping: Optional[Shipping] """ Shipping information for this PaymentIntent. """ source: Optional[ ExpandableField[ Union["Account", "BankAccount", "CardResource", "Source"] ] ] """ This is a legacy field that will be removed in the future. It is the ID of the Source object that is associated with this PaymentIntent, if one was supplied. """ statement_descriptor: Optional[str] """ Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. """ statement_descriptor_suffix: Optional[str] """ Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. """ status: Literal[ "canceled", "processing", "requires_action", "requires_capture", "requires_confirmation", "requires_payment_method", "succeeded", ] """ Status of this PaymentIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `requires_capture`, `canceled`, or `succeeded`. Read more about each PaymentIntent [status](https://stripe.com/docs/payments/intents#intent-statuses). """ transfer_data: Optional[TransferData] """ The data that automatically creates a Transfer after the payment finalizes. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ transfer_group: Optional[str] """ A string that identifies the resulting payment as part of a group. Learn more about the [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers). """ @classmethod def _cls_apply_customer_balance( cls, intent: str, **params: Unpack["PaymentIntentApplyCustomerBalanceParams"], ) -> "PaymentIntent": """ Manually reconcile the remaining amount for a customer_balance PaymentIntent. """ return cast( "PaymentIntent", cls._static_request( "post", "/v1/payment_intents/{intent}/apply_customer_balance".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod def apply_customer_balance( intent: str, **params: Unpack["PaymentIntentApplyCustomerBalanceParams"], ) -> "PaymentIntent": """ Manually reconcile the remaining amount for a customer_balance PaymentIntent. """ ... @overload def apply_customer_balance( self, **params: Unpack["PaymentIntentApplyCustomerBalanceParams"] ) -> "PaymentIntent": """ Manually reconcile the remaining amount for a customer_balance PaymentIntent. """ ... @class_method_variant("_cls_apply_customer_balance") def apply_customer_balance( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentIntentApplyCustomerBalanceParams"] ) -> "PaymentIntent": """ Manually reconcile the remaining amount for a customer_balance PaymentIntent. """ return cast( "PaymentIntent", self._request( "post", "/v1/payment_intents/{intent}/apply_customer_balance".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_apply_customer_balance_async( cls, intent: str, **params: Unpack["PaymentIntentApplyCustomerBalanceParams"], ) -> "PaymentIntent": """ Manually reconcile the remaining amount for a customer_balance PaymentIntent. """ return cast( "PaymentIntent", await cls._static_request_async( "post", "/v1/payment_intents/{intent}/apply_customer_balance".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod async def apply_customer_balance_async( intent: str, **params: Unpack["PaymentIntentApplyCustomerBalanceParams"], ) -> "PaymentIntent": """ Manually reconcile the remaining amount for a customer_balance PaymentIntent. """ ... @overload async def apply_customer_balance_async( self, **params: Unpack["PaymentIntentApplyCustomerBalanceParams"] ) -> "PaymentIntent": """ Manually reconcile the remaining amount for a customer_balance PaymentIntent. """ ... @class_method_variant("_cls_apply_customer_balance_async") async def apply_customer_balance_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentIntentApplyCustomerBalanceParams"] ) -> "PaymentIntent": """ Manually reconcile the remaining amount for a customer_balance PaymentIntent. """ return cast( "PaymentIntent", await self._request_async( "post", "/v1/payment_intents/{intent}/apply_customer_balance".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_cancel( cls, intent: str, **params: Unpack["PaymentIntentCancelParams"] ) -> "PaymentIntent": """ You can cancel a PaymentIntent object when it's in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, [in rare cases](https://docs.stripe.com/docs/payments/intents), processing. After it's canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable is automatically refunded. You can't cancel the PaymentIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ return cast( "PaymentIntent", cls._static_request( "post", "/v1/payment_intents/{intent}/cancel".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod def cancel( intent: str, **params: Unpack["PaymentIntentCancelParams"] ) -> "PaymentIntent": """ You can cancel a PaymentIntent object when it's in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, [in rare cases](https://docs.stripe.com/docs/payments/intents), processing. After it's canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable is automatically refunded. You can't cancel the PaymentIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ ... @overload def cancel( self, **params: Unpack["PaymentIntentCancelParams"] ) -> "PaymentIntent": """ You can cancel a PaymentIntent object when it's in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, [in rare cases](https://docs.stripe.com/docs/payments/intents), processing. After it's canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable is automatically refunded. You can't cancel the PaymentIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ ... @class_method_variant("_cls_cancel") def cancel( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentIntentCancelParams"] ) -> "PaymentIntent": """ You can cancel a PaymentIntent object when it's in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, [in rare cases](https://docs.stripe.com/docs/payments/intents), processing. After it's canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable is automatically refunded. You can't cancel the PaymentIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ return cast( "PaymentIntent", self._request( "post", "/v1/payment_intents/{intent}/cancel".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_cancel_async( cls, intent: str, **params: Unpack["PaymentIntentCancelParams"] ) -> "PaymentIntent": """ You can cancel a PaymentIntent object when it's in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, [in rare cases](https://docs.stripe.com/docs/payments/intents), processing. After it's canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable is automatically refunded. You can't cancel the PaymentIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ return cast( "PaymentIntent", await cls._static_request_async( "post", "/v1/payment_intents/{intent}/cancel".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod async def cancel_async( intent: str, **params: Unpack["PaymentIntentCancelParams"] ) -> "PaymentIntent": """ You can cancel a PaymentIntent object when it's in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, [in rare cases](https://docs.stripe.com/docs/payments/intents), processing. After it's canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable is automatically refunded. You can't cancel the PaymentIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ ... @overload async def cancel_async( self, **params: Unpack["PaymentIntentCancelParams"] ) -> "PaymentIntent": """ You can cancel a PaymentIntent object when it's in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, [in rare cases](https://docs.stripe.com/docs/payments/intents), processing. After it's canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable is automatically refunded. You can't cancel the PaymentIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ ... @class_method_variant("_cls_cancel_async") async def cancel_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentIntentCancelParams"] ) -> "PaymentIntent": """ You can cancel a PaymentIntent object when it's in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, [in rare cases](https://docs.stripe.com/docs/payments/intents), processing. After it's canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable is automatically refunded. You can't cancel the PaymentIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ return cast( "PaymentIntent", await self._request_async( "post", "/v1/payment_intents/{intent}/cancel".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_capture( cls, intent: str, **params: Unpack["PaymentIntentCaptureParams"] ) -> "PaymentIntent": """ Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture. Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation. Learn more about [separate authorization and capture](https://docs.stripe.com/docs/payments/capture-later). """ return cast( "PaymentIntent", cls._static_request( "post", "/v1/payment_intents/{intent}/capture".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod def capture( intent: str, **params: Unpack["PaymentIntentCaptureParams"] ) -> "PaymentIntent": """ Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture. Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation. Learn more about [separate authorization and capture](https://docs.stripe.com/docs/payments/capture-later). """ ... @overload def capture( self, **params: Unpack["PaymentIntentCaptureParams"] ) -> "PaymentIntent": """ Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture. Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation. Learn more about [separate authorization and capture](https://docs.stripe.com/docs/payments/capture-later). """ ... @class_method_variant("_cls_capture") def capture( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentIntentCaptureParams"] ) -> "PaymentIntent": """ Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture. Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation. Learn more about [separate authorization and capture](https://docs.stripe.com/docs/payments/capture-later). """ return cast( "PaymentIntent", self._request( "post", "/v1/payment_intents/{intent}/capture".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_capture_async( cls, intent: str, **params: Unpack["PaymentIntentCaptureParams"] ) -> "PaymentIntent": """ Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture. Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation. Learn more about [separate authorization and capture](https://docs.stripe.com/docs/payments/capture-later). """ return cast( "PaymentIntent", await cls._static_request_async( "post", "/v1/payment_intents/{intent}/capture".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod async def capture_async( intent: str, **params: Unpack["PaymentIntentCaptureParams"] ) -> "PaymentIntent": """ Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture. Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation. Learn more about [separate authorization and capture](https://docs.stripe.com/docs/payments/capture-later). """ ... @overload async def capture_async( self, **params: Unpack["PaymentIntentCaptureParams"] ) -> "PaymentIntent": """ Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture. Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation. Learn more about [separate authorization and capture](https://docs.stripe.com/docs/payments/capture-later). """ ... @class_method_variant("_cls_capture_async") async def capture_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentIntentCaptureParams"] ) -> "PaymentIntent": """ Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture. Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation. Learn more about [separate authorization and capture](https://docs.stripe.com/docs/payments/capture-later). """ return cast( "PaymentIntent", await self._request_async( "post", "/v1/payment_intents/{intent}/capture".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_confirm( cls, intent: str, **params: Unpack["PaymentIntentConfirmParams"] ) -> "PaymentIntent": """ Confirm that your customer intends to pay with current or provided payment method. Upon confirmation, the PaymentIntent will attempt to initiate a payment. If the selected payment method requires additional authentication steps, the PaymentIntent will transition to the requires_action status and suggest additional actions via next_action. If payment fails, the PaymentIntent transitions to the requires_payment_method status or the canceled status if the confirmation limit is reached. If payment succeeds, the PaymentIntent will transition to the succeeded status (or requires_capture, if capture_method is set to manual). If the confirmation_method is automatic, payment may be attempted using our [client SDKs](https://docs.stripe.com/docs/stripe-js/reference#stripe-handle-card-payment) and the PaymentIntent's [client_secret](https://docs.stripe.com/api#payment_intent_object-client_secret). After next_actions are handled by the client, no additional confirmation is required to complete the payment. If the confirmation_method is manual, all payment attempts must be initiated using a secret key. If any actions are required for the payment, the PaymentIntent will return to the requires_confirmation state after those actions are completed. Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment attempt. There is a variable upper limit on how many times a PaymentIntent can be confirmed. After this limit is reached, any further calls to this endpoint will transition the PaymentIntent to the canceled state. """ return cast( "PaymentIntent", cls._static_request( "post", "/v1/payment_intents/{intent}/confirm".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod def confirm( intent: str, **params: Unpack["PaymentIntentConfirmParams"] ) -> "PaymentIntent": """ Confirm that your customer intends to pay with current or provided payment method. Upon confirmation, the PaymentIntent will attempt to initiate a payment. If the selected payment method requires additional authentication steps, the PaymentIntent will transition to the requires_action status and suggest additional actions via next_action. If payment fails, the PaymentIntent transitions to the requires_payment_method status or the canceled status if the confirmation limit is reached. If payment succeeds, the PaymentIntent will transition to the succeeded status (or requires_capture, if capture_method is set to manual). If the confirmation_method is automatic, payment may be attempted using our [client SDKs](https://docs.stripe.com/docs/stripe-js/reference#stripe-handle-card-payment) and the PaymentIntent's [client_secret](https://docs.stripe.com/api#payment_intent_object-client_secret). After next_actions are handled by the client, no additional confirmation is required to complete the payment. If the confirmation_method is manual, all payment attempts must be initiated using a secret key. If any actions are required for the payment, the PaymentIntent will return to the requires_confirmation state after those actions are completed. Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment attempt. There is a variable upper limit on how many times a PaymentIntent can be confirmed. After this limit is reached, any further calls to this endpoint will transition the PaymentIntent to the canceled state. """ ... @overload def confirm( self, **params: Unpack["PaymentIntentConfirmParams"] ) -> "PaymentIntent": """ Confirm that your customer intends to pay with current or provided payment method. Upon confirmation, the PaymentIntent will attempt to initiate a payment. If the selected payment method requires additional authentication steps, the PaymentIntent will transition to the requires_action status and suggest additional actions via next_action. If payment fails, the PaymentIntent transitions to the requires_payment_method status or the canceled status if the confirmation limit is reached. If payment succeeds, the PaymentIntent will transition to the succeeded status (or requires_capture, if capture_method is set to manual). If the confirmation_method is automatic, payment may be attempted using our [client SDKs](https://docs.stripe.com/docs/stripe-js/reference#stripe-handle-card-payment) and the PaymentIntent's [client_secret](https://docs.stripe.com/api#payment_intent_object-client_secret). After next_actions are handled by the client, no additional confirmation is required to complete the payment. If the confirmation_method is manual, all payment attempts must be initiated using a secret key. If any actions are required for the payment, the PaymentIntent will return to the requires_confirmation state after those actions are completed. Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment attempt. There is a variable upper limit on how many times a PaymentIntent can be confirmed. After this limit is reached, any further calls to this endpoint will transition the PaymentIntent to the canceled state. """ ... @class_method_variant("_cls_confirm") def confirm( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentIntentConfirmParams"] ) -> "PaymentIntent": """ Confirm that your customer intends to pay with current or provided payment method. Upon confirmation, the PaymentIntent will attempt to initiate a payment. If the selected payment method requires additional authentication steps, the PaymentIntent will transition to the requires_action status and suggest additional actions via next_action. If payment fails, the PaymentIntent transitions to the requires_payment_method status or the canceled status if the confirmation limit is reached. If payment succeeds, the PaymentIntent will transition to the succeeded status (or requires_capture, if capture_method is set to manual). If the confirmation_method is automatic, payment may be attempted using our [client SDKs](https://docs.stripe.com/docs/stripe-js/reference#stripe-handle-card-payment) and the PaymentIntent's [client_secret](https://docs.stripe.com/api#payment_intent_object-client_secret). After next_actions are handled by the client, no additional confirmation is required to complete the payment. If the confirmation_method is manual, all payment attempts must be initiated using a secret key. If any actions are required for the payment, the PaymentIntent will return to the requires_confirmation state after those actions are completed. Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment attempt. There is a variable upper limit on how many times a PaymentIntent can be confirmed. After this limit is reached, any further calls to this endpoint will transition the PaymentIntent to the canceled state. """ return cast( "PaymentIntent", self._request( "post", "/v1/payment_intents/{intent}/confirm".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_confirm_async( cls, intent: str, **params: Unpack["PaymentIntentConfirmParams"] ) -> "PaymentIntent": """ Confirm that your customer intends to pay with current or provided payment method. Upon confirmation, the PaymentIntent will attempt to initiate a payment. If the selected payment method requires additional authentication steps, the PaymentIntent will transition to the requires_action status and suggest additional actions via next_action. If payment fails, the PaymentIntent transitions to the requires_payment_method status or the canceled status if the confirmation limit is reached. If payment succeeds, the PaymentIntent will transition to the succeeded status (or requires_capture, if capture_method is set to manual). If the confirmation_method is automatic, payment may be attempted using our [client SDKs](https://docs.stripe.com/docs/stripe-js/reference#stripe-handle-card-payment) and the PaymentIntent's [client_secret](https://docs.stripe.com/api#payment_intent_object-client_secret). After next_actions are handled by the client, no additional confirmation is required to complete the payment. If the confirmation_method is manual, all payment attempts must be initiated using a secret key. If any actions are required for the payment, the PaymentIntent will return to the requires_confirmation state after those actions are completed. Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment attempt. There is a variable upper limit on how many times a PaymentIntent can be confirmed. After this limit is reached, any further calls to this endpoint will transition the PaymentIntent to the canceled state. """ return cast( "PaymentIntent", await cls._static_request_async( "post", "/v1/payment_intents/{intent}/confirm".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod async def confirm_async( intent: str, **params: Unpack["PaymentIntentConfirmParams"] ) -> "PaymentIntent": """ Confirm that your customer intends to pay with current or provided payment method. Upon confirmation, the PaymentIntent will attempt to initiate a payment. If the selected payment method requires additional authentication steps, the PaymentIntent will transition to the requires_action status and suggest additional actions via next_action. If payment fails, the PaymentIntent transitions to the requires_payment_method status or the canceled status if the confirmation limit is reached. If payment succeeds, the PaymentIntent will transition to the succeeded status (or requires_capture, if capture_method is set to manual). If the confirmation_method is automatic, payment may be attempted using our [client SDKs](https://docs.stripe.com/docs/stripe-js/reference#stripe-handle-card-payment) and the PaymentIntent's [client_secret](https://docs.stripe.com/api#payment_intent_object-client_secret). After next_actions are handled by the client, no additional confirmation is required to complete the payment. If the confirmation_method is manual, all payment attempts must be initiated using a secret key. If any actions are required for the payment, the PaymentIntent will return to the requires_confirmation state after those actions are completed. Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment attempt. There is a variable upper limit on how many times a PaymentIntent can be confirmed. After this limit is reached, any further calls to this endpoint will transition the PaymentIntent to the canceled state. """ ... @overload async def confirm_async( self, **params: Unpack["PaymentIntentConfirmParams"] ) -> "PaymentIntent": """ Confirm that your customer intends to pay with current or provided payment method. Upon confirmation, the PaymentIntent will attempt to initiate a payment. If the selected payment method requires additional authentication steps, the PaymentIntent will transition to the requires_action status and suggest additional actions via next_action. If payment fails, the PaymentIntent transitions to the requires_payment_method status or the canceled status if the confirmation limit is reached. If payment succeeds, the PaymentIntent will transition to the succeeded status (or requires_capture, if capture_method is set to manual). If the confirmation_method is automatic, payment may be attempted using our [client SDKs](https://docs.stripe.com/docs/stripe-js/reference#stripe-handle-card-payment) and the PaymentIntent's [client_secret](https://docs.stripe.com/api#payment_intent_object-client_secret). After next_actions are handled by the client, no additional confirmation is required to complete the payment. If the confirmation_method is manual, all payment attempts must be initiated using a secret key. If any actions are required for the payment, the PaymentIntent will return to the requires_confirmation state after those actions are completed. Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment attempt. There is a variable upper limit on how many times a PaymentIntent can be confirmed. After this limit is reached, any further calls to this endpoint will transition the PaymentIntent to the canceled state. """ ... @class_method_variant("_cls_confirm_async") async def confirm_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentIntentConfirmParams"] ) -> "PaymentIntent": """ Confirm that your customer intends to pay with current or provided payment method. Upon confirmation, the PaymentIntent will attempt to initiate a payment. If the selected payment method requires additional authentication steps, the PaymentIntent will transition to the requires_action status and suggest additional actions via next_action. If payment fails, the PaymentIntent transitions to the requires_payment_method status or the canceled status if the confirmation limit is reached. If payment succeeds, the PaymentIntent will transition to the succeeded status (or requires_capture, if capture_method is set to manual). If the confirmation_method is automatic, payment may be attempted using our [client SDKs](https://docs.stripe.com/docs/stripe-js/reference#stripe-handle-card-payment) and the PaymentIntent's [client_secret](https://docs.stripe.com/api#payment_intent_object-client_secret). After next_actions are handled by the client, no additional confirmation is required to complete the payment. If the confirmation_method is manual, all payment attempts must be initiated using a secret key. If any actions are required for the payment, the PaymentIntent will return to the requires_confirmation state after those actions are completed. Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment attempt. There is a variable upper limit on how many times a PaymentIntent can be confirmed. After this limit is reached, any further calls to this endpoint will transition the PaymentIntent to the canceled state. """ return cast( "PaymentIntent", await self._request_async( "post", "/v1/payment_intents/{intent}/confirm".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create( cls, **params: Unpack["PaymentIntentCreateParams"] ) -> "PaymentIntent": """ Creates a PaymentIntent object. After the PaymentIntent is created, attach a payment method and [confirm](https://docs.stripe.com/docs/api/payment_intents/confirm) to continue the payment. Learn more about the available payment flows with the Payment Intents API. When you use confirm=true during creation, it's equivalent to creating and confirming the PaymentIntent in the same call. You can use any parameters available in the [confirm API](https://docs.stripe.com/docs/api/payment_intents/confirm) when you supply confirm=true. """ return cast( "PaymentIntent", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["PaymentIntentCreateParams"] ) -> "PaymentIntent": """ Creates a PaymentIntent object. After the PaymentIntent is created, attach a payment method and [confirm](https://docs.stripe.com/docs/api/payment_intents/confirm) to continue the payment. Learn more about the available payment flows with the Payment Intents API. When you use confirm=true during creation, it's equivalent to creating and confirming the PaymentIntent in the same call. You can use any parameters available in the [confirm API](https://docs.stripe.com/docs/api/payment_intents/confirm) when you supply confirm=true. """ return cast( "PaymentIntent", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_increment_authorization( cls, intent: str, **params: Unpack["PaymentIntentIncrementAuthorizationParams"], ) -> "PaymentIntent": """ Perform an incremental authorization on an eligible [PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/object). To be eligible, the PaymentIntent's status must be requires_capture and [incremental_authorization_supported](https://docs.stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) must be true. Incremental authorizations attempt to increase the authorized amount on your customer's card to the new, higher amount provided. Similar to the initial authorization, incremental authorizations can be declined. A single PaymentIntent can call this endpoint multiple times to further increase the authorized amount. If the incremental authorization succeeds, the PaymentIntent object returns with the updated [amount](https://docs.stripe.com/docs/api/payment_intents/object#payment_intent_object-amount). If the incremental authorization fails, a [card_declined](https://docs.stripe.com/docs/error-codes#card-declined) error returns, and no other fields on the PaymentIntent or Charge update. The PaymentIntent object remains capturable for the previously authorized amount. Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. After it's captured, a PaymentIntent can no longer be incremented. Learn more about [incremental authorizations](https://docs.stripe.com/docs/terminal/features/incremental-authorizations). """ return cast( "PaymentIntent", cls._static_request( "post", "/v1/payment_intents/{intent}/increment_authorization".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod def increment_authorization( intent: str, **params: Unpack["PaymentIntentIncrementAuthorizationParams"], ) -> "PaymentIntent": """ Perform an incremental authorization on an eligible [PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/object). To be eligible, the PaymentIntent's status must be requires_capture and [incremental_authorization_supported](https://docs.stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) must be true. Incremental authorizations attempt to increase the authorized amount on your customer's card to the new, higher amount provided. Similar to the initial authorization, incremental authorizations can be declined. A single PaymentIntent can call this endpoint multiple times to further increase the authorized amount. If the incremental authorization succeeds, the PaymentIntent object returns with the updated [amount](https://docs.stripe.com/docs/api/payment_intents/object#payment_intent_object-amount). If the incremental authorization fails, a [card_declined](https://docs.stripe.com/docs/error-codes#card-declined) error returns, and no other fields on the PaymentIntent or Charge update. The PaymentIntent object remains capturable for the previously authorized amount. Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. After it's captured, a PaymentIntent can no longer be incremented. Learn more about [incremental authorizations](https://docs.stripe.com/docs/terminal/features/incremental-authorizations). """ ... @overload def increment_authorization( self, **params: Unpack["PaymentIntentIncrementAuthorizationParams"] ) -> "PaymentIntent": """ Perform an incremental authorization on an eligible [PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/object). To be eligible, the PaymentIntent's status must be requires_capture and [incremental_authorization_supported](https://docs.stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) must be true. Incremental authorizations attempt to increase the authorized amount on your customer's card to the new, higher amount provided. Similar to the initial authorization, incremental authorizations can be declined. A single PaymentIntent can call this endpoint multiple times to further increase the authorized amount. If the incremental authorization succeeds, the PaymentIntent object returns with the updated [amount](https://docs.stripe.com/docs/api/payment_intents/object#payment_intent_object-amount). If the incremental authorization fails, a [card_declined](https://docs.stripe.com/docs/error-codes#card-declined) error returns, and no other fields on the PaymentIntent or Charge update. The PaymentIntent object remains capturable for the previously authorized amount. Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. After it's captured, a PaymentIntent can no longer be incremented. Learn more about [incremental authorizations](https://docs.stripe.com/docs/terminal/features/incremental-authorizations). """ ... @class_method_variant("_cls_increment_authorization") def increment_authorization( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentIntentIncrementAuthorizationParams"] ) -> "PaymentIntent": """ Perform an incremental authorization on an eligible [PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/object). To be eligible, the PaymentIntent's status must be requires_capture and [incremental_authorization_supported](https://docs.stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) must be true. Incremental authorizations attempt to increase the authorized amount on your customer's card to the new, higher amount provided. Similar to the initial authorization, incremental authorizations can be declined. A single PaymentIntent can call this endpoint multiple times to further increase the authorized amount. If the incremental authorization succeeds, the PaymentIntent object returns with the updated [amount](https://docs.stripe.com/docs/api/payment_intents/object#payment_intent_object-amount). If the incremental authorization fails, a [card_declined](https://docs.stripe.com/docs/error-codes#card-declined) error returns, and no other fields on the PaymentIntent or Charge update. The PaymentIntent object remains capturable for the previously authorized amount. Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. After it's captured, a PaymentIntent can no longer be incremented. Learn more about [incremental authorizations](https://docs.stripe.com/docs/terminal/features/incremental-authorizations). """ return cast( "PaymentIntent", self._request( "post", "/v1/payment_intents/{intent}/increment_authorization".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_increment_authorization_async( cls, intent: str, **params: Unpack["PaymentIntentIncrementAuthorizationParams"], ) -> "PaymentIntent": """ Perform an incremental authorization on an eligible [PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/object). To be eligible, the PaymentIntent's status must be requires_capture and [incremental_authorization_supported](https://docs.stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) must be true. Incremental authorizations attempt to increase the authorized amount on your customer's card to the new, higher amount provided. Similar to the initial authorization, incremental authorizations can be declined. A single PaymentIntent can call this endpoint multiple times to further increase the authorized amount. If the incremental authorization succeeds, the PaymentIntent object returns with the updated [amount](https://docs.stripe.com/docs/api/payment_intents/object#payment_intent_object-amount). If the incremental authorization fails, a [card_declined](https://docs.stripe.com/docs/error-codes#card-declined) error returns, and no other fields on the PaymentIntent or Charge update. The PaymentIntent object remains capturable for the previously authorized amount. Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. After it's captured, a PaymentIntent can no longer be incremented. Learn more about [incremental authorizations](https://docs.stripe.com/docs/terminal/features/incremental-authorizations). """ return cast( "PaymentIntent", await cls._static_request_async( "post", "/v1/payment_intents/{intent}/increment_authorization".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod async def increment_authorization_async( intent: str, **params: Unpack["PaymentIntentIncrementAuthorizationParams"], ) -> "PaymentIntent": """ Perform an incremental authorization on an eligible [PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/object). To be eligible, the PaymentIntent's status must be requires_capture and [incremental_authorization_supported](https://docs.stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) must be true. Incremental authorizations attempt to increase the authorized amount on your customer's card to the new, higher amount provided. Similar to the initial authorization, incremental authorizations can be declined. A single PaymentIntent can call this endpoint multiple times to further increase the authorized amount. If the incremental authorization succeeds, the PaymentIntent object returns with the updated [amount](https://docs.stripe.com/docs/api/payment_intents/object#payment_intent_object-amount). If the incremental authorization fails, a [card_declined](https://docs.stripe.com/docs/error-codes#card-declined) error returns, and no other fields on the PaymentIntent or Charge update. The PaymentIntent object remains capturable for the previously authorized amount. Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. After it's captured, a PaymentIntent can no longer be incremented. Learn more about [incremental authorizations](https://docs.stripe.com/docs/terminal/features/incremental-authorizations). """ ... @overload async def increment_authorization_async( self, **params: Unpack["PaymentIntentIncrementAuthorizationParams"] ) -> "PaymentIntent": """ Perform an incremental authorization on an eligible [PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/object). To be eligible, the PaymentIntent's status must be requires_capture and [incremental_authorization_supported](https://docs.stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) must be true. Incremental authorizations attempt to increase the authorized amount on your customer's card to the new, higher amount provided. Similar to the initial authorization, incremental authorizations can be declined. A single PaymentIntent can call this endpoint multiple times to further increase the authorized amount. If the incremental authorization succeeds, the PaymentIntent object returns with the updated [amount](https://docs.stripe.com/docs/api/payment_intents/object#payment_intent_object-amount). If the incremental authorization fails, a [card_declined](https://docs.stripe.com/docs/error-codes#card-declined) error returns, and no other fields on the PaymentIntent or Charge update. The PaymentIntent object remains capturable for the previously authorized amount. Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. After it's captured, a PaymentIntent can no longer be incremented. Learn more about [incremental authorizations](https://docs.stripe.com/docs/terminal/features/incremental-authorizations). """ ... @class_method_variant("_cls_increment_authorization_async") async def increment_authorization_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentIntentIncrementAuthorizationParams"] ) -> "PaymentIntent": """ Perform an incremental authorization on an eligible [PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/object). To be eligible, the PaymentIntent's status must be requires_capture and [incremental_authorization_supported](https://docs.stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) must be true. Incremental authorizations attempt to increase the authorized amount on your customer's card to the new, higher amount provided. Similar to the initial authorization, incremental authorizations can be declined. A single PaymentIntent can call this endpoint multiple times to further increase the authorized amount. If the incremental authorization succeeds, the PaymentIntent object returns with the updated [amount](https://docs.stripe.com/docs/api/payment_intents/object#payment_intent_object-amount). If the incremental authorization fails, a [card_declined](https://docs.stripe.com/docs/error-codes#card-declined) error returns, and no other fields on the PaymentIntent or Charge update. The PaymentIntent object remains capturable for the previously authorized amount. Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. After it's captured, a PaymentIntent can no longer be incremented. Learn more about [incremental authorizations](https://docs.stripe.com/docs/terminal/features/incremental-authorizations). """ return cast( "PaymentIntent", await self._request_async( "post", "/v1/payment_intents/{intent}/increment_authorization".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list( cls, **params: Unpack["PaymentIntentListParams"] ) -> ListObject["PaymentIntent"]: """ Returns a list of PaymentIntents. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["PaymentIntentListParams"] ) -> ListObject["PaymentIntent"]: """ Returns a list of PaymentIntents. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["PaymentIntentModifyParams"] ) -> "PaymentIntent": """ Updates properties on a PaymentIntent object without confirming. Depending on which properties you update, you might need to confirm the PaymentIntent again. For example, updating the payment_method always requires you to confirm the PaymentIntent again. If you prefer to update and confirm at the same time, we recommend updating properties through the [confirm API](https://docs.stripe.com/docs/api/payment_intents/confirm) instead. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "PaymentIntent", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["PaymentIntentModifyParams"] ) -> "PaymentIntent": """ Updates properties on a PaymentIntent object without confirming. Depending on which properties you update, you might need to confirm the PaymentIntent again. For example, updating the payment_method always requires you to confirm the PaymentIntent again. If you prefer to update and confirm at the same time, we recommend updating properties through the [confirm API](https://docs.stripe.com/docs/api/payment_intents/confirm) instead. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "PaymentIntent", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["PaymentIntentRetrieveParams"] ) -> "PaymentIntent": """ Retrieves the details of a PaymentIntent that has previously been created. You can retrieve a PaymentIntent client-side using a publishable key when the client_secret is in the query string. If you retrieve a PaymentIntent with a publishable key, it only returns a subset of properties. Refer to the [payment intent](https://docs.stripe.com/api#payment_intent_object) object reference for more details. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["PaymentIntentRetrieveParams"] ) -> "PaymentIntent": """ Retrieves the details of a PaymentIntent that has previously been created. You can retrieve a PaymentIntent client-side using a publishable key when the client_secret is in the query string. If you retrieve a PaymentIntent with a publishable key, it only returns a subset of properties. Refer to the [payment intent](https://docs.stripe.com/api#payment_intent_object) object reference for more details. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def _cls_verify_microdeposits( cls, intent: str, **params: Unpack["PaymentIntentVerifyMicrodepositsParams"], ) -> "PaymentIntent": """ Verifies microdeposits on a PaymentIntent object. """ return cast( "PaymentIntent", cls._static_request( "post", "/v1/payment_intents/{intent}/verify_microdeposits".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod def verify_microdeposits( intent: str, **params: Unpack["PaymentIntentVerifyMicrodepositsParams"] ) -> "PaymentIntent": """ Verifies microdeposits on a PaymentIntent object. """ ... @overload def verify_microdeposits( self, **params: Unpack["PaymentIntentVerifyMicrodepositsParams"] ) -> "PaymentIntent": """ Verifies microdeposits on a PaymentIntent object. """ ... @class_method_variant("_cls_verify_microdeposits") def verify_microdeposits( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentIntentVerifyMicrodepositsParams"] ) -> "PaymentIntent": """ Verifies microdeposits on a PaymentIntent object. """ return cast( "PaymentIntent", self._request( "post", "/v1/payment_intents/{intent}/verify_microdeposits".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_verify_microdeposits_async( cls, intent: str, **params: Unpack["PaymentIntentVerifyMicrodepositsParams"], ) -> "PaymentIntent": """ Verifies microdeposits on a PaymentIntent object. """ return cast( "PaymentIntent", await cls._static_request_async( "post", "/v1/payment_intents/{intent}/verify_microdeposits".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod async def verify_microdeposits_async( intent: str, **params: Unpack["PaymentIntentVerifyMicrodepositsParams"] ) -> "PaymentIntent": """ Verifies microdeposits on a PaymentIntent object. """ ... @overload async def verify_microdeposits_async( self, **params: Unpack["PaymentIntentVerifyMicrodepositsParams"] ) -> "PaymentIntent": """ Verifies microdeposits on a PaymentIntent object. """ ... @class_method_variant("_cls_verify_microdeposits_async") async def verify_microdeposits_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentIntentVerifyMicrodepositsParams"] ) -> "PaymentIntent": """ Verifies microdeposits on a PaymentIntent object. """ return cast( "PaymentIntent", await self._request_async( "post", "/v1/payment_intents/{intent}/verify_microdeposits".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def search( cls, *args, **kwargs: Unpack["PaymentIntentSearchParams"] ) -> SearchResultObject["PaymentIntent"]: """ Search for PaymentIntents you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cls._search( search_url="/v1/payment_intents/search", *args, **kwargs ) @classmethod async def search_async( cls, *args, **kwargs: Unpack["PaymentIntentSearchParams"] ) -> SearchResultObject["PaymentIntent"]: """ Search for PaymentIntents you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return await cls._search_async( search_url="/v1/payment_intents/search", *args, **kwargs ) @classmethod def search_auto_paging_iter( cls, *args, **kwargs: Unpack["PaymentIntentSearchParams"] ) -> Iterator["PaymentIntent"]: return cls.search(*args, **kwargs).auto_paging_iter() @classmethod async def search_auto_paging_iter_async( cls, *args, **kwargs: Unpack["PaymentIntentSearchParams"] ) -> AsyncIterator["PaymentIntent"]: return (await cls.search_async(*args, **kwargs)).auto_paging_iter() @classmethod def list_amount_details_line_items( cls, intent: str, **params: Unpack["PaymentIntentListAmountDetailsLineItemsParams"], ) -> ListObject["PaymentIntentAmountDetailsLineItem"]: """ Lists all LineItems of a given PaymentIntent. """ return cast( ListObject["PaymentIntentAmountDetailsLineItem"], cls._static_request( "get", "/v1/payment_intents/{intent}/amount_details_line_items".format( intent=sanitize_id(intent) ), params=params, ), ) @classmethod async def list_amount_details_line_items_async( cls, intent: str, **params: Unpack["PaymentIntentListAmountDetailsLineItemsParams"], ) -> ListObject["PaymentIntentAmountDetailsLineItem"]: """ Lists all LineItems of a given PaymentIntent. """ return cast( ListObject["PaymentIntentAmountDetailsLineItem"], await cls._static_request_async( "get", "/v1/payment_intents/{intent}/amount_details_line_items".format( intent=sanitize_id(intent) ), params=params, ), ) _inner_class_types = { "amount_details": AmountDetails, "automatic_payment_methods": AutomaticPaymentMethods, "last_payment_error": LastPaymentError, "next_action": NextAction, "payment_details": PaymentDetails, "payment_method_configuration_details": PaymentMethodConfigurationDetails, "payment_method_options": PaymentMethodOptions, "presentment_details": PresentmentDetails, "processing": Processing, "shipping": Shipping, "transfer_data": TransferData, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3270621 stripe-13.2.0/stripe/_payment_intent_amount_details_line_item.py0000644000000000000000000000756515102753431022241 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar, Optional from typing_extensions import Literal class PaymentIntentAmountDetailsLineItem(StripeObject): OBJECT_NAME: ClassVar[ Literal["payment_intent_amount_details_line_item"] ] = "payment_intent_amount_details_line_item" class PaymentMethodOptions(StripeObject): class Card(StripeObject): commodity_code: Optional[str] class CardPresent(StripeObject): commodity_code: Optional[str] class Klarna(StripeObject): image_url: Optional[str] product_url: Optional[str] reference: Optional[str] subscription_reference: Optional[str] class Paypal(StripeObject): category: Optional[ Literal["digital_goods", "donation", "physical_goods"] ] """ Type of the line item. """ description: Optional[str] """ Description of the line item. """ sold_by: Optional[str] """ The Stripe account ID of the connected account that sells the item. This is only needed when using [Separate Charges and Transfers](https://docs.stripe.com/connect/separate-charges-and-transfers). """ card: Optional[Card] card_present: Optional[CardPresent] klarna: Optional[Klarna] paypal: Optional[Paypal] _inner_class_types = { "card": Card, "card_present": CardPresent, "klarna": Klarna, "paypal": Paypal, } class Tax(StripeObject): total_tax_amount: int """ The total amount of tax on the transaction represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L2 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[line_items][#][tax][total_tax_amount]` field. """ discount_amount: Optional[int] """ The discount applied on this line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[discount_amount]` field. """ id: str """ Unique identifier for the object. """ object: Literal["payment_intent_amount_details_line_item"] """ String representing the object's type. Objects of the same type share the same value. """ payment_method_options: Optional[PaymentMethodOptions] """ Payment method-specific information for line items. """ product_code: Optional[str] """ The product code of the line item, such as an SKU. Required for L3 rates. At most 12 characters long. """ product_name: str """ The product name of the line item. Required for L3 rates. At most 1024 characters long. For Cards, this field is truncated to 26 alphanumeric characters before being sent to the card networks. For Paypal, this field is truncated to 127 characters. """ quantity: int """ The quantity of items. Required for L3 rates. An integer greater than 0. """ tax: Optional[Tax] """ Contains information about the tax on the item. """ unit_cost: int """ The unit cost of the line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L3 rates. An integer greater than or equal to 0. """ unit_of_measure: Optional[str] """ A unit of measure for the line item, such as gallons, feet, meters, etc. Required for L3 rates. At most 12 alphanumeric characters long. """ _inner_class_types = { "payment_method_options": PaymentMethodOptions, "tax": Tax, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3270621 stripe-13.2.0/stripe/_payment_intent_amount_details_line_item_service.py0000644000000000000000000000422215102753431023744 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._payment_intent_amount_details_line_item import ( PaymentIntentAmountDetailsLineItem, ) from stripe._request_options import RequestOptions from stripe.params._payment_intent_amount_details_line_item_list_params import ( PaymentIntentAmountDetailsLineItemListParams, ) class PaymentIntentAmountDetailsLineItemService(StripeService): def list( self, intent: str, params: Optional[ "PaymentIntentAmountDetailsLineItemListParams" ] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentIntentAmountDetailsLineItem]": """ Lists all LineItems of a given PaymentIntent. """ return cast( "ListObject[PaymentIntentAmountDetailsLineItem]", self._request( "get", "/v1/payment_intents/{intent}/amount_details_line_items".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) async def list_async( self, intent: str, params: Optional[ "PaymentIntentAmountDetailsLineItemListParams" ] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentIntentAmountDetailsLineItem]": """ Lists all LineItems of a given PaymentIntent. """ return cast( "ListObject[PaymentIntentAmountDetailsLineItem]", await self._request_async( "get", "/v1/payment_intents/{intent}/amount_details_line_items".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3270621 stripe-13.2.0/stripe/_payment_intent_service.py0000644000000000000000000006726215102753431016644 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._payment_intent import PaymentIntent from stripe._payment_intent_amount_details_line_item_service import ( PaymentIntentAmountDetailsLineItemService, ) from stripe._request_options import RequestOptions from stripe._search_result_object import SearchResultObject from stripe.params._payment_intent_apply_customer_balance_params import ( PaymentIntentApplyCustomerBalanceParams, ) from stripe.params._payment_intent_cancel_params import ( PaymentIntentCancelParams, ) from stripe.params._payment_intent_capture_params import ( PaymentIntentCaptureParams, ) from stripe.params._payment_intent_confirm_params import ( PaymentIntentConfirmParams, ) from stripe.params._payment_intent_create_params import ( PaymentIntentCreateParams, ) from stripe.params._payment_intent_increment_authorization_params import ( PaymentIntentIncrementAuthorizationParams, ) from stripe.params._payment_intent_list_params import ( PaymentIntentListParams, ) from stripe.params._payment_intent_retrieve_params import ( PaymentIntentRetrieveParams, ) from stripe.params._payment_intent_search_params import ( PaymentIntentSearchParams, ) from stripe.params._payment_intent_update_params import ( PaymentIntentUpdateParams, ) from stripe.params._payment_intent_verify_microdeposits_params import ( PaymentIntentVerifyMicrodepositsParams, ) _subservices = { "amount_details_line_items": [ "stripe._payment_intent_amount_details_line_item_service", "PaymentIntentAmountDetailsLineItemService", ], } class PaymentIntentService(StripeService): amount_details_line_items: "PaymentIntentAmountDetailsLineItemService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def list( self, params: Optional["PaymentIntentListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentIntent]": """ Returns a list of PaymentIntents. """ return cast( "ListObject[PaymentIntent]", self._request( "get", "/v1/payment_intents", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["PaymentIntentListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentIntent]": """ Returns a list of PaymentIntents. """ return cast( "ListObject[PaymentIntent]", await self._request_async( "get", "/v1/payment_intents", base_address="api", params=params, options=options, ), ) def create( self, params: "PaymentIntentCreateParams", options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Creates a PaymentIntent object. After the PaymentIntent is created, attach a payment method and [confirm](https://docs.stripe.com/docs/api/payment_intents/confirm) to continue the payment. Learn more about the available payment flows with the Payment Intents API. When you use confirm=true during creation, it's equivalent to creating and confirming the PaymentIntent in the same call. You can use any parameters available in the [confirm API](https://docs.stripe.com/docs/api/payment_intents/confirm) when you supply confirm=true. """ return cast( "PaymentIntent", self._request( "post", "/v1/payment_intents", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "PaymentIntentCreateParams", options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Creates a PaymentIntent object. After the PaymentIntent is created, attach a payment method and [confirm](https://docs.stripe.com/docs/api/payment_intents/confirm) to continue the payment. Learn more about the available payment flows with the Payment Intents API. When you use confirm=true during creation, it's equivalent to creating and confirming the PaymentIntent in the same call. You can use any parameters available in the [confirm API](https://docs.stripe.com/docs/api/payment_intents/confirm) when you supply confirm=true. """ return cast( "PaymentIntent", await self._request_async( "post", "/v1/payment_intents", base_address="api", params=params, options=options, ), ) def retrieve( self, intent: str, params: Optional["PaymentIntentRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Retrieves the details of a PaymentIntent that has previously been created. You can retrieve a PaymentIntent client-side using a publishable key when the client_secret is in the query string. If you retrieve a PaymentIntent with a publishable key, it only returns a subset of properties. Refer to the [payment intent](https://docs.stripe.com/api#payment_intent_object) object reference for more details. """ return cast( "PaymentIntent", self._request( "get", "/v1/payment_intents/{intent}".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, intent: str, params: Optional["PaymentIntentRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Retrieves the details of a PaymentIntent that has previously been created. You can retrieve a PaymentIntent client-side using a publishable key when the client_secret is in the query string. If you retrieve a PaymentIntent with a publishable key, it only returns a subset of properties. Refer to the [payment intent](https://docs.stripe.com/api#payment_intent_object) object reference for more details. """ return cast( "PaymentIntent", await self._request_async( "get", "/v1/payment_intents/{intent}".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) def update( self, intent: str, params: Optional["PaymentIntentUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Updates properties on a PaymentIntent object without confirming. Depending on which properties you update, you might need to confirm the PaymentIntent again. For example, updating the payment_method always requires you to confirm the PaymentIntent again. If you prefer to update and confirm at the same time, we recommend updating properties through the [confirm API](https://docs.stripe.com/docs/api/payment_intents/confirm) instead. """ return cast( "PaymentIntent", self._request( "post", "/v1/payment_intents/{intent}".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) async def update_async( self, intent: str, params: Optional["PaymentIntentUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Updates properties on a PaymentIntent object without confirming. Depending on which properties you update, you might need to confirm the PaymentIntent again. For example, updating the payment_method always requires you to confirm the PaymentIntent again. If you prefer to update and confirm at the same time, we recommend updating properties through the [confirm API](https://docs.stripe.com/docs/api/payment_intents/confirm) instead. """ return cast( "PaymentIntent", await self._request_async( "post", "/v1/payment_intents/{intent}".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) def search( self, params: "PaymentIntentSearchParams", options: Optional["RequestOptions"] = None, ) -> "SearchResultObject[PaymentIntent]": """ Search for PaymentIntents you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cast( "SearchResultObject[PaymentIntent]", self._request( "get", "/v1/payment_intents/search", base_address="api", params=params, options=options, ), ) async def search_async( self, params: "PaymentIntentSearchParams", options: Optional["RequestOptions"] = None, ) -> "SearchResultObject[PaymentIntent]": """ Search for PaymentIntents you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cast( "SearchResultObject[PaymentIntent]", await self._request_async( "get", "/v1/payment_intents/search", base_address="api", params=params, options=options, ), ) def apply_customer_balance( self, intent: str, params: Optional["PaymentIntentApplyCustomerBalanceParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Manually reconcile the remaining amount for a customer_balance PaymentIntent. """ return cast( "PaymentIntent", self._request( "post", "/v1/payment_intents/{intent}/apply_customer_balance".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) async def apply_customer_balance_async( self, intent: str, params: Optional["PaymentIntentApplyCustomerBalanceParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Manually reconcile the remaining amount for a customer_balance PaymentIntent. """ return cast( "PaymentIntent", await self._request_async( "post", "/v1/payment_intents/{intent}/apply_customer_balance".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) def cancel( self, intent: str, params: Optional["PaymentIntentCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ You can cancel a PaymentIntent object when it's in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, [in rare cases](https://docs.stripe.com/docs/payments/intents), processing. After it's canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable is automatically refunded. You can't cancel the PaymentIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ return cast( "PaymentIntent", self._request( "post", "/v1/payment_intents/{intent}/cancel".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) async def cancel_async( self, intent: str, params: Optional["PaymentIntentCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ You can cancel a PaymentIntent object when it's in one of these statuses: requires_payment_method, requires_capture, requires_confirmation, requires_action or, [in rare cases](https://docs.stripe.com/docs/payments/intents), processing. After it's canceled, no additional charges are made by the PaymentIntent and any operations on the PaymentIntent fail with an error. For PaymentIntents with a status of requires_capture, the remaining amount_capturable is automatically refunded. You can't cancel the PaymentIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ return cast( "PaymentIntent", await self._request_async( "post", "/v1/payment_intents/{intent}/cancel".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) def capture( self, intent: str, params: Optional["PaymentIntentCaptureParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture. Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation. Learn more about [separate authorization and capture](https://docs.stripe.com/docs/payments/capture-later). """ return cast( "PaymentIntent", self._request( "post", "/v1/payment_intents/{intent}/capture".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) async def capture_async( self, intent: str, params: Optional["PaymentIntentCaptureParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Capture the funds of an existing uncaptured PaymentIntent when its status is requires_capture. Uncaptured PaymentIntents are cancelled a set number of days (7 by default) after their creation. Learn more about [separate authorization and capture](https://docs.stripe.com/docs/payments/capture-later). """ return cast( "PaymentIntent", await self._request_async( "post", "/v1/payment_intents/{intent}/capture".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) def confirm( self, intent: str, params: Optional["PaymentIntentConfirmParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Confirm that your customer intends to pay with current or provided payment method. Upon confirmation, the PaymentIntent will attempt to initiate a payment. If the selected payment method requires additional authentication steps, the PaymentIntent will transition to the requires_action status and suggest additional actions via next_action. If payment fails, the PaymentIntent transitions to the requires_payment_method status or the canceled status if the confirmation limit is reached. If payment succeeds, the PaymentIntent will transition to the succeeded status (or requires_capture, if capture_method is set to manual). If the confirmation_method is automatic, payment may be attempted using our [client SDKs](https://docs.stripe.com/docs/stripe-js/reference#stripe-handle-card-payment) and the PaymentIntent's [client_secret](https://docs.stripe.com/api#payment_intent_object-client_secret). After next_actions are handled by the client, no additional confirmation is required to complete the payment. If the confirmation_method is manual, all payment attempts must be initiated using a secret key. If any actions are required for the payment, the PaymentIntent will return to the requires_confirmation state after those actions are completed. Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment attempt. There is a variable upper limit on how many times a PaymentIntent can be confirmed. After this limit is reached, any further calls to this endpoint will transition the PaymentIntent to the canceled state. """ return cast( "PaymentIntent", self._request( "post", "/v1/payment_intents/{intent}/confirm".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) async def confirm_async( self, intent: str, params: Optional["PaymentIntentConfirmParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Confirm that your customer intends to pay with current or provided payment method. Upon confirmation, the PaymentIntent will attempt to initiate a payment. If the selected payment method requires additional authentication steps, the PaymentIntent will transition to the requires_action status and suggest additional actions via next_action. If payment fails, the PaymentIntent transitions to the requires_payment_method status or the canceled status if the confirmation limit is reached. If payment succeeds, the PaymentIntent will transition to the succeeded status (or requires_capture, if capture_method is set to manual). If the confirmation_method is automatic, payment may be attempted using our [client SDKs](https://docs.stripe.com/docs/stripe-js/reference#stripe-handle-card-payment) and the PaymentIntent's [client_secret](https://docs.stripe.com/api#payment_intent_object-client_secret). After next_actions are handled by the client, no additional confirmation is required to complete the payment. If the confirmation_method is manual, all payment attempts must be initiated using a secret key. If any actions are required for the payment, the PaymentIntent will return to the requires_confirmation state after those actions are completed. Your server needs to then explicitly re-confirm the PaymentIntent to initiate the next payment attempt. There is a variable upper limit on how many times a PaymentIntent can be confirmed. After this limit is reached, any further calls to this endpoint will transition the PaymentIntent to the canceled state. """ return cast( "PaymentIntent", await self._request_async( "post", "/v1/payment_intents/{intent}/confirm".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) def increment_authorization( self, intent: str, params: "PaymentIntentIncrementAuthorizationParams", options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Perform an incremental authorization on an eligible [PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/object). To be eligible, the PaymentIntent's status must be requires_capture and [incremental_authorization_supported](https://docs.stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) must be true. Incremental authorizations attempt to increase the authorized amount on your customer's card to the new, higher amount provided. Similar to the initial authorization, incremental authorizations can be declined. A single PaymentIntent can call this endpoint multiple times to further increase the authorized amount. If the incremental authorization succeeds, the PaymentIntent object returns with the updated [amount](https://docs.stripe.com/docs/api/payment_intents/object#payment_intent_object-amount). If the incremental authorization fails, a [card_declined](https://docs.stripe.com/docs/error-codes#card-declined) error returns, and no other fields on the PaymentIntent or Charge update. The PaymentIntent object remains capturable for the previously authorized amount. Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. After it's captured, a PaymentIntent can no longer be incremented. Learn more about [incremental authorizations](https://docs.stripe.com/docs/terminal/features/incremental-authorizations). """ return cast( "PaymentIntent", self._request( "post", "/v1/payment_intents/{intent}/increment_authorization".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) async def increment_authorization_async( self, intent: str, params: "PaymentIntentIncrementAuthorizationParams", options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Perform an incremental authorization on an eligible [PaymentIntent](https://docs.stripe.com/docs/api/payment_intents/object). To be eligible, the PaymentIntent's status must be requires_capture and [incremental_authorization_supported](https://docs.stripe.com/docs/api/charges/object#charge_object-payment_method_details-card_present-incremental_authorization_supported) must be true. Incremental authorizations attempt to increase the authorized amount on your customer's card to the new, higher amount provided. Similar to the initial authorization, incremental authorizations can be declined. A single PaymentIntent can call this endpoint multiple times to further increase the authorized amount. If the incremental authorization succeeds, the PaymentIntent object returns with the updated [amount](https://docs.stripe.com/docs/api/payment_intents/object#payment_intent_object-amount). If the incremental authorization fails, a [card_declined](https://docs.stripe.com/docs/error-codes#card-declined) error returns, and no other fields on the PaymentIntent or Charge update. The PaymentIntent object remains capturable for the previously authorized amount. Each PaymentIntent can have a maximum of 10 incremental authorization attempts, including declines. After it's captured, a PaymentIntent can no longer be incremented. Learn more about [incremental authorizations](https://docs.stripe.com/docs/terminal/features/incremental-authorizations). """ return cast( "PaymentIntent", await self._request_async( "post", "/v1/payment_intents/{intent}/increment_authorization".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) def verify_microdeposits( self, intent: str, params: Optional["PaymentIntentVerifyMicrodepositsParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Verifies microdeposits on a PaymentIntent object. """ return cast( "PaymentIntent", self._request( "post", "/v1/payment_intents/{intent}/verify_microdeposits".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) async def verify_microdeposits_async( self, intent: str, params: Optional["PaymentIntentVerifyMicrodepositsParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentIntent": """ Verifies microdeposits on a PaymentIntent object. """ return cast( "PaymentIntent", await self._request_async( "post", "/v1/payment_intents/{intent}/verify_microdeposits".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3270621 stripe-13.2.0/stripe/_payment_link.py0000644000000000000000000011612615102753431014552 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._application import Application from stripe._line_item import LineItem from stripe._shipping_rate import ShippingRate from stripe._tax_id import TaxId from stripe.params._payment_link_create_params import ( PaymentLinkCreateParams, ) from stripe.params._payment_link_list_line_items_params import ( PaymentLinkListLineItemsParams, ) from stripe.params._payment_link_list_params import PaymentLinkListParams from stripe.params._payment_link_modify_params import ( PaymentLinkModifyParams, ) from stripe.params._payment_link_retrieve_params import ( PaymentLinkRetrieveParams, ) class PaymentLink( CreateableAPIResource["PaymentLink"], ListableAPIResource["PaymentLink"], UpdateableAPIResource["PaymentLink"], ): """ A payment link is a shareable URL that will take your customers to a hosted payment page. A payment link can be shared and used multiple times. When a customer opens a payment link it will open a new [checkout session](https://stripe.com/docs/api/checkout/sessions) to render the payment page. You can use [checkout session events](https://stripe.com/docs/api/events/types#event_types-checkout.session.completed) to track payments through payment links. Related guide: [Payment Links API](https://stripe.com/docs/payment-links) """ OBJECT_NAME: ClassVar[Literal["payment_link"]] = "payment_link" class AfterCompletion(StripeObject): class HostedConfirmation(StripeObject): custom_message: Optional[str] """ The custom message that is displayed to the customer after the purchase is complete. """ class Redirect(StripeObject): url: str """ The URL the customer will be redirected to after the purchase is complete. """ hosted_confirmation: Optional[HostedConfirmation] redirect: Optional[Redirect] type: Literal["hosted_confirmation", "redirect"] """ The specified behavior after the purchase is complete. """ _inner_class_types = { "hosted_confirmation": HostedConfirmation, "redirect": Redirect, } class AutomaticTax(StripeObject): class Liability(StripeObject): account: Optional[ExpandableField["Account"]] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced. """ enabled: bool """ If `true`, tax will be calculated automatically using the customer's location. """ liability: Optional[Liability] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ _inner_class_types = {"liability": Liability} class ConsentCollection(StripeObject): class PaymentMethodReuseAgreement(StripeObject): position: Literal["auto", "hidden"] """ Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's defaults will be used. When set to `hidden`, the payment method reuse agreement text will always be hidden in the UI. """ payment_method_reuse_agreement: Optional[PaymentMethodReuseAgreement] """ Settings related to the payment method reuse text shown in the Checkout UI. """ promotions: Optional[Literal["auto", "none"]] """ If set to `auto`, enables the collection of customer consent for promotional communications. """ terms_of_service: Optional[Literal["none", "required"]] """ If set to `required`, it requires cutomers to accept the terms of service before being able to pay. If set to `none`, customers won't be shown a checkbox to accept the terms of service. """ _inner_class_types = { "payment_method_reuse_agreement": PaymentMethodReuseAgreement, } class CustomField(StripeObject): class Dropdown(StripeObject): class Option(StripeObject): label: str """ The label for the option, displayed to the customer. Up to 100 characters. """ value: str """ The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters. """ default_value: Optional[str] """ The value that will pre-fill on the payment page. """ options: List[Option] """ The options available for the customer to select. Up to 200 options allowed. """ _inner_class_types = {"options": Option} class Label(StripeObject): custom: Optional[str] """ Custom text for the label, displayed to the customer. Up to 50 characters. """ type: Literal["custom"] """ The type of the label. """ class Numeric(StripeObject): default_value: Optional[str] """ The value that will pre-fill the field on the payment page. """ maximum_length: Optional[int] """ The maximum character length constraint for the customer's input. """ minimum_length: Optional[int] """ The minimum character length requirement for the customer's input. """ class Text(StripeObject): default_value: Optional[str] """ The value that will pre-fill the field on the payment page. """ maximum_length: Optional[int] """ The maximum character length constraint for the customer's input. """ minimum_length: Optional[int] """ The minimum character length requirement for the customer's input. """ dropdown: Optional[Dropdown] key: str """ String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters. """ label: Label numeric: Optional[Numeric] optional: bool """ Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. """ text: Optional[Text] type: Literal["dropdown", "numeric", "text"] """ The type of the field. """ _inner_class_types = { "dropdown": Dropdown, "label": Label, "numeric": Numeric, "text": Text, } class CustomText(StripeObject): class AfterSubmit(StripeObject): message: str """ Text may be up to 1200 characters in length. """ class ShippingAddress(StripeObject): message: str """ Text may be up to 1200 characters in length. """ class Submit(StripeObject): message: str """ Text may be up to 1200 characters in length. """ class TermsOfServiceAcceptance(StripeObject): message: str """ Text may be up to 1200 characters in length. """ after_submit: Optional[AfterSubmit] """ Custom text that should be displayed after the payment confirmation button. """ shipping_address: Optional[ShippingAddress] """ Custom text that should be displayed alongside shipping address collection. """ submit: Optional[Submit] """ Custom text that should be displayed alongside the payment confirmation button. """ terms_of_service_acceptance: Optional[TermsOfServiceAcceptance] """ Custom text that should be displayed in place of the default terms of service agreement text. """ _inner_class_types = { "after_submit": AfterSubmit, "shipping_address": ShippingAddress, "submit": Submit, "terms_of_service_acceptance": TermsOfServiceAcceptance, } class InvoiceCreation(StripeObject): class InvoiceData(StripeObject): class CustomField(StripeObject): name: str """ The name of the custom field. """ value: str """ The value of the custom field. """ class Issuer(StripeObject): account: Optional[ExpandableField["Account"]] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced. """ class RenderingOptions(StripeObject): amount_tax_display: Optional[str] """ How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. """ template: Optional[str] """ ID of the invoice rendering template to be used for the generated invoice. """ account_tax_ids: Optional[List[ExpandableField["TaxId"]]] """ The account tax IDs associated with the invoice. """ custom_fields: Optional[List[CustomField]] """ A list of up to 4 custom fields to be displayed on the invoice. """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ footer: Optional[str] """ Footer to be displayed on the invoice. """ issuer: Optional[Issuer] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ 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. """ rendering_options: Optional[RenderingOptions] """ Options for invoice PDF rendering. """ _inner_class_types = { "custom_fields": CustomField, "issuer": Issuer, "rendering_options": RenderingOptions, } enabled: bool """ Enable creating an invoice on successful payment. """ invoice_data: Optional[InvoiceData] """ Configuration for the invoice. Default invoice values will be used if unspecified. """ _inner_class_types = {"invoice_data": InvoiceData} class NameCollection(StripeObject): class Business(StripeObject): enabled: bool """ Indicates whether business name collection is enabled for the payment link. """ optional: bool """ Whether the customer is required to complete the field before checking out. Defaults to `false`. """ class Individual(StripeObject): enabled: bool """ Indicates whether individual name collection is enabled for the payment link. """ optional: bool """ Whether the customer is required to complete the field before checking out. Defaults to `false`. """ business: Optional[Business] individual: Optional[Individual] _inner_class_types = {"business": Business, "individual": Individual} class OptionalItem(StripeObject): class AdjustableQuantity(StripeObject): enabled: bool """ Set to true if the quantity can be adjusted to any non-negative integer. """ maximum: Optional[int] """ The maximum quantity of this item the customer can purchase. By default this value is 99. """ minimum: Optional[int] """ The minimum quantity of this item the customer must purchase, if they choose to purchase it. Because this item is optional, the customer will always be able to remove it from their order, even if the `minimum` configured here is greater than 0. By default this value is 0. """ adjustable_quantity: Optional[AdjustableQuantity] price: str quantity: int _inner_class_types = {"adjustable_quantity": AdjustableQuantity} class PaymentIntentData(StripeObject): capture_method: Optional[ Literal["automatic", "automatic_async", "manual"] ] """ Indicates when the funds will be captured from the customer's account. """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ metadata: Dict[str, str] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on [Payment Intents](https://stripe.com/docs/api/payment_intents) generated from this payment link. """ setup_future_usage: Optional[Literal["off_session", "on_session"]] """ Indicates that you intend to make future payments with the payment method collected during checkout. """ statement_descriptor: Optional[str] """ For a non-card payment, information about the charge that appears on the customer's statement when this payment succeeds in creating a charge. """ statement_descriptor_suffix: Optional[str] """ For a card payment, information about the charge that appears on the customer's statement when this payment succeeds in creating a charge. Concatenated with the account's statement descriptor prefix to form the complete statement descriptor. """ transfer_group: Optional[str] """ A string that identifies the resulting payment as part of a group. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers) for details. """ class PhoneNumberCollection(StripeObject): enabled: bool """ If `true`, a phone number will be collected during checkout. """ class Restrictions(StripeObject): class CompletedSessions(StripeObject): count: int """ The current number of checkout sessions that have been completed on the payment link which count towards the `completed_sessions` restriction to be met. """ limit: int """ The maximum number of checkout sessions that can be completed for the `completed_sessions` restriction to be met. """ completed_sessions: CompletedSessions _inner_class_types = {"completed_sessions": CompletedSessions} class ShippingAddressCollection(StripeObject): allowed_countries: List[ Literal[ "AC", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CV", "CW", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MK", "ML", "MM", "MN", "MO", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SZ", "TA", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VN", "VU", "WF", "WS", "XK", "YE", "YT", "ZA", "ZM", "ZW", "ZZ", ] ] """ An array of two-letter ISO country codes representing which countries Checkout should provide as options for shipping locations. Unsupported country codes: `AS, CX, CC, CU, HM, IR, KP, MH, FM, NF, MP, PW, SD, SY, UM, VI`. """ class ShippingOption(StripeObject): shipping_amount: int """ A non-negative integer in cents representing how much to charge. """ shipping_rate: ExpandableField["ShippingRate"] """ The ID of the Shipping Rate to use for this shipping option. """ class SubscriptionData(StripeObject): class InvoiceSettings(StripeObject): class Issuer(StripeObject): account: Optional[ExpandableField["Account"]] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced. """ issuer: Issuer _inner_class_types = {"issuer": Issuer} class TrialSettings(StripeObject): class EndBehavior(StripeObject): missing_payment_method: Literal[ "cancel", "create_invoice", "pause" ] """ Indicates how the subscription should change when the trial ends if the user did not provide a payment method. """ end_behavior: EndBehavior """ Defines how a subscription behaves when a free trial ends. """ _inner_class_types = {"end_behavior": EndBehavior} description: Optional[str] """ The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ invoice_settings: InvoiceSettings metadata: Dict[str, str] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on [Subscriptions](https://stripe.com/docs/api/subscriptions) generated from this payment link. """ trial_period_days: Optional[int] """ Integer representing the number of trial period days before the customer is charged for the first time. """ trial_settings: Optional[TrialSettings] """ Settings related to subscription trials. """ _inner_class_types = { "invoice_settings": InvoiceSettings, "trial_settings": TrialSettings, } class TaxIdCollection(StripeObject): enabled: bool """ Indicates whether tax ID collection is enabled for the session. """ required: Literal["if_supported", "never"] class TransferData(StripeObject): amount: Optional[int] """ The amount in cents (or local equivalent) that will be transferred to the destination account. By default, the entire amount is transferred to the destination. """ destination: ExpandableField["Account"] """ The connected account receiving the transfer. """ active: bool """ Whether the payment link's `url` is active. If `false`, customers visiting the URL will be shown a page saying that the link has been deactivated. """ after_completion: AfterCompletion allow_promotion_codes: bool """ Whether user redeemable promotion codes are enabled. """ application: Optional[ExpandableField["Application"]] """ The ID of the Connect application that created the Payment Link. """ application_fee_amount: Optional[int] """ The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. """ application_fee_percent: Optional[float] """ This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. """ automatic_tax: AutomaticTax billing_address_collection: Literal["auto", "required"] """ Configuration for collecting the customer's billing address. Defaults to `auto`. """ consent_collection: Optional[ConsentCollection] """ When set, provides configuration to gather active consent from customers. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ custom_fields: List[CustomField] """ Collect additional information from your customer using custom fields. Up to 3 fields are supported. """ custom_text: CustomText customer_creation: Literal["always", "if_required"] """ Configuration for Customer creation during checkout. """ id: str """ Unique identifier for the object. """ inactive_message: Optional[str] """ The custom message to be displayed to a customer when a payment link is no longer active. """ invoice_creation: Optional[InvoiceCreation] """ Configuration for creating invoice for payment mode payment links. """ line_items: Optional[ListObject["LineItem"]] """ The line items representing what is being sold. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ name_collection: Optional[NameCollection] object: Literal["payment_link"] """ String representing the object's type. Objects of the same type share the same value. """ on_behalf_of: Optional[ExpandableField["Account"]] """ The account on behalf of which to charge. See the [Connect documentation](https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts) for details. """ optional_items: Optional[List[OptionalItem]] """ The optional items presented to the customer at checkout. """ payment_intent_data: Optional[PaymentIntentData] """ Indicates the parameters to be passed to PaymentIntent creation during checkout. """ payment_method_collection: Literal["always", "if_required"] """ Configuration for collecting a payment method during checkout. Defaults to `always`. """ payment_method_types: Optional[ List[ Literal[ "affirm", "afterpay_clearpay", "alipay", "alma", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "card", "cashapp", "eps", "fpx", "giropay", "grabpay", "ideal", "klarna", "konbini", "link", "mb_way", "mobilepay", "multibanco", "oxxo", "p24", "pay_by_bank", "paynow", "paypal", "pix", "promptpay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] ] ] """ The list of payment method types that customers can use. When `null`, Stripe will dynamically show relevant payment methods you've enabled in your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). """ phone_number_collection: PhoneNumberCollection restrictions: Optional[Restrictions] """ Settings that restrict the usage of a payment link. """ shipping_address_collection: Optional[ShippingAddressCollection] """ Configuration for collecting the customer's shipping address. """ shipping_options: List[ShippingOption] """ The shipping rate options applied to the session. """ submit_type: Literal["auto", "book", "donate", "pay", "subscribe"] """ Indicates the type of transaction being performed which customizes relevant text on the page, such as the submit button. """ subscription_data: Optional[SubscriptionData] """ When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use `subscription_data`. """ tax_id_collection: TaxIdCollection transfer_data: Optional[TransferData] """ The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to. """ url: str """ The public URL that can be shared with customers. """ @classmethod def create( cls, **params: Unpack["PaymentLinkCreateParams"] ) -> "PaymentLink": """ Creates a payment link. """ return cast( "PaymentLink", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["PaymentLinkCreateParams"] ) -> "PaymentLink": """ Creates a payment link. """ return cast( "PaymentLink", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["PaymentLinkListParams"] ) -> ListObject["PaymentLink"]: """ Returns a list of your payment links. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["PaymentLinkListParams"] ) -> ListObject["PaymentLink"]: """ Returns a list of your payment links. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def _cls_list_line_items( cls, payment_link: str, **params: Unpack["PaymentLinkListLineItemsParams"], ) -> ListObject["LineItem"]: """ When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["LineItem"], cls._static_request( "get", "/v1/payment_links/{payment_link}/line_items".format( payment_link=sanitize_id(payment_link) ), params=params, ), ) @overload @staticmethod def list_line_items( payment_link: str, **params: Unpack["PaymentLinkListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ ... @overload def list_line_items( self, **params: Unpack["PaymentLinkListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ ... @class_method_variant("_cls_list_line_items") def list_line_items( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentLinkListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["LineItem"], self._request( "get", "/v1/payment_links/{payment_link}/line_items".format( payment_link=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_list_line_items_async( cls, payment_link: str, **params: Unpack["PaymentLinkListLineItemsParams"], ) -> ListObject["LineItem"]: """ When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["LineItem"], await cls._static_request_async( "get", "/v1/payment_links/{payment_link}/line_items".format( payment_link=sanitize_id(payment_link) ), params=params, ), ) @overload @staticmethod async def list_line_items_async( payment_link: str, **params: Unpack["PaymentLinkListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ ... @overload async def list_line_items_async( self, **params: Unpack["PaymentLinkListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ ... @class_method_variant("_cls_list_line_items_async") async def list_line_items_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentLinkListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["LineItem"], await self._request_async( "get", "/v1/payment_links/{payment_link}/line_items".format( payment_link=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def modify( cls, id: str, **params: Unpack["PaymentLinkModifyParams"] ) -> "PaymentLink": """ Updates a payment link. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "PaymentLink", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["PaymentLinkModifyParams"] ) -> "PaymentLink": """ Updates a payment link. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "PaymentLink", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["PaymentLinkRetrieveParams"] ) -> "PaymentLink": """ Retrieve a payment link. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["PaymentLinkRetrieveParams"] ) -> "PaymentLink": """ Retrieve a payment link. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "after_completion": AfterCompletion, "automatic_tax": AutomaticTax, "consent_collection": ConsentCollection, "custom_fields": CustomField, "custom_text": CustomText, "invoice_creation": InvoiceCreation, "name_collection": NameCollection, "optional_items": OptionalItem, "payment_intent_data": PaymentIntentData, "phone_number_collection": PhoneNumberCollection, "restrictions": Restrictions, "shipping_address_collection": ShippingAddressCollection, "shipping_options": ShippingOption, "subscription_data": SubscriptionData, "tax_id_collection": TaxIdCollection, "transfer_data": TransferData, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3270621 stripe-13.2.0/stripe/_payment_link_line_item_service.py0000644000000000000000000000426215102753431020314 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._line_item import LineItem from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._payment_link_line_item_list_params import ( PaymentLinkLineItemListParams, ) class PaymentLinkLineItemService(StripeService): def list( self, payment_link: str, params: Optional["PaymentLinkLineItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[LineItem]": """ When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( "ListObject[LineItem]", self._request( "get", "/v1/payment_links/{payment_link}/line_items".format( payment_link=sanitize_id(payment_link), ), base_address="api", params=params, options=options, ), ) async def list_async( self, payment_link: str, params: Optional["PaymentLinkLineItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[LineItem]": """ When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( "ListObject[LineItem]", await self._request_async( "get", "/v1/payment_links/{payment_link}/line_items".format( payment_link=sanitize_id(payment_link), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3270621 stripe-13.2.0/stripe/_payment_link_service.py0000644000000000000000000001403515102753431016266 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._payment_link import PaymentLink from stripe._payment_link_line_item_service import ( PaymentLinkLineItemService, ) from stripe._request_options import RequestOptions from stripe.params._payment_link_create_params import ( PaymentLinkCreateParams, ) from stripe.params._payment_link_list_params import PaymentLinkListParams from stripe.params._payment_link_retrieve_params import ( PaymentLinkRetrieveParams, ) from stripe.params._payment_link_update_params import ( PaymentLinkUpdateParams, ) _subservices = { "line_items": [ "stripe._payment_link_line_item_service", "PaymentLinkLineItemService", ], } class PaymentLinkService(StripeService): line_items: "PaymentLinkLineItemService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def list( self, params: Optional["PaymentLinkListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentLink]": """ Returns a list of your payment links. """ return cast( "ListObject[PaymentLink]", self._request( "get", "/v1/payment_links", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["PaymentLinkListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentLink]": """ Returns a list of your payment links. """ return cast( "ListObject[PaymentLink]", await self._request_async( "get", "/v1/payment_links", base_address="api", params=params, options=options, ), ) def create( self, params: "PaymentLinkCreateParams", options: Optional["RequestOptions"] = None, ) -> "PaymentLink": """ Creates a payment link. """ return cast( "PaymentLink", self._request( "post", "/v1/payment_links", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "PaymentLinkCreateParams", options: Optional["RequestOptions"] = None, ) -> "PaymentLink": """ Creates a payment link. """ return cast( "PaymentLink", await self._request_async( "post", "/v1/payment_links", base_address="api", params=params, options=options, ), ) def retrieve( self, payment_link: str, params: Optional["PaymentLinkRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentLink": """ Retrieve a payment link. """ return cast( "PaymentLink", self._request( "get", "/v1/payment_links/{payment_link}".format( payment_link=sanitize_id(payment_link), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, payment_link: str, params: Optional["PaymentLinkRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentLink": """ Retrieve a payment link. """ return cast( "PaymentLink", await self._request_async( "get", "/v1/payment_links/{payment_link}".format( payment_link=sanitize_id(payment_link), ), base_address="api", params=params, options=options, ), ) def update( self, payment_link: str, params: Optional["PaymentLinkUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentLink": """ Updates a payment link. """ return cast( "PaymentLink", self._request( "post", "/v1/payment_links/{payment_link}".format( payment_link=sanitize_id(payment_link), ), base_address="api", params=params, options=options, ), ) async def update_async( self, payment_link: str, params: Optional["PaymentLinkUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentLink": """ Updates a payment link. """ return cast( "PaymentLink", await self._request_async( "post", "/v1/payment_links/{payment_link}".format( payment_link=sanitize_id(payment_link), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3270621 stripe-13.2.0/stripe/_payment_method.py0000644000000000000000000024205215102753431015073 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._charge import Charge from stripe._customer import Customer from stripe._setup_attempt import SetupAttempt from stripe.params._payment_method_attach_params import ( PaymentMethodAttachParams, ) from stripe.params._payment_method_create_params import ( PaymentMethodCreateParams, ) from stripe.params._payment_method_detach_params import ( PaymentMethodDetachParams, ) from stripe.params._payment_method_list_params import ( PaymentMethodListParams, ) from stripe.params._payment_method_modify_params import ( PaymentMethodModifyParams, ) from stripe.params._payment_method_retrieve_params import ( PaymentMethodRetrieveParams, ) class PaymentMethod( CreateableAPIResource["PaymentMethod"], ListableAPIResource["PaymentMethod"], UpdateableAPIResource["PaymentMethod"], ): """ PaymentMethod objects represent your customer's payment instruments. You can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to Customer objects to store instrument details for future payments. Related guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios). """ OBJECT_NAME: ClassVar[Literal["payment_method"]] = "payment_method" class AcssDebit(StripeObject): bank_name: Optional[str] """ Name of the bank associated with the bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ institution_number: Optional[str] """ Institution number of the bank account. """ last4: Optional[str] """ Last four digits of the bank account number. """ transit_number: Optional[str] """ Transit number of the bank account. """ class Affirm(StripeObject): pass class AfterpayClearpay(StripeObject): pass class Alipay(StripeObject): pass class Alma(StripeObject): pass class AmazonPay(StripeObject): pass class AuBecsDebit(StripeObject): bsb_number: Optional[str] """ Six-digit number identifying bank and branch associated with this bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ class BacsDebit(StripeObject): fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ sort_code: Optional[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class Bancontact(StripeObject): pass class Billie(StripeObject): pass class BillingDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Optional[Address] """ Billing address. """ email: Optional[str] """ Email address. """ name: Optional[str] """ Full name. """ phone: Optional[str] """ Billing phone number (including extension). """ tax_id: Optional[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ _inner_class_types = {"address": Address} class Blik(StripeObject): pass class Boleto(StripeObject): tax_id: str """ Uniquely identifies the customer tax id (CNPJ or CPF) """ class Card(StripeObject): class Checks(StripeObject): address_line1_check: Optional[str] """ If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. """ address_postal_code_check: Optional[str] """ If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. """ cvc_check: Optional[str] """ If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. """ class GeneratedFrom(StripeObject): class PaymentMethodDetails(StripeObject): class CardPresent(StripeObject): class Offline(StripeObject): stored_at: Optional[int] """ Time at which the payment was collected while offline """ type: Optional[Literal["deferred"]] """ The method used to process this payment method offline. Only deferred is allowed. """ class Receipt(StripeObject): account_type: Optional[ Literal["checking", "credit", "prepaid", "unknown"] ] """ The type of account being debited or credited """ application_cryptogram: Optional[str] """ The Application Cryptogram, a unique value generated by the card to authenticate the transaction with issuers. """ application_preferred_name: Optional[str] """ The Application Identifier (AID) on the card used to determine which networks are eligible to process the transaction. Referenced from EMV tag 9F12, data encoded on the card's chip. """ authorization_code: Optional[str] """ Identifier for this transaction. """ authorization_response_code: Optional[str] """ EMV tag 8A. A code returned by the card issuer. """ cardholder_verification_method: Optional[str] """ Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`. """ dedicated_file_name: Optional[str] """ Similar to the application_preferred_name, identifying the applications (AIDs) available on the card. Referenced from EMV tag 84. """ terminal_verification_results: Optional[str] """ A 5-byte string that records the checks and validations that occur between the card and the terminal. These checks determine how the terminal processes the transaction and what risk tolerance is acceptable. Referenced from EMV Tag 95. """ transaction_status_information: Optional[str] """ An indication of which steps were completed during the card read process. Referenced from EMV Tag 9B. """ class Wallet(StripeObject): type: Literal[ "apple_pay", "google_pay", "samsung_pay", "unknown" ] """ The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`. """ amount_authorized: Optional[int] """ The authorized amount """ brand: Optional[str] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ brand_product: Optional[str] """ The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card. """ capture_before: Optional[int] """ When using manual capture, a future timestamp after which the charge will be automatically refunded if uncaptured. """ cardholder_name: Optional[str] """ The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ emv_auth_data: Optional[str] """ Authorization response cryptogram. """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ generated_card: Optional[str] """ ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ incremental_authorization_supported: bool """ Whether this [PaymentIntent](https://stripe.com/docs/api/payment_intents) is eligible for incremental authorizations. Request support using [request_incremental_authorization_support](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method_options-card_present-request_incremental_authorization_support). """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: Optional[str] """ The last four digits of the card. """ network: Optional[str] """ Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`. """ network_transaction_id: Optional[str] """ This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise. """ offline: Optional[Offline] """ Details about payments collected offline. """ overcapture_supported: bool """ Defines whether the authorized amount can be over-captured or not """ preferred_locales: Optional[List[str]] """ The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip. """ read_method: Optional[ Literal[ "contact_emv", "contactless_emv", "contactless_magstripe_mode", "magnetic_stripe_fallback", "magnetic_stripe_track2", ] ] """ How card details were read in this transaction. """ receipt: Optional[Receipt] """ A collection of fields required to be displayed on receipts. Only required for EMV transactions. """ wallet: Optional[Wallet] _inner_class_types = { "offline": Offline, "receipt": Receipt, "wallet": Wallet, } card_present: Optional[CardPresent] type: str """ The type of payment method transaction-specific details from the transaction that generated this `card` payment method. Always `card_present`. """ _inner_class_types = {"card_present": CardPresent} charge: Optional[str] """ The charge that created this object. """ payment_method_details: Optional[PaymentMethodDetails] """ Transaction-specific details of the payment method used in the payment. """ setup_attempt: Optional[ExpandableField["SetupAttempt"]] """ The ID of the SetupAttempt that generated this PaymentMethod, if any. """ _inner_class_types = { "payment_method_details": PaymentMethodDetails, } class Networks(StripeObject): available: List[str] """ All networks available for selection via [payment_method_options.card.network](https://docs.stripe.com/api/payment_intents/confirm#confirm_payment_intent-payment_method_options-card-network). """ preferred: Optional[str] """ The preferred network for co-branded cards. Can be `cartes_bancaires`, `mastercard`, `visa` or `invalid_preference` if requested network is not valid for the card. """ class ThreeDSecureUsage(StripeObject): supported: bool """ Whether 3D Secure is supported on this card. """ class Wallet(StripeObject): class AmexExpressCheckout(StripeObject): pass class ApplePay(StripeObject): pass class GooglePay(StripeObject): pass class Link(StripeObject): pass class Masterpass(StripeObject): class BillingAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class ShippingAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ billing_address: Optional[BillingAddress] """ Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ email: Optional[str] """ Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ name: Optional[str] """ Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ shipping_address: Optional[ShippingAddress] """ Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ _inner_class_types = { "billing_address": BillingAddress, "shipping_address": ShippingAddress, } class SamsungPay(StripeObject): pass class VisaCheckout(StripeObject): class BillingAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class ShippingAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ billing_address: Optional[BillingAddress] """ Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ email: Optional[str] """ Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ name: Optional[str] """ Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ shipping_address: Optional[ShippingAddress] """ Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ _inner_class_types = { "billing_address": BillingAddress, "shipping_address": ShippingAddress, } amex_express_checkout: Optional[AmexExpressCheckout] apple_pay: Optional[ApplePay] dynamic_last4: Optional[str] """ (For tokenized numbers only.) The last four digits of the device account number. """ google_pay: Optional[GooglePay] link: Optional[Link] masterpass: Optional[Masterpass] samsung_pay: Optional[SamsungPay] type: Literal[ "amex_express_checkout", "apple_pay", "google_pay", "link", "masterpass", "samsung_pay", "visa_checkout", ] """ The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, `visa_checkout`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. """ visa_checkout: Optional[VisaCheckout] _inner_class_types = { "amex_express_checkout": AmexExpressCheckout, "apple_pay": ApplePay, "google_pay": GooglePay, "link": Link, "masterpass": Masterpass, "samsung_pay": SamsungPay, "visa_checkout": VisaCheckout, } brand: str """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ checks: Optional[Checks] """ Checks on Card address and CVC if provided. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ display_brand: Optional[str] """ The brand to use when displaying the card, this accounts for customer's brand choice on dual-branded cards. Can be `american_express`, `cartes_bancaires`, `diners_club`, `discover`, `eftpos_australia`, `interac`, `jcb`, `mastercard`, `union_pay`, `visa`, or `other` and may contain more values in the future. """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: str """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ generated_from: Optional[GeneratedFrom] """ Details of the original PaymentMethod that created this object. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: str """ The last four digits of the card. """ networks: Optional[Networks] """ Contains information about card networks that can be used to process the payment. """ regulated_status: Optional[Literal["regulated", "unregulated"]] """ Status of a card based on the card issuer. """ three_d_secure_usage: Optional[ThreeDSecureUsage] """ Contains details on how this Card may be used for 3D Secure authentication. """ wallet: Optional[Wallet] """ If this Card is part of a card wallet, this contains the details of the card wallet. """ _inner_class_types = { "checks": Checks, "generated_from": GeneratedFrom, "networks": Networks, "three_d_secure_usage": ThreeDSecureUsage, "wallet": Wallet, } class CardPresent(StripeObject): class Networks(StripeObject): available: List[str] """ All networks available for selection via [payment_method_options.card.network](https://docs.stripe.com/api/payment_intents/confirm#confirm_payment_intent-payment_method_options-card-network). """ preferred: Optional[str] """ The preferred network for the card. """ class Offline(StripeObject): stored_at: Optional[int] """ Time at which the payment was collected while offline """ type: Optional[Literal["deferred"]] """ The method used to process this payment method offline. Only deferred is allowed. """ class Wallet(StripeObject): type: Literal["apple_pay", "google_pay", "samsung_pay", "unknown"] """ The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`. """ brand: Optional[str] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ brand_product: Optional[str] """ The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card. """ cardholder_name: Optional[str] """ The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: Optional[str] """ The last four digits of the card. """ networks: Optional[Networks] """ Contains information about card networks that can be used to process the payment. """ offline: Optional[Offline] """ Details about payment methods collected offline. """ preferred_locales: Optional[List[str]] """ The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip. """ read_method: Optional[ Literal[ "contact_emv", "contactless_emv", "contactless_magstripe_mode", "magnetic_stripe_fallback", "magnetic_stripe_track2", ] ] """ How card details were read in this transaction. """ wallet: Optional[Wallet] _inner_class_types = { "networks": Networks, "offline": Offline, "wallet": Wallet, } class Cashapp(StripeObject): buyer_id: Optional[str] """ A unique and immutable identifier assigned by Cash App to every buyer. """ cashtag: Optional[str] """ A public identifier for buyers using Cash App. """ class Crypto(StripeObject): pass class Custom(StripeObject): class Logo(StripeObject): content_type: Optional[str] """ Content type of the Dashboard-only CustomPaymentMethodType logo. """ url: str """ URL of the Dashboard-only CustomPaymentMethodType logo. """ display_name: Optional[str] """ Display name of the Dashboard-only CustomPaymentMethodType. """ logo: Optional[Logo] """ Contains information about the Dashboard-only CustomPaymentMethodType logo. """ type: str """ ID of the Dashboard-only CustomPaymentMethodType. Not expandable. """ _inner_class_types = {"logo": Logo} class CustomerBalance(StripeObject): pass class Eps(StripeObject): bank: Optional[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`. """ class Fpx(StripeObject): account_holder_type: Optional[Literal["company", "individual"]] """ Account holder type, if provided. Can be one of `individual` or `company`. """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank, if provided. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`. """ class Giropay(StripeObject): pass class Grabpay(StripeObject): pass class Ideal(StripeObject): bank: Optional[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank, if provided. Can be one of `abn_amro`, `asn_bank`, `bunq`, `buut`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`. """ bic: Optional[ Literal[ "ABNANL2A", "ASNBNL21", "BITSNL2A", "BUNQNL2A", "BUUTNL2A", "FVLBNL22", "HANDNL2A", "INGBNL2A", "KNABNL2H", "MOYONL21", "NNBANL2G", "NTSBDEB1", "RABONL2U", "RBRBNL21", "REVOIE23", "REVOLT21", "SNSBNL2A", "TRIONL2U", ] ] """ The Bank Identifier Code of the customer's bank, if the bank was provided. """ class InteracPresent(StripeObject): class Networks(StripeObject): available: List[str] """ All networks available for selection via [payment_method_options.card.network](https://docs.stripe.com/api/payment_intents/confirm#confirm_payment_intent-payment_method_options-card-network). """ preferred: Optional[str] """ The preferred network for the card. """ brand: Optional[str] """ Card brand. Can be `interac`, `mastercard` or `visa`. """ cardholder_name: Optional[str] """ The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: Optional[str] """ The last four digits of the card. """ networks: Optional[Networks] """ Contains information about card networks that can be used to process the payment. """ preferred_locales: Optional[List[str]] """ The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip. """ read_method: Optional[ Literal[ "contact_emv", "contactless_emv", "contactless_magstripe_mode", "magnetic_stripe_fallback", "magnetic_stripe_track2", ] ] """ How card details were read in this transaction. """ _inner_class_types = {"networks": Networks} class KakaoPay(StripeObject): pass class Klarna(StripeObject): class Dob(StripeObject): day: Optional[int] """ The day of birth, between 1 and 31. """ month: Optional[int] """ The month of birth, between 1 and 12. """ year: Optional[int] """ The four-digit year of birth. """ dob: Optional[Dob] """ The customer's date of birth, if provided. """ _inner_class_types = {"dob": Dob} class Konbini(StripeObject): pass class KrCard(StripeObject): brand: Optional[ Literal[ "bc", "citi", "hana", "hyundai", "jeju", "jeonbuk", "kakaobank", "kbank", "kdbbank", "kookmin", "kwangju", "lotte", "mg", "nh", "post", "samsung", "savingsbank", "shinhan", "shinhyup", "suhyup", "tossbank", "woori", ] ] """ The local credit or debit card brand. """ last4: Optional[str] """ The last four digits of the card. This may not be present for American Express cards. """ class Link(StripeObject): email: Optional[str] """ Account owner's email address. """ persistent_token: Optional[str] """ [Deprecated] This is a legacy parameter that no longer has any function. """ class MbWay(StripeObject): pass class Mobilepay(StripeObject): pass class Multibanco(StripeObject): pass class NaverPay(StripeObject): buyer_id: Optional[str] """ Uniquely identifies this particular Naver Pay account. You can use this attribute to check whether two Naver Pay accounts are the same. """ funding: Literal["card", "points"] """ Whether to fund this transaction with Naver Pay points or a card. """ class NzBankAccount(StripeObject): account_holder_name: Optional[str] """ The name on the bank account. Only present if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ bank_code: str """ The numeric code for the bank account's bank. """ bank_name: str """ The name of the bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ last4: str """ Last four digits of the bank account number. """ suffix: Optional[str] """ The suffix of the bank account number. """ class Oxxo(StripeObject): pass class P24(StripeObject): bank: Optional[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank, if provided. """ class PayByBank(StripeObject): pass class Payco(StripeObject): pass class Paynow(StripeObject): pass class Paypal(StripeObject): country: Optional[str] """ Two-letter ISO code representing the buyer's country. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ payer_email: Optional[str] """ Owner's email. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ payer_id: Optional[str] """ PayPal account PayerID. This identifier uniquely identifies the PayPal customer. """ class Pix(StripeObject): pass class Promptpay(StripeObject): pass class RadarOptions(StripeObject): session: Optional[str] """ 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. """ class RevolutPay(StripeObject): pass class SamsungPay(StripeObject): pass class Satispay(StripeObject): pass class SepaDebit(StripeObject): class GeneratedFrom(StripeObject): charge: Optional[ExpandableField["Charge"]] """ The ID of the Charge that generated this PaymentMethod, if any. """ setup_attempt: Optional[ExpandableField["SetupAttempt"]] """ The ID of the SetupAttempt that generated this PaymentMethod, if any. """ bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ branch_code: Optional[str] """ Branch code of bank associated with the bank account. """ country: Optional[str] """ Two-letter ISO code representing the country the bank account is located in. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ generated_from: Optional[GeneratedFrom] """ Information about the object that generated this PaymentMethod. """ last4: Optional[str] """ Last four characters of the IBAN. """ _inner_class_types = {"generated_from": GeneratedFrom} class Sofort(StripeObject): country: Optional[str] """ Two-letter ISO code representing the country the bank account is located in. """ class Swish(StripeObject): pass class Twint(StripeObject): pass class UsBankAccount(StripeObject): class Networks(StripeObject): preferred: Optional[str] """ The preferred network. """ supported: List[Literal["ach", "us_domestic_wire"]] """ All supported networks. """ class StatusDetails(StripeObject): class Blocked(StripeObject): network_code: Optional[ Literal[ "R02", "R03", "R04", "R05", "R07", "R08", "R10", "R11", "R16", "R20", "R29", "R31", ] ] """ The ACH network code that resulted in this block. """ reason: Optional[ Literal[ "bank_account_closed", "bank_account_frozen", "bank_account_invalid_details", "bank_account_restricted", "bank_account_unusable", "debit_not_authorized", ] ] """ The reason why this PaymentMethod's fingerprint has been blocked """ blocked: Optional[Blocked] _inner_class_types = {"blocked": Blocked} account_holder_type: Optional[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_type: Optional[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ bank_name: Optional[str] """ The name of the bank. """ financial_connections_account: Optional[str] """ The ID of the Financial Connections Account used to create the payment method. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ networks: Optional[Networks] """ Contains information about US bank account networks that can be used. """ routing_number: Optional[str] """ Routing number of the bank account. """ status_details: Optional[StatusDetails] """ Contains information about the future reusability of this PaymentMethod. """ _inner_class_types = { "networks": Networks, "status_details": StatusDetails, } class WechatPay(StripeObject): pass class Zip(StripeObject): pass acss_debit: Optional[AcssDebit] affirm: Optional[Affirm] afterpay_clearpay: Optional[AfterpayClearpay] alipay: Optional[Alipay] allow_redisplay: Optional[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”. """ alma: Optional[Alma] amazon_pay: Optional[AmazonPay] au_becs_debit: Optional[AuBecsDebit] bacs_debit: Optional[BacsDebit] bancontact: Optional[Bancontact] billie: Optional[Billie] billing_details: BillingDetails blik: Optional[Blik] boleto: Optional[Boleto] card: Optional[Card] card_present: Optional[CardPresent] cashapp: Optional[Cashapp] created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ crypto: Optional[Crypto] custom: Optional[Custom] customer: Optional[ExpandableField["Customer"]] """ The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer. """ customer_balance: Optional[CustomerBalance] eps: Optional[Eps] fpx: Optional[Fpx] giropay: Optional[Giropay] grabpay: Optional[Grabpay] id: str """ Unique identifier for the object. """ ideal: Optional[Ideal] interac_present: Optional[InteracPresent] kakao_pay: Optional[KakaoPay] klarna: Optional[Klarna] konbini: Optional[Konbini] kr_card: Optional[KrCard] link: Optional[Link] livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ mb_way: Optional[MbWay] 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. """ mobilepay: Optional[Mobilepay] multibanco: Optional[Multibanco] naver_pay: Optional[NaverPay] nz_bank_account: Optional[NzBankAccount] object: Literal["payment_method"] """ String representing the object's type. Objects of the same type share the same value. """ oxxo: Optional[Oxxo] p24: Optional[P24] pay_by_bank: Optional[PayByBank] payco: Optional[Payco] paynow: Optional[Paynow] paypal: Optional[Paypal] pix: Optional[Pix] promptpay: Optional[Promptpay] radar_options: Optional[RadarOptions] """ Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. """ revolut_pay: Optional[RevolutPay] samsung_pay: Optional[SamsungPay] satispay: Optional[Satispay] sepa_debit: Optional[SepaDebit] sofort: Optional[Sofort] swish: Optional[Swish] twint: Optional[Twint] type: Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "card", "card_present", "cashapp", "crypto", "custom", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "interac_present", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] """ 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. """ us_bank_account: Optional[UsBankAccount] wechat_pay: Optional[WechatPay] zip: Optional[Zip] @classmethod def _cls_attach( cls, payment_method: str, **params: Unpack["PaymentMethodAttachParams"] ) -> "PaymentMethod": """ Attaches a PaymentMethod object to a Customer. To attach a new PaymentMethod to a customer for future payments, we recommend you use a [SetupIntent](https://docs.stripe.com/docs/api/setup_intents) or a PaymentIntent with [setup_future_usage](https://docs.stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage). These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for future use, which makes later declines and payment friction more likely. See [Optimizing cards for future payments](https://docs.stripe.com/docs/payments/payment-intents#future-usage) for more information about setting up future payments. To use this PaymentMethod as the default for invoice or subscription payments, set [invoice_settings.default_payment_method](https://docs.stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method), on the Customer to the PaymentMethod's ID. """ return cast( "PaymentMethod", cls._static_request( "post", "/v1/payment_methods/{payment_method}/attach".format( payment_method=sanitize_id(payment_method) ), params=params, ), ) @overload @staticmethod def attach( payment_method: str, **params: Unpack["PaymentMethodAttachParams"] ) -> "PaymentMethod": """ Attaches a PaymentMethod object to a Customer. To attach a new PaymentMethod to a customer for future payments, we recommend you use a [SetupIntent](https://docs.stripe.com/docs/api/setup_intents) or a PaymentIntent with [setup_future_usage](https://docs.stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage). These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for future use, which makes later declines and payment friction more likely. See [Optimizing cards for future payments](https://docs.stripe.com/docs/payments/payment-intents#future-usage) for more information about setting up future payments. To use this PaymentMethod as the default for invoice or subscription payments, set [invoice_settings.default_payment_method](https://docs.stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method), on the Customer to the PaymentMethod's ID. """ ... @overload def attach( self, **params: Unpack["PaymentMethodAttachParams"] ) -> "PaymentMethod": """ Attaches a PaymentMethod object to a Customer. To attach a new PaymentMethod to a customer for future payments, we recommend you use a [SetupIntent](https://docs.stripe.com/docs/api/setup_intents) or a PaymentIntent with [setup_future_usage](https://docs.stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage). These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for future use, which makes later declines and payment friction more likely. See [Optimizing cards for future payments](https://docs.stripe.com/docs/payments/payment-intents#future-usage) for more information about setting up future payments. To use this PaymentMethod as the default for invoice or subscription payments, set [invoice_settings.default_payment_method](https://docs.stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method), on the Customer to the PaymentMethod's ID. """ ... @class_method_variant("_cls_attach") def attach( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentMethodAttachParams"] ) -> "PaymentMethod": """ Attaches a PaymentMethod object to a Customer. To attach a new PaymentMethod to a customer for future payments, we recommend you use a [SetupIntent](https://docs.stripe.com/docs/api/setup_intents) or a PaymentIntent with [setup_future_usage](https://docs.stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage). These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for future use, which makes later declines and payment friction more likely. See [Optimizing cards for future payments](https://docs.stripe.com/docs/payments/payment-intents#future-usage) for more information about setting up future payments. To use this PaymentMethod as the default for invoice or subscription payments, set [invoice_settings.default_payment_method](https://docs.stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method), on the Customer to the PaymentMethod's ID. """ return cast( "PaymentMethod", self._request( "post", "/v1/payment_methods/{payment_method}/attach".format( payment_method=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_attach_async( cls, payment_method: str, **params: Unpack["PaymentMethodAttachParams"] ) -> "PaymentMethod": """ Attaches a PaymentMethod object to a Customer. To attach a new PaymentMethod to a customer for future payments, we recommend you use a [SetupIntent](https://docs.stripe.com/docs/api/setup_intents) or a PaymentIntent with [setup_future_usage](https://docs.stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage). These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for future use, which makes later declines and payment friction more likely. See [Optimizing cards for future payments](https://docs.stripe.com/docs/payments/payment-intents#future-usage) for more information about setting up future payments. To use this PaymentMethod as the default for invoice or subscription payments, set [invoice_settings.default_payment_method](https://docs.stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method), on the Customer to the PaymentMethod's ID. """ return cast( "PaymentMethod", await cls._static_request_async( "post", "/v1/payment_methods/{payment_method}/attach".format( payment_method=sanitize_id(payment_method) ), params=params, ), ) @overload @staticmethod async def attach_async( payment_method: str, **params: Unpack["PaymentMethodAttachParams"] ) -> "PaymentMethod": """ Attaches a PaymentMethod object to a Customer. To attach a new PaymentMethod to a customer for future payments, we recommend you use a [SetupIntent](https://docs.stripe.com/docs/api/setup_intents) or a PaymentIntent with [setup_future_usage](https://docs.stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage). These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for future use, which makes later declines and payment friction more likely. See [Optimizing cards for future payments](https://docs.stripe.com/docs/payments/payment-intents#future-usage) for more information about setting up future payments. To use this PaymentMethod as the default for invoice or subscription payments, set [invoice_settings.default_payment_method](https://docs.stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method), on the Customer to the PaymentMethod's ID. """ ... @overload async def attach_async( self, **params: Unpack["PaymentMethodAttachParams"] ) -> "PaymentMethod": """ Attaches a PaymentMethod object to a Customer. To attach a new PaymentMethod to a customer for future payments, we recommend you use a [SetupIntent](https://docs.stripe.com/docs/api/setup_intents) or a PaymentIntent with [setup_future_usage](https://docs.stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage). These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for future use, which makes later declines and payment friction more likely. See [Optimizing cards for future payments](https://docs.stripe.com/docs/payments/payment-intents#future-usage) for more information about setting up future payments. To use this PaymentMethod as the default for invoice or subscription payments, set [invoice_settings.default_payment_method](https://docs.stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method), on the Customer to the PaymentMethod's ID. """ ... @class_method_variant("_cls_attach_async") async def attach_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentMethodAttachParams"] ) -> "PaymentMethod": """ Attaches a PaymentMethod object to a Customer. To attach a new PaymentMethod to a customer for future payments, we recommend you use a [SetupIntent](https://docs.stripe.com/docs/api/setup_intents) or a PaymentIntent with [setup_future_usage](https://docs.stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage). These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for future use, which makes later declines and payment friction more likely. See [Optimizing cards for future payments](https://docs.stripe.com/docs/payments/payment-intents#future-usage) for more information about setting up future payments. To use this PaymentMethod as the default for invoice or subscription payments, set [invoice_settings.default_payment_method](https://docs.stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method), on the Customer to the PaymentMethod's ID. """ return cast( "PaymentMethod", await self._request_async( "post", "/v1/payment_methods/{payment_method}/attach".format( payment_method=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create( cls, **params: Unpack["PaymentMethodCreateParams"] ) -> "PaymentMethod": """ Creates a PaymentMethod object. Read the [Stripe.js reference](https://docs.stripe.com/docs/stripe-js/reference#stripe-create-payment-method) to learn how to create PaymentMethods via Stripe.js. Instead of creating a PaymentMethod directly, we recommend using the [PaymentIntents API to accept a payment immediately or the SetupIntent](https://docs.stripe.com/docs/payments/accept-a-payment) API to collect payment method details ahead of a future payment. """ return cast( "PaymentMethod", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["PaymentMethodCreateParams"] ) -> "PaymentMethod": """ Creates a PaymentMethod object. Read the [Stripe.js reference](https://docs.stripe.com/docs/stripe-js/reference#stripe-create-payment-method) to learn how to create PaymentMethods via Stripe.js. Instead of creating a PaymentMethod directly, we recommend using the [PaymentIntents API to accept a payment immediately or the SetupIntent](https://docs.stripe.com/docs/payments/accept-a-payment) API to collect payment method details ahead of a future payment. """ return cast( "PaymentMethod", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_detach( cls, payment_method: str, **params: Unpack["PaymentMethodDetachParams"] ) -> "PaymentMethod": """ Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer. """ return cast( "PaymentMethod", cls._static_request( "post", "/v1/payment_methods/{payment_method}/detach".format( payment_method=sanitize_id(payment_method) ), params=params, ), ) @overload @staticmethod def detach( payment_method: str, **params: Unpack["PaymentMethodDetachParams"] ) -> "PaymentMethod": """ Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer. """ ... @overload def detach( self, **params: Unpack["PaymentMethodDetachParams"] ) -> "PaymentMethod": """ Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer. """ ... @class_method_variant("_cls_detach") def detach( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentMethodDetachParams"] ) -> "PaymentMethod": """ Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer. """ return cast( "PaymentMethod", self._request( "post", "/v1/payment_methods/{payment_method}/detach".format( payment_method=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_detach_async( cls, payment_method: str, **params: Unpack["PaymentMethodDetachParams"] ) -> "PaymentMethod": """ Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer. """ return cast( "PaymentMethod", await cls._static_request_async( "post", "/v1/payment_methods/{payment_method}/detach".format( payment_method=sanitize_id(payment_method) ), params=params, ), ) @overload @staticmethod async def detach_async( payment_method: str, **params: Unpack["PaymentMethodDetachParams"] ) -> "PaymentMethod": """ Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer. """ ... @overload async def detach_async( self, **params: Unpack["PaymentMethodDetachParams"] ) -> "PaymentMethod": """ Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer. """ ... @class_method_variant("_cls_detach_async") async def detach_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentMethodDetachParams"] ) -> "PaymentMethod": """ Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer. """ return cast( "PaymentMethod", await self._request_async( "post", "/v1/payment_methods/{payment_method}/detach".format( payment_method=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list( cls, **params: Unpack["PaymentMethodListParams"] ) -> ListObject["PaymentMethod"]: """ Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods attached to a Customer for payments, you should use the [List a Customer's PaymentMethods](https://docs.stripe.com/docs/api/payment_methods/customer_list) API instead. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["PaymentMethodListParams"] ) -> ListObject["PaymentMethod"]: """ Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods attached to a Customer for payments, you should use the [List a Customer's PaymentMethods](https://docs.stripe.com/docs/api/payment_methods/customer_list) API instead. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["PaymentMethodModifyParams"] ) -> "PaymentMethod": """ Updates a PaymentMethod object. A PaymentMethod must be attached to a customer to be updated. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "PaymentMethod", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["PaymentMethodModifyParams"] ) -> "PaymentMethod": """ Updates a PaymentMethod object. A PaymentMethod must be attached to a customer to be updated. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "PaymentMethod", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["PaymentMethodRetrieveParams"] ) -> "PaymentMethod": """ Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method attached to a Customer, you should use [Retrieve a Customer's PaymentMethods](https://docs.stripe.com/docs/api/payment_methods/customer) """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["PaymentMethodRetrieveParams"] ) -> "PaymentMethod": """ Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method attached to a Customer, you should use [Retrieve a Customer's PaymentMethods](https://docs.stripe.com/docs/api/payment_methods/customer) """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "acss_debit": AcssDebit, "affirm": Affirm, "afterpay_clearpay": AfterpayClearpay, "alipay": Alipay, "alma": Alma, "amazon_pay": AmazonPay, "au_becs_debit": AuBecsDebit, "bacs_debit": BacsDebit, "bancontact": Bancontact, "billie": Billie, "billing_details": BillingDetails, "blik": Blik, "boleto": Boleto, "card": Card, "card_present": CardPresent, "cashapp": Cashapp, "crypto": Crypto, "custom": Custom, "customer_balance": CustomerBalance, "eps": Eps, "fpx": Fpx, "giropay": Giropay, "grabpay": Grabpay, "ideal": Ideal, "interac_present": InteracPresent, "kakao_pay": KakaoPay, "klarna": Klarna, "konbini": Konbini, "kr_card": KrCard, "link": Link, "mb_way": MbWay, "mobilepay": Mobilepay, "multibanco": Multibanco, "naver_pay": NaverPay, "nz_bank_account": NzBankAccount, "oxxo": Oxxo, "p24": P24, "pay_by_bank": PayByBank, "payco": Payco, "paynow": Paynow, "paypal": Paypal, "pix": Pix, "promptpay": Promptpay, "radar_options": RadarOptions, "revolut_pay": RevolutPay, "samsung_pay": SamsungPay, "satispay": Satispay, "sepa_debit": SepaDebit, "sofort": Sofort, "swish": Swish, "twint": Twint, "us_bank_account": UsBankAccount, "wechat_pay": WechatPay, "zip": Zip, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3270621 stripe-13.2.0/stripe/_payment_method_configuration.py0000644000000000000000000015666615102753431020041 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._payment_method_configuration_create_params import ( PaymentMethodConfigurationCreateParams, ) from stripe.params._payment_method_configuration_list_params import ( PaymentMethodConfigurationListParams, ) from stripe.params._payment_method_configuration_modify_params import ( PaymentMethodConfigurationModifyParams, ) from stripe.params._payment_method_configuration_retrieve_params import ( PaymentMethodConfigurationRetrieveParams, ) class PaymentMethodConfiguration( CreateableAPIResource["PaymentMethodConfiguration"], ListableAPIResource["PaymentMethodConfiguration"], UpdateableAPIResource["PaymentMethodConfiguration"], ): """ 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. There are two types of PaymentMethodConfigurations. Which is used depends on the [charge type](https://stripe.com/docs/connect/charges): **Direct** configurations apply to payments created on your account, including Connect destination charges, Connect separate charges and transfers, and payments not involving Connect. **Child** configurations apply to payments created on your connected accounts using direct charges, and charges with the on_behalf_of parameter. Child configurations have a `parent` that sets default values and controls which settings connected accounts may override. You can specify a parent ID at payment time, and Stripe will automatically resolve the connected account's associated child configuration. Parent configurations are [managed in the dashboard](https://dashboard.stripe.com/settings/payment_methods/connected_accounts) and are not available in this API. Related guides: - [Payment Method Configurations API](https://stripe.com/docs/connect/payment-method-configurations) - [Multiple configurations on dynamic payment methods](https://stripe.com/docs/payments/multiple-payment-method-configs) - [Multiple configurations for your Connect accounts](https://stripe.com/docs/connect/multiple-payment-method-configurations) """ OBJECT_NAME: ClassVar[Literal["payment_method_configuration"]] = ( "payment_method_configuration" ) class AcssDebit(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Affirm(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class AfterpayClearpay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Alipay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Alma(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class AmazonPay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class ApplePay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class AuBecsDebit(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class BacsDebit(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Bancontact(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Billie(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Blik(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Boleto(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Card(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class CartesBancaires(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Cashapp(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Crypto(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class CustomerBalance(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Eps(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Fpx(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Giropay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class GooglePay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Grabpay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Ideal(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Jcb(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class KakaoPay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Klarna(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Konbini(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class KrCard(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Link(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class MbWay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Mobilepay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Multibanco(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class NaverPay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class NzBankAccount(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Oxxo(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class P24(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class PayByBank(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Payco(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Paynow(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Paypal(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Pix(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Promptpay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class RevolutPay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class SamsungPay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Satispay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class SepaDebit(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Sofort(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Swish(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Twint(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class UsBankAccount(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class WechatPay(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} class Zip(StripeObject): class DisplayPreference(StripeObject): overridable: Optional[bool] """ For child configs, whether or not the account's preference will be observed. If `false`, the parent configuration's default is used. """ preference: Literal["none", "off", "on"] """ The account's display preference. """ value: Literal["off", "on"] """ The effective display preference value. """ available: bool """ Whether this payment method may be offered at checkout. True if `display_preference` is `on` and the payment method's capability is active. """ display_preference: DisplayPreference _inner_class_types = {"display_preference": DisplayPreference} acss_debit: Optional[AcssDebit] active: bool """ Whether the configuration can be used for new payments. """ affirm: Optional[Affirm] afterpay_clearpay: Optional[AfterpayClearpay] alipay: Optional[Alipay] alma: Optional[Alma] amazon_pay: Optional[AmazonPay] apple_pay: Optional[ApplePay] application: Optional[str] """ For child configs, the Connect application associated with the configuration. """ au_becs_debit: Optional[AuBecsDebit] bacs_debit: Optional[BacsDebit] bancontact: Optional[Bancontact] billie: Optional[Billie] blik: Optional[Blik] boleto: Optional[Boleto] card: Optional[Card] cartes_bancaires: Optional[CartesBancaires] cashapp: Optional[Cashapp] crypto: Optional[Crypto] customer_balance: Optional[CustomerBalance] eps: Optional[Eps] fpx: Optional[Fpx] giropay: Optional[Giropay] google_pay: Optional[GooglePay] grabpay: Optional[Grabpay] id: str """ Unique identifier for the object. """ ideal: Optional[Ideal] is_default: bool """ The default configuration is used whenever a payment method configuration is not specified. """ jcb: Optional[Jcb] kakao_pay: Optional[KakaoPay] klarna: Optional[Klarna] konbini: Optional[Konbini] kr_card: Optional[KrCard] link: Optional[Link] livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ mb_way: Optional[MbWay] mobilepay: Optional[Mobilepay] multibanco: Optional[Multibanco] name: str """ The configuration's name. """ naver_pay: Optional[NaverPay] nz_bank_account: Optional[NzBankAccount] object: Literal["payment_method_configuration"] """ String representing the object's type. Objects of the same type share the same value. """ oxxo: Optional[Oxxo] p24: Optional[P24] parent: Optional[str] """ For child configs, the configuration's parent configuration. """ pay_by_bank: Optional[PayByBank] payco: Optional[Payco] paynow: Optional[Paynow] paypal: Optional[Paypal] pix: Optional[Pix] promptpay: Optional[Promptpay] revolut_pay: Optional[RevolutPay] samsung_pay: Optional[SamsungPay] satispay: Optional[Satispay] sepa_debit: Optional[SepaDebit] sofort: Optional[Sofort] swish: Optional[Swish] twint: Optional[Twint] us_bank_account: Optional[UsBankAccount] wechat_pay: Optional[WechatPay] zip: Optional[Zip] @classmethod def create( cls, **params: Unpack["PaymentMethodConfigurationCreateParams"] ) -> "PaymentMethodConfiguration": """ Creates a payment method configuration """ return cast( "PaymentMethodConfiguration", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["PaymentMethodConfigurationCreateParams"] ) -> "PaymentMethodConfiguration": """ Creates a payment method configuration """ return cast( "PaymentMethodConfiguration", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["PaymentMethodConfigurationListParams"] ) -> ListObject["PaymentMethodConfiguration"]: """ List payment method configurations """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["PaymentMethodConfigurationListParams"] ) -> ListObject["PaymentMethodConfiguration"]: """ List payment method configurations """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["PaymentMethodConfigurationModifyParams"], ) -> "PaymentMethodConfiguration": """ Update payment method configuration """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "PaymentMethodConfiguration", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["PaymentMethodConfigurationModifyParams"], ) -> "PaymentMethodConfiguration": """ Update payment method configuration """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "PaymentMethodConfiguration", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["PaymentMethodConfigurationRetrieveParams"], ) -> "PaymentMethodConfiguration": """ Retrieve payment method configuration """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["PaymentMethodConfigurationRetrieveParams"], ) -> "PaymentMethodConfiguration": """ Retrieve payment method configuration """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "acss_debit": AcssDebit, "affirm": Affirm, "afterpay_clearpay": AfterpayClearpay, "alipay": Alipay, "alma": Alma, "amazon_pay": AmazonPay, "apple_pay": ApplePay, "au_becs_debit": AuBecsDebit, "bacs_debit": BacsDebit, "bancontact": Bancontact, "billie": Billie, "blik": Blik, "boleto": Boleto, "card": Card, "cartes_bancaires": CartesBancaires, "cashapp": Cashapp, "crypto": Crypto, "customer_balance": CustomerBalance, "eps": Eps, "fpx": Fpx, "giropay": Giropay, "google_pay": GooglePay, "grabpay": Grabpay, "ideal": Ideal, "jcb": Jcb, "kakao_pay": KakaoPay, "klarna": Klarna, "konbini": Konbini, "kr_card": KrCard, "link": Link, "mb_way": MbWay, "mobilepay": Mobilepay, "multibanco": Multibanco, "naver_pay": NaverPay, "nz_bank_account": NzBankAccount, "oxxo": Oxxo, "p24": P24, "pay_by_bank": PayByBank, "payco": Payco, "paynow": Paynow, "paypal": Paypal, "pix": Pix, "promptpay": Promptpay, "revolut_pay": RevolutPay, "samsung_pay": SamsungPay, "satispay": Satispay, "sepa_debit": SepaDebit, "sofort": Sofort, "swish": Swish, "twint": Twint, "us_bank_account": UsBankAccount, "wechat_pay": WechatPay, "zip": Zip, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.328062 stripe-13.2.0/stripe/_payment_method_configuration_service.py0000644000000000000000000001377115102753431021546 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._payment_method_configuration import PaymentMethodConfiguration from stripe._request_options import RequestOptions from stripe.params._payment_method_configuration_create_params import ( PaymentMethodConfigurationCreateParams, ) from stripe.params._payment_method_configuration_list_params import ( PaymentMethodConfigurationListParams, ) from stripe.params._payment_method_configuration_retrieve_params import ( PaymentMethodConfigurationRetrieveParams, ) from stripe.params._payment_method_configuration_update_params import ( PaymentMethodConfigurationUpdateParams, ) class PaymentMethodConfigurationService(StripeService): def list( self, params: Optional["PaymentMethodConfigurationListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentMethodConfiguration]": """ List payment method configurations """ return cast( "ListObject[PaymentMethodConfiguration]", self._request( "get", "/v1/payment_method_configurations", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["PaymentMethodConfigurationListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentMethodConfiguration]": """ List payment method configurations """ return cast( "ListObject[PaymentMethodConfiguration]", await self._request_async( "get", "/v1/payment_method_configurations", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["PaymentMethodConfigurationCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethodConfiguration": """ Creates a payment method configuration """ return cast( "PaymentMethodConfiguration", self._request( "post", "/v1/payment_method_configurations", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["PaymentMethodConfigurationCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethodConfiguration": """ Creates a payment method configuration """ return cast( "PaymentMethodConfiguration", await self._request_async( "post", "/v1/payment_method_configurations", base_address="api", params=params, options=options, ), ) def retrieve( self, configuration: str, params: Optional["PaymentMethodConfigurationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethodConfiguration": """ Retrieve payment method configuration """ return cast( "PaymentMethodConfiguration", self._request( "get", "/v1/payment_method_configurations/{configuration}".format( configuration=sanitize_id(configuration), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, configuration: str, params: Optional["PaymentMethodConfigurationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethodConfiguration": """ Retrieve payment method configuration """ return cast( "PaymentMethodConfiguration", await self._request_async( "get", "/v1/payment_method_configurations/{configuration}".format( configuration=sanitize_id(configuration), ), base_address="api", params=params, options=options, ), ) def update( self, configuration: str, params: Optional["PaymentMethodConfigurationUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethodConfiguration": """ Update payment method configuration """ return cast( "PaymentMethodConfiguration", self._request( "post", "/v1/payment_method_configurations/{configuration}".format( configuration=sanitize_id(configuration), ), base_address="api", params=params, options=options, ), ) async def update_async( self, configuration: str, params: Optional["PaymentMethodConfigurationUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethodConfiguration": """ Update payment method configuration """ return cast( "PaymentMethodConfiguration", await self._request_async( "post", "/v1/payment_method_configurations/{configuration}".format( configuration=sanitize_id(configuration), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.328062 stripe-13.2.0/stripe/_payment_method_domain.py0000644000000000000000000004502015102753431016416 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._payment_method_domain_create_params import ( PaymentMethodDomainCreateParams, ) from stripe.params._payment_method_domain_list_params import ( PaymentMethodDomainListParams, ) from stripe.params._payment_method_domain_modify_params import ( PaymentMethodDomainModifyParams, ) from stripe.params._payment_method_domain_retrieve_params import ( PaymentMethodDomainRetrieveParams, ) from stripe.params._payment_method_domain_validate_params import ( PaymentMethodDomainValidateParams, ) class PaymentMethodDomain( CreateableAPIResource["PaymentMethodDomain"], ListableAPIResource["PaymentMethodDomain"], UpdateableAPIResource["PaymentMethodDomain"], ): """ A payment method domain represents a web domain that you have registered with Stripe. Stripe Elements use registered payment method domains to control where certain payment methods are shown. Related guide: [Payment method domains](https://stripe.com/docs/payments/payment-methods/pmd-registration). """ OBJECT_NAME: ClassVar[Literal["payment_method_domain"]] = ( "payment_method_domain" ) class AmazonPay(StripeObject): class StatusDetails(StripeObject): error_message: str """ The error message associated with the status of the payment method on the domain. """ status: Literal["active", "inactive"] """ The status of the payment method on the domain. """ status_details: Optional[StatusDetails] """ Contains additional details about the status of a payment method for a specific payment method domain. """ _inner_class_types = {"status_details": StatusDetails} class ApplePay(StripeObject): class StatusDetails(StripeObject): error_message: str """ The error message associated with the status of the payment method on the domain. """ status: Literal["active", "inactive"] """ The status of the payment method on the domain. """ status_details: Optional[StatusDetails] """ Contains additional details about the status of a payment method for a specific payment method domain. """ _inner_class_types = {"status_details": StatusDetails} class GooglePay(StripeObject): class StatusDetails(StripeObject): error_message: str """ The error message associated with the status of the payment method on the domain. """ status: Literal["active", "inactive"] """ The status of the payment method on the domain. """ status_details: Optional[StatusDetails] """ Contains additional details about the status of a payment method for a specific payment method domain. """ _inner_class_types = {"status_details": StatusDetails} class Klarna(StripeObject): class StatusDetails(StripeObject): error_message: str """ The error message associated with the status of the payment method on the domain. """ status: Literal["active", "inactive"] """ The status of the payment method on the domain. """ status_details: Optional[StatusDetails] """ Contains additional details about the status of a payment method for a specific payment method domain. """ _inner_class_types = {"status_details": StatusDetails} class Link(StripeObject): class StatusDetails(StripeObject): error_message: str """ The error message associated with the status of the payment method on the domain. """ status: Literal["active", "inactive"] """ The status of the payment method on the domain. """ status_details: Optional[StatusDetails] """ Contains additional details about the status of a payment method for a specific payment method domain. """ _inner_class_types = {"status_details": StatusDetails} class Paypal(StripeObject): class StatusDetails(StripeObject): error_message: str """ The error message associated with the status of the payment method on the domain. """ status: Literal["active", "inactive"] """ The status of the payment method on the domain. """ status_details: Optional[StatusDetails] """ Contains additional details about the status of a payment method for a specific payment method domain. """ _inner_class_types = {"status_details": StatusDetails} amazon_pay: AmazonPay """ Indicates the status of a specific payment method on a payment method domain. """ apple_pay: ApplePay """ Indicates the status of a specific payment method on a payment method domain. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ domain_name: str """ The domain name that this payment method domain object represents. """ enabled: bool """ Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements. """ google_pay: GooglePay """ Indicates the status of a specific payment method on a payment method domain. """ id: str """ Unique identifier for the object. """ klarna: Klarna """ Indicates the status of a specific payment method on a payment method domain. """ link: Link """ Indicates the status of a specific payment method on a payment method domain. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["payment_method_domain"] """ String representing the object's type. Objects of the same type share the same value. """ paypal: Paypal """ Indicates the status of a specific payment method on a payment method domain. """ @classmethod def create( cls, **params: Unpack["PaymentMethodDomainCreateParams"] ) -> "PaymentMethodDomain": """ Creates a payment method domain. """ return cast( "PaymentMethodDomain", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["PaymentMethodDomainCreateParams"] ) -> "PaymentMethodDomain": """ Creates a payment method domain. """ return cast( "PaymentMethodDomain", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["PaymentMethodDomainListParams"] ) -> ListObject["PaymentMethodDomain"]: """ Lists the details of existing payment method domains. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["PaymentMethodDomainListParams"] ) -> ListObject["PaymentMethodDomain"]: """ Lists the details of existing payment method domains. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["PaymentMethodDomainModifyParams"] ) -> "PaymentMethodDomain": """ Updates an existing payment method domain. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "PaymentMethodDomain", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["PaymentMethodDomainModifyParams"] ) -> "PaymentMethodDomain": """ Updates an existing payment method domain. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "PaymentMethodDomain", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["PaymentMethodDomainRetrieveParams"] ) -> "PaymentMethodDomain": """ Retrieves the details of an existing payment method domain. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["PaymentMethodDomainRetrieveParams"] ) -> "PaymentMethodDomain": """ Retrieves the details of an existing payment method domain. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def _cls_validate( cls, payment_method_domain: str, **params: Unpack["PaymentMethodDomainValidateParams"], ) -> "PaymentMethodDomain": """ Some payment methods might require additional steps to register a domain. If the requirements weren't satisfied when the domain was created, the payment method will be inactive on the domain. The payment method doesn't appear in Elements or Embedded Checkout for this domain until it is active. To activate a payment method on an existing payment method domain, complete the required registration steps specific to the payment method, and then validate the payment method domain with this endpoint. Related guides: [Payment method domains](https://docs.stripe.com/docs/payments/payment-methods/pmd-registration). """ return cast( "PaymentMethodDomain", cls._static_request( "post", "/v1/payment_method_domains/{payment_method_domain}/validate".format( payment_method_domain=sanitize_id(payment_method_domain) ), params=params, ), ) @overload @staticmethod def validate( payment_method_domain: str, **params: Unpack["PaymentMethodDomainValidateParams"], ) -> "PaymentMethodDomain": """ Some payment methods might require additional steps to register a domain. If the requirements weren't satisfied when the domain was created, the payment method will be inactive on the domain. The payment method doesn't appear in Elements or Embedded Checkout for this domain until it is active. To activate a payment method on an existing payment method domain, complete the required registration steps specific to the payment method, and then validate the payment method domain with this endpoint. Related guides: [Payment method domains](https://docs.stripe.com/docs/payments/payment-methods/pmd-registration). """ ... @overload def validate( self, **params: Unpack["PaymentMethodDomainValidateParams"] ) -> "PaymentMethodDomain": """ Some payment methods might require additional steps to register a domain. If the requirements weren't satisfied when the domain was created, the payment method will be inactive on the domain. The payment method doesn't appear in Elements or Embedded Checkout for this domain until it is active. To activate a payment method on an existing payment method domain, complete the required registration steps specific to the payment method, and then validate the payment method domain with this endpoint. Related guides: [Payment method domains](https://docs.stripe.com/docs/payments/payment-methods/pmd-registration). """ ... @class_method_variant("_cls_validate") def validate( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentMethodDomainValidateParams"] ) -> "PaymentMethodDomain": """ Some payment methods might require additional steps to register a domain. If the requirements weren't satisfied when the domain was created, the payment method will be inactive on the domain. The payment method doesn't appear in Elements or Embedded Checkout for this domain until it is active. To activate a payment method on an existing payment method domain, complete the required registration steps specific to the payment method, and then validate the payment method domain with this endpoint. Related guides: [Payment method domains](https://docs.stripe.com/docs/payments/payment-methods/pmd-registration). """ return cast( "PaymentMethodDomain", self._request( "post", "/v1/payment_method_domains/{payment_method_domain}/validate".format( payment_method_domain=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_validate_async( cls, payment_method_domain: str, **params: Unpack["PaymentMethodDomainValidateParams"], ) -> "PaymentMethodDomain": """ Some payment methods might require additional steps to register a domain. If the requirements weren't satisfied when the domain was created, the payment method will be inactive on the domain. The payment method doesn't appear in Elements or Embedded Checkout for this domain until it is active. To activate a payment method on an existing payment method domain, complete the required registration steps specific to the payment method, and then validate the payment method domain with this endpoint. Related guides: [Payment method domains](https://docs.stripe.com/docs/payments/payment-methods/pmd-registration). """ return cast( "PaymentMethodDomain", await cls._static_request_async( "post", "/v1/payment_method_domains/{payment_method_domain}/validate".format( payment_method_domain=sanitize_id(payment_method_domain) ), params=params, ), ) @overload @staticmethod async def validate_async( payment_method_domain: str, **params: Unpack["PaymentMethodDomainValidateParams"], ) -> "PaymentMethodDomain": """ Some payment methods might require additional steps to register a domain. If the requirements weren't satisfied when the domain was created, the payment method will be inactive on the domain. The payment method doesn't appear in Elements or Embedded Checkout for this domain until it is active. To activate a payment method on an existing payment method domain, complete the required registration steps specific to the payment method, and then validate the payment method domain with this endpoint. Related guides: [Payment method domains](https://docs.stripe.com/docs/payments/payment-methods/pmd-registration). """ ... @overload async def validate_async( self, **params: Unpack["PaymentMethodDomainValidateParams"] ) -> "PaymentMethodDomain": """ Some payment methods might require additional steps to register a domain. If the requirements weren't satisfied when the domain was created, the payment method will be inactive on the domain. The payment method doesn't appear in Elements or Embedded Checkout for this domain until it is active. To activate a payment method on an existing payment method domain, complete the required registration steps specific to the payment method, and then validate the payment method domain with this endpoint. Related guides: [Payment method domains](https://docs.stripe.com/docs/payments/payment-methods/pmd-registration). """ ... @class_method_variant("_cls_validate_async") async def validate_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentMethodDomainValidateParams"] ) -> "PaymentMethodDomain": """ Some payment methods might require additional steps to register a domain. If the requirements weren't satisfied when the domain was created, the payment method will be inactive on the domain. The payment method doesn't appear in Elements or Embedded Checkout for this domain until it is active. To activate a payment method on an existing payment method domain, complete the required registration steps specific to the payment method, and then validate the payment method domain with this endpoint. Related guides: [Payment method domains](https://docs.stripe.com/docs/payments/payment-methods/pmd-registration). """ return cast( "PaymentMethodDomain", await self._request_async( "post", "/v1/payment_method_domains/{payment_method_domain}/validate".format( payment_method_domain=sanitize_id(self.get("id")) ), params=params, ), ) _inner_class_types = { "amazon_pay": AmazonPay, "apple_pay": ApplePay, "google_pay": GooglePay, "klarna": Klarna, "link": Link, "paypal": Paypal, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.328062 stripe-13.2.0/stripe/_payment_method_domain_service.py0000644000000000000000000002111015102753431020130 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._payment_method_domain import PaymentMethodDomain from stripe._request_options import RequestOptions from stripe.params._payment_method_domain_create_params import ( PaymentMethodDomainCreateParams, ) from stripe.params._payment_method_domain_list_params import ( PaymentMethodDomainListParams, ) from stripe.params._payment_method_domain_retrieve_params import ( PaymentMethodDomainRetrieveParams, ) from stripe.params._payment_method_domain_update_params import ( PaymentMethodDomainUpdateParams, ) from stripe.params._payment_method_domain_validate_params import ( PaymentMethodDomainValidateParams, ) class PaymentMethodDomainService(StripeService): def list( self, params: Optional["PaymentMethodDomainListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentMethodDomain]": """ Lists the details of existing payment method domains. """ return cast( "ListObject[PaymentMethodDomain]", self._request( "get", "/v1/payment_method_domains", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["PaymentMethodDomainListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentMethodDomain]": """ Lists the details of existing payment method domains. """ return cast( "ListObject[PaymentMethodDomain]", await self._request_async( "get", "/v1/payment_method_domains", base_address="api", params=params, options=options, ), ) def create( self, params: "PaymentMethodDomainCreateParams", options: Optional["RequestOptions"] = None, ) -> "PaymentMethodDomain": """ Creates a payment method domain. """ return cast( "PaymentMethodDomain", self._request( "post", "/v1/payment_method_domains", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "PaymentMethodDomainCreateParams", options: Optional["RequestOptions"] = None, ) -> "PaymentMethodDomain": """ Creates a payment method domain. """ return cast( "PaymentMethodDomain", await self._request_async( "post", "/v1/payment_method_domains", base_address="api", params=params, options=options, ), ) def retrieve( self, payment_method_domain: str, params: Optional["PaymentMethodDomainRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethodDomain": """ Retrieves the details of an existing payment method domain. """ return cast( "PaymentMethodDomain", self._request( "get", "/v1/payment_method_domains/{payment_method_domain}".format( payment_method_domain=sanitize_id(payment_method_domain), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, payment_method_domain: str, params: Optional["PaymentMethodDomainRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethodDomain": """ Retrieves the details of an existing payment method domain. """ return cast( "PaymentMethodDomain", await self._request_async( "get", "/v1/payment_method_domains/{payment_method_domain}".format( payment_method_domain=sanitize_id(payment_method_domain), ), base_address="api", params=params, options=options, ), ) def update( self, payment_method_domain: str, params: Optional["PaymentMethodDomainUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethodDomain": """ Updates an existing payment method domain. """ return cast( "PaymentMethodDomain", self._request( "post", "/v1/payment_method_domains/{payment_method_domain}".format( payment_method_domain=sanitize_id(payment_method_domain), ), base_address="api", params=params, options=options, ), ) async def update_async( self, payment_method_domain: str, params: Optional["PaymentMethodDomainUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethodDomain": """ Updates an existing payment method domain. """ return cast( "PaymentMethodDomain", await self._request_async( "post", "/v1/payment_method_domains/{payment_method_domain}".format( payment_method_domain=sanitize_id(payment_method_domain), ), base_address="api", params=params, options=options, ), ) def validate( self, payment_method_domain: str, params: Optional["PaymentMethodDomainValidateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethodDomain": """ Some payment methods might require additional steps to register a domain. If the requirements weren't satisfied when the domain was created, the payment method will be inactive on the domain. The payment method doesn't appear in Elements or Embedded Checkout for this domain until it is active. To activate a payment method on an existing payment method domain, complete the required registration steps specific to the payment method, and then validate the payment method domain with this endpoint. Related guides: [Payment method domains](https://docs.stripe.com/docs/payments/payment-methods/pmd-registration). """ return cast( "PaymentMethodDomain", self._request( "post", "/v1/payment_method_domains/{payment_method_domain}/validate".format( payment_method_domain=sanitize_id(payment_method_domain), ), base_address="api", params=params, options=options, ), ) async def validate_async( self, payment_method_domain: str, params: Optional["PaymentMethodDomainValidateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethodDomain": """ Some payment methods might require additional steps to register a domain. If the requirements weren't satisfied when the domain was created, the payment method will be inactive on the domain. The payment method doesn't appear in Elements or Embedded Checkout for this domain until it is active. To activate a payment method on an existing payment method domain, complete the required registration steps specific to the payment method, and then validate the payment method domain with this endpoint. Related guides: [Payment method domains](https://docs.stripe.com/docs/payments/payment-methods/pmd-registration). """ return cast( "PaymentMethodDomain", await self._request_async( "post", "/v1/payment_method_domains/{payment_method_domain}/validate".format( payment_method_domain=sanitize_id(payment_method_domain), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.328062 stripe-13.2.0/stripe/_payment_method_service.py0000644000000000000000000003104715102753431016613 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._payment_method import PaymentMethod from stripe._request_options import RequestOptions from stripe.params._payment_method_attach_params import ( PaymentMethodAttachParams, ) from stripe.params._payment_method_create_params import ( PaymentMethodCreateParams, ) from stripe.params._payment_method_detach_params import ( PaymentMethodDetachParams, ) from stripe.params._payment_method_list_params import ( PaymentMethodListParams, ) from stripe.params._payment_method_retrieve_params import ( PaymentMethodRetrieveParams, ) from stripe.params._payment_method_update_params import ( PaymentMethodUpdateParams, ) class PaymentMethodService(StripeService): def list( self, params: Optional["PaymentMethodListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentMethod]": """ Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods attached to a Customer for payments, you should use the [List a Customer's PaymentMethods](https://docs.stripe.com/docs/api/payment_methods/customer_list) API instead. """ return cast( "ListObject[PaymentMethod]", self._request( "get", "/v1/payment_methods", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["PaymentMethodListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PaymentMethod]": """ Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods attached to a Customer for payments, you should use the [List a Customer's PaymentMethods](https://docs.stripe.com/docs/api/payment_methods/customer_list) API instead. """ return cast( "ListObject[PaymentMethod]", await self._request_async( "get", "/v1/payment_methods", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["PaymentMethodCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethod": """ Creates a PaymentMethod object. Read the [Stripe.js reference](https://docs.stripe.com/docs/stripe-js/reference#stripe-create-payment-method) to learn how to create PaymentMethods via Stripe.js. Instead of creating a PaymentMethod directly, we recommend using the [PaymentIntents API to accept a payment immediately or the SetupIntent](https://docs.stripe.com/docs/payments/accept-a-payment) API to collect payment method details ahead of a future payment. """ return cast( "PaymentMethod", self._request( "post", "/v1/payment_methods", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["PaymentMethodCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethod": """ Creates a PaymentMethod object. Read the [Stripe.js reference](https://docs.stripe.com/docs/stripe-js/reference#stripe-create-payment-method) to learn how to create PaymentMethods via Stripe.js. Instead of creating a PaymentMethod directly, we recommend using the [PaymentIntents API to accept a payment immediately or the SetupIntent](https://docs.stripe.com/docs/payments/accept-a-payment) API to collect payment method details ahead of a future payment. """ return cast( "PaymentMethod", await self._request_async( "post", "/v1/payment_methods", base_address="api", params=params, options=options, ), ) def retrieve( self, payment_method: str, params: Optional["PaymentMethodRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethod": """ Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method attached to a Customer, you should use [Retrieve a Customer's PaymentMethods](https://docs.stripe.com/docs/api/payment_methods/customer) """ return cast( "PaymentMethod", self._request( "get", "/v1/payment_methods/{payment_method}".format( payment_method=sanitize_id(payment_method), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, payment_method: str, params: Optional["PaymentMethodRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethod": """ Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method attached to a Customer, you should use [Retrieve a Customer's PaymentMethods](https://docs.stripe.com/docs/api/payment_methods/customer) """ return cast( "PaymentMethod", await self._request_async( "get", "/v1/payment_methods/{payment_method}".format( payment_method=sanitize_id(payment_method), ), base_address="api", params=params, options=options, ), ) def update( self, payment_method: str, params: Optional["PaymentMethodUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethod": """ Updates a PaymentMethod object. A PaymentMethod must be attached to a customer to be updated. """ return cast( "PaymentMethod", self._request( "post", "/v1/payment_methods/{payment_method}".format( payment_method=sanitize_id(payment_method), ), base_address="api", params=params, options=options, ), ) async def update_async( self, payment_method: str, params: Optional["PaymentMethodUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethod": """ Updates a PaymentMethod object. A PaymentMethod must be attached to a customer to be updated. """ return cast( "PaymentMethod", await self._request_async( "post", "/v1/payment_methods/{payment_method}".format( payment_method=sanitize_id(payment_method), ), base_address="api", params=params, options=options, ), ) def attach( self, payment_method: str, params: "PaymentMethodAttachParams", options: Optional["RequestOptions"] = None, ) -> "PaymentMethod": """ Attaches a PaymentMethod object to a Customer. To attach a new PaymentMethod to a customer for future payments, we recommend you use a [SetupIntent](https://docs.stripe.com/docs/api/setup_intents) or a PaymentIntent with [setup_future_usage](https://docs.stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage). These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for future use, which makes later declines and payment friction more likely. See [Optimizing cards for future payments](https://docs.stripe.com/docs/payments/payment-intents#future-usage) for more information about setting up future payments. To use this PaymentMethod as the default for invoice or subscription payments, set [invoice_settings.default_payment_method](https://docs.stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method), on the Customer to the PaymentMethod's ID. """ return cast( "PaymentMethod", self._request( "post", "/v1/payment_methods/{payment_method}/attach".format( payment_method=sanitize_id(payment_method), ), base_address="api", params=params, options=options, ), ) async def attach_async( self, payment_method: str, params: "PaymentMethodAttachParams", options: Optional["RequestOptions"] = None, ) -> "PaymentMethod": """ Attaches a PaymentMethod object to a Customer. To attach a new PaymentMethod to a customer for future payments, we recommend you use a [SetupIntent](https://docs.stripe.com/docs/api/setup_intents) or a PaymentIntent with [setup_future_usage](https://docs.stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage). These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for future use, which makes later declines and payment friction more likely. See [Optimizing cards for future payments](https://docs.stripe.com/docs/payments/payment-intents#future-usage) for more information about setting up future payments. To use this PaymentMethod as the default for invoice or subscription payments, set [invoice_settings.default_payment_method](https://docs.stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method), on the Customer to the PaymentMethod's ID. """ return cast( "PaymentMethod", await self._request_async( "post", "/v1/payment_methods/{payment_method}/attach".format( payment_method=sanitize_id(payment_method), ), base_address="api", params=params, options=options, ), ) def detach( self, payment_method: str, params: Optional["PaymentMethodDetachParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethod": """ Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer. """ return cast( "PaymentMethod", self._request( "post", "/v1/payment_methods/{payment_method}/detach".format( payment_method=sanitize_id(payment_method), ), base_address="api", params=params, options=options, ), ) async def detach_async( self, payment_method: str, params: Optional["PaymentMethodDetachParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentMethod": """ Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer. """ return cast( "PaymentMethod", await self._request_async( "post", "/v1/payment_methods/{payment_method}/detach".format( payment_method=sanitize_id(payment_method), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.328062 stripe-13.2.0/stripe/_payment_record.py0000644000000000000000000031642115102753431015073 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._api_resource import APIResource from stripe._expandable_field import ExpandableField from stripe._stripe_object import StripeObject from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._mandate import Mandate from stripe._payment_method import PaymentMethod from stripe.params._payment_record_report_payment_attempt_canceled_params import ( PaymentRecordReportPaymentAttemptCanceledParams, ) from stripe.params._payment_record_report_payment_attempt_failed_params import ( PaymentRecordReportPaymentAttemptFailedParams, ) from stripe.params._payment_record_report_payment_attempt_guaranteed_params import ( PaymentRecordReportPaymentAttemptGuaranteedParams, ) from stripe.params._payment_record_report_payment_attempt_informational_params import ( PaymentRecordReportPaymentAttemptInformationalParams, ) from stripe.params._payment_record_report_payment_attempt_params import ( PaymentRecordReportPaymentAttemptParams, ) from stripe.params._payment_record_report_payment_params import ( PaymentRecordReportPaymentParams, ) from stripe.params._payment_record_report_refund_params import ( PaymentRecordReportRefundParams, ) from stripe.params._payment_record_retrieve_params import ( PaymentRecordRetrieveParams, ) class PaymentRecord(APIResource["PaymentRecord"]): """ A Payment Record is a resource that allows you to represent payments that occur on- or off-Stripe. For example, you can create a Payment Record to model a payment made on a different payment processor, in order to mark an Invoice as paid and a Subscription as active. Payment Records consist of one or more Payment Attempt Records, which represent individual attempts made on a payment network. """ OBJECT_NAME: ClassVar[Literal["payment_record"]] = "payment_record" class Amount(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class AmountAuthorized(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class AmountCanceled(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class AmountFailed(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class AmountGuaranteed(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class AmountRefunded(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class AmountRequested(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class CustomerDetails(StripeObject): customer: Optional[str] """ ID of the Stripe Customer associated with this payment. """ email: Optional[str] """ The customer's email address. """ name: Optional[str] """ The customer's name. """ phone: Optional[str] """ The customer's phone number. """ class PaymentMethodDetails(StripeObject): class AchCreditTransfer(StripeObject): account_number: Optional[str] """ Account number to transfer funds to. """ bank_name: Optional[str] """ Name of the bank associated with the routing number. """ routing_number: Optional[str] """ Routing transit number for the bank account to transfer funds to. """ swift_code: Optional[str] """ SWIFT code of the bank associated with the routing number. """ class AchDebit(StripeObject): account_holder_type: Optional[Literal["company", "individual"]] """ Type of entity that holds the account. This can be either `individual` or `company`. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ country: Optional[str] """ Two-letter ISO code representing the country the bank account is located in. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ routing_number: Optional[str] """ Routing transit number of the bank account. """ class AcssDebit(StripeObject): bank_name: Optional[str] """ Name of the bank associated with the bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ institution_number: Optional[str] """ Institution number of the bank account """ last4: Optional[str] """ Last four digits of the bank account number. """ mandate: Optional[str] """ ID of the mandate used to make this payment. """ transit_number: Optional[str] """ Transit number of the bank account. """ class Affirm(StripeObject): location: Optional[str] """ ID of the [location](https://stripe.com/docs/api/terminal/locations) that this transaction's reader is assigned to. """ reader: Optional[str] """ ID of the [reader](https://stripe.com/docs/api/terminal/readers) this transaction was made on. """ transaction_id: Optional[str] """ The Affirm transaction ID associated with this payment. """ class AfterpayClearpay(StripeObject): order_id: Optional[str] """ The Afterpay order ID associated with this payment intent. """ reference: Optional[str] """ Order identifier shown to the merchant in Afterpay's online portal. """ class Alipay(StripeObject): buyer_id: Optional[str] """ Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same. """ fingerprint: Optional[str] """ Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same. """ transaction_id: Optional[str] """ Transaction ID of this particular Alipay transaction. """ class Alma(StripeObject): class Installments(StripeObject): count: int """ The number of installments. """ installments: Optional[Installments] transaction_id: Optional[str] """ The Alma transaction ID associated with this payment. """ _inner_class_types = {"installments": Installments} class AmazonPay(StripeObject): class Funding(StripeObject): class Card(StripeObject): brand: Optional[str] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ exp_month: Optional[int] """ Two-digit number representing the card's expiration month. """ exp_year: Optional[int] """ Four-digit number representing the card's expiration year. """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ last4: Optional[str] """ The last four digits of the card. """ card: Optional[Card] type: Optional[Literal["card"]] """ funding type of the underlying payment method. """ _inner_class_types = {"card": Card} funding: Optional[Funding] transaction_id: Optional[str] """ The Amazon Pay transaction ID associated with this payment. """ _inner_class_types = {"funding": Funding} class AuBecsDebit(StripeObject): bsb_number: Optional[str] """ Bank-State-Branch number of the bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ mandate: Optional[str] """ ID of the mandate used to make this payment. """ class BacsDebit(StripeObject): fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ mandate: Optional[str] """ ID of the mandate used to make this payment. """ sort_code: Optional[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class Bancontact(StripeObject): bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ bic: Optional[str] """ Bank Identifier Code of the bank associated with the bank account. """ generated_sepa_debit: Optional[ExpandableField["PaymentMethod"]] """ The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ generated_sepa_debit_mandate: Optional[ExpandableField["Mandate"]] """ The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ iban_last4: Optional[str] """ Last four characters of the IBAN. """ preferred_language: Optional[Literal["de", "en", "fr", "nl"]] """ Preferred language of the Bancontact authorization page that the customer is redirected to. Can be one of `en`, `de`, `fr`, or `nl` """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by Bancontact directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ class Billie(StripeObject): transaction_id: Optional[str] """ The Billie transaction ID associated with this payment. """ class BillingDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Address """ A representation of a physical address. """ email: Optional[str] """ The billing email associated with the method of payment. """ name: Optional[str] """ The billing name associated with the method of payment. """ phone: Optional[str] """ The billing phone number associated with the method of payment. """ _inner_class_types = {"address": Address} class Blik(StripeObject): buyer_id: Optional[str] """ A unique and immutable identifier assigned by BLIK to every buyer. """ class Boleto(StripeObject): tax_id: str """ The tax ID of the customer (CPF for individuals consumers or CNPJ for businesses consumers) """ class Card(StripeObject): class Checks(StripeObject): address_line1_check: Optional[ Literal["fail", "pass", "unavailable", "unchecked"] ] address_postal_code_check: Optional[ Literal["fail", "pass", "unavailable", "unchecked"] ] cvc_check: Optional[ Literal["fail", "pass", "unavailable", "unchecked"] ] class NetworkToken(StripeObject): used: bool """ Indicates if Stripe used a network token, either user provided or Stripe managed when processing the transaction. """ class ThreeDSecure(StripeObject): authentication_flow: Optional[ Literal["challenge", "frictionless"] ] result: Optional[ Literal[ "attempt_acknowledged", "authenticated", "exempted", "failed", "not_supported", "processing_error", ] ] result_reason: Optional[ Literal[ "abandoned", "bypassed", "canceled", "card_not_enrolled", "network_not_supported", "protocol_error", "rejected", ] ] version: Optional[Literal["1.0.2", "2.1.0", "2.2.0"]] class Wallet(StripeObject): class ApplePay(StripeObject): type: str """ Type of the apple_pay transaction, one of `apple_pay` or `apple_pay_later`. """ class GooglePay(StripeObject): pass apple_pay: Optional[ApplePay] dynamic_last4: Optional[str] """ (For tokenized numbers only.) The last four digits of the device account number. """ google_pay: Optional[GooglePay] type: str """ The type of the card wallet, one of `apple_pay` or `google_pay`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. """ _inner_class_types = { "apple_pay": ApplePay, "google_pay": GooglePay, } brand: Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ capture_before: Optional[int] """ When using manual capture, a future timestamp at which the charge will be automatically refunded if uncaptured. """ checks: Optional[Checks] """ Check results by Card networks on Card address and CVC at time of payment. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Literal["credit", "debit", "prepaid", "unknown"] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ last4: str """ The last four digits of the card. """ moto: Optional[bool] """ True if this payment was marked as MOTO and out of scope for SCA. """ network: Optional[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`. """ network_token: Optional[NetworkToken] """ If this card has network token credentials, this contains the details of the network token credentials. """ network_transaction_id: Optional[str] """ This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise. """ three_d_secure: Optional[ThreeDSecure] """ Populated if this transaction used 3D Secure authentication. """ wallet: Optional[Wallet] """ If this Card is part of a card wallet, this contains the details of the card wallet. """ _inner_class_types = { "checks": Checks, "network_token": NetworkToken, "three_d_secure": ThreeDSecure, "wallet": Wallet, } class CardPresent(StripeObject): class Offline(StripeObject): stored_at: Optional[int] """ Time at which the payment was collected while offline """ type: Optional[Literal["deferred"]] """ The method used to process this payment method offline. Only deferred is allowed. """ class Receipt(StripeObject): account_type: Optional[ Literal["checking", "credit", "prepaid", "unknown"] ] """ The type of account being debited or credited """ application_cryptogram: Optional[str] """ The Application Cryptogram, a unique value generated by the card to authenticate the transaction with issuers. """ application_preferred_name: Optional[str] """ The Application Identifier (AID) on the card used to determine which networks are eligible to process the transaction. Referenced from EMV tag 9F12, data encoded on the card's chip. """ authorization_code: Optional[str] """ Identifier for this transaction. """ authorization_response_code: Optional[str] """ EMV tag 8A. A code returned by the card issuer. """ cardholder_verification_method: Optional[str] """ Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`. """ dedicated_file_name: Optional[str] """ Similar to the application_preferred_name, identifying the applications (AIDs) available on the card. Referenced from EMV tag 84. """ terminal_verification_results: Optional[str] """ A 5-byte string that records the checks and validations that occur between the card and the terminal. These checks determine how the terminal processes the transaction and what risk tolerance is acceptable. Referenced from EMV Tag 95. """ transaction_status_information: Optional[str] """ An indication of which steps were completed during the card read process. Referenced from EMV Tag 9B. """ class Wallet(StripeObject): type: Literal[ "apple_pay", "google_pay", "samsung_pay", "unknown" ] """ The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`. """ amount_authorized: Optional[int] """ The authorized amount """ brand: Optional[str] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ brand_product: Optional[str] """ The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card. """ capture_before: Optional[int] """ When using manual capture, a future timestamp after which the charge will be automatically refunded if uncaptured. """ cardholder_name: Optional[str] """ The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ emv_auth_data: Optional[str] """ Authorization response cryptogram. """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ generated_card: Optional[str] """ ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ incremental_authorization_supported: bool """ Whether this [PaymentIntent](https://stripe.com/docs/api/payment_intents) is eligible for incremental authorizations. Request support using [request_incremental_authorization_support](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method_options-card_present-request_incremental_authorization_support). """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: Optional[str] """ The last four digits of the card. """ network: Optional[str] """ Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`. """ network_transaction_id: Optional[str] """ This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise. """ offline: Optional[Offline] """ Details about payments collected offline. """ overcapture_supported: bool """ Defines whether the authorized amount can be over-captured or not """ preferred_locales: Optional[List[str]] """ The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip. """ read_method: Optional[ Literal[ "contact_emv", "contactless_emv", "contactless_magstripe_mode", "magnetic_stripe_fallback", "magnetic_stripe_track2", ] ] """ How card details were read in this transaction. """ receipt: Optional[Receipt] """ A collection of fields required to be displayed on receipts. Only required for EMV transactions. """ wallet: Optional[Wallet] _inner_class_types = { "offline": Offline, "receipt": Receipt, "wallet": Wallet, } class Cashapp(StripeObject): buyer_id: Optional[str] """ A unique and immutable identifier assigned by Cash App to every buyer. """ cashtag: Optional[str] """ A public identifier for buyers using Cash App. """ transaction_id: Optional[str] """ A unique and immutable identifier of payments assigned by Cash App """ class Crypto(StripeObject): buyer_address: Optional[str] """ The wallet address of the customer. """ network: Optional[Literal["base", "ethereum", "polygon", "solana"]] """ The blockchain network that the transaction was sent on. """ token_currency: Optional[Literal["usdc", "usdg", "usdp"]] """ The token currency that the transaction was sent with. """ transaction_hash: Optional[str] """ The blockchain transaction hash of the crypto payment. """ class Custom(StripeObject): display_name: str """ Display name for the custom (user-defined) payment method type used to make this payment. """ type: Optional[str] """ The custom payment method type associated with this payment. """ class CustomerBalance(StripeObject): pass class Eps(StripeObject): bank: Optional[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`. """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by EPS directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. EPS rarely provides this information so the attribute is usually empty. """ class Fpx(StripeObject): account_holder_type: Optional[Literal["company", "individual"]] """ Account holder type, if provided. Can be one of `individual` or `company`. """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`. """ transaction_id: Optional[str] """ Unique transaction id generated by FPX for every request from the merchant """ class Giropay(StripeObject): bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ bic: Optional[str] """ Bank Identifier Code of the bank associated with the bank account. """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by Giropay directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. Giropay rarely provides this information so the attribute is usually empty. """ class Grabpay(StripeObject): transaction_id: Optional[str] """ Unique transaction id generated by GrabPay """ class Ideal(StripeObject): bank: Optional[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `buut`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`. """ bic: Optional[ Literal[ "ABNANL2A", "ASNBNL21", "BITSNL2A", "BUNQNL2A", "BUUTNL2A", "FVLBNL22", "HANDNL2A", "INGBNL2A", "KNABNL2H", "MOYONL21", "NNBANL2G", "NTSBDEB1", "RABONL2U", "RBRBNL21", "REVOIE23", "REVOLT21", "SNSBNL2A", "TRIONL2U", ] ] """ The Bank Identifier Code of the customer's bank. """ generated_sepa_debit: Optional[ExpandableField["PaymentMethod"]] """ The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ generated_sepa_debit_mandate: Optional[ExpandableField["Mandate"]] """ The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ iban_last4: Optional[str] """ Last four characters of the IBAN. """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by iDEAL directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ class InteracPresent(StripeObject): class Receipt(StripeObject): account_type: Optional[ Literal["checking", "savings", "unknown"] ] """ The type of account being debited or credited """ application_cryptogram: Optional[str] """ The Application Cryptogram, a unique value generated by the card to authenticate the transaction with issuers. """ application_preferred_name: Optional[str] """ The Application Identifier (AID) on the card used to determine which networks are eligible to process the transaction. Referenced from EMV tag 9F12, data encoded on the card's chip. """ authorization_code: Optional[str] """ Identifier for this transaction. """ authorization_response_code: Optional[str] """ EMV tag 8A. A code returned by the card issuer. """ cardholder_verification_method: Optional[str] """ Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`. """ dedicated_file_name: Optional[str] """ Similar to the application_preferred_name, identifying the applications (AIDs) available on the card. Referenced from EMV tag 84. """ terminal_verification_results: Optional[str] """ A 5-byte string that records the checks and validations that occur between the card and the terminal. These checks determine how the terminal processes the transaction and what risk tolerance is acceptable. Referenced from EMV Tag 95. """ transaction_status_information: Optional[str] """ An indication of which steps were completed during the card read process. Referenced from EMV Tag 9B. """ brand: Optional[str] """ Card brand. Can be `interac`, `mastercard` or `visa`. """ cardholder_name: Optional[str] """ The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ emv_auth_data: Optional[str] """ Authorization response cryptogram. """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ generated_card: Optional[str] """ ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: Optional[str] """ The last four digits of the card. """ network: Optional[str] """ Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`. """ network_transaction_id: Optional[str] """ This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise. """ preferred_locales: Optional[List[str]] """ The languages that the issuing bank recommends using for localizing any customer-facing text, as read from the card. Referenced from EMV tag 5F2D, data encoded on the card's chip. """ read_method: Optional[ Literal[ "contact_emv", "contactless_emv", "contactless_magstripe_mode", "magnetic_stripe_fallback", "magnetic_stripe_track2", ] ] """ How card details were read in this transaction. """ receipt: Optional[Receipt] """ A collection of fields required to be displayed on receipts. Only required for EMV transactions. """ _inner_class_types = {"receipt": Receipt} class KakaoPay(StripeObject): buyer_id: Optional[str] """ A unique identifier for the buyer as determined by the local payment processor. """ transaction_id: Optional[str] """ The Kakao Pay transaction ID associated with this payment. """ class Klarna(StripeObject): class PayerDetails(StripeObject): class Address(StripeObject): country: Optional[str] """ The payer address country """ address: Optional[Address] """ The payer's address """ _inner_class_types = {"address": Address} payer_details: Optional[PayerDetails] """ The payer details for this transaction. """ payment_method_category: Optional[str] """ The Klarna payment method used for this transaction. Can be one of `pay_later`, `pay_now`, `pay_with_financing`, or `pay_in_installments` """ preferred_locale: Optional[str] """ Preferred language of the Klarna authorization page that the customer is redirected to. Can be one of `de-AT`, `en-AT`, `nl-BE`, `fr-BE`, `en-BE`, `de-DE`, `en-DE`, `da-DK`, `en-DK`, `es-ES`, `en-ES`, `fi-FI`, `sv-FI`, `en-FI`, `en-GB`, `en-IE`, `it-IT`, `en-IT`, `nl-NL`, `en-NL`, `nb-NO`, `en-NO`, `sv-SE`, `en-SE`, `en-US`, `es-US`, `fr-FR`, `en-FR`, `cs-CZ`, `en-CZ`, `ro-RO`, `en-RO`, `el-GR`, `en-GR`, `en-AU`, `en-NZ`, `en-CA`, `fr-CA`, `pl-PL`, `en-PL`, `pt-PT`, `en-PT`, `de-CH`, `fr-CH`, `it-CH`, or `en-CH` """ _inner_class_types = {"payer_details": PayerDetails} class Konbini(StripeObject): class Store(StripeObject): chain: Optional[ Literal["familymart", "lawson", "ministop", "seicomart"] ] """ The name of the convenience store chain where the payment was completed. """ store: Optional[Store] """ If the payment succeeded, this contains the details of the convenience store where the payment was completed. """ _inner_class_types = {"store": Store} class KrCard(StripeObject): brand: Optional[ Literal[ "bc", "citi", "hana", "hyundai", "jeju", "jeonbuk", "kakaobank", "kbank", "kdbbank", "kookmin", "kwangju", "lotte", "mg", "nh", "post", "samsung", "savingsbank", "shinhan", "shinhyup", "suhyup", "tossbank", "woori", ] ] """ The local credit or debit card brand. """ buyer_id: Optional[str] """ A unique identifier for the buyer as determined by the local payment processor. """ last4: Optional[str] """ The last four digits of the card. This may not be present for American Express cards. """ transaction_id: Optional[str] """ The Korean Card transaction ID associated with this payment. """ class Link(StripeObject): country: Optional[str] """ Two-letter ISO code representing the funding source country beneath the Link payment. You could use this attribute to get a sense of international fees. """ class MbWay(StripeObject): pass class Mobilepay(StripeObject): class Card(StripeObject): brand: Optional[str] """ Brand of the card used in the transaction """ country: Optional[str] """ Two-letter ISO code representing the country of the card """ exp_month: Optional[int] """ Two digit number representing the card's expiration month """ exp_year: Optional[int] """ Two digit number representing the card's expiration year """ last4: Optional[str] """ The last 4 digits of the card """ card: Optional[Card] """ Internal card details """ _inner_class_types = {"card": Card} class Multibanco(StripeObject): entity: Optional[str] """ Entity number associated with this Multibanco payment. """ reference: Optional[str] """ Reference number associated with this Multibanco payment. """ class NaverPay(StripeObject): buyer_id: Optional[str] """ A unique identifier for the buyer as determined by the local payment processor. """ transaction_id: Optional[str] """ The Naver Pay transaction ID associated with this payment. """ class NzBankAccount(StripeObject): account_holder_name: Optional[str] """ The name on the bank account. Only present if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ bank_code: str """ The numeric code for the bank account's bank. """ bank_name: str """ The name of the bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ last4: str """ Last four digits of the bank account number. """ suffix: Optional[str] """ The suffix of the bank account number. """ class Oxxo(StripeObject): number: Optional[str] """ OXXO reference number """ class P24(StripeObject): bank: Optional[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank. Can be one of `ing`, `citi_handlowy`, `tmobile_usbugi_bankowe`, `plus_bank`, `etransfer_pocztowy24`, `banki_spbdzielcze`, `bank_nowy_bfg_sa`, `getin_bank`, `velobank`, `blik`, `noble_pay`, `ideabank`, `envelobank`, `santander_przelew24`, `nest_przelew`, `mbank_mtransfer`, `inteligo`, `pbac_z_ipko`, `bnp_paribas`, `credit_agricole`, `toyota_bank`, `bank_pekao_sa`, `volkswagen_bank`, `bank_millennium`, `alior_bank`, or `boz`. """ reference: Optional[str] """ Unique reference for this Przelewy24 payment. """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by Przelewy24 directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. Przelewy24 rarely provides this information so the attribute is usually empty. """ class PayByBank(StripeObject): pass class Payco(StripeObject): buyer_id: Optional[str] """ A unique identifier for the buyer as determined by the local payment processor. """ transaction_id: Optional[str] """ The Payco transaction ID associated with this payment. """ class Paynow(StripeObject): location: Optional[str] """ ID of the [location](https://stripe.com/docs/api/terminal/locations) that this transaction's reader is assigned to. """ reader: Optional[str] """ ID of the [reader](https://stripe.com/docs/api/terminal/readers) this transaction was made on. """ reference: Optional[str] """ Reference number associated with this PayNow payment """ class Paypal(StripeObject): class SellerProtection(StripeObject): dispute_categories: Optional[ List[Literal["fraudulent", "product_not_received"]] ] """ An array of conditions that are covered for the transaction, if applicable. """ status: Literal[ "eligible", "not_eligible", "partially_eligible" ] """ Indicates whether the transaction is eligible for PayPal's seller protection. """ country: Optional[str] """ Two-letter ISO code representing the buyer's country. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ payer_email: Optional[str] """ Owner's email. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ payer_id: Optional[str] """ PayPal account PayerID. This identifier uniquely identifies the PayPal customer. """ payer_name: Optional[str] """ Owner's full name. Values provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ seller_protection: Optional[SellerProtection] """ The level of protection offered as defined by PayPal Seller Protection for Merchants, for this transaction. """ transaction_id: Optional[str] """ A unique ID generated by PayPal for this transaction. """ _inner_class_types = {"seller_protection": SellerProtection} class Pix(StripeObject): bank_transaction_id: Optional[str] """ Unique transaction id generated by BCB """ class Promptpay(StripeObject): reference: Optional[str] """ Bill reference generated by PromptPay """ class RevolutPay(StripeObject): class Funding(StripeObject): class Card(StripeObject): brand: Optional[str] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ exp_month: Optional[int] """ Two-digit number representing the card's expiration month. """ exp_year: Optional[int] """ Four-digit number representing the card's expiration year. """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ last4: Optional[str] """ The last four digits of the card. """ card: Optional[Card] type: Optional[Literal["card"]] """ funding type of the underlying payment method. """ _inner_class_types = {"card": Card} funding: Optional[Funding] transaction_id: Optional[str] """ The Revolut Pay transaction ID associated with this payment. """ _inner_class_types = {"funding": Funding} class SamsungPay(StripeObject): buyer_id: Optional[str] """ A unique identifier for the buyer as determined by the local payment processor. """ transaction_id: Optional[str] """ The Samsung Pay transaction ID associated with this payment. """ class Satispay(StripeObject): transaction_id: Optional[str] """ The Satispay transaction ID associated with this payment. """ class SepaCreditTransfer(StripeObject): bank_name: Optional[str] """ Name of the bank associated with the bank account. """ bic: Optional[str] """ Bank Identifier Code of the bank associated with the bank account. """ iban: Optional[str] """ IBAN of the bank account to transfer funds to. """ class SepaDebit(StripeObject): bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ branch_code: Optional[str] """ Branch code of bank associated with the bank account. """ country: Optional[str] """ Two-letter ISO code representing the country the bank account is located in. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four characters of the IBAN. """ mandate: Optional[str] """ Find the ID of the mandate used for this payment under the [payment_method_details.sepa_debit.mandate](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-sepa_debit-mandate) property on the Charge. Use this mandate ID to [retrieve the Mandate](https://stripe.com/docs/api/mandates/retrieve). """ class Sofort(StripeObject): bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ bic: Optional[str] """ Bank Identifier Code of the bank associated with the bank account. """ country: Optional[str] """ Two-letter ISO code representing the country the bank account is located in. """ generated_sepa_debit: Optional[ExpandableField["PaymentMethod"]] """ The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ generated_sepa_debit_mandate: Optional[ExpandableField["Mandate"]] """ The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge. """ iban_last4: Optional[str] """ Last four characters of the IBAN. """ preferred_language: Optional[ Literal["de", "en", "es", "fr", "it", "nl", "pl"] ] """ Preferred language of the SOFORT authorization page that the customer is redirected to. Can be one of `de`, `en`, `es`, `fr`, `it`, `nl`, or `pl` """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by SOFORT directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ class StripeAccount(StripeObject): pass class Swish(StripeObject): fingerprint: Optional[str] """ Uniquely identifies the payer's Swish account. You can use this attribute to check whether two Swish transactions were paid for by the same payer """ payment_reference: Optional[str] """ Payer bank reference number for the payment """ verified_phone_last4: Optional[str] """ The last four digits of the Swish account phone number """ class Twint(StripeObject): pass class UsBankAccount(StripeObject): account_holder_type: Optional[Literal["company", "individual"]] account_type: Optional[Literal["checking", "savings"]] bank_name: Optional[str] """ Name of the bank associated with the bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ mandate: Optional[ExpandableField["Mandate"]] """ ID of the mandate used to make this payment. """ payment_reference: Optional[str] """ Reference number to locate ACH payments with customer's bank. """ routing_number: Optional[str] """ Routing number of the bank account. """ class Wechat(StripeObject): pass class WechatPay(StripeObject): fingerprint: Optional[str] """ Uniquely identifies this particular WeChat Pay account. You can use this attribute to check whether two WeChat accounts are the same. """ location: Optional[str] """ ID of the [location](https://stripe.com/docs/api/terminal/locations) that this transaction's reader is assigned to. """ reader: Optional[str] """ ID of the [reader](https://stripe.com/docs/api/terminal/readers) this transaction was made on. """ transaction_id: Optional[str] """ Transaction ID of this particular WeChat Pay transaction. """ class Zip(StripeObject): pass ach_credit_transfer: Optional[AchCreditTransfer] ach_debit: Optional[AchDebit] acss_debit: Optional[AcssDebit] affirm: Optional[Affirm] afterpay_clearpay: Optional[AfterpayClearpay] alipay: Optional[Alipay] alma: Optional[Alma] amazon_pay: Optional[AmazonPay] au_becs_debit: Optional[AuBecsDebit] bacs_debit: Optional[BacsDebit] bancontact: Optional[Bancontact] billie: Optional[Billie] billing_details: Optional[BillingDetails] """ The billing details associated with the method of payment. """ blik: Optional[Blik] boleto: Optional[Boleto] card: Optional[Card] """ Details of the card used for this payment attempt. """ card_present: Optional[CardPresent] cashapp: Optional[Cashapp] crypto: Optional[Crypto] custom: Optional[Custom] """ Custom Payment Methods represent Payment Method types not modeled directly in the Stripe API. This resource consists of details about the custom payment method used for this payment attempt. """ customer_balance: Optional[CustomerBalance] eps: Optional[Eps] fpx: Optional[Fpx] giropay: Optional[Giropay] grabpay: Optional[Grabpay] ideal: Optional[Ideal] interac_present: Optional[InteracPresent] kakao_pay: Optional[KakaoPay] klarna: Optional[Klarna] konbini: Optional[Konbini] kr_card: Optional[KrCard] link: Optional[Link] mb_way: Optional[MbWay] mobilepay: Optional[Mobilepay] multibanco: Optional[Multibanco] naver_pay: Optional[NaverPay] nz_bank_account: Optional[NzBankAccount] oxxo: Optional[Oxxo] p24: Optional[P24] pay_by_bank: Optional[PayByBank] payco: Optional[Payco] payment_method: Optional[str] """ ID of the Stripe PaymentMethod used to make this payment. """ paynow: Optional[Paynow] paypal: Optional[Paypal] pix: Optional[Pix] promptpay: Optional[Promptpay] revolut_pay: Optional[RevolutPay] samsung_pay: Optional[SamsungPay] satispay: Optional[Satispay] sepa_credit_transfer: Optional[SepaCreditTransfer] sepa_debit: Optional[SepaDebit] sofort: Optional[Sofort] stripe_account: Optional[StripeAccount] swish: Optional[Swish] twint: Optional[Twint] type: str """ The type of transaction-specific details of the payment method used in the payment. See [PaymentMethod.type](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type) for the full list of possible types. An additional hash is included on `payment_method_details` with a name matching this value. 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] _inner_class_types = { "ach_credit_transfer": AchCreditTransfer, "ach_debit": AchDebit, "acss_debit": AcssDebit, "affirm": Affirm, "afterpay_clearpay": AfterpayClearpay, "alipay": Alipay, "alma": Alma, "amazon_pay": AmazonPay, "au_becs_debit": AuBecsDebit, "bacs_debit": BacsDebit, "bancontact": Bancontact, "billie": Billie, "billing_details": BillingDetails, "blik": Blik, "boleto": Boleto, "card": Card, "card_present": CardPresent, "cashapp": Cashapp, "crypto": Crypto, "custom": Custom, "customer_balance": CustomerBalance, "eps": Eps, "fpx": Fpx, "giropay": Giropay, "grabpay": Grabpay, "ideal": Ideal, "interac_present": InteracPresent, "kakao_pay": KakaoPay, "klarna": Klarna, "konbini": Konbini, "kr_card": KrCard, "link": Link, "mb_way": MbWay, "mobilepay": Mobilepay, "multibanco": Multibanco, "naver_pay": NaverPay, "nz_bank_account": NzBankAccount, "oxxo": Oxxo, "p24": P24, "pay_by_bank": PayByBank, "payco": Payco, "paynow": Paynow, "paypal": Paypal, "pix": Pix, "promptpay": Promptpay, "revolut_pay": RevolutPay, "samsung_pay": SamsungPay, "satispay": Satispay, "sepa_credit_transfer": SepaCreditTransfer, "sepa_debit": SepaDebit, "sofort": Sofort, "stripe_account": StripeAccount, "swish": Swish, "twint": Twint, "us_bank_account": UsBankAccount, "wechat": Wechat, "wechat_pay": WechatPay, "zip": Zip, } class ProcessorDetails(StripeObject): class Custom(StripeObject): payment_reference: Optional[str] """ An opaque string for manual reconciliation of this payment, for example a check number or a payment processor ID. """ custom: Optional[Custom] """ Custom processors represent payment processors not modeled directly in the Stripe API. This resource consists of details about the custom processor used for this payment attempt. """ type: Literal["custom"] """ The processor used for this payment attempt. """ _inner_class_types = {"custom": Custom} class ShippingDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Address """ A representation of a physical address. """ name: Optional[str] """ The shipping recipient's name. """ phone: Optional[str] """ The shipping recipient's phone number. """ _inner_class_types = {"address": Address} amount: Amount """ A representation of an amount of money, consisting of an amount and a currency. """ amount_authorized: AmountAuthorized """ A representation of an amount of money, consisting of an amount and a currency. """ amount_canceled: AmountCanceled """ A representation of an amount of money, consisting of an amount and a currency. """ amount_failed: AmountFailed """ A representation of an amount of money, consisting of an amount and a currency. """ amount_guaranteed: AmountGuaranteed """ A representation of an amount of money, consisting of an amount and a currency. """ amount_refunded: AmountRefunded """ A representation of an amount of money, consisting of an amount and a currency. """ amount_requested: AmountRequested """ A representation of an amount of money, consisting of an amount and a currency. """ application: Optional[str] """ ID of the Connect application that created the PaymentRecord. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ customer_details: Optional[CustomerDetails] """ Customer information for this payment. """ customer_presence: Optional[Literal["off_session", "on_session"]] """ Indicates whether the customer was present in your checkout flow during this payment. """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ id: str """ Unique identifier for the object. """ latest_payment_attempt_record: Optional[str] """ ID of the latest Payment Attempt Record attached to this Payment Record. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["payment_record"] """ String representing the object's type. Objects of the same type share the same value. """ payment_method_details: Optional[PaymentMethodDetails] """ Information about the Payment Method debited for this payment. """ processor_details: ProcessorDetails """ Processor information associated with this payment. """ shipping_details: Optional[ShippingDetails] """ Shipping information for this payment. """ @classmethod def report_payment( cls, **params: Unpack["PaymentRecordReportPaymentParams"] ) -> "PaymentRecord": """ Report a new Payment Record. You may report a Payment Record as it is initialized and later report updates through the other report_* methods, or report Payment Records in a terminal state directly, through this method. """ return cast( "PaymentRecord", cls._static_request( "post", "/v1/payment_records/report_payment", params=params, ), ) @classmethod async def report_payment_async( cls, **params: Unpack["PaymentRecordReportPaymentParams"] ) -> "PaymentRecord": """ Report a new Payment Record. You may report a Payment Record as it is initialized and later report updates through the other report_* methods, or report Payment Records in a terminal state directly, through this method. """ return cast( "PaymentRecord", await cls._static_request_async( "post", "/v1/payment_records/report_payment", params=params, ), ) @classmethod def _cls_report_payment_attempt( cls, id: str, **params: Unpack["PaymentRecordReportPaymentAttemptParams"], ) -> "PaymentRecord": """ Report a new payment attempt on the specified Payment Record. A new payment attempt can only be specified if all other payment attempts are canceled or failed. """ return cast( "PaymentRecord", cls._static_request( "post", "/v1/payment_records/{id}/report_payment_attempt".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def report_payment_attempt( id: str, **params: Unpack["PaymentRecordReportPaymentAttemptParams"] ) -> "PaymentRecord": """ Report a new payment attempt on the specified Payment Record. A new payment attempt can only be specified if all other payment attempts are canceled or failed. """ ... @overload def report_payment_attempt( self, **params: Unpack["PaymentRecordReportPaymentAttemptParams"] ) -> "PaymentRecord": """ Report a new payment attempt on the specified Payment Record. A new payment attempt can only be specified if all other payment attempts are canceled or failed. """ ... @class_method_variant("_cls_report_payment_attempt") def report_payment_attempt( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentRecordReportPaymentAttemptParams"] ) -> "PaymentRecord": """ Report a new payment attempt on the specified Payment Record. A new payment attempt can only be specified if all other payment attempts are canceled or failed. """ return cast( "PaymentRecord", self._request( "post", "/v1/payment_records/{id}/report_payment_attempt".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_report_payment_attempt_async( cls, id: str, **params: Unpack["PaymentRecordReportPaymentAttemptParams"], ) -> "PaymentRecord": """ Report a new payment attempt on the specified Payment Record. A new payment attempt can only be specified if all other payment attempts are canceled or failed. """ return cast( "PaymentRecord", await cls._static_request_async( "post", "/v1/payment_records/{id}/report_payment_attempt".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def report_payment_attempt_async( id: str, **params: Unpack["PaymentRecordReportPaymentAttemptParams"] ) -> "PaymentRecord": """ Report a new payment attempt on the specified Payment Record. A new payment attempt can only be specified if all other payment attempts are canceled or failed. """ ... @overload async def report_payment_attempt_async( self, **params: Unpack["PaymentRecordReportPaymentAttemptParams"] ) -> "PaymentRecord": """ Report a new payment attempt on the specified Payment Record. A new payment attempt can only be specified if all other payment attempts are canceled or failed. """ ... @class_method_variant("_cls_report_payment_attempt_async") async def report_payment_attempt_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentRecordReportPaymentAttemptParams"] ) -> "PaymentRecord": """ Report a new payment attempt on the specified Payment Record. A new payment attempt can only be specified if all other payment attempts are canceled or failed. """ return cast( "PaymentRecord", await self._request_async( "post", "/v1/payment_records/{id}/report_payment_attempt".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_report_payment_attempt_canceled( cls, id: str, **params: Unpack["PaymentRecordReportPaymentAttemptCanceledParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was canceled. """ return cast( "PaymentRecord", cls._static_request( "post", "/v1/payment_records/{id}/report_payment_attempt_canceled".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def report_payment_attempt_canceled( id: str, **params: Unpack["PaymentRecordReportPaymentAttemptCanceledParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was canceled. """ ... @overload def report_payment_attempt_canceled( self, **params: Unpack["PaymentRecordReportPaymentAttemptCanceledParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was canceled. """ ... @class_method_variant("_cls_report_payment_attempt_canceled") def report_payment_attempt_canceled( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentRecordReportPaymentAttemptCanceledParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was canceled. """ return cast( "PaymentRecord", self._request( "post", "/v1/payment_records/{id}/report_payment_attempt_canceled".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_report_payment_attempt_canceled_async( cls, id: str, **params: Unpack["PaymentRecordReportPaymentAttemptCanceledParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was canceled. """ return cast( "PaymentRecord", await cls._static_request_async( "post", "/v1/payment_records/{id}/report_payment_attempt_canceled".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def report_payment_attempt_canceled_async( id: str, **params: Unpack["PaymentRecordReportPaymentAttemptCanceledParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was canceled. """ ... @overload async def report_payment_attempt_canceled_async( self, **params: Unpack["PaymentRecordReportPaymentAttemptCanceledParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was canceled. """ ... @class_method_variant("_cls_report_payment_attempt_canceled_async") async def report_payment_attempt_canceled_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentRecordReportPaymentAttemptCanceledParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was canceled. """ return cast( "PaymentRecord", await self._request_async( "post", "/v1/payment_records/{id}/report_payment_attempt_canceled".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_report_payment_attempt_failed( cls, id: str, **params: Unpack["PaymentRecordReportPaymentAttemptFailedParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record failed or errored. """ return cast( "PaymentRecord", cls._static_request( "post", "/v1/payment_records/{id}/report_payment_attempt_failed".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def report_payment_attempt_failed( id: str, **params: Unpack["PaymentRecordReportPaymentAttemptFailedParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record failed or errored. """ ... @overload def report_payment_attempt_failed( self, **params: Unpack["PaymentRecordReportPaymentAttemptFailedParams"] ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record failed or errored. """ ... @class_method_variant("_cls_report_payment_attempt_failed") def report_payment_attempt_failed( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentRecordReportPaymentAttemptFailedParams"] ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record failed or errored. """ return cast( "PaymentRecord", self._request( "post", "/v1/payment_records/{id}/report_payment_attempt_failed".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_report_payment_attempt_failed_async( cls, id: str, **params: Unpack["PaymentRecordReportPaymentAttemptFailedParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record failed or errored. """ return cast( "PaymentRecord", await cls._static_request_async( "post", "/v1/payment_records/{id}/report_payment_attempt_failed".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def report_payment_attempt_failed_async( id: str, **params: Unpack["PaymentRecordReportPaymentAttemptFailedParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record failed or errored. """ ... @overload async def report_payment_attempt_failed_async( self, **params: Unpack["PaymentRecordReportPaymentAttemptFailedParams"] ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record failed or errored. """ ... @class_method_variant("_cls_report_payment_attempt_failed_async") async def report_payment_attempt_failed_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentRecordReportPaymentAttemptFailedParams"] ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record failed or errored. """ return cast( "PaymentRecord", await self._request_async( "post", "/v1/payment_records/{id}/report_payment_attempt_failed".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_report_payment_attempt_guaranteed( cls, id: str, **params: Unpack["PaymentRecordReportPaymentAttemptGuaranteedParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was guaranteed. """ return cast( "PaymentRecord", cls._static_request( "post", "/v1/payment_records/{id}/report_payment_attempt_guaranteed".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def report_payment_attempt_guaranteed( id: str, **params: Unpack["PaymentRecordReportPaymentAttemptGuaranteedParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was guaranteed. """ ... @overload def report_payment_attempt_guaranteed( self, **params: Unpack["PaymentRecordReportPaymentAttemptGuaranteedParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was guaranteed. """ ... @class_method_variant("_cls_report_payment_attempt_guaranteed") def report_payment_attempt_guaranteed( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentRecordReportPaymentAttemptGuaranteedParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was guaranteed. """ return cast( "PaymentRecord", self._request( "post", "/v1/payment_records/{id}/report_payment_attempt_guaranteed".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_report_payment_attempt_guaranteed_async( cls, id: str, **params: Unpack["PaymentRecordReportPaymentAttemptGuaranteedParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was guaranteed. """ return cast( "PaymentRecord", await cls._static_request_async( "post", "/v1/payment_records/{id}/report_payment_attempt_guaranteed".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def report_payment_attempt_guaranteed_async( id: str, **params: Unpack["PaymentRecordReportPaymentAttemptGuaranteedParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was guaranteed. """ ... @overload async def report_payment_attempt_guaranteed_async( self, **params: Unpack["PaymentRecordReportPaymentAttemptGuaranteedParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was guaranteed. """ ... @class_method_variant("_cls_report_payment_attempt_guaranteed_async") async def report_payment_attempt_guaranteed_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentRecordReportPaymentAttemptGuaranteedParams"], ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was guaranteed. """ return cast( "PaymentRecord", await self._request_async( "post", "/v1/payment_records/{id}/report_payment_attempt_guaranteed".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_report_payment_attempt_informational( cls, id: str, **params: Unpack[ "PaymentRecordReportPaymentAttemptInformationalParams" ], ) -> "PaymentRecord": """ Report informational updates on the specified Payment Record. """ return cast( "PaymentRecord", cls._static_request( "post", "/v1/payment_records/{id}/report_payment_attempt_informational".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def report_payment_attempt_informational( id: str, **params: Unpack[ "PaymentRecordReportPaymentAttemptInformationalParams" ], ) -> "PaymentRecord": """ Report informational updates on the specified Payment Record. """ ... @overload def report_payment_attempt_informational( self, **params: Unpack[ "PaymentRecordReportPaymentAttemptInformationalParams" ], ) -> "PaymentRecord": """ Report informational updates on the specified Payment Record. """ ... @class_method_variant("_cls_report_payment_attempt_informational") def report_payment_attempt_informational( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack[ "PaymentRecordReportPaymentAttemptInformationalParams" ], ) -> "PaymentRecord": """ Report informational updates on the specified Payment Record. """ return cast( "PaymentRecord", self._request( "post", "/v1/payment_records/{id}/report_payment_attempt_informational".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_report_payment_attempt_informational_async( cls, id: str, **params: Unpack[ "PaymentRecordReportPaymentAttemptInformationalParams" ], ) -> "PaymentRecord": """ Report informational updates on the specified Payment Record. """ return cast( "PaymentRecord", await cls._static_request_async( "post", "/v1/payment_records/{id}/report_payment_attempt_informational".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def report_payment_attempt_informational_async( id: str, **params: Unpack[ "PaymentRecordReportPaymentAttemptInformationalParams" ], ) -> "PaymentRecord": """ Report informational updates on the specified Payment Record. """ ... @overload async def report_payment_attempt_informational_async( self, **params: Unpack[ "PaymentRecordReportPaymentAttemptInformationalParams" ], ) -> "PaymentRecord": """ Report informational updates on the specified Payment Record. """ ... @class_method_variant("_cls_report_payment_attempt_informational_async") async def report_payment_attempt_informational_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack[ "PaymentRecordReportPaymentAttemptInformationalParams" ], ) -> "PaymentRecord": """ Report informational updates on the specified Payment Record. """ return cast( "PaymentRecord", await self._request_async( "post", "/v1/payment_records/{id}/report_payment_attempt_informational".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_report_refund( cls, id: str, **params: Unpack["PaymentRecordReportRefundParams"] ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was refunded. """ return cast( "PaymentRecord", cls._static_request( "post", "/v1/payment_records/{id}/report_refund".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def report_refund( id: str, **params: Unpack["PaymentRecordReportRefundParams"] ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was refunded. """ ... @overload def report_refund( self, **params: Unpack["PaymentRecordReportRefundParams"] ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was refunded. """ ... @class_method_variant("_cls_report_refund") def report_refund( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentRecordReportRefundParams"] ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was refunded. """ return cast( "PaymentRecord", self._request( "post", "/v1/payment_records/{id}/report_refund".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_report_refund_async( cls, id: str, **params: Unpack["PaymentRecordReportRefundParams"] ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was refunded. """ return cast( "PaymentRecord", await cls._static_request_async( "post", "/v1/payment_records/{id}/report_refund".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def report_refund_async( id: str, **params: Unpack["PaymentRecordReportRefundParams"] ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was refunded. """ ... @overload async def report_refund_async( self, **params: Unpack["PaymentRecordReportRefundParams"] ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was refunded. """ ... @class_method_variant("_cls_report_refund_async") async def report_refund_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PaymentRecordReportRefundParams"] ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was refunded. """ return cast( "PaymentRecord", await self._request_async( "post", "/v1/payment_records/{id}/report_refund".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["PaymentRecordRetrieveParams"] ) -> "PaymentRecord": """ Retrieves a Payment Record with the given ID """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["PaymentRecordRetrieveParams"] ) -> "PaymentRecord": """ Retrieves a Payment Record with the given ID """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "amount": Amount, "amount_authorized": AmountAuthorized, "amount_canceled": AmountCanceled, "amount_failed": AmountFailed, "amount_guaranteed": AmountGuaranteed, "amount_refunded": AmountRefunded, "amount_requested": AmountRequested, "customer_details": CustomerDetails, "payment_method_details": PaymentMethodDetails, "processor_details": ProcessorDetails, "shipping_details": ShippingDetails, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.328062 stripe-13.2.0/stripe/_payment_record_service.py0000644000000000000000000003111615102753431016606 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._payment_record import PaymentRecord from stripe._request_options import RequestOptions from stripe.params._payment_record_report_payment_attempt_canceled_params import ( PaymentRecordReportPaymentAttemptCanceledParams, ) from stripe.params._payment_record_report_payment_attempt_failed_params import ( PaymentRecordReportPaymentAttemptFailedParams, ) from stripe.params._payment_record_report_payment_attempt_guaranteed_params import ( PaymentRecordReportPaymentAttemptGuaranteedParams, ) from stripe.params._payment_record_report_payment_attempt_informational_params import ( PaymentRecordReportPaymentAttemptInformationalParams, ) from stripe.params._payment_record_report_payment_attempt_params import ( PaymentRecordReportPaymentAttemptParams, ) from stripe.params._payment_record_report_payment_params import ( PaymentRecordReportPaymentParams, ) from stripe.params._payment_record_report_refund_params import ( PaymentRecordReportRefundParams, ) from stripe.params._payment_record_retrieve_params import ( PaymentRecordRetrieveParams, ) class PaymentRecordService(StripeService): def retrieve( self, id: str, params: Optional["PaymentRecordRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Retrieves a Payment Record with the given ID """ return cast( "PaymentRecord", self._request( "get", "/v1/payment_records/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["PaymentRecordRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Retrieves a Payment Record with the given ID """ return cast( "PaymentRecord", await self._request_async( "get", "/v1/payment_records/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def report_payment_attempt( self, id: str, params: "PaymentRecordReportPaymentAttemptParams", options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Report a new payment attempt on the specified Payment Record. A new payment attempt can only be specified if all other payment attempts are canceled or failed. """ return cast( "PaymentRecord", self._request( "post", "/v1/payment_records/{id}/report_payment_attempt".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def report_payment_attempt_async( self, id: str, params: "PaymentRecordReportPaymentAttemptParams", options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Report a new payment attempt on the specified Payment Record. A new payment attempt can only be specified if all other payment attempts are canceled or failed. """ return cast( "PaymentRecord", await self._request_async( "post", "/v1/payment_records/{id}/report_payment_attempt".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def report_payment_attempt_canceled( self, id: str, params: "PaymentRecordReportPaymentAttemptCanceledParams", options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was canceled. """ return cast( "PaymentRecord", self._request( "post", "/v1/payment_records/{id}/report_payment_attempt_canceled".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def report_payment_attempt_canceled_async( self, id: str, params: "PaymentRecordReportPaymentAttemptCanceledParams", options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was canceled. """ return cast( "PaymentRecord", await self._request_async( "post", "/v1/payment_records/{id}/report_payment_attempt_canceled".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def report_payment_attempt_failed( self, id: str, params: "PaymentRecordReportPaymentAttemptFailedParams", options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record failed or errored. """ return cast( "PaymentRecord", self._request( "post", "/v1/payment_records/{id}/report_payment_attempt_failed".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def report_payment_attempt_failed_async( self, id: str, params: "PaymentRecordReportPaymentAttemptFailedParams", options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record failed or errored. """ return cast( "PaymentRecord", await self._request_async( "post", "/v1/payment_records/{id}/report_payment_attempt_failed".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def report_payment_attempt_guaranteed( self, id: str, params: "PaymentRecordReportPaymentAttemptGuaranteedParams", options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was guaranteed. """ return cast( "PaymentRecord", self._request( "post", "/v1/payment_records/{id}/report_payment_attempt_guaranteed".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def report_payment_attempt_guaranteed_async( self, id: str, params: "PaymentRecordReportPaymentAttemptGuaranteedParams", options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was guaranteed. """ return cast( "PaymentRecord", await self._request_async( "post", "/v1/payment_records/{id}/report_payment_attempt_guaranteed".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def report_payment_attempt_informational( self, id: str, params: Optional[ "PaymentRecordReportPaymentAttemptInformationalParams" ] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Report informational updates on the specified Payment Record. """ return cast( "PaymentRecord", self._request( "post", "/v1/payment_records/{id}/report_payment_attempt_informational".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def report_payment_attempt_informational_async( self, id: str, params: Optional[ "PaymentRecordReportPaymentAttemptInformationalParams" ] = None, options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Report informational updates on the specified Payment Record. """ return cast( "PaymentRecord", await self._request_async( "post", "/v1/payment_records/{id}/report_payment_attempt_informational".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def report_refund( self, id: str, params: "PaymentRecordReportRefundParams", options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was refunded. """ return cast( "PaymentRecord", self._request( "post", "/v1/payment_records/{id}/report_refund".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def report_refund_async( self, id: str, params: "PaymentRecordReportRefundParams", options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Report that the most recent payment attempt on the specified Payment Record was refunded. """ return cast( "PaymentRecord", await self._request_async( "post", "/v1/payment_records/{id}/report_refund".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def report_payment( self, params: "PaymentRecordReportPaymentParams", options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Report a new Payment Record. You may report a Payment Record as it is initialized and later report updates through the other report_* methods, or report Payment Records in a terminal state directly, through this method. """ return cast( "PaymentRecord", self._request( "post", "/v1/payment_records/report_payment", base_address="api", params=params, options=options, ), ) async def report_payment_async( self, params: "PaymentRecordReportPaymentParams", options: Optional["RequestOptions"] = None, ) -> "PaymentRecord": """ Report a new Payment Record. You may report a Payment Record as it is initialized and later report updates through the other report_* methods, or report Payment Records in a terminal state directly, through this method. """ return cast( "PaymentRecord", await self._request_async( "post", "/v1/payment_records/report_payment", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.328062 stripe-13.2.0/stripe/_payout.py0000644000000000000000000005535315102753431013405 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, Optional, Union, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._application_fee import ApplicationFee from stripe._balance_transaction import BalanceTransaction from stripe._bank_account import BankAccount from stripe._card import Card from stripe.params._payout_cancel_params import PayoutCancelParams from stripe.params._payout_create_params import PayoutCreateParams from stripe.params._payout_list_params import PayoutListParams from stripe.params._payout_modify_params import PayoutModifyParams from stripe.params._payout_retrieve_params import PayoutRetrieveParams from stripe.params._payout_reverse_params import PayoutReverseParams class Payout( CreateableAPIResource["Payout"], ListableAPIResource["Payout"], UpdateableAPIResource["Payout"], ): """ A `Payout` object is created when you receive funds from Stripe, or when you initiate a payout to either a bank account or debit card of a [connected Stripe account](https://docs.stripe.com/docs/connect/bank-debit-card-payouts). You can retrieve individual payouts, and list all payouts. Payouts are made on [varying schedules](https://docs.stripe.com/docs/connect/manage-payout-schedule), depending on your country and industry. Related guide: [Receiving payouts](https://stripe.com/docs/payouts) """ OBJECT_NAME: ClassVar[Literal["payout"]] = "payout" class TraceId(StripeObject): status: str """ Possible values are `pending`, `supported`, and `unsupported`. When `payout.status` is `pending` or `in_transit`, this will be `pending`. When the payout transitions to `paid`, `failed`, or `canceled`, this status will become `supported` or `unsupported` shortly after in most cases. In some cases, this may appear as `pending` for up to 10 days after `arrival_date` until transitioning to `supported` or `unsupported`. """ value: Optional[str] """ The trace ID value if `trace_id.status` is `supported`, otherwise `nil`. """ amount: int """ The amount (in cents (or local equivalent)) that transfers to your bank account or debit card. """ application_fee: Optional[ExpandableField["ApplicationFee"]] """ The application fee (if any) for the payout. [See the Connect documentation](https://stripe.com/docs/connect/instant-payouts#monetization-and-fees) for details. """ application_fee_amount: Optional[int] """ The amount of the application fee (if any) requested for the payout. [See the Connect documentation](https://stripe.com/docs/connect/instant-payouts#monetization-and-fees) for details. """ arrival_date: int """ Date that you can expect the payout to arrive in the bank. This factors in delays to account for weekends or bank holidays. """ automatic: bool """ Returns `true` if the payout is created by an [automated payout schedule](https://stripe.com/docs/payouts#payout-schedule) and `false` if it's [requested manually](https://stripe.com/docs/payouts#manual-payouts). """ balance_transaction: Optional[ExpandableField["BalanceTransaction"]] """ ID of the balance transaction that describes the impact of this payout on your account balance. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ destination: Optional[ExpandableField[Union["BankAccount", "Card"]]] """ ID of the bank account or card the payout is sent to. """ failure_balance_transaction: Optional[ ExpandableField["BalanceTransaction"] ] """ If the payout fails or cancels, this is the ID of the balance transaction that reverses the initial balance transaction and returns the funds from the failed payout back in your balance. """ failure_code: Optional[str] """ Error code that provides a reason for a payout failure, if available. View our [list of failure codes](https://stripe.com/docs/api#payout_failures). """ failure_message: Optional[str] """ Message that provides the reason for a payout failure, if available. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ method: str """ The method used to send this payout, which can be `standard` or `instant`. `instant` is supported for payouts to debit cards and bank accounts in certain countries. Learn more about [bank support for Instant Payouts](https://stripe.com/docs/payouts/instant-payouts-banks). """ object: Literal["payout"] """ String representing the object's type. Objects of the same type share the same value. """ original_payout: Optional[ExpandableField["Payout"]] """ If the payout reverses another, this is the ID of the original payout. """ payout_method: Optional[str] """ ID of the v2 FinancialAccount the funds are sent to. """ reconciliation_status: Literal[ "completed", "in_progress", "not_applicable" ] """ If `completed`, you can use the [Balance Transactions API](https://stripe.com/docs/api/balance_transactions/list#balance_transaction_list-payout) to list all balance transactions that are paid out in this payout. """ reversed_by: Optional[ExpandableField["Payout"]] """ If the payout reverses, this is the ID of the payout that reverses this payout. """ source_type: str """ The source balance this payout came from, which can be one of the following: `card`, `fpx`, or `bank_account`. """ statement_descriptor: Optional[str] """ Extra information about a payout that displays on the user's bank statement. """ status: str """ Current status of the payout: `paid`, `pending`, `in_transit`, `canceled` or `failed`. A payout is `pending` until it's submitted to the bank, when it becomes `in_transit`. The status changes to `paid` if the transaction succeeds, or to `failed` or `canceled` (within 5 business days). Some payouts that fail might initially show as `paid`, then change to `failed`. """ trace_id: Optional[TraceId] """ A value that generates from the beneficiary's bank that allows users to track payouts with their bank. Banks might call this a "reference number" or something similar. """ type: Literal["bank_account", "card"] """ Can be `bank_account` or `card`. """ @classmethod def _cls_cancel( cls, payout: str, **params: Unpack["PayoutCancelParams"] ) -> "Payout": """ You can cancel a previously created payout if its status is pending. Stripe refunds the funds to your available balance. You can't cancel automatic Stripe payouts. """ return cast( "Payout", cls._static_request( "post", "/v1/payouts/{payout}/cancel".format( payout=sanitize_id(payout) ), params=params, ), ) @overload @staticmethod def cancel( payout: str, **params: Unpack["PayoutCancelParams"] ) -> "Payout": """ You can cancel a previously created payout if its status is pending. Stripe refunds the funds to your available balance. You can't cancel automatic Stripe payouts. """ ... @overload def cancel(self, **params: Unpack["PayoutCancelParams"]) -> "Payout": """ You can cancel a previously created payout if its status is pending. Stripe refunds the funds to your available balance. You can't cancel automatic Stripe payouts. """ ... @class_method_variant("_cls_cancel") def cancel( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PayoutCancelParams"] ) -> "Payout": """ You can cancel a previously created payout if its status is pending. Stripe refunds the funds to your available balance. You can't cancel automatic Stripe payouts. """ return cast( "Payout", self._request( "post", "/v1/payouts/{payout}/cancel".format( payout=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_cancel_async( cls, payout: str, **params: Unpack["PayoutCancelParams"] ) -> "Payout": """ You can cancel a previously created payout if its status is pending. Stripe refunds the funds to your available balance. You can't cancel automatic Stripe payouts. """ return cast( "Payout", await cls._static_request_async( "post", "/v1/payouts/{payout}/cancel".format( payout=sanitize_id(payout) ), params=params, ), ) @overload @staticmethod async def cancel_async( payout: str, **params: Unpack["PayoutCancelParams"] ) -> "Payout": """ You can cancel a previously created payout if its status is pending. Stripe refunds the funds to your available balance. You can't cancel automatic Stripe payouts. """ ... @overload async def cancel_async( self, **params: Unpack["PayoutCancelParams"] ) -> "Payout": """ You can cancel a previously created payout if its status is pending. Stripe refunds the funds to your available balance. You can't cancel automatic Stripe payouts. """ ... @class_method_variant("_cls_cancel_async") async def cancel_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PayoutCancelParams"] ) -> "Payout": """ You can cancel a previously created payout if its status is pending. Stripe refunds the funds to your available balance. You can't cancel automatic Stripe payouts. """ return cast( "Payout", await self._request_async( "post", "/v1/payouts/{payout}/cancel".format( payout=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create(cls, **params: Unpack["PayoutCreateParams"]) -> "Payout": """ To send funds to your own bank account, create a new payout object. Your [Stripe balance](https://docs.stripe.com/api#balance) must cover the payout amount. If it doesn't, you receive an “Insufficient Funds” error. If your API key is in test mode, money won't actually be sent, though every other action occurs as if you're in live mode. If you create a manual payout on a Stripe account that uses multiple payment source types, you need to specify the source type balance that the payout draws from. The [balance object](https://docs.stripe.com/api#balance_object) details available and pending amounts by source type. """ return cast( "Payout", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["PayoutCreateParams"] ) -> "Payout": """ To send funds to your own bank account, create a new payout object. Your [Stripe balance](https://docs.stripe.com/api#balance) must cover the payout amount. If it doesn't, you receive an “Insufficient Funds” error. If your API key is in test mode, money won't actually be sent, though every other action occurs as if you're in live mode. If you create a manual payout on a Stripe account that uses multiple payment source types, you need to specify the source type balance that the payout draws from. The [balance object](https://docs.stripe.com/api#balance_object) details available and pending amounts by source type. """ return cast( "Payout", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["PayoutListParams"] ) -> ListObject["Payout"]: """ Returns a list of existing payouts sent to third-party bank accounts or payouts that Stripe sent to you. The payouts return in sorted order, with the most recently created payouts appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["PayoutListParams"] ) -> ListObject["Payout"]: """ Returns a list of existing payouts sent to third-party bank accounts or payouts that Stripe sent to you. The payouts return in sorted order, with the most recently created payouts appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["PayoutModifyParams"] ) -> "Payout": """ Updates the specified payout by setting the values of the parameters you pass. We don't change parameters that you don't provide. This request only accepts the metadata as arguments. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Payout", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["PayoutModifyParams"] ) -> "Payout": """ Updates the specified payout by setting the values of the parameters you pass. We don't change parameters that you don't provide. This request only accepts the metadata as arguments. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Payout", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["PayoutRetrieveParams"] ) -> "Payout": """ Retrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list. Stripe returns the corresponding payout information. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["PayoutRetrieveParams"] ) -> "Payout": """ Retrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list. Stripe returns the corresponding payout information. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def _cls_reverse( cls, payout: str, **params: Unpack["PayoutReverseParams"] ) -> "Payout": """ Reverses a payout by debiting the destination bank account. At this time, you can only reverse payouts for connected accounts to US and Canadian bank accounts. If the payout is manual and in the pending status, use /v1/payouts/:id/cancel instead. By requesting a reversal through /v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account authorizes the debit on the bank account and that no other authorization is required. """ return cast( "Payout", cls._static_request( "post", "/v1/payouts/{payout}/reverse".format( payout=sanitize_id(payout) ), params=params, ), ) @overload @staticmethod def reverse( payout: str, **params: Unpack["PayoutReverseParams"] ) -> "Payout": """ Reverses a payout by debiting the destination bank account. At this time, you can only reverse payouts for connected accounts to US and Canadian bank accounts. If the payout is manual and in the pending status, use /v1/payouts/:id/cancel instead. By requesting a reversal through /v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account authorizes the debit on the bank account and that no other authorization is required. """ ... @overload def reverse(self, **params: Unpack["PayoutReverseParams"]) -> "Payout": """ Reverses a payout by debiting the destination bank account. At this time, you can only reverse payouts for connected accounts to US and Canadian bank accounts. If the payout is manual and in the pending status, use /v1/payouts/:id/cancel instead. By requesting a reversal through /v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account authorizes the debit on the bank account and that no other authorization is required. """ ... @class_method_variant("_cls_reverse") def reverse( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PayoutReverseParams"] ) -> "Payout": """ Reverses a payout by debiting the destination bank account. At this time, you can only reverse payouts for connected accounts to US and Canadian bank accounts. If the payout is manual and in the pending status, use /v1/payouts/:id/cancel instead. By requesting a reversal through /v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account authorizes the debit on the bank account and that no other authorization is required. """ return cast( "Payout", self._request( "post", "/v1/payouts/{payout}/reverse".format( payout=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_reverse_async( cls, payout: str, **params: Unpack["PayoutReverseParams"] ) -> "Payout": """ Reverses a payout by debiting the destination bank account. At this time, you can only reverse payouts for connected accounts to US and Canadian bank accounts. If the payout is manual and in the pending status, use /v1/payouts/:id/cancel instead. By requesting a reversal through /v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account authorizes the debit on the bank account and that no other authorization is required. """ return cast( "Payout", await cls._static_request_async( "post", "/v1/payouts/{payout}/reverse".format( payout=sanitize_id(payout) ), params=params, ), ) @overload @staticmethod async def reverse_async( payout: str, **params: Unpack["PayoutReverseParams"] ) -> "Payout": """ Reverses a payout by debiting the destination bank account. At this time, you can only reverse payouts for connected accounts to US and Canadian bank accounts. If the payout is manual and in the pending status, use /v1/payouts/:id/cancel instead. By requesting a reversal through /v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account authorizes the debit on the bank account and that no other authorization is required. """ ... @overload async def reverse_async( self, **params: Unpack["PayoutReverseParams"] ) -> "Payout": """ Reverses a payout by debiting the destination bank account. At this time, you can only reverse payouts for connected accounts to US and Canadian bank accounts. If the payout is manual and in the pending status, use /v1/payouts/:id/cancel instead. By requesting a reversal through /v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account authorizes the debit on the bank account and that no other authorization is required. """ ... @class_method_variant("_cls_reverse_async") async def reverse_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PayoutReverseParams"] ) -> "Payout": """ Reverses a payout by debiting the destination bank account. At this time, you can only reverse payouts for connected accounts to US and Canadian bank accounts. If the payout is manual and in the pending status, use /v1/payouts/:id/cancel instead. By requesting a reversal through /v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account authorizes the debit on the bank account and that no other authorization is required. """ return cast( "Payout", await self._request_async( "post", "/v1/payouts/{payout}/reverse".format( payout=sanitize_id(self.get("id")) ), params=params, ), ) _inner_class_types = {"trace_id": TraceId} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.328062 stripe-13.2.0/stripe/_payout_service.py0000644000000000000000000002465115102753431015122 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._payout import Payout from stripe._request_options import RequestOptions from stripe.params._payout_cancel_params import PayoutCancelParams from stripe.params._payout_create_params import PayoutCreateParams from stripe.params._payout_list_params import PayoutListParams from stripe.params._payout_retrieve_params import PayoutRetrieveParams from stripe.params._payout_reverse_params import PayoutReverseParams from stripe.params._payout_update_params import PayoutUpdateParams class PayoutService(StripeService): def list( self, params: Optional["PayoutListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Payout]": """ Returns a list of existing payouts sent to third-party bank accounts or payouts that Stripe sent to you. The payouts return in sorted order, with the most recently created payouts appearing first. """ return cast( "ListObject[Payout]", self._request( "get", "/v1/payouts", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["PayoutListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Payout]": """ Returns a list of existing payouts sent to third-party bank accounts or payouts that Stripe sent to you. The payouts return in sorted order, with the most recently created payouts appearing first. """ return cast( "ListObject[Payout]", await self._request_async( "get", "/v1/payouts", base_address="api", params=params, options=options, ), ) def create( self, params: "PayoutCreateParams", options: Optional["RequestOptions"] = None, ) -> "Payout": """ To send funds to your own bank account, create a new payout object. Your [Stripe balance](https://docs.stripe.com/api#balance) must cover the payout amount. If it doesn't, you receive an “Insufficient Funds” error. If your API key is in test mode, money won't actually be sent, though every other action occurs as if you're in live mode. If you create a manual payout on a Stripe account that uses multiple payment source types, you need to specify the source type balance that the payout draws from. The [balance object](https://docs.stripe.com/api#balance_object) details available and pending amounts by source type. """ return cast( "Payout", self._request( "post", "/v1/payouts", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "PayoutCreateParams", options: Optional["RequestOptions"] = None, ) -> "Payout": """ To send funds to your own bank account, create a new payout object. Your [Stripe balance](https://docs.stripe.com/api#balance) must cover the payout amount. If it doesn't, you receive an “Insufficient Funds” error. If your API key is in test mode, money won't actually be sent, though every other action occurs as if you're in live mode. If you create a manual payout on a Stripe account that uses multiple payment source types, you need to specify the source type balance that the payout draws from. The [balance object](https://docs.stripe.com/api#balance_object) details available and pending amounts by source type. """ return cast( "Payout", await self._request_async( "post", "/v1/payouts", base_address="api", params=params, options=options, ), ) def retrieve( self, payout: str, params: Optional["PayoutRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Payout": """ Retrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list. Stripe returns the corresponding payout information. """ return cast( "Payout", self._request( "get", "/v1/payouts/{payout}".format(payout=sanitize_id(payout)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, payout: str, params: Optional["PayoutRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Payout": """ Retrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list. Stripe returns the corresponding payout information. """ return cast( "Payout", await self._request_async( "get", "/v1/payouts/{payout}".format(payout=sanitize_id(payout)), base_address="api", params=params, options=options, ), ) def update( self, payout: str, params: Optional["PayoutUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Payout": """ Updates the specified payout by setting the values of the parameters you pass. We don't change parameters that you don't provide. This request only accepts the metadata as arguments. """ return cast( "Payout", self._request( "post", "/v1/payouts/{payout}".format(payout=sanitize_id(payout)), base_address="api", params=params, options=options, ), ) async def update_async( self, payout: str, params: Optional["PayoutUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Payout": """ Updates the specified payout by setting the values of the parameters you pass. We don't change parameters that you don't provide. This request only accepts the metadata as arguments. """ return cast( "Payout", await self._request_async( "post", "/v1/payouts/{payout}".format(payout=sanitize_id(payout)), base_address="api", params=params, options=options, ), ) def cancel( self, payout: str, params: Optional["PayoutCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Payout": """ You can cancel a previously created payout if its status is pending. Stripe refunds the funds to your available balance. You can't cancel automatic Stripe payouts. """ return cast( "Payout", self._request( "post", "/v1/payouts/{payout}/cancel".format( payout=sanitize_id(payout), ), base_address="api", params=params, options=options, ), ) async def cancel_async( self, payout: str, params: Optional["PayoutCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Payout": """ You can cancel a previously created payout if its status is pending. Stripe refunds the funds to your available balance. You can't cancel automatic Stripe payouts. """ return cast( "Payout", await self._request_async( "post", "/v1/payouts/{payout}/cancel".format( payout=sanitize_id(payout), ), base_address="api", params=params, options=options, ), ) def reverse( self, payout: str, params: Optional["PayoutReverseParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Payout": """ Reverses a payout by debiting the destination bank account. At this time, you can only reverse payouts for connected accounts to US and Canadian bank accounts. If the payout is manual and in the pending status, use /v1/payouts/:id/cancel instead. By requesting a reversal through /v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account authorizes the debit on the bank account and that no other authorization is required. """ return cast( "Payout", self._request( "post", "/v1/payouts/{payout}/reverse".format( payout=sanitize_id(payout), ), base_address="api", params=params, options=options, ), ) async def reverse_async( self, payout: str, params: Optional["PayoutReverseParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Payout": """ Reverses a payout by debiting the destination bank account. At this time, you can only reverse payouts for connected accounts to US and Canadian bank accounts. If the payout is manual and in the pending status, use /v1/payouts/:id/cancel instead. By requesting a reversal through /v1/payouts/:id/reverse, you confirm that the authorized signatory of the selected bank account authorizes the debit on the bank account and that no other authorization is required. """ return cast( "Payout", await self._request_async( "post", "/v1/payouts/{payout}/reverse".format( payout=sanitize_id(payout), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.328062 stripe-13.2.0/stripe/_person.py0000644000000000000000000010632015102753431013361 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec import stripe from stripe._expandable_field import ExpandableField from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, Dict, List, Optional from typing_extensions import Literal, TYPE_CHECKING if TYPE_CHECKING: from stripe._file import File class Person(UpdateableAPIResource["Person"]): """ This is an object representing a person associated with a Stripe account. A platform can only access a subset of data in a person for an account where [account.controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`, which includes Standard and Express accounts, after creating an Account Link or Account Session to start Connect onboarding. See the [Standard onboarding](https://docs.stripe.com/connect/standard-accounts) or [Express onboarding](https://docs.stripe.com/connect/express-accounts) documentation for information about prefilling information and account onboarding steps. Learn more about [handling identity verification with the API](https://docs.stripe.com/connect/handling-api-verification#person-information). """ OBJECT_NAME: ClassVar[Literal["person"]] = "person" class AdditionalTosAcceptances(StripeObject): class Account(StripeObject): date: Optional[int] """ The Unix timestamp marking when the legal guardian accepted the service agreement. """ ip: Optional[str] """ The IP address from which the legal guardian accepted the service agreement. """ user_agent: Optional[str] """ The user agent of the browser from which the legal guardian accepted the service agreement. """ account: Optional[Account] """ Details on the legal guardian's acceptance of the main Stripe service agreement. """ _inner_class_types = {"account": Account} class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class AddressKana(StripeObject): city: Optional[str] """ City/Ward. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Block/Building number. """ line2: Optional[str] """ Building details. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ Prefecture. """ town: Optional[str] """ Town/cho-me. """ class AddressKanji(StripeObject): city: Optional[str] """ City/Ward. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Block/Building number. """ line2: Optional[str] """ Building details. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ Prefecture. """ town: Optional[str] """ Town/cho-me. """ class Dob(StripeObject): day: Optional[int] """ The day of birth, between 1 and 31. """ month: Optional[int] """ The month of birth, between 1 and 12. """ year: Optional[int] """ The four-digit year of birth. """ class FutureRequirements(StripeObject): class Alternative(StripeObject): alternative_fields_due: List[str] """ Fields that can be provided to satisfy all fields in `original_fields_due`. """ original_fields_due: List[str] """ Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`. """ class Error(StripeObject): code: Literal[ "external_request", "information_missing", "invalid_address_city_state_postal_code", "invalid_address_highway_contract_box", "invalid_address_private_mailbox", "invalid_business_profile_name", "invalid_business_profile_name_denylisted", "invalid_company_name_denylisted", "invalid_dob_age_over_maximum", "invalid_dob_age_under_18", "invalid_dob_age_under_minimum", "invalid_product_description_length", "invalid_product_description_url_match", "invalid_representative_country", "invalid_signator", "invalid_statement_descriptor_business_mismatch", "invalid_statement_descriptor_denylisted", "invalid_statement_descriptor_length", "invalid_statement_descriptor_prefix_denylisted", "invalid_statement_descriptor_prefix_mismatch", "invalid_street_address", "invalid_tax_id", "invalid_tax_id_format", "invalid_tos_acceptance", "invalid_url_denylisted", "invalid_url_format", "invalid_url_length", "invalid_url_web_presence_detected", "invalid_url_website_business_information_mismatch", "invalid_url_website_empty", "invalid_url_website_inaccessible", "invalid_url_website_inaccessible_geoblocked", "invalid_url_website_inaccessible_password_protected", "invalid_url_website_incomplete", "invalid_url_website_incomplete_cancellation_policy", "invalid_url_website_incomplete_customer_service_details", "invalid_url_website_incomplete_legal_restrictions", "invalid_url_website_incomplete_refund_policy", "invalid_url_website_incomplete_return_policy", "invalid_url_website_incomplete_terms_and_conditions", "invalid_url_website_incomplete_under_construction", "invalid_url_website_other", "invalid_value_other", "unsupported_business_type", "verification_directors_mismatch", "verification_document_address_mismatch", "verification_document_address_missing", "verification_document_corrupt", "verification_document_country_not_supported", "verification_document_directors_mismatch", "verification_document_dob_mismatch", "verification_document_duplicate_type", "verification_document_expired", "verification_document_failed_copy", "verification_document_failed_greyscale", "verification_document_failed_other", "verification_document_failed_test_mode", "verification_document_fraudulent", "verification_document_id_number_mismatch", "verification_document_id_number_missing", "verification_document_incomplete", "verification_document_invalid", "verification_document_issue_or_expiry_date_missing", "verification_document_manipulated", "verification_document_missing_back", "verification_document_missing_front", "verification_document_name_mismatch", "verification_document_name_missing", "verification_document_nationality_mismatch", "verification_document_not_readable", "verification_document_not_signed", "verification_document_not_uploaded", "verification_document_photo_mismatch", "verification_document_too_large", "verification_document_type_not_supported", "verification_extraneous_directors", "verification_failed_address_match", "verification_failed_authorizer_authority", "verification_failed_business_iec_number", "verification_failed_document_match", "verification_failed_id_number_match", "verification_failed_keyed_identity", "verification_failed_keyed_match", "verification_failed_name_match", "verification_failed_other", "verification_failed_representative_authority", "verification_failed_residential_address", "verification_failed_tax_id_match", "verification_failed_tax_id_not_issued", "verification_legal_entity_structure_mismatch", "verification_missing_directors", "verification_missing_executives", "verification_missing_owners", "verification_rejected_ownership_exemption_reason", "verification_requires_additional_memorandum_of_associations", "verification_requires_additional_proof_of_registration", "verification_supportability", ] """ The code for the type of error. """ reason: str """ An informative message that indicates the error type and provides additional details about the error. """ requirement: str """ The specific user onboarding requirement field (in the requirements hash) that needs to be resolved. """ alternatives: Optional[List[Alternative]] """ Fields that are due and can be satisfied by providing the corresponding alternative fields instead. """ currently_due: List[str] """ Fields that need to be collected to keep the person's account enabled. If not collected by the account's `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash, and may immediately become `past_due`, but the account may also be given a grace period depending on the account's enablement state prior to transition. """ errors: List[Error] """ Fields that are `currently_due` and need to be collected again because validation or verification failed. """ eventually_due: List[str] """ Fields you must collect when all thresholds are reached. As they become required, they appear in `currently_due` as well, and the account's `future_requirements[current_deadline]` becomes set. """ past_due: List[str] """ Fields that weren't collected by the account's `requirements.current_deadline`. These fields need to be collected to enable the person's account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`. """ pending_verification: 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` or `currently_due`. Fields might appear in `eventually_due` or `currently_due` and in `pending_verification` if verification fails but another verification is still pending. """ _inner_class_types = {"alternatives": Alternative, "errors": Error} class RegisteredAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class Relationship(StripeObject): authorizer: Optional[bool] """ Whether the person is the authorizer of the account's representative. """ director: Optional[bool] """ Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. """ executive: Optional[bool] """ Whether the person has significant responsibility to control, manage, or direct the organization. """ legal_guardian: Optional[bool] """ Whether the person is the legal guardian of the account's representative. """ owner: Optional[bool] """ Whether the person is an owner of the account's legal entity. """ percent_ownership: Optional[float] """ The percent owned by the person of the account's legal entity. """ representative: Optional[bool] """ Whether the person is authorized as the primary representative of the account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account. """ title: Optional[str] """ The person's title (e.g., CEO, Support Engineer). """ class Requirements(StripeObject): class Alternative(StripeObject): alternative_fields_due: List[str] """ Fields that can be provided to satisfy all fields in `original_fields_due`. """ original_fields_due: List[str] """ Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`. """ class Error(StripeObject): code: Literal[ "external_request", "information_missing", "invalid_address_city_state_postal_code", "invalid_address_highway_contract_box", "invalid_address_private_mailbox", "invalid_business_profile_name", "invalid_business_profile_name_denylisted", "invalid_company_name_denylisted", "invalid_dob_age_over_maximum", "invalid_dob_age_under_18", "invalid_dob_age_under_minimum", "invalid_product_description_length", "invalid_product_description_url_match", "invalid_representative_country", "invalid_signator", "invalid_statement_descriptor_business_mismatch", "invalid_statement_descriptor_denylisted", "invalid_statement_descriptor_length", "invalid_statement_descriptor_prefix_denylisted", "invalid_statement_descriptor_prefix_mismatch", "invalid_street_address", "invalid_tax_id", "invalid_tax_id_format", "invalid_tos_acceptance", "invalid_url_denylisted", "invalid_url_format", "invalid_url_length", "invalid_url_web_presence_detected", "invalid_url_website_business_information_mismatch", "invalid_url_website_empty", "invalid_url_website_inaccessible", "invalid_url_website_inaccessible_geoblocked", "invalid_url_website_inaccessible_password_protected", "invalid_url_website_incomplete", "invalid_url_website_incomplete_cancellation_policy", "invalid_url_website_incomplete_customer_service_details", "invalid_url_website_incomplete_legal_restrictions", "invalid_url_website_incomplete_refund_policy", "invalid_url_website_incomplete_return_policy", "invalid_url_website_incomplete_terms_and_conditions", "invalid_url_website_incomplete_under_construction", "invalid_url_website_other", "invalid_value_other", "unsupported_business_type", "verification_directors_mismatch", "verification_document_address_mismatch", "verification_document_address_missing", "verification_document_corrupt", "verification_document_country_not_supported", "verification_document_directors_mismatch", "verification_document_dob_mismatch", "verification_document_duplicate_type", "verification_document_expired", "verification_document_failed_copy", "verification_document_failed_greyscale", "verification_document_failed_other", "verification_document_failed_test_mode", "verification_document_fraudulent", "verification_document_id_number_mismatch", "verification_document_id_number_missing", "verification_document_incomplete", "verification_document_invalid", "verification_document_issue_or_expiry_date_missing", "verification_document_manipulated", "verification_document_missing_back", "verification_document_missing_front", "verification_document_name_mismatch", "verification_document_name_missing", "verification_document_nationality_mismatch", "verification_document_not_readable", "verification_document_not_signed", "verification_document_not_uploaded", "verification_document_photo_mismatch", "verification_document_too_large", "verification_document_type_not_supported", "verification_extraneous_directors", "verification_failed_address_match", "verification_failed_authorizer_authority", "verification_failed_business_iec_number", "verification_failed_document_match", "verification_failed_id_number_match", "verification_failed_keyed_identity", "verification_failed_keyed_match", "verification_failed_name_match", "verification_failed_other", "verification_failed_representative_authority", "verification_failed_residential_address", "verification_failed_tax_id_match", "verification_failed_tax_id_not_issued", "verification_legal_entity_structure_mismatch", "verification_missing_directors", "verification_missing_executives", "verification_missing_owners", "verification_rejected_ownership_exemption_reason", "verification_requires_additional_memorandum_of_associations", "verification_requires_additional_proof_of_registration", "verification_supportability", ] """ The code for the type of error. """ reason: str """ An informative message that indicates the error type and provides additional details about the error. """ requirement: str """ The specific user onboarding requirement field (in the requirements hash) that needs to be resolved. """ alternatives: Optional[List[Alternative]] """ Fields that are due and can be satisfied by providing the corresponding alternative fields instead. """ currently_due: List[str] """ Fields that need to be collected to keep the person's account enabled. If not collected by the account's `current_deadline`, these fields appear in `past_due` as well, and the account is disabled. """ errors: List[Error] """ Fields that are `currently_due` and need to be collected again because validation or verification failed. """ eventually_due: List[str] """ Fields you must collect when all thresholds are reached. As they become required, they appear in `currently_due` as well, and the account's `current_deadline` becomes set. """ past_due: List[str] """ Fields that weren't collected by the account's `current_deadline`. These fields need to be collected to enable the person's account. """ pending_verification: 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. """ _inner_class_types = {"alternatives": Alternative, "errors": Error} class UsCfpbData(StripeObject): class EthnicityDetails(StripeObject): ethnicity: Optional[ List[ Literal[ "cuban", "hispanic_or_latino", "mexican", "not_hispanic_or_latino", "other_hispanic_or_latino", "prefer_not_to_answer", "puerto_rican", ] ] ] """ The persons ethnicity """ ethnicity_other: Optional[str] """ Please specify your origin, when other is selected. """ class RaceDetails(StripeObject): race: Optional[ List[ Literal[ "african_american", "american_indian_or_alaska_native", "asian", "asian_indian", "black_or_african_american", "chinese", "ethiopian", "filipino", "guamanian_or_chamorro", "haitian", "jamaican", "japanese", "korean", "native_hawaiian", "native_hawaiian_or_other_pacific_islander", "nigerian", "other_asian", "other_black_or_african_american", "other_pacific_islander", "prefer_not_to_answer", "samoan", "somali", "vietnamese", "white", ] ] ] """ The persons race. """ race_other: Optional[str] """ Please specify your race, when other is selected. """ ethnicity_details: Optional[EthnicityDetails] """ The persons ethnicity details """ race_details: Optional[RaceDetails] """ The persons race details """ self_identified_gender: Optional[str] """ The persons self-identified gender """ _inner_class_types = { "ethnicity_details": EthnicityDetails, "race_details": RaceDetails, } class Verification(StripeObject): class AdditionalDocument(StripeObject): back: Optional[ExpandableField["File"]] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. """ details: Optional[str] """ A user-displayable string describing the verification state of this document. For example, if a document is uploaded and the picture is too fuzzy, this may say "Identity document is too unclear to read". """ details_code: Optional[str] """ One of `document_corrupt`, `document_country_not_supported`, `document_expired`, `document_failed_copy`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_failed_greyscale`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_missing_back`, `document_missing_front`, `document_not_readable`, `document_not_uploaded`, `document_photo_mismatch`, `document_too_large`, or `document_type_not_supported`. A machine-readable code specifying the verification state for this document. """ front: Optional[ExpandableField["File"]] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. """ class Document(StripeObject): back: Optional[ExpandableField["File"]] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. """ details: Optional[str] """ A user-displayable string describing the verification state of this document. For example, if a document is uploaded and the picture is too fuzzy, this may say "Identity document is too unclear to read". """ details_code: Optional[str] """ One of `document_corrupt`, `document_country_not_supported`, `document_expired`, `document_failed_copy`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_failed_greyscale`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_missing_back`, `document_missing_front`, `document_not_readable`, `document_not_uploaded`, `document_photo_mismatch`, `document_too_large`, or `document_type_not_supported`. A machine-readable code specifying the verification state for this document. """ front: Optional[ExpandableField["File"]] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. """ additional_document: Optional[AdditionalDocument] """ A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. """ details: Optional[str] """ A user-displayable string describing the verification state for the person. For example, this may say "Provided identity information could not be verified". """ details_code: Optional[str] """ One of `document_address_mismatch`, `document_dob_mismatch`, `document_duplicate_type`, `document_id_number_mismatch`, `document_name_mismatch`, `document_nationality_mismatch`, `failed_keyed_identity`, or `failed_other`. A machine-readable code specifying the verification state for the person. """ document: Optional[Document] status: str """ The state of verification for the person. Possible values are `unverified`, `pending`, or `verified`. Please refer [guide](https://stripe.com/docs/connect/handling-api-verification) to handle verification updates. """ _inner_class_types = { "additional_document": AdditionalDocument, "document": Document, } account: Optional[str] """ The account the person is associated with. """ additional_tos_acceptances: Optional[AdditionalTosAcceptances] address: Optional[Address] address_kana: Optional[AddressKana] """ The Kana variation of the person's address (Japan only). """ address_kanji: Optional[AddressKanji] """ The Kanji variation of the person's address (Japan only). """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ dob: Optional[Dob] email: Optional[str] """ The person's email address. Also available for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`. """ first_name: Optional[str] """ The person's first name. Also available for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`. """ first_name_kana: Optional[str] """ The Kana variation of the person's first name (Japan only). Also available for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`. """ first_name_kanji: Optional[str] """ The Kanji variation of the person's first name (Japan only). Also available for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`. """ full_name_aliases: Optional[List[str]] """ A list of alternate names or aliases that the person is known by. Also available for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`. """ future_requirements: Optional[FutureRequirements] """ Information about the [upcoming new requirements for this person](https://stripe.com/docs/connect/custom-accounts/future-requirements), including what information needs to be collected, and by when. """ gender: Optional[str] """ The person's gender. """ id: str """ Unique identifier for the object. """ id_number_provided: Optional[bool] """ Whether the person's `id_number` was provided. True if either the full ID number was provided or if only the required part of the ID number was provided (ex. last four of an individual's SSN for the US indicated by `ssn_last_4_provided`). """ id_number_secondary_provided: Optional[bool] """ Whether the person's `id_number_secondary` was provided. """ last_name: Optional[str] """ The person's last name. Also available for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`. """ last_name_kana: Optional[str] """ The Kana variation of the person's last name (Japan only). Also available for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`. """ last_name_kanji: Optional[str] """ The Kanji variation of the person's last name (Japan only). Also available for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`. """ maiden_name: Optional[str] """ The person's maiden name. """ 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. """ nationality: Optional[str] """ The country where the person is a national. """ object: Literal["person"] """ String representing the object's type. Objects of the same type share the same value. """ phone: Optional[str] """ The person's phone number. """ political_exposure: Optional[Literal["existing", "none"]] """ Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. """ registered_address: Optional[RegisteredAddress] relationship: Optional[Relationship] requirements: Optional[Requirements] """ Information about the requirements for this person, including what information needs to be collected, and by when. """ ssn_last_4_provided: Optional[bool] """ Whether the last four digits of the person's Social Security number have been provided (U.S. only). """ us_cfpb_data: Optional[UsCfpbData] """ Demographic data related to the person. """ verification: Optional[Verification] def instance_url(self): token = self.id account = self.account base = stripe.Account.class_url() assert account is not None acct_extn = sanitize_id(account) extn = sanitize_id(token) return "%s/%s/persons/%s" % (base, acct_extn, extn) @classmethod def modify(cls, sid, **params): raise NotImplementedError( "Can't modify a person without an account ID. " "Use stripe.Account.modify_person('account_id', 'person_id', ...) " "(see https://stripe.com/docs/api/persons/update)." ) @classmethod def retrieve(cls, id, **params): raise NotImplementedError( "Can't retrieve a person without an account ID. " "Use stripe.Account.retrieve_person('account_id', 'person_id') " "(see https://stripe.com/docs/api/persons/retrieve)." ) _inner_class_types = { "additional_tos_acceptances": AdditionalTosAcceptances, "address": Address, "address_kana": AddressKana, "address_kanji": AddressKanji, "dob": Dob, "future_requirements": FutureRequirements, "registered_address": RegisteredAddress, "relationship": Relationship, "requirements": Requirements, "us_cfpb_data": UsCfpbData, "verification": Verification, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.328062 stripe-13.2.0/stripe/_plan.py0000644000000000000000000003301015102753431013000 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._product import Product from stripe.params._plan_create_params import PlanCreateParams from stripe.params._plan_delete_params import PlanDeleteParams from stripe.params._plan_list_params import PlanListParams from stripe.params._plan_modify_params import PlanModifyParams from stripe.params._plan_retrieve_params import PlanRetrieveParams class Plan( CreateableAPIResource["Plan"], DeletableAPIResource["Plan"], ListableAPIResource["Plan"], UpdateableAPIResource["Plan"], ): """ You can now model subscriptions more flexibly using the [Prices API](https://stripe.com/docs/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration. Plans define the base price, currency, and billing cycle for recurring purchases of products. [Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme. For example, you might have a single "gold" product that has plans for $10/month, $100/year, €9/month, and €90/year. Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and prices](https://stripe.com/docs/products-prices/overview). """ OBJECT_NAME: ClassVar[Literal["plan"]] = "plan" class Tier(StripeObject): flat_amount: Optional[int] """ Price for the entire tier. """ flat_amount_decimal: Optional[str] """ Same as `flat_amount`, but contains a decimal value with at most 12 decimal places. """ unit_amount: Optional[int] """ Per unit price for units relevant to the tier. """ unit_amount_decimal: Optional[str] """ Same as `unit_amount`, but contains a decimal value with at most 12 decimal places. """ up_to: Optional[int] """ Up to and including to this quantity will be contained in the tier. """ class TransformUsage(StripeObject): divide_by: int """ Divide usage by this number. """ round: Literal["down", "up"] """ After division, either round the result `up` or `down`. """ active: bool """ Whether the plan can be used for new purchases. """ amount: Optional[int] """ The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`. """ amount_decimal: Optional[str] """ The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`. """ billing_scheme: Literal["per_unit", "tiered"] """ Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `amount`) will be charged per unit in `quantity` (for plans with `usage_type=licensed`), or per unit of total usage (for plans 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. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ id: str """ Unique identifier for the object. """ interval: Literal["day", "month", "week", "year"] """ The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`. """ interval_count: int """ The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ meter: Optional[str] """ The meter tracking the usage of a metered price """ nickname: Optional[str] """ A brief description of the plan, hidden from customers. """ object: Literal["plan"] """ String representing the object's type. Objects of the same type share the same value. """ product: Optional[ExpandableField["Product"]] """ The product whose pricing this plan determines. """ tiers: Optional[List[Tier]] """ Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. """ tiers_mode: Optional[Literal["graduated", "volume"]] """ Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price. In `graduated` tiering, pricing can change as the quantity grows. """ transform_usage: Optional[TransformUsage] """ Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`. """ trial_period_days: Optional[int] """ Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan). """ usage_type: Literal["licensed", "metered"] """ Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`. """ @classmethod def create(cls, **params: Unpack["PlanCreateParams"]) -> "Plan": """ You can now model subscriptions more flexibly using the [Prices API](https://docs.stripe.com/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration. """ return cast( "Plan", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["PlanCreateParams"] ) -> "Plan": """ You can now model subscriptions more flexibly using the [Prices API](https://docs.stripe.com/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration. """ return cast( "Plan", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["PlanDeleteParams"] ) -> "Plan": """ Deleting plans means new subscribers can't be added. Existing subscribers aren't affected. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Plan", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete(sid: str, **params: Unpack["PlanDeleteParams"]) -> "Plan": """ Deleting plans means new subscribers can't be added. Existing subscribers aren't affected. """ ... @overload def delete(self, **params: Unpack["PlanDeleteParams"]) -> "Plan": """ Deleting plans means new subscribers can't be added. Existing subscribers aren't affected. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PlanDeleteParams"] ) -> "Plan": """ Deleting plans means new subscribers can't be added. Existing subscribers aren't affected. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["PlanDeleteParams"] ) -> "Plan": """ Deleting plans means new subscribers can't be added. Existing subscribers aren't affected. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Plan", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["PlanDeleteParams"] ) -> "Plan": """ Deleting plans means new subscribers can't be added. Existing subscribers aren't affected. """ ... @overload async def delete_async( self, **params: Unpack["PlanDeleteParams"] ) -> "Plan": """ Deleting plans means new subscribers can't be added. Existing subscribers aren't affected. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PlanDeleteParams"] ) -> "Plan": """ Deleting plans means new subscribers can't be added. Existing subscribers aren't affected. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def list(cls, **params: Unpack["PlanListParams"]) -> ListObject["Plan"]: """ Returns a list of your plans. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["PlanListParams"] ) -> ListObject["Plan"]: """ Returns a list of your plans. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify(cls, id: str, **params: Unpack["PlanModifyParams"]) -> "Plan": """ Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan's ID, amount, currency, or billing cycle. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Plan", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["PlanModifyParams"] ) -> "Plan": """ Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan's ID, amount, currency, or billing cycle. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Plan", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["PlanRetrieveParams"] ) -> "Plan": """ Retrieves the plan with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["PlanRetrieveParams"] ) -> "Plan": """ Retrieves the plan with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"tiers": Tier, "transform_usage": TransformUsage} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.328062 stripe-13.2.0/stripe/_plan_service.py0000644000000000000000000001475215102753431014534 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._plan import Plan from stripe._request_options import RequestOptions from stripe.params._plan_create_params import PlanCreateParams from stripe.params._plan_delete_params import PlanDeleteParams from stripe.params._plan_list_params import PlanListParams from stripe.params._plan_retrieve_params import PlanRetrieveParams from stripe.params._plan_update_params import PlanUpdateParams class PlanService(StripeService): def delete( self, plan: str, params: Optional["PlanDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Plan": """ Deleting plans means new subscribers can't be added. Existing subscribers aren't affected. """ return cast( "Plan", self._request( "delete", "/v1/plans/{plan}".format(plan=sanitize_id(plan)), base_address="api", params=params, options=options, ), ) async def delete_async( self, plan: str, params: Optional["PlanDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Plan": """ Deleting plans means new subscribers can't be added. Existing subscribers aren't affected. """ return cast( "Plan", await self._request_async( "delete", "/v1/plans/{plan}".format(plan=sanitize_id(plan)), base_address="api", params=params, options=options, ), ) def retrieve( self, plan: str, params: Optional["PlanRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Plan": """ Retrieves the plan with the given ID. """ return cast( "Plan", self._request( "get", "/v1/plans/{plan}".format(plan=sanitize_id(plan)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, plan: str, params: Optional["PlanRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Plan": """ Retrieves the plan with the given ID. """ return cast( "Plan", await self._request_async( "get", "/v1/plans/{plan}".format(plan=sanitize_id(plan)), base_address="api", params=params, options=options, ), ) def update( self, plan: str, params: Optional["PlanUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Plan": """ Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan's ID, amount, currency, or billing cycle. """ return cast( "Plan", self._request( "post", "/v1/plans/{plan}".format(plan=sanitize_id(plan)), base_address="api", params=params, options=options, ), ) async def update_async( self, plan: str, params: Optional["PlanUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Plan": """ Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan's ID, amount, currency, or billing cycle. """ return cast( "Plan", await self._request_async( "post", "/v1/plans/{plan}".format(plan=sanitize_id(plan)), base_address="api", params=params, options=options, ), ) def list( self, params: Optional["PlanListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Plan]": """ Returns a list of your plans. """ return cast( "ListObject[Plan]", self._request( "get", "/v1/plans", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["PlanListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Plan]": """ Returns a list of your plans. """ return cast( "ListObject[Plan]", await self._request_async( "get", "/v1/plans", base_address="api", params=params, options=options, ), ) def create( self, params: "PlanCreateParams", options: Optional["RequestOptions"] = None, ) -> "Plan": """ You can now model subscriptions more flexibly using the [Prices API](https://docs.stripe.com/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration. """ return cast( "Plan", self._request( "post", "/v1/plans", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "PlanCreateParams", options: Optional["RequestOptions"] = None, ) -> "Plan": """ You can now model subscriptions more flexibly using the [Prices API](https://docs.stripe.com/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration. """ return cast( "Plan", await self._request_async( "post", "/v1/plans", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.328062 stripe-13.2.0/stripe/_price.py0000644000000000000000000004344715102753431013167 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._search_result_object import SearchResultObject from stripe._searchable_api_resource import SearchableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ( AsyncIterator, ClassVar, Dict, Iterator, List, Optional, cast, ) from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._product import Product from stripe.params._price_create_params import PriceCreateParams from stripe.params._price_list_params import PriceListParams from stripe.params._price_modify_params import PriceModifyParams from stripe.params._price_retrieve_params import PriceRetrieveParams from stripe.params._price_search_params import PriceSearchParams class Price( CreateableAPIResource["Price"], ListableAPIResource["Price"], SearchableAPIResource["Price"], UpdateableAPIResource["Price"], ): """ Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products. [Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme. For example, you might have a single "gold" product that has prices for $10/month, $100/year, and €9 once. Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription), [create an invoice](https://stripe.com/docs/billing/invoices/create), and more about [products and prices](https://stripe.com/docs/products-prices/overview). """ OBJECT_NAME: ClassVar[Literal["price"]] = "price" class CurrencyOptions(StripeObject): class CustomUnitAmount(StripeObject): maximum: Optional[int] """ The maximum unit amount the customer can specify for this item. """ minimum: Optional[int] """ The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount. """ preset: Optional[int] """ The starting unit amount which can be updated by the customer. """ class Tier(StripeObject): flat_amount: Optional[int] """ Price for the entire tier. """ flat_amount_decimal: Optional[str] """ Same as `flat_amount`, but contains a decimal value with at most 12 decimal places. """ unit_amount: Optional[int] """ Per unit price for units relevant to the tier. """ unit_amount_decimal: Optional[str] """ Same as `unit_amount`, but contains a decimal value with at most 12 decimal places. """ up_to: Optional[int] """ Up to and including to this quantity will be contained in the tier. """ custom_unit_amount: Optional[CustomUnitAmount] """ When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. """ tax_behavior: Optional[ Literal["exclusive", "inclusive", "unspecified"] ] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ tiers: Optional[List[Tier]] """ Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. """ unit_amount: Optional[int] """ The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`. """ unit_amount_decimal: Optional[str] """ The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`. """ _inner_class_types = { "custom_unit_amount": CustomUnitAmount, "tiers": Tier, } class CustomUnitAmount(StripeObject): maximum: Optional[int] """ The maximum unit amount the customer can specify for this item. """ minimum: Optional[int] """ The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount. """ preset: Optional[int] """ The starting unit amount which can be updated by the customer. """ class Recurring(StripeObject): interval: Literal["day", "month", "week", "year"] """ The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`. """ interval_count: int """ The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. """ meter: Optional[str] """ The meter tracking the usage of a metered price """ trial_period_days: Optional[int] """ Default number of trial days when subscribing a customer to this price using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan). """ usage_type: Literal["licensed", "metered"] """ Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`. """ class Tier(StripeObject): flat_amount: Optional[int] """ Price for the entire tier. """ flat_amount_decimal: Optional[str] """ Same as `flat_amount`, but contains a decimal value with at most 12 decimal places. """ unit_amount: Optional[int] """ Per unit price for units relevant to the tier. """ unit_amount_decimal: Optional[str] """ Same as `unit_amount`, but contains a decimal value with at most 12 decimal places. """ up_to: Optional[int] """ Up to and including to this quantity will be contained in the tier. """ class TransformQuantity(StripeObject): divide_by: int """ Divide usage by this number. """ round: Literal["down", "up"] """ After division, either round the result `up` or `down`. """ active: bool """ Whether the price can be used for new purchases. """ billing_scheme: Literal["per_unit", "tiered"] """ 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. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ currency_options: Optional[Dict[str, CurrencyOptions]] """ Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ custom_unit_amount: Optional[CustomUnitAmount] """ When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ lookup_key: Optional[str] """ A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters. """ 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. """ nickname: Optional[str] """ A brief description of the price, hidden from customers. """ object: Literal["price"] """ String representing the object's type. Objects of the same type share the same value. """ product: ExpandableField["Product"] """ The ID of the product this price is associated with. """ recurring: Optional[Recurring] """ The recurring components of a price such as `interval` and `usage_type`. """ tax_behavior: Optional[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ tiers: Optional[List[Tier]] """ Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. """ tiers_mode: Optional[Literal["graduated", "volume"]] """ Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price. In `graduated` tiering, pricing can change as the quantity grows. """ transform_quantity: Optional[TransformQuantity] """ Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`. """ type: Literal["one_time", "recurring"] """ One of `one_time` or `recurring` depending on whether the price is for a one-time purchase or a recurring (subscription) purchase. """ unit_amount: Optional[int] """ The unit amount in cents (or local equivalent) to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`. """ unit_amount_decimal: Optional[str] """ The unit amount in cents (or local equivalent) to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`. """ @classmethod def create(cls, **params: Unpack["PriceCreateParams"]) -> "Price": """ Creates a new [Price for an existing Product](https://docs.stripe.com/api/prices). The Price can be recurring or one-time. """ return cast( "Price", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["PriceCreateParams"] ) -> "Price": """ Creates a new [Price for an existing Product](https://docs.stripe.com/api/prices). The Price can be recurring or one-time. """ return cast( "Price", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list(cls, **params: Unpack["PriceListParams"]) -> ListObject["Price"]: """ Returns a list of your active prices, excluding [inline prices](https://docs.stripe.com/docs/products-prices/pricing-models#inline-pricing). For the list of inactive prices, set active to false. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["PriceListParams"] ) -> ListObject["Price"]: """ Returns a list of your active prices, excluding [inline prices](https://docs.stripe.com/docs/products-prices/pricing-models#inline-pricing). For the list of inactive prices, set active to false. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify(cls, id: str, **params: Unpack["PriceModifyParams"]) -> "Price": """ Updates the specified price by setting the values of the parameters passed. Any parameters not provided are left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Price", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["PriceModifyParams"] ) -> "Price": """ Updates the specified price by setting the values of the parameters passed. Any parameters not provided are left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Price", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["PriceRetrieveParams"] ) -> "Price": """ Retrieves the price with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["PriceRetrieveParams"] ) -> "Price": """ Retrieves the price with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def search( cls, *args, **kwargs: Unpack["PriceSearchParams"] ) -> SearchResultObject["Price"]: """ Search for prices you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cls._search(search_url="/v1/prices/search", *args, **kwargs) @classmethod async def search_async( cls, *args, **kwargs: Unpack["PriceSearchParams"] ) -> SearchResultObject["Price"]: """ Search for prices you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return await cls._search_async( search_url="/v1/prices/search", *args, **kwargs ) @classmethod def search_auto_paging_iter( cls, *args, **kwargs: Unpack["PriceSearchParams"] ) -> Iterator["Price"]: return cls.search(*args, **kwargs).auto_paging_iter() @classmethod async def search_auto_paging_iter_async( cls, *args, **kwargs: Unpack["PriceSearchParams"] ) -> AsyncIterator["Price"]: return (await cls.search_async(*args, **kwargs)).auto_paging_iter() _inner_class_types = { "currency_options": CurrencyOptions, "custom_unit_amount": CustomUnitAmount, "recurring": Recurring, "tiers": Tier, "transform_quantity": TransformQuantity, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.328062 stripe-13.2.0/stripe/_price_service.py0000644000000000000000000001671315102753431014703 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._price import Price from stripe._request_options import RequestOptions from stripe._search_result_object import SearchResultObject from stripe.params._price_create_params import PriceCreateParams from stripe.params._price_list_params import PriceListParams from stripe.params._price_retrieve_params import PriceRetrieveParams from stripe.params._price_search_params import PriceSearchParams from stripe.params._price_update_params import PriceUpdateParams class PriceService(StripeService): def list( self, params: Optional["PriceListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Price]": """ Returns a list of your active prices, excluding [inline prices](https://docs.stripe.com/docs/products-prices/pricing-models#inline-pricing). For the list of inactive prices, set active to false. """ return cast( "ListObject[Price]", self._request( "get", "/v1/prices", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["PriceListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Price]": """ Returns a list of your active prices, excluding [inline prices](https://docs.stripe.com/docs/products-prices/pricing-models#inline-pricing). For the list of inactive prices, set active to false. """ return cast( "ListObject[Price]", await self._request_async( "get", "/v1/prices", base_address="api", params=params, options=options, ), ) def create( self, params: "PriceCreateParams", options: Optional["RequestOptions"] = None, ) -> "Price": """ Creates a new [Price for an existing Product](https://docs.stripe.com/api/prices). The Price can be recurring or one-time. """ return cast( "Price", self._request( "post", "/v1/prices", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "PriceCreateParams", options: Optional["RequestOptions"] = None, ) -> "Price": """ Creates a new [Price for an existing Product](https://docs.stripe.com/api/prices). The Price can be recurring or one-time. """ return cast( "Price", await self._request_async( "post", "/v1/prices", base_address="api", params=params, options=options, ), ) def retrieve( self, price: str, params: Optional["PriceRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Price": """ Retrieves the price with the given ID. """ return cast( "Price", self._request( "get", "/v1/prices/{price}".format(price=sanitize_id(price)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, price: str, params: Optional["PriceRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Price": """ Retrieves the price with the given ID. """ return cast( "Price", await self._request_async( "get", "/v1/prices/{price}".format(price=sanitize_id(price)), base_address="api", params=params, options=options, ), ) def update( self, price: str, params: Optional["PriceUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Price": """ Updates the specified price by setting the values of the parameters passed. Any parameters not provided are left unchanged. """ return cast( "Price", self._request( "post", "/v1/prices/{price}".format(price=sanitize_id(price)), base_address="api", params=params, options=options, ), ) async def update_async( self, price: str, params: Optional["PriceUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Price": """ Updates the specified price by setting the values of the parameters passed. Any parameters not provided are left unchanged. """ return cast( "Price", await self._request_async( "post", "/v1/prices/{price}".format(price=sanitize_id(price)), base_address="api", params=params, options=options, ), ) def search( self, params: "PriceSearchParams", options: Optional["RequestOptions"] = None, ) -> "SearchResultObject[Price]": """ Search for prices you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cast( "SearchResultObject[Price]", self._request( "get", "/v1/prices/search", base_address="api", params=params, options=options, ), ) async def search_async( self, params: "PriceSearchParams", options: Optional["RequestOptions"] = None, ) -> "SearchResultObject[Price]": """ Search for prices you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cast( "SearchResultObject[Price]", await self._request_async( "get", "/v1/prices/search", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_product.py0000644000000000000000000005067215102753431013543 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._nested_resource_class_methods import nested_resource_class_methods from stripe._search_result_object import SearchResultObject from stripe._searchable_api_resource import SearchableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ( AsyncIterator, ClassVar, Dict, Iterator, List, Optional, cast, overload, ) from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._price import Price from stripe._product_feature import ProductFeature from stripe._tax_code import TaxCode from stripe.params._product_create_feature_params import ( ProductCreateFeatureParams, ) from stripe.params._product_create_params import ProductCreateParams from stripe.params._product_delete_feature_params import ( ProductDeleteFeatureParams, ) from stripe.params._product_delete_params import ProductDeleteParams from stripe.params._product_list_features_params import ( ProductListFeaturesParams, ) from stripe.params._product_list_params import ProductListParams from stripe.params._product_modify_params import ProductModifyParams from stripe.params._product_retrieve_feature_params import ( ProductRetrieveFeatureParams, ) from stripe.params._product_retrieve_params import ProductRetrieveParams from stripe.params._product_search_params import ProductSearchParams @nested_resource_class_methods("feature") class Product( CreateableAPIResource["Product"], DeletableAPIResource["Product"], ListableAPIResource["Product"], SearchableAPIResource["Product"], UpdateableAPIResource["Product"], ): """ Products describe the specific goods or services you offer to your customers. For example, you might offer a Standard and Premium version of your goods or service; each version would be a separate Product. They can be used in conjunction with [Prices](https://stripe.com/docs/api#prices) to configure pricing in Payment Links, Checkout, and Subscriptions. Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription), [share a Payment Link](https://stripe.com/docs/payment-links), [accept payments with Checkout](https://stripe.com/docs/payments/accept-a-payment#create-product-prices-upfront), and more about [Products and Prices](https://stripe.com/docs/products-prices/overview) """ OBJECT_NAME: ClassVar[Literal["product"]] = "product" class MarketingFeature(StripeObject): name: Optional[str] """ The marketing feature name. Up to 80 characters long. """ class PackageDimensions(StripeObject): height: float """ Height, in inches. """ length: float """ Length, in inches. """ weight: float """ Weight, in ounces. """ width: float """ Width, in inches. """ active: bool """ Whether the product is currently available for purchase. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ default_price: Optional[ExpandableField["Price"]] """ The ID of the [Price](https://stripe.com/docs/api/prices) object that is the default price for this product. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ description: Optional[str] """ 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. """ id: str """ Unique identifier for the object. """ images: List[str] """ A list of up to 8 URLs of images for this product, meant to be displayable to the customer. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ marketing_features: List[MarketingFeature] """ 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). """ 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. """ name: str """ The product's name, meant to be displayable to the customer. """ object: Literal["product"] """ String representing the object's type. Objects of the same type share the same value. """ package_dimensions: Optional[PackageDimensions] """ The dimensions of this product for shipping purposes. """ shippable: Optional[bool] """ Whether this product is shipped (i.e., physical goods). """ statement_descriptor: Optional[str] """ Extra information about a product which will appear on your customer's credit card statement. In the case that multiple products are billed at once, the first statement descriptor will be used. Only used for subscription payments. """ tax_code: Optional[ExpandableField["TaxCode"]] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ type: Literal["good", "service"] """ 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. """ unit_label: Optional[str] """ A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. """ updated: int """ Time at which the object was last updated. Measured in seconds since the Unix epoch. """ url: Optional[str] """ A URL of a publicly-accessible webpage for this product. """ @classmethod def create(cls, **params: Unpack["ProductCreateParams"]) -> "Product": """ Creates a new product object. """ return cast( "Product", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["ProductCreateParams"] ) -> "Product": """ Creates a new product object. """ return cast( "Product", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["ProductDeleteParams"] ) -> "Product": """ Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Product", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete(sid: str, **params: Unpack["ProductDeleteParams"]) -> "Product": """ Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it. """ ... @overload def delete(self, **params: Unpack["ProductDeleteParams"]) -> "Product": """ Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ProductDeleteParams"] ) -> "Product": """ Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["ProductDeleteParams"] ) -> "Product": """ Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Product", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["ProductDeleteParams"] ) -> "Product": """ Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it. """ ... @overload async def delete_async( self, **params: Unpack["ProductDeleteParams"] ) -> "Product": """ Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ProductDeleteParams"] ) -> "Product": """ Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def list( cls, **params: Unpack["ProductListParams"] ) -> ListObject["Product"]: """ Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ProductListParams"] ) -> ListObject["Product"]: """ Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["ProductModifyParams"] ) -> "Product": """ Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Product", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["ProductModifyParams"] ) -> "Product": """ Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Product", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["ProductRetrieveParams"] ) -> "Product": """ Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ProductRetrieveParams"] ) -> "Product": """ Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def search( cls, *args, **kwargs: Unpack["ProductSearchParams"] ) -> SearchResultObject["Product"]: """ Search for products you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cls._search(search_url="/v1/products/search", *args, **kwargs) @classmethod async def search_async( cls, *args, **kwargs: Unpack["ProductSearchParams"] ) -> SearchResultObject["Product"]: """ Search for products you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return await cls._search_async( search_url="/v1/products/search", *args, **kwargs ) @classmethod def search_auto_paging_iter( cls, *args, **kwargs: Unpack["ProductSearchParams"] ) -> Iterator["Product"]: return cls.search(*args, **kwargs).auto_paging_iter() @classmethod async def search_auto_paging_iter_async( cls, *args, **kwargs: Unpack["ProductSearchParams"] ) -> AsyncIterator["Product"]: return (await cls.search_async(*args, **kwargs)).auto_paging_iter() @classmethod def delete_feature( cls, product: str, id: str, **params: Unpack["ProductDeleteFeatureParams"], ) -> "ProductFeature": """ Deletes the feature attachment to a product """ return cast( "ProductFeature", cls._static_request( "delete", "/v1/products/{product}/features/{id}".format( product=sanitize_id(product), id=sanitize_id(id) ), params=params, ), ) @classmethod async def delete_feature_async( cls, product: str, id: str, **params: Unpack["ProductDeleteFeatureParams"], ) -> "ProductFeature": """ Deletes the feature attachment to a product """ return cast( "ProductFeature", await cls._static_request_async( "delete", "/v1/products/{product}/features/{id}".format( product=sanitize_id(product), id=sanitize_id(id) ), params=params, ), ) @classmethod def retrieve_feature( cls, product: str, id: str, **params: Unpack["ProductRetrieveFeatureParams"], ) -> "ProductFeature": """ Retrieves a product_feature, which represents a feature attachment to a product """ return cast( "ProductFeature", cls._static_request( "get", "/v1/products/{product}/features/{id}".format( product=sanitize_id(product), id=sanitize_id(id) ), params=params, ), ) @classmethod async def retrieve_feature_async( cls, product: str, id: str, **params: Unpack["ProductRetrieveFeatureParams"], ) -> "ProductFeature": """ Retrieves a product_feature, which represents a feature attachment to a product """ return cast( "ProductFeature", await cls._static_request_async( "get", "/v1/products/{product}/features/{id}".format( product=sanitize_id(product), id=sanitize_id(id) ), params=params, ), ) @classmethod def list_features( cls, product: str, **params: Unpack["ProductListFeaturesParams"] ) -> ListObject["ProductFeature"]: """ Retrieve a list of features for a product """ return cast( ListObject["ProductFeature"], cls._static_request( "get", "/v1/products/{product}/features".format( product=sanitize_id(product) ), params=params, ), ) @classmethod async def list_features_async( cls, product: str, **params: Unpack["ProductListFeaturesParams"] ) -> ListObject["ProductFeature"]: """ Retrieve a list of features for a product """ return cast( ListObject["ProductFeature"], await cls._static_request_async( "get", "/v1/products/{product}/features".format( product=sanitize_id(product) ), params=params, ), ) @classmethod def create_feature( cls, product: str, **params: Unpack["ProductCreateFeatureParams"] ) -> "ProductFeature": """ Creates a product_feature, which represents a feature attachment to a product """ return cast( "ProductFeature", cls._static_request( "post", "/v1/products/{product}/features".format( product=sanitize_id(product) ), params=params, ), ) @classmethod async def create_feature_async( cls, product: str, **params: Unpack["ProductCreateFeatureParams"] ) -> "ProductFeature": """ Creates a product_feature, which represents a feature attachment to a product """ return cast( "ProductFeature", await cls._static_request_async( "post", "/v1/products/{product}/features".format( product=sanitize_id(product) ), params=params, ), ) _inner_class_types = { "marketing_features": MarketingFeature, "package_dimensions": PackageDimensions, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_product_feature.py0000644000000000000000000000252215102753431015245 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar, Optional from typing_extensions import Literal, TYPE_CHECKING if TYPE_CHECKING: from stripe.entitlements._feature import Feature class ProductFeature(StripeObject): """ 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. """ OBJECT_NAME: ClassVar[Literal["product_feature"]] = "product_feature" deleted: Optional[Literal[True]] """ Always true for a deleted object """ entitlement_feature: "Feature" """ 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. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["product_feature"] """ String representing the object's type. Objects of the same type share the same value. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_product_feature_service.py0000644000000000000000000001433215102753431016767 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._product_feature import ProductFeature from stripe._request_options import RequestOptions from stripe.params._product_feature_create_params import ( ProductFeatureCreateParams, ) from stripe.params._product_feature_delete_params import ( ProductFeatureDeleteParams, ) from stripe.params._product_feature_list_params import ( ProductFeatureListParams, ) from stripe.params._product_feature_retrieve_params import ( ProductFeatureRetrieveParams, ) class ProductFeatureService(StripeService): def delete( self, product: str, id: str, params: Optional["ProductFeatureDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ProductFeature": """ Deletes the feature attachment to a product """ return cast( "ProductFeature", self._request( "delete", "/v1/products/{product}/features/{id}".format( product=sanitize_id(product), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def delete_async( self, product: str, id: str, params: Optional["ProductFeatureDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ProductFeature": """ Deletes the feature attachment to a product """ return cast( "ProductFeature", await self._request_async( "delete", "/v1/products/{product}/features/{id}".format( product=sanitize_id(product), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def retrieve( self, product: str, id: str, params: Optional["ProductFeatureRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ProductFeature": """ Retrieves a product_feature, which represents a feature attachment to a product """ return cast( "ProductFeature", self._request( "get", "/v1/products/{product}/features/{id}".format( product=sanitize_id(product), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, product: str, id: str, params: Optional["ProductFeatureRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ProductFeature": """ Retrieves a product_feature, which represents a feature attachment to a product """ return cast( "ProductFeature", await self._request_async( "get", "/v1/products/{product}/features/{id}".format( product=sanitize_id(product), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def list( self, product: str, params: Optional["ProductFeatureListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ProductFeature]": """ Retrieve a list of features for a product """ return cast( "ListObject[ProductFeature]", self._request( "get", "/v1/products/{product}/features".format( product=sanitize_id(product), ), base_address="api", params=params, options=options, ), ) async def list_async( self, product: str, params: Optional["ProductFeatureListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ProductFeature]": """ Retrieve a list of features for a product """ return cast( "ListObject[ProductFeature]", await self._request_async( "get", "/v1/products/{product}/features".format( product=sanitize_id(product), ), base_address="api", params=params, options=options, ), ) def create( self, product: str, params: "ProductFeatureCreateParams", options: Optional["RequestOptions"] = None, ) -> "ProductFeature": """ Creates a product_feature, which represents a feature attachment to a product """ return cast( "ProductFeature", self._request( "post", "/v1/products/{product}/features".format( product=sanitize_id(product), ), base_address="api", params=params, options=options, ), ) async def create_async( self, product: str, params: "ProductFeatureCreateParams", options: Optional["RequestOptions"] = None, ) -> "ProductFeature": """ Creates a product_feature, which represents a feature attachment to a product """ return cast( "ProductFeature", await self._request_async( "post", "/v1/products/{product}/features".format( product=sanitize_id(product), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_product_service.py0000644000000000000000000002321415102753431015253 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._product import Product from stripe._product_feature_service import ProductFeatureService from stripe._request_options import RequestOptions from stripe._search_result_object import SearchResultObject from stripe.params._product_create_params import ProductCreateParams from stripe.params._product_delete_params import ProductDeleteParams from stripe.params._product_list_params import ProductListParams from stripe.params._product_retrieve_params import ProductRetrieveParams from stripe.params._product_search_params import ProductSearchParams from stripe.params._product_update_params import ProductUpdateParams _subservices = { "features": ["stripe._product_feature_service", "ProductFeatureService"], } class ProductService(StripeService): features: "ProductFeatureService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def delete( self, id: str, params: Optional["ProductDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Product": """ Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it. """ return cast( "Product", self._request( "delete", "/v1/products/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def delete_async( self, id: str, params: Optional["ProductDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Product": """ Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it. """ return cast( "Product", await self._request_async( "delete", "/v1/products/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["ProductRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Product": """ Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information. """ return cast( "Product", self._request( "get", "/v1/products/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["ProductRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Product": """ Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information. """ return cast( "Product", await self._request_async( "get", "/v1/products/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def update( self, id: str, params: Optional["ProductUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Product": """ Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Product", self._request( "post", "/v1/products/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def update_async( self, id: str, params: Optional["ProductUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Product": """ Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Product", await self._request_async( "post", "/v1/products/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def list( self, params: Optional["ProductListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Product]": """ Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first. """ return cast( "ListObject[Product]", self._request( "get", "/v1/products", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["ProductListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Product]": """ Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first. """ return cast( "ListObject[Product]", await self._request_async( "get", "/v1/products", base_address="api", params=params, options=options, ), ) def create( self, params: "ProductCreateParams", options: Optional["RequestOptions"] = None, ) -> "Product": """ Creates a new product object. """ return cast( "Product", self._request( "post", "/v1/products", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "ProductCreateParams", options: Optional["RequestOptions"] = None, ) -> "Product": """ Creates a new product object. """ return cast( "Product", await self._request_async( "post", "/v1/products", base_address="api", params=params, options=options, ), ) def search( self, params: "ProductSearchParams", options: Optional["RequestOptions"] = None, ) -> "SearchResultObject[Product]": """ Search for products you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cast( "SearchResultObject[Product]", self._request( "get", "/v1/products/search", base_address="api", params=params, options=options, ), ) async def search_async( self, params: "ProductSearchParams", options: Optional["RequestOptions"] = None, ) -> "SearchResultObject[Product]": """ Search for products you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cast( "SearchResultObject[Product]", await self._request_async( "get", "/v1/products/search", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_promotion_code.py0000644000000000000000000002172615102753431015101 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, Dict, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._coupon import Coupon from stripe._customer import Customer from stripe.params._promotion_code_create_params import ( PromotionCodeCreateParams, ) from stripe.params._promotion_code_list_params import ( PromotionCodeListParams, ) from stripe.params._promotion_code_modify_params import ( PromotionCodeModifyParams, ) from stripe.params._promotion_code_retrieve_params import ( PromotionCodeRetrieveParams, ) class PromotionCode( CreateableAPIResource["PromotionCode"], ListableAPIResource["PromotionCode"], UpdateableAPIResource["PromotionCode"], ): """ A Promotion Code represents a customer-redeemable code for an underlying promotion. You can create multiple codes for a single promotion. If you enable promotion codes in your [customer portal configuration](https://stripe.com/docs/customer-management/configure-portal), then customers can redeem a code themselves when updating a subscription in the portal. Customers can also view the currently active promotion codes and coupons on each of their subscriptions in the portal. """ OBJECT_NAME: ClassVar[Literal["promotion_code"]] = "promotion_code" class Promotion(StripeObject): coupon: Optional[ExpandableField["Coupon"]] """ If promotion `type` is `coupon`, the coupon for this promotion. """ type: Literal["coupon"] """ The type of promotion. """ class Restrictions(StripeObject): class CurrencyOptions(StripeObject): minimum_amount: int """ Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work). """ currency_options: Optional[Dict[str, CurrencyOptions]] """ Promotion code restrictions defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ first_time_transaction: bool """ A Boolean indicating if the Promotion Code should only be redeemed for Customers without any successful payments or invoices """ minimum_amount: Optional[int] """ Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work). """ minimum_amount_currency: Optional[str] """ Three-letter [ISO code](https://stripe.com/docs/currencies) for minimum_amount """ _inner_class_types = {"currency_options": CurrencyOptions} _inner_class_dicts = ["currency_options"] active: bool """ Whether the promotion code is currently active. A promotion code is only active if the coupon is also valid. """ code: str """ The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for each customer. Valid characters are lower case letters (a-z), upper case letters (A-Z), and digits (0-9). """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ customer: Optional[ExpandableField["Customer"]] """ The customer that this promotion code can be used by. """ expires_at: Optional[int] """ Date at which the promotion code can no longer be redeemed. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ max_redemptions: Optional[int] """ Maximum number of times this promotion code can be redeemed. """ 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. """ object: Literal["promotion_code"] """ String representing the object's type. Objects of the same type share the same value. """ promotion: Promotion restrictions: Restrictions times_redeemed: int """ Number of times this promotion code has been used. """ @classmethod def create( cls, **params: Unpack["PromotionCodeCreateParams"] ) -> "PromotionCode": """ A promotion code points to an underlying promotion. You can optionally restrict the code to a specific customer, redemption limit, and expiration date. """ return cast( "PromotionCode", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["PromotionCodeCreateParams"] ) -> "PromotionCode": """ A promotion code points to an underlying promotion. You can optionally restrict the code to a specific customer, redemption limit, and expiration date. """ return cast( "PromotionCode", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["PromotionCodeListParams"] ) -> ListObject["PromotionCode"]: """ Returns a list of your promotion codes. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["PromotionCodeListParams"] ) -> ListObject["PromotionCode"]: """ Returns a list of your promotion codes. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["PromotionCodeModifyParams"] ) -> "PromotionCode": """ Updates the specified promotion code by setting the values of the parameters passed. Most fields are, by design, not editable. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "PromotionCode", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["PromotionCodeModifyParams"] ) -> "PromotionCode": """ Updates the specified promotion code by setting the values of the parameters passed. Most fields are, by design, not editable. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "PromotionCode", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["PromotionCodeRetrieveParams"] ) -> "PromotionCode": """ Retrieves the promotion code with the given ID. In order to retrieve a promotion code by the customer-facing code use [list](https://docs.stripe.com/docs/api/promotion_codes/list) with the desired code. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["PromotionCodeRetrieveParams"] ) -> "PromotionCode": """ Retrieves the promotion code with the given ID. In order to retrieve a promotion code by the customer-facing code use [list](https://docs.stripe.com/docs/api/promotion_codes/list) with the desired code. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"promotion": Promotion, "restrictions": Restrictions} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_promotion_code_service.py0000644000000000000000000001422715102753431016617 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._promotion_code import PromotionCode from stripe._request_options import RequestOptions from stripe.params._promotion_code_create_params import ( PromotionCodeCreateParams, ) from stripe.params._promotion_code_list_params import ( PromotionCodeListParams, ) from stripe.params._promotion_code_retrieve_params import ( PromotionCodeRetrieveParams, ) from stripe.params._promotion_code_update_params import ( PromotionCodeUpdateParams, ) class PromotionCodeService(StripeService): def list( self, params: Optional["PromotionCodeListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PromotionCode]": """ Returns a list of your promotion codes. """ return cast( "ListObject[PromotionCode]", self._request( "get", "/v1/promotion_codes", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["PromotionCodeListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PromotionCode]": """ Returns a list of your promotion codes. """ return cast( "ListObject[PromotionCode]", await self._request_async( "get", "/v1/promotion_codes", base_address="api", params=params, options=options, ), ) def create( self, params: "PromotionCodeCreateParams", options: Optional["RequestOptions"] = None, ) -> "PromotionCode": """ A promotion code points to an underlying promotion. You can optionally restrict the code to a specific customer, redemption limit, and expiration date. """ return cast( "PromotionCode", self._request( "post", "/v1/promotion_codes", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "PromotionCodeCreateParams", options: Optional["RequestOptions"] = None, ) -> "PromotionCode": """ A promotion code points to an underlying promotion. You can optionally restrict the code to a specific customer, redemption limit, and expiration date. """ return cast( "PromotionCode", await self._request_async( "post", "/v1/promotion_codes", base_address="api", params=params, options=options, ), ) def retrieve( self, promotion_code: str, params: Optional["PromotionCodeRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PromotionCode": """ Retrieves the promotion code with the given ID. In order to retrieve a promotion code by the customer-facing code use [list](https://docs.stripe.com/docs/api/promotion_codes/list) with the desired code. """ return cast( "PromotionCode", self._request( "get", "/v1/promotion_codes/{promotion_code}".format( promotion_code=sanitize_id(promotion_code), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, promotion_code: str, params: Optional["PromotionCodeRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PromotionCode": """ Retrieves the promotion code with the given ID. In order to retrieve a promotion code by the customer-facing code use [list](https://docs.stripe.com/docs/api/promotion_codes/list) with the desired code. """ return cast( "PromotionCode", await self._request_async( "get", "/v1/promotion_codes/{promotion_code}".format( promotion_code=sanitize_id(promotion_code), ), base_address="api", params=params, options=options, ), ) def update( self, promotion_code: str, params: Optional["PromotionCodeUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PromotionCode": """ Updates the specified promotion code by setting the values of the parameters passed. Most fields are, by design, not editable. """ return cast( "PromotionCode", self._request( "post", "/v1/promotion_codes/{promotion_code}".format( promotion_code=sanitize_id(promotion_code), ), base_address="api", params=params, options=options, ), ) async def update_async( self, promotion_code: str, params: Optional["PromotionCodeUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PromotionCode": """ Updates the specified promotion code by setting the values of the parameters passed. Most fields are, by design, not editable. """ return cast( "PromotionCode", await self._request_async( "post", "/v1/promotion_codes/{promotion_code}".format( promotion_code=sanitize_id(promotion_code), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_quote.py0000644000000000000000000014371315102753431013217 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import Any, ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._application import Application from stripe._customer import Customer from stripe._discount import Discount as DiscountResource from stripe._invoice import Invoice from stripe._line_item import LineItem from stripe._subscription import Subscription from stripe._subscription_schedule import SubscriptionSchedule from stripe._tax_rate import TaxRate from stripe.params._quote_accept_params import QuoteAcceptParams from stripe.params._quote_cancel_params import QuoteCancelParams from stripe.params._quote_create_params import QuoteCreateParams from stripe.params._quote_finalize_quote_params import ( QuoteFinalizeQuoteParams, ) from stripe.params._quote_list_computed_upfront_line_items_params import ( QuoteListComputedUpfrontLineItemsParams, ) from stripe.params._quote_list_line_items_params import ( QuoteListLineItemsParams, ) from stripe.params._quote_list_params import QuoteListParams from stripe.params._quote_modify_params import QuoteModifyParams from stripe.params._quote_pdf_params import QuotePdfParams from stripe.params._quote_retrieve_params import QuoteRetrieveParams from stripe.test_helpers._test_clock import TestClock class Quote( CreateableAPIResource["Quote"], ListableAPIResource["Quote"], UpdateableAPIResource["Quote"], ): """ A Quote is a way to model prices that you'd like to provide to a customer. Once accepted, it will automatically create an invoice, subscription or subscription schedule. """ OBJECT_NAME: ClassVar[Literal["quote"]] = "quote" class AutomaticTax(StripeObject): class Liability(StripeObject): account: Optional[ExpandableField["Account"]] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced. """ enabled: bool """ Automatically calculate taxes """ liability: Optional[Liability] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ provider: Optional[str] """ The tax provider powering automatic tax. """ status: Optional[ Literal["complete", "failed", "requires_location_inputs"] ] """ The status of the most recent automated tax calculation for this quote. """ _inner_class_types = {"liability": Liability} class Computed(StripeObject): class Recurring(StripeObject): class TotalDetails(StripeObject): class Breakdown(StripeObject): class Discount(StripeObject): amount: int """ The amount discounted. """ discount: "DiscountResource" """ A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes). It contains information about when the discount began, when it will end, and what it is applied to. Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts) """ class Tax(StripeObject): amount: int """ Amount of tax applied for this rate. """ rate: "TaxRate" """ Tax rates can be applied to [invoices](https://docs.stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://docs.stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://docs.stripe.com/payments/checkout/use-manual-tax-rates) to collect tax. Related guide: [Tax rates](https://docs.stripe.com/billing/taxes/tax-rates) """ taxability_reason: Optional[ Literal[ "customer_exempt", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] ] """ The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. """ taxable_amount: Optional[int] """ The amount on which tax is calculated, in cents (or local equivalent). """ discounts: List[Discount] """ The aggregated discounts. """ taxes: List[Tax] """ The aggregated tax amounts by rate. """ _inner_class_types = {"discounts": Discount, "taxes": Tax} amount_discount: int """ This is the sum of all the discounts. """ amount_shipping: Optional[int] """ This is the sum of all the shipping amounts. """ amount_tax: int """ This is the sum of all the tax amounts. """ breakdown: Optional[Breakdown] _inner_class_types = {"breakdown": Breakdown} amount_subtotal: int """ Total before any discounts or taxes are applied. """ amount_total: int """ Total after discounts and taxes are applied. """ interval: Literal["day", "month", "week", "year"] """ The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`. """ interval_count: int """ The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. """ total_details: TotalDetails _inner_class_types = {"total_details": TotalDetails} class Upfront(StripeObject): class TotalDetails(StripeObject): class Breakdown(StripeObject): class Discount(StripeObject): amount: int """ The amount discounted. """ discount: "DiscountResource" """ A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes). It contains information about when the discount began, when it will end, and what it is applied to. Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts) """ class Tax(StripeObject): amount: int """ Amount of tax applied for this rate. """ rate: "TaxRate" """ Tax rates can be applied to [invoices](https://docs.stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://docs.stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://docs.stripe.com/payments/checkout/use-manual-tax-rates) to collect tax. Related guide: [Tax rates](https://docs.stripe.com/billing/taxes/tax-rates) """ taxability_reason: Optional[ Literal[ "customer_exempt", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] ] """ The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. """ taxable_amount: Optional[int] """ The amount on which tax is calculated, in cents (or local equivalent). """ discounts: List[Discount] """ The aggregated discounts. """ taxes: List[Tax] """ The aggregated tax amounts by rate. """ _inner_class_types = {"discounts": Discount, "taxes": Tax} amount_discount: int """ This is the sum of all the discounts. """ amount_shipping: Optional[int] """ This is the sum of all the shipping amounts. """ amount_tax: int """ This is the sum of all the tax amounts. """ breakdown: Optional[Breakdown] _inner_class_types = {"breakdown": Breakdown} amount_subtotal: int """ Total before any discounts or taxes are applied. """ amount_total: int """ Total after discounts and taxes are applied. """ line_items: Optional[ListObject["LineItem"]] """ The line items that will appear on the next invoice after this quote is accepted. This does not include pending invoice items that exist on the customer but may still be included in the next invoice. """ total_details: TotalDetails _inner_class_types = {"total_details": TotalDetails} recurring: Optional[Recurring] """ The definitive totals and line items the customer will be charged on a recurring basis. Takes into account the line items with recurring prices and discounts with `duration=forever` coupons only. Defaults to `null` if no inputted line items with recurring prices. """ upfront: Upfront _inner_class_types = {"recurring": Recurring, "upfront": Upfront} class FromQuote(StripeObject): is_revision: bool """ Whether this quote is a revision of a different quote. """ quote: ExpandableField["Quote"] """ The quote that was cloned. """ class InvoiceSettings(StripeObject): class Issuer(StripeObject): account: Optional[ExpandableField["Account"]] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced. """ days_until_due: Optional[int] """ Number of days within which a customer must pay invoices generated by this quote. This value will be `null` for quotes where `collection_method=charge_automatically`. """ issuer: Issuer _inner_class_types = {"issuer": Issuer} class StatusTransitions(StripeObject): accepted_at: Optional[int] """ The time that the quote was accepted. Measured in seconds since Unix epoch. """ canceled_at: Optional[int] """ The time that the quote was canceled. Measured in seconds since Unix epoch. """ finalized_at: Optional[int] """ The time that the quote was finalized. Measured in seconds since Unix epoch. """ class SubscriptionData(StripeObject): class BillingMode(StripeObject): class Flexible(StripeObject): proration_discounts: Optional[Literal["included", "itemized"]] """ Controls how invoices and invoice items display proration amounts and discount amounts. """ flexible: Optional[Flexible] type: Literal["classic", "flexible"] """ Controls how prorations and invoices for subscriptions are calculated and orchestrated. """ _inner_class_types = {"flexible": Flexible} billing_mode: BillingMode """ The billing mode of the quote. """ description: Optional[str] """ The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ effective_date: Optional[int] """ When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. This date is ignored if it is in the past when the quote is accepted. Measured in seconds since the Unix epoch. """ metadata: Optional[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values. """ trial_period_days: Optional[int] """ Integer representing the number of trial period days before the customer is charged for the first time. """ _inner_class_types = {"billing_mode": BillingMode} class TotalDetails(StripeObject): class Breakdown(StripeObject): class Discount(StripeObject): amount: int """ The amount discounted. """ discount: "DiscountResource" """ A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes). It contains information about when the discount began, when it will end, and what it is applied to. Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts) """ class Tax(StripeObject): amount: int """ Amount of tax applied for this rate. """ rate: "TaxRate" """ Tax rates can be applied to [invoices](https://docs.stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://docs.stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://docs.stripe.com/payments/checkout/use-manual-tax-rates) to collect tax. Related guide: [Tax rates](https://docs.stripe.com/billing/taxes/tax-rates) """ taxability_reason: Optional[ Literal[ "customer_exempt", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] ] """ The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. """ taxable_amount: Optional[int] """ The amount on which tax is calculated, in cents (or local equivalent). """ discounts: List[Discount] """ The aggregated discounts. """ taxes: List[Tax] """ The aggregated tax amounts by rate. """ _inner_class_types = {"discounts": Discount, "taxes": Tax} amount_discount: int """ This is the sum of all the discounts. """ amount_shipping: Optional[int] """ This is the sum of all the shipping amounts. """ amount_tax: int """ This is the sum of all the tax amounts. """ breakdown: Optional[Breakdown] _inner_class_types = {"breakdown": Breakdown} class TransferData(StripeObject): amount: Optional[int] """ The amount in cents (or local equivalent) that will be transferred to the destination account when the invoice is paid. By default, the entire amount is transferred to the destination. """ amount_percent: Optional[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount will be transferred to the destination. """ destination: ExpandableField["Account"] """ The account where funds from the payment will be transferred to upon payment success. """ amount_subtotal: int """ Total before any discounts or taxes are applied. """ amount_total: int """ Total after discounts and taxes are applied. """ application: Optional[ExpandableField["Application"]] """ ID of the Connect Application that created the quote. """ application_fee_amount: Optional[int] """ The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. Only applicable if there are no line items with recurring prices on the quote. """ application_fee_percent: Optional[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. Only applicable if there are line items with recurring prices on the quote. """ automatic_tax: AutomaticTax collection_method: Literal["charge_automatically", "send_invoice"] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or on finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. """ computed: Computed created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: Optional[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: Optional[ExpandableField["Customer"]] """ The customer which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed. """ default_tax_rates: Optional[List[ExpandableField["TaxRate"]]] """ The tax rates applied to this quote. """ description: Optional[str] """ A description that will be displayed on the quote PDF. """ discounts: List[ExpandableField["DiscountResource"]] """ The discounts applied to this quote. """ expires_at: int """ The date on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. """ footer: Optional[str] """ A footer that will be displayed on the quote PDF. """ from_quote: Optional[FromQuote] """ Details of the quote that was cloned. See the [cloning documentation](https://stripe.com/docs/quotes/clone) for more details. """ header: Optional[str] """ A header that will be displayed on the quote PDF. """ id: str """ Unique identifier for the object. """ invoice: Optional[ExpandableField["Invoice"]] """ The invoice that was created from this quote. """ invoice_settings: InvoiceSettings line_items: Optional[ListObject["LineItem"]] """ A list of items the customer is being quoted for. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ number: Optional[str] """ A unique number that identifies this particular quote. This number is assigned once the quote is [finalized](https://stripe.com/docs/quotes/overview#finalize). """ object: Literal["quote"] """ String representing the object's type. Objects of the same type share the same value. """ on_behalf_of: Optional[ExpandableField["Account"]] """ The account on behalf of which to charge. See the [Connect documentation](https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts) for details. """ status: Literal["accepted", "canceled", "draft", "open"] """ The status of the quote. """ status_transitions: StatusTransitions subscription: Optional[ExpandableField["Subscription"]] """ The subscription that was created or updated from this quote. """ subscription_data: SubscriptionData subscription_schedule: Optional[ExpandableField["SubscriptionSchedule"]] """ The subscription schedule that was created or updated from this quote. """ test_clock: Optional[ExpandableField["TestClock"]] """ ID of the test clock this quote belongs to. """ total_details: TotalDetails transfer_data: Optional[TransferData] """ The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the invoices. """ @classmethod def _cls_accept( cls, quote: str, **params: Unpack["QuoteAcceptParams"] ) -> "Quote": """ Accepts the specified quote. """ return cast( "Quote", cls._static_request( "post", "/v1/quotes/{quote}/accept".format(quote=sanitize_id(quote)), params=params, ), ) @overload @staticmethod def accept(quote: str, **params: Unpack["QuoteAcceptParams"]) -> "Quote": """ Accepts the specified quote. """ ... @overload def accept(self, **params: Unpack["QuoteAcceptParams"]) -> "Quote": """ Accepts the specified quote. """ ... @class_method_variant("_cls_accept") def accept( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["QuoteAcceptParams"] ) -> "Quote": """ Accepts the specified quote. """ return cast( "Quote", self._request( "post", "/v1/quotes/{quote}/accept".format( quote=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_accept_async( cls, quote: str, **params: Unpack["QuoteAcceptParams"] ) -> "Quote": """ Accepts the specified quote. """ return cast( "Quote", await cls._static_request_async( "post", "/v1/quotes/{quote}/accept".format(quote=sanitize_id(quote)), params=params, ), ) @overload @staticmethod async def accept_async( quote: str, **params: Unpack["QuoteAcceptParams"] ) -> "Quote": """ Accepts the specified quote. """ ... @overload async def accept_async( self, **params: Unpack["QuoteAcceptParams"] ) -> "Quote": """ Accepts the specified quote. """ ... @class_method_variant("_cls_accept_async") async def accept_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["QuoteAcceptParams"] ) -> "Quote": """ Accepts the specified quote. """ return cast( "Quote", await self._request_async( "post", "/v1/quotes/{quote}/accept".format( quote=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_cancel( cls, quote: str, **params: Unpack["QuoteCancelParams"] ) -> "Quote": """ Cancels the quote. """ return cast( "Quote", cls._static_request( "post", "/v1/quotes/{quote}/cancel".format(quote=sanitize_id(quote)), params=params, ), ) @overload @staticmethod def cancel(quote: str, **params: Unpack["QuoteCancelParams"]) -> "Quote": """ Cancels the quote. """ ... @overload def cancel(self, **params: Unpack["QuoteCancelParams"]) -> "Quote": """ Cancels the quote. """ ... @class_method_variant("_cls_cancel") def cancel( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["QuoteCancelParams"] ) -> "Quote": """ Cancels the quote. """ return cast( "Quote", self._request( "post", "/v1/quotes/{quote}/cancel".format( quote=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_cancel_async( cls, quote: str, **params: Unpack["QuoteCancelParams"] ) -> "Quote": """ Cancels the quote. """ return cast( "Quote", await cls._static_request_async( "post", "/v1/quotes/{quote}/cancel".format(quote=sanitize_id(quote)), params=params, ), ) @overload @staticmethod async def cancel_async( quote: str, **params: Unpack["QuoteCancelParams"] ) -> "Quote": """ Cancels the quote. """ ... @overload async def cancel_async( self, **params: Unpack["QuoteCancelParams"] ) -> "Quote": """ Cancels the quote. """ ... @class_method_variant("_cls_cancel_async") async def cancel_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["QuoteCancelParams"] ) -> "Quote": """ Cancels the quote. """ return cast( "Quote", await self._request_async( "post", "/v1/quotes/{quote}/cancel".format( quote=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create(cls, **params: Unpack["QuoteCreateParams"]) -> "Quote": """ A quote models prices and services for a customer. Default options for header, description, footer, and expires_at can be set in the dashboard via the [quote template](https://dashboard.stripe.com/settings/billing/quote). """ return cast( "Quote", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["QuoteCreateParams"] ) -> "Quote": """ A quote models prices and services for a customer. Default options for header, description, footer, and expires_at can be set in the dashboard via the [quote template](https://dashboard.stripe.com/settings/billing/quote). """ return cast( "Quote", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_finalize_quote( cls, quote: str, **params: Unpack["QuoteFinalizeQuoteParams"] ) -> "Quote": """ Finalizes the quote. """ return cast( "Quote", cls._static_request( "post", "/v1/quotes/{quote}/finalize".format(quote=sanitize_id(quote)), params=params, ), ) @overload @staticmethod def finalize_quote( quote: str, **params: Unpack["QuoteFinalizeQuoteParams"] ) -> "Quote": """ Finalizes the quote. """ ... @overload def finalize_quote( self, **params: Unpack["QuoteFinalizeQuoteParams"] ) -> "Quote": """ Finalizes the quote. """ ... @class_method_variant("_cls_finalize_quote") def finalize_quote( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["QuoteFinalizeQuoteParams"] ) -> "Quote": """ Finalizes the quote. """ return cast( "Quote", self._request( "post", "/v1/quotes/{quote}/finalize".format( quote=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_finalize_quote_async( cls, quote: str, **params: Unpack["QuoteFinalizeQuoteParams"] ) -> "Quote": """ Finalizes the quote. """ return cast( "Quote", await cls._static_request_async( "post", "/v1/quotes/{quote}/finalize".format(quote=sanitize_id(quote)), params=params, ), ) @overload @staticmethod async def finalize_quote_async( quote: str, **params: Unpack["QuoteFinalizeQuoteParams"] ) -> "Quote": """ Finalizes the quote. """ ... @overload async def finalize_quote_async( self, **params: Unpack["QuoteFinalizeQuoteParams"] ) -> "Quote": """ Finalizes the quote. """ ... @class_method_variant("_cls_finalize_quote_async") async def finalize_quote_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["QuoteFinalizeQuoteParams"] ) -> "Quote": """ Finalizes the quote. """ return cast( "Quote", await self._request_async( "post", "/v1/quotes/{quote}/finalize".format( quote=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list(cls, **params: Unpack["QuoteListParams"]) -> ListObject["Quote"]: """ Returns a list of your quotes. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["QuoteListParams"] ) -> ListObject["Quote"]: """ Returns a list of your quotes. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def _cls_list_computed_upfront_line_items( cls, quote: str, **params: Unpack["QuoteListComputedUpfrontLineItemsParams"], ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable [computed.upfront.line_items](https://stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items. """ return cast( ListObject["LineItem"], cls._static_request( "get", "/v1/quotes/{quote}/computed_upfront_line_items".format( quote=sanitize_id(quote) ), params=params, ), ) @overload @staticmethod def list_computed_upfront_line_items( quote: str, **params: Unpack["QuoteListComputedUpfrontLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable [computed.upfront.line_items](https://stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items. """ ... @overload def list_computed_upfront_line_items( self, **params: Unpack["QuoteListComputedUpfrontLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable [computed.upfront.line_items](https://stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items. """ ... @class_method_variant("_cls_list_computed_upfront_line_items") def list_computed_upfront_line_items( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["QuoteListComputedUpfrontLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable [computed.upfront.line_items](https://stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items. """ return cast( ListObject["LineItem"], self._request( "get", "/v1/quotes/{quote}/computed_upfront_line_items".format( quote=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_list_computed_upfront_line_items_async( cls, quote: str, **params: Unpack["QuoteListComputedUpfrontLineItemsParams"], ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable [computed.upfront.line_items](https://stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items. """ return cast( ListObject["LineItem"], await cls._static_request_async( "get", "/v1/quotes/{quote}/computed_upfront_line_items".format( quote=sanitize_id(quote) ), params=params, ), ) @overload @staticmethod async def list_computed_upfront_line_items_async( quote: str, **params: Unpack["QuoteListComputedUpfrontLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable [computed.upfront.line_items](https://stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items. """ ... @overload async def list_computed_upfront_line_items_async( self, **params: Unpack["QuoteListComputedUpfrontLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable [computed.upfront.line_items](https://stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items. """ ... @class_method_variant("_cls_list_computed_upfront_line_items_async") async def list_computed_upfront_line_items_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["QuoteListComputedUpfrontLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable [computed.upfront.line_items](https://stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items. """ return cast( ListObject["LineItem"], await self._request_async( "get", "/v1/quotes/{quote}/computed_upfront_line_items".format( quote=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_list_line_items( cls, quote: str, **params: Unpack["QuoteListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["LineItem"], cls._static_request( "get", "/v1/quotes/{quote}/line_items".format( quote=sanitize_id(quote) ), params=params, ), ) @overload @staticmethod def list_line_items( quote: str, **params: Unpack["QuoteListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ ... @overload def list_line_items( self, **params: Unpack["QuoteListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ ... @class_method_variant("_cls_list_line_items") def list_line_items( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["QuoteListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["LineItem"], self._request( "get", "/v1/quotes/{quote}/line_items".format( quote=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_list_line_items_async( cls, quote: str, **params: Unpack["QuoteListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["LineItem"], await cls._static_request_async( "get", "/v1/quotes/{quote}/line_items".format( quote=sanitize_id(quote) ), params=params, ), ) @overload @staticmethod async def list_line_items_async( quote: str, **params: Unpack["QuoteListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ ... @overload async def list_line_items_async( self, **params: Unpack["QuoteListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ ... @class_method_variant("_cls_list_line_items_async") async def list_line_items_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["QuoteListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["LineItem"], await self._request_async( "get", "/v1/quotes/{quote}/line_items".format( quote=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def modify(cls, id: str, **params: Unpack["QuoteModifyParams"]) -> "Quote": """ A quote models prices and services for a customer. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Quote", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["QuoteModifyParams"] ) -> "Quote": """ A quote models prices and services for a customer. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Quote", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def _cls_pdf(cls, quote: str, **params: Unpack["QuotePdfParams"]) -> Any: """ Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.stripe.com/quotes/overview#quote_pdf) """ return cast( Any, cls._static_request_stream( "get", "/v1/quotes/{quote}/pdf".format(quote=sanitize_id(quote)), params=params, base_address="files", ), ) @overload @staticmethod def pdf(quote: str, **params: Unpack["QuotePdfParams"]) -> Any: """ Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.stripe.com/quotes/overview#quote_pdf) """ ... @overload def pdf(self, **params: Unpack["QuotePdfParams"]) -> Any: """ Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.stripe.com/quotes/overview#quote_pdf) """ ... @class_method_variant("_cls_pdf") def pdf( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["QuotePdfParams"] ) -> Any: """ Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.stripe.com/quotes/overview#quote_pdf) """ return cast( Any, self._request_stream( "get", "/v1/quotes/{quote}/pdf".format( quote=sanitize_id(self.get("id")) ), params=params, base_address="files", ), ) @classmethod async def _cls_pdf_async( cls, quote: str, **params: Unpack["QuotePdfParams"] ) -> Any: """ Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.stripe.com/quotes/overview#quote_pdf) """ return cast( Any, await cls._static_request_stream_async( "get", "/v1/quotes/{quote}/pdf".format(quote=sanitize_id(quote)), params=params, base_address="files", ), ) @overload @staticmethod async def pdf_async(quote: str, **params: Unpack["QuotePdfParams"]) -> Any: """ Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.stripe.com/quotes/overview#quote_pdf) """ ... @overload async def pdf_async(self, **params: Unpack["QuotePdfParams"]) -> Any: """ Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.stripe.com/quotes/overview#quote_pdf) """ ... @class_method_variant("_cls_pdf_async") async def pdf_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["QuotePdfParams"] ) -> Any: """ Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.stripe.com/quotes/overview#quote_pdf) """ return cast( Any, await self._request_stream_async( "get", "/v1/quotes/{quote}/pdf".format( quote=sanitize_id(self.get("id")) ), params=params, base_address="files", ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["QuoteRetrieveParams"] ) -> "Quote": """ Retrieves the quote with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["QuoteRetrieveParams"] ) -> "Quote": """ Retrieves the quote with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "automatic_tax": AutomaticTax, "computed": Computed, "from_quote": FromQuote, "invoice_settings": InvoiceSettings, "status_transitions": StatusTransitions, "subscription_data": SubscriptionData, "total_details": TotalDetails, "transfer_data": TransferData, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_quote_computed_upfront_line_items_service.py0000644000000000000000000000462115102753431022616 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._line_item import LineItem from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._quote_computed_upfront_line_items_list_params import ( QuoteComputedUpfrontLineItemsListParams, ) class QuoteComputedUpfrontLineItemsService(StripeService): def list( self, quote: str, params: Optional["QuoteComputedUpfrontLineItemsListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[LineItem]": """ When retrieving a quote, there is an includable [computed.upfront.line_items](https://stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items. """ return cast( "ListObject[LineItem]", self._request( "get", "/v1/quotes/{quote}/computed_upfront_line_items".format( quote=sanitize_id(quote), ), base_address="api", params=params, options=options, ), ) async def list_async( self, quote: str, params: Optional["QuoteComputedUpfrontLineItemsListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[LineItem]": """ When retrieving a quote, there is an includable [computed.upfront.line_items](https://stripe.com/docs/api/quotes/object#quote_object-computed-upfront-line_items) property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of upfront line items. """ return cast( "ListObject[LineItem]", await self._request_async( "get", "/v1/quotes/{quote}/computed_upfront_line_items".format( quote=sanitize_id(quote), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_quote_line_item_service.py0000644000000000000000000000407715102753431016763 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._line_item import LineItem from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params._quote_line_item_list_params import ( QuoteLineItemListParams, ) class QuoteLineItemService(StripeService): def list( self, quote: str, params: Optional["QuoteLineItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[LineItem]": """ When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( "ListObject[LineItem]", self._request( "get", "/v1/quotes/{quote}/line_items".format( quote=sanitize_id(quote), ), base_address="api", params=params, options=options, ), ) async def list_async( self, quote: str, params: Optional["QuoteLineItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[LineItem]": """ When retrieving a quote, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( "ListObject[LineItem]", await self._request_async( "get", "/v1/quotes/{quote}/line_items".format( quote=sanitize_id(quote), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_quote_service.py0000644000000000000000000002576515102753431014745 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._quote import Quote from stripe._quote_computed_upfront_line_items_service import ( QuoteComputedUpfrontLineItemsService, ) from stripe._quote_line_item_service import QuoteLineItemService from stripe._request_options import RequestOptions from stripe.params._quote_accept_params import QuoteAcceptParams from stripe.params._quote_cancel_params import QuoteCancelParams from stripe.params._quote_create_params import QuoteCreateParams from stripe.params._quote_finalize_quote_params import ( QuoteFinalizeQuoteParams, ) from stripe.params._quote_list_params import QuoteListParams from stripe.params._quote_pdf_params import QuotePdfParams from stripe.params._quote_retrieve_params import QuoteRetrieveParams from stripe.params._quote_update_params import QuoteUpdateParams from typing import Any _subservices = { "computed_upfront_line_items": [ "stripe._quote_computed_upfront_line_items_service", "QuoteComputedUpfrontLineItemsService", ], "line_items": ["stripe._quote_line_item_service", "QuoteLineItemService"], } class QuoteService(StripeService): computed_upfront_line_items: "QuoteComputedUpfrontLineItemsService" line_items: "QuoteLineItemService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def list( self, params: Optional["QuoteListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Quote]": """ Returns a list of your quotes. """ return cast( "ListObject[Quote]", self._request( "get", "/v1/quotes", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["QuoteListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Quote]": """ Returns a list of your quotes. """ return cast( "ListObject[Quote]", await self._request_async( "get", "/v1/quotes", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["QuoteCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Quote": """ A quote models prices and services for a customer. Default options for header, description, footer, and expires_at can be set in the dashboard via the [quote template](https://dashboard.stripe.com/settings/billing/quote). """ return cast( "Quote", self._request( "post", "/v1/quotes", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["QuoteCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Quote": """ A quote models prices and services for a customer. Default options for header, description, footer, and expires_at can be set in the dashboard via the [quote template](https://dashboard.stripe.com/settings/billing/quote). """ return cast( "Quote", await self._request_async( "post", "/v1/quotes", base_address="api", params=params, options=options, ), ) def retrieve( self, quote: str, params: Optional["QuoteRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Quote": """ Retrieves the quote with the given ID. """ return cast( "Quote", self._request( "get", "/v1/quotes/{quote}".format(quote=sanitize_id(quote)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, quote: str, params: Optional["QuoteRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Quote": """ Retrieves the quote with the given ID. """ return cast( "Quote", await self._request_async( "get", "/v1/quotes/{quote}".format(quote=sanitize_id(quote)), base_address="api", params=params, options=options, ), ) def update( self, quote: str, params: Optional["QuoteUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Quote": """ A quote models prices and services for a customer. """ return cast( "Quote", self._request( "post", "/v1/quotes/{quote}".format(quote=sanitize_id(quote)), base_address="api", params=params, options=options, ), ) async def update_async( self, quote: str, params: Optional["QuoteUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Quote": """ A quote models prices and services for a customer. """ return cast( "Quote", await self._request_async( "post", "/v1/quotes/{quote}".format(quote=sanitize_id(quote)), base_address="api", params=params, options=options, ), ) def accept( self, quote: str, params: Optional["QuoteAcceptParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Quote": """ Accepts the specified quote. """ return cast( "Quote", self._request( "post", "/v1/quotes/{quote}/accept".format(quote=sanitize_id(quote)), base_address="api", params=params, options=options, ), ) async def accept_async( self, quote: str, params: Optional["QuoteAcceptParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Quote": """ Accepts the specified quote. """ return cast( "Quote", await self._request_async( "post", "/v1/quotes/{quote}/accept".format(quote=sanitize_id(quote)), base_address="api", params=params, options=options, ), ) def cancel( self, quote: str, params: Optional["QuoteCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Quote": """ Cancels the quote. """ return cast( "Quote", self._request( "post", "/v1/quotes/{quote}/cancel".format(quote=sanitize_id(quote)), base_address="api", params=params, options=options, ), ) async def cancel_async( self, quote: str, params: Optional["QuoteCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Quote": """ Cancels the quote. """ return cast( "Quote", await self._request_async( "post", "/v1/quotes/{quote}/cancel".format(quote=sanitize_id(quote)), base_address="api", params=params, options=options, ), ) def finalize_quote( self, quote: str, params: Optional["QuoteFinalizeQuoteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Quote": """ Finalizes the quote. """ return cast( "Quote", self._request( "post", "/v1/quotes/{quote}/finalize".format(quote=sanitize_id(quote)), base_address="api", params=params, options=options, ), ) async def finalize_quote_async( self, quote: str, params: Optional["QuoteFinalizeQuoteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Quote": """ Finalizes the quote. """ return cast( "Quote", await self._request_async( "post", "/v1/quotes/{quote}/finalize".format(quote=sanitize_id(quote)), base_address="api", params=params, options=options, ), ) def pdf( self, quote: str, params: Optional["QuotePdfParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Any": """ Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.stripe.com/quotes/overview#quote_pdf) """ return cast( "Any", self._request_stream( "get", "/v1/quotes/{quote}/pdf".format(quote=sanitize_id(quote)), base_address="files", params=params, options=options, ), ) async def pdf_async( self, quote: str, params: Optional["QuotePdfParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Any": """ Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.stripe.com/quotes/overview#quote_pdf) """ return cast( "Any", await self._request_stream_async( "get", "/v1/quotes/{quote}/pdf".format(quote=sanitize_id(quote)), base_address="files", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_radar_service.py0000644000000000000000000000270715102753431014670 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.radar._early_fraud_warning_service import ( EarlyFraudWarningService, ) from stripe.radar._value_list_item_service import ValueListItemService from stripe.radar._value_list_service import ValueListService _subservices = { "early_fraud_warnings": [ "stripe.radar._early_fraud_warning_service", "EarlyFraudWarningService", ], "value_lists": ["stripe.radar._value_list_service", "ValueListService"], "value_list_items": [ "stripe.radar._value_list_item_service", "ValueListItemService", ], } class RadarService(StripeService): early_fraud_warnings: "EarlyFraudWarningService" value_lists: "ValueListService" value_list_items: "ValueListItemService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_refund.py0000644000000000000000000007030215102753431013336 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._test_helpers import APIResourceTestHelpers from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, Optional, cast, overload from typing_extensions import Literal, Type, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._balance_transaction import BalanceTransaction from stripe._charge import Charge from stripe._payment_intent import PaymentIntent from stripe._reversal import Reversal from stripe.params._refund_cancel_params import RefundCancelParams from stripe.params._refund_create_params import RefundCreateParams from stripe.params._refund_expire_params import RefundExpireParams from stripe.params._refund_list_params import RefundListParams from stripe.params._refund_modify_params import RefundModifyParams from stripe.params._refund_retrieve_params import RefundRetrieveParams class Refund( CreateableAPIResource["Refund"], ListableAPIResource["Refund"], UpdateableAPIResource["Refund"], ): """ Refund objects allow you to refund a previously created charge that isn't refunded yet. Funds are refunded to the credit or debit card that's initially charged. Related guide: [Refunds](https://stripe.com/docs/refunds) """ OBJECT_NAME: ClassVar[Literal["refund"]] = "refund" class DestinationDetails(StripeObject): class Affirm(StripeObject): pass class AfterpayClearpay(StripeObject): pass class Alipay(StripeObject): pass class Alma(StripeObject): pass class AmazonPay(StripeObject): pass class AuBankTransfer(StripeObject): pass class Blik(StripeObject): network_decline_code: Optional[str] """ For refunds declined by the network, a decline code provided by the network which indicates the reason the refund failed. """ 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 BrBankTransfer(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 Card(StripeObject): reference: Optional[str] """ Value of the reference number assigned to the refund. """ reference_status: Optional[str] """ Status of the reference number on the refund. This can be `pending`, `available` or `unavailable`. """ reference_type: Optional[str] """ Type of the reference number assigned to the refund. """ type: Literal["pending", "refund", "reversal"] """ The type of refund. This can be `refund`, `reversal`, or `pending`. """ class Cashapp(StripeObject): pass class Crypto(StripeObject): reference: Optional[str] """ The transaction hash of the refund. """ class CustomerCashBalance(StripeObject): pass class Eps(StripeObject): pass class EuBankTransfer(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 GbBankTransfer(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 Giropay(StripeObject): pass class Grabpay(StripeObject): pass class JpBankTransfer(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 Klarna(StripeObject): pass class Multibanco(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 MxBankTransfer(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 NzBankTransfer(StripeObject): pass class P24(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 Paynow(StripeObject): pass class Paypal(StripeObject): network_decline_code: Optional[str] """ For refunds declined by the network, a decline code provided by the network which indicates the reason the refund failed. """ class Pix(StripeObject): pass class Revolut(StripeObject): pass class Sofort(StripeObject): pass class Swish(StripeObject): network_decline_code: Optional[str] """ For refunds declined by the network, a decline code provided by the network which indicates the reason the refund failed. """ 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 ThBankTransfer(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 UsBankTransfer(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 WechatPay(StripeObject): pass class Zip(StripeObject): pass affirm: Optional[Affirm] afterpay_clearpay: Optional[AfterpayClearpay] alipay: Optional[Alipay] alma: Optional[Alma] amazon_pay: Optional[AmazonPay] au_bank_transfer: Optional[AuBankTransfer] blik: Optional[Blik] br_bank_transfer: Optional[BrBankTransfer] card: Optional[Card] cashapp: Optional[Cashapp] crypto: Optional[Crypto] customer_cash_balance: Optional[CustomerCashBalance] eps: Optional[Eps] eu_bank_transfer: Optional[EuBankTransfer] gb_bank_transfer: Optional[GbBankTransfer] giropay: Optional[Giropay] grabpay: Optional[Grabpay] jp_bank_transfer: Optional[JpBankTransfer] klarna: Optional[Klarna] multibanco: Optional[Multibanco] mx_bank_transfer: Optional[MxBankTransfer] nz_bank_transfer: Optional[NzBankTransfer] p24: Optional[P24] paynow: Optional[Paynow] paypal: Optional[Paypal] pix: Optional[Pix] revolut: Optional[Revolut] sofort: Optional[Sofort] swish: Optional[Swish] th_bank_transfer: Optional[ThBankTransfer] 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. """ us_bank_transfer: Optional[UsBankTransfer] wechat_pay: Optional[WechatPay] zip: Optional[Zip] _inner_class_types = { "affirm": Affirm, "afterpay_clearpay": AfterpayClearpay, "alipay": Alipay, "alma": Alma, "amazon_pay": AmazonPay, "au_bank_transfer": AuBankTransfer, "blik": Blik, "br_bank_transfer": BrBankTransfer, "card": Card, "cashapp": Cashapp, "crypto": Crypto, "customer_cash_balance": CustomerCashBalance, "eps": Eps, "eu_bank_transfer": EuBankTransfer, "gb_bank_transfer": GbBankTransfer, "giropay": Giropay, "grabpay": Grabpay, "jp_bank_transfer": JpBankTransfer, "klarna": Klarna, "multibanco": Multibanco, "mx_bank_transfer": MxBankTransfer, "nz_bank_transfer": NzBankTransfer, "p24": P24, "paynow": Paynow, "paypal": Paypal, "pix": Pix, "revolut": Revolut, "sofort": Sofort, "swish": Swish, "th_bank_transfer": ThBankTransfer, "us_bank_transfer": UsBankTransfer, "wechat_pay": WechatPay, "zip": Zip, } class NextAction(StripeObject): class DisplayDetails(StripeObject): class EmailSent(StripeObject): email_sent_at: int """ The timestamp when the email was sent. """ email_sent_to: str """ The recipient's email address. """ email_sent: EmailSent expires_at: int """ The expiry timestamp. """ _inner_class_types = {"email_sent": EmailSent} display_details: Optional[DisplayDetails] type: str """ Type of the next action to perform. """ _inner_class_types = {"display_details": DisplayDetails} class PresentmentDetails(StripeObject): presentment_amount: int """ Amount intended to be collected by this payment, denominated in `presentment_currency`. """ presentment_currency: str """ Currency presented to the customer during payment. """ amount: int """ Amount, in cents (or local equivalent). """ balance_transaction: Optional[ExpandableField["BalanceTransaction"]] """ Balance transaction that describes the impact on your account balance. """ charge: Optional[ExpandableField["Charge"]] """ ID of the charge that's refunded. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: Optional[str] """ An arbitrary string attached to the object. You can use this for displaying to users (available on non-card refunds only). """ destination_details: Optional[DestinationDetails] failure_balance_transaction: Optional[ ExpandableField["BalanceTransaction"] ] """ After the refund fails, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction. """ failure_reason: Optional[str] """ Provides the reason for the refund failure. Possible values are: `lost_or_stolen_card`, `expired_or_canceled_card`, `charge_for_pending_refund_disputed`, `insufficient_funds`, `declined`, `merchant_request`, or `unknown`. """ id: str """ Unique identifier for the object. """ instructions_email: Optional[str] """ For payment methods without native refund support (for example, Konbini, PromptPay), provide an email address for the customer to receive refund instructions. """ 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. """ next_action: Optional[NextAction] object: Literal["refund"] """ String representing the object's type. Objects of the same type share the same value. """ payment_intent: Optional[ExpandableField["PaymentIntent"]] """ ID of the PaymentIntent that's refunded. """ pending_reason: Optional[ Literal["charge_pending", "insufficient_funds", "processing"] ] """ Provides the reason for why the refund is pending. Possible values are: `processing`, `insufficient_funds`, or `charge_pending`. """ presentment_details: Optional[PresentmentDetails] reason: Optional[ Literal[ "duplicate", "expired_uncaptured_charge", "fraudulent", "requested_by_customer", ] ] """ Reason for the refund, which is either user-provided (`duplicate`, `fraudulent`, or `requested_by_customer`) or generated by Stripe internally (`expired_uncaptured_charge`). """ receipt_number: Optional[str] """ This is the transaction number that appears on email receipts sent for this refund. """ source_transfer_reversal: Optional[ExpandableField["Reversal"]] """ The transfer reversal that's associated with the refund. Only present if the charge came from another Stripe account. """ status: Optional[str] """ Status of the refund. This can be `pending`, `requires_action`, `succeeded`, `failed`, or `canceled`. Learn more about [failed refunds](https://stripe.com/docs/refunds#failed-refunds). """ transfer_reversal: Optional[ExpandableField["Reversal"]] """ This refers to the transfer reversal object if the accompanying transfer reverses. This is only applicable if the charge was created using the destination parameter. """ @classmethod def _cls_cancel( cls, refund: str, **params: Unpack["RefundCancelParams"] ) -> "Refund": """ Cancels a refund with a status of requires_action. You can't cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action state. """ return cast( "Refund", cls._static_request( "post", "/v1/refunds/{refund}/cancel".format( refund=sanitize_id(refund) ), params=params, ), ) @overload @staticmethod def cancel( refund: str, **params: Unpack["RefundCancelParams"] ) -> "Refund": """ Cancels a refund with a status of requires_action. You can't cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action state. """ ... @overload def cancel(self, **params: Unpack["RefundCancelParams"]) -> "Refund": """ Cancels a refund with a status of requires_action. You can't cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action state. """ ... @class_method_variant("_cls_cancel") def cancel( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["RefundCancelParams"] ) -> "Refund": """ Cancels a refund with a status of requires_action. You can't cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action state. """ return cast( "Refund", self._request( "post", "/v1/refunds/{refund}/cancel".format( refund=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_cancel_async( cls, refund: str, **params: Unpack["RefundCancelParams"] ) -> "Refund": """ Cancels a refund with a status of requires_action. You can't cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action state. """ return cast( "Refund", await cls._static_request_async( "post", "/v1/refunds/{refund}/cancel".format( refund=sanitize_id(refund) ), params=params, ), ) @overload @staticmethod async def cancel_async( refund: str, **params: Unpack["RefundCancelParams"] ) -> "Refund": """ Cancels a refund with a status of requires_action. You can't cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action state. """ ... @overload async def cancel_async( self, **params: Unpack["RefundCancelParams"] ) -> "Refund": """ Cancels a refund with a status of requires_action. You can't cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action state. """ ... @class_method_variant("_cls_cancel_async") async def cancel_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["RefundCancelParams"] ) -> "Refund": """ Cancels a refund with a status of requires_action. You can't cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action state. """ return cast( "Refund", await self._request_async( "post", "/v1/refunds/{refund}/cancel".format( refund=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create(cls, **params: Unpack["RefundCreateParams"]) -> "Refund": """ When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it. Creating a new refund will refund a charge that has previously been created but not yet refunded. Funds will be refunded to the credit or debit card that was originally charged. You can optionally refund only part of a charge. You can do so multiple times, until the entire charge has been refunded. Once entirely refunded, a charge can't be refunded again. This method will raise an error when called on an already-refunded charge, or when trying to refund more money than is left on a charge. """ return cast( "Refund", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["RefundCreateParams"] ) -> "Refund": """ When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it. Creating a new refund will refund a charge that has previously been created but not yet refunded. Funds will be refunded to the credit or debit card that was originally charged. You can optionally refund only part of a charge. You can do so multiple times, until the entire charge has been refunded. Once entirely refunded, a charge can't be refunded again. This method will raise an error when called on an already-refunded charge, or when trying to refund more money than is left on a charge. """ return cast( "Refund", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["RefundListParams"] ) -> ListObject["Refund"]: """ Returns a list of all refunds you created. We return the refunds in sorted order, with the most recent refunds appearing first. The 10 most recent refunds are always available by default on the Charge object. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["RefundListParams"] ) -> ListObject["Refund"]: """ Returns a list of all refunds you created. We return the refunds in sorted order, with the most recent refunds appearing first. The 10 most recent refunds are always available by default on the Charge object. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["RefundModifyParams"] ) -> "Refund": """ Updates the refund that you specify by setting the values of the passed parameters. Any parameters that you don't provide remain unchanged. This request only accepts metadata as an argument. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Refund", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["RefundModifyParams"] ) -> "Refund": """ Updates the refund that you specify by setting the values of the passed parameters. Any parameters that you don't provide remain unchanged. This request only accepts metadata as an argument. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Refund", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["RefundRetrieveParams"] ) -> "Refund": """ Retrieves the details of an existing refund. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["RefundRetrieveParams"] ) -> "Refund": """ Retrieves the details of an existing refund. """ instance = cls(id, **params) await instance.refresh_async() return instance class TestHelpers(APIResourceTestHelpers["Refund"]): _resource_cls: Type["Refund"] @classmethod def _cls_expire( cls, refund: str, **params: Unpack["RefundExpireParams"] ) -> "Refund": """ Expire a refund with a status of requires_action. """ return cast( "Refund", cls._static_request( "post", "/v1/test_helpers/refunds/{refund}/expire".format( refund=sanitize_id(refund) ), params=params, ), ) @overload @staticmethod def expire( refund: str, **params: Unpack["RefundExpireParams"] ) -> "Refund": """ Expire a refund with a status of requires_action. """ ... @overload def expire(self, **params: Unpack["RefundExpireParams"]) -> "Refund": """ Expire a refund with a status of requires_action. """ ... @class_method_variant("_cls_expire") def expire( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["RefundExpireParams"] ) -> "Refund": """ Expire a refund with a status of requires_action. """ return cast( "Refund", self.resource._request( "post", "/v1/test_helpers/refunds/{refund}/expire".format( refund=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_expire_async( cls, refund: str, **params: Unpack["RefundExpireParams"] ) -> "Refund": """ Expire a refund with a status of requires_action. """ return cast( "Refund", await cls._static_request_async( "post", "/v1/test_helpers/refunds/{refund}/expire".format( refund=sanitize_id(refund) ), params=params, ), ) @overload @staticmethod async def expire_async( refund: str, **params: Unpack["RefundExpireParams"] ) -> "Refund": """ Expire a refund with a status of requires_action. """ ... @overload async def expire_async( self, **params: Unpack["RefundExpireParams"] ) -> "Refund": """ Expire a refund with a status of requires_action. """ ... @class_method_variant("_cls_expire_async") async def expire_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["RefundExpireParams"] ) -> "Refund": """ Expire a refund with a status of requires_action. """ return cast( "Refund", await self.resource._request_async( "post", "/v1/test_helpers/refunds/{refund}/expire".format( refund=sanitize_id(self.resource.get("id")) ), params=params, ), ) @property def test_helpers(self): return self.TestHelpers(self) _inner_class_types = { "destination_details": DestinationDetails, "next_action": NextAction, "presentment_details": PresentmentDetails, } Refund.TestHelpers._resource_cls = Refund ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_refund_service.py0000644000000000000000000002037215102753431015060 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._refund import Refund from stripe._request_options import RequestOptions from stripe.params._refund_cancel_params import RefundCancelParams from stripe.params._refund_create_params import RefundCreateParams from stripe.params._refund_list_params import RefundListParams from stripe.params._refund_retrieve_params import RefundRetrieveParams from stripe.params._refund_update_params import RefundUpdateParams class RefundService(StripeService): def list( self, params: Optional["RefundListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Refund]": """ Returns a list of all refunds you created. We return the refunds in sorted order, with the most recent refunds appearing first. The 10 most recent refunds are always available by default on the Charge object. """ return cast( "ListObject[Refund]", self._request( "get", "/v1/refunds", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["RefundListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Refund]": """ Returns a list of all refunds you created. We return the refunds in sorted order, with the most recent refunds appearing first. The 10 most recent refunds are always available by default on the Charge object. """ return cast( "ListObject[Refund]", await self._request_async( "get", "/v1/refunds", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["RefundCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Refund": """ When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it. Creating a new refund will refund a charge that has previously been created but not yet refunded. Funds will be refunded to the credit or debit card that was originally charged. You can optionally refund only part of a charge. You can do so multiple times, until the entire charge has been refunded. Once entirely refunded, a charge can't be refunded again. This method will raise an error when called on an already-refunded charge, or when trying to refund more money than is left on a charge. """ return cast( "Refund", self._request( "post", "/v1/refunds", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["RefundCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Refund": """ When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it. Creating a new refund will refund a charge that has previously been created but not yet refunded. Funds will be refunded to the credit or debit card that was originally charged. You can optionally refund only part of a charge. You can do so multiple times, until the entire charge has been refunded. Once entirely refunded, a charge can't be refunded again. This method will raise an error when called on an already-refunded charge, or when trying to refund more money than is left on a charge. """ return cast( "Refund", await self._request_async( "post", "/v1/refunds", base_address="api", params=params, options=options, ), ) def retrieve( self, refund: str, params: Optional["RefundRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Refund": """ Retrieves the details of an existing refund. """ return cast( "Refund", self._request( "get", "/v1/refunds/{refund}".format(refund=sanitize_id(refund)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, refund: str, params: Optional["RefundRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Refund": """ Retrieves the details of an existing refund. """ return cast( "Refund", await self._request_async( "get", "/v1/refunds/{refund}".format(refund=sanitize_id(refund)), base_address="api", params=params, options=options, ), ) def update( self, refund: str, params: Optional["RefundUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Refund": """ Updates the refund that you specify by setting the values of the passed parameters. Any parameters that you don't provide remain unchanged. This request only accepts metadata as an argument. """ return cast( "Refund", self._request( "post", "/v1/refunds/{refund}".format(refund=sanitize_id(refund)), base_address="api", params=params, options=options, ), ) async def update_async( self, refund: str, params: Optional["RefundUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Refund": """ Updates the refund that you specify by setting the values of the passed parameters. Any parameters that you don't provide remain unchanged. This request only accepts metadata as an argument. """ return cast( "Refund", await self._request_async( "post", "/v1/refunds/{refund}".format(refund=sanitize_id(refund)), base_address="api", params=params, options=options, ), ) def cancel( self, refund: str, params: Optional["RefundCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Refund": """ Cancels a refund with a status of requires_action. You can't cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action state. """ return cast( "Refund", self._request( "post", "/v1/refunds/{refund}/cancel".format( refund=sanitize_id(refund), ), base_address="api", params=params, options=options, ), ) async def cancel_async( self, refund: str, params: Optional["RefundCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Refund": """ Cancels a refund with a status of requires_action. You can't cancel refunds in other states. Only refunds for payment methods that require customer action can enter the requires_action state. """ return cast( "Refund", await self._request_async( "post", "/v1/refunds/{refund}/cancel".format( refund=sanitize_id(refund), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_reporting_service.py0000644000000000000000000000230215102753431015577 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.reporting._report_run_service import ReportRunService from stripe.reporting._report_type_service import ReportTypeService _subservices = { "report_runs": [ "stripe.reporting._report_run_service", "ReportRunService", ], "report_types": [ "stripe.reporting._report_type_service", "ReportTypeService", ], } class ReportingService(StripeService): report_runs: "ReportRunService" report_types: "ReportTypeService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_request_metrics.py0000644000000000000000000000104715102753431015271 0ustar00from typing import List, Optional class RequestMetrics(object): def __init__( self, request_id, request_duration_ms, usage: Optional[List[str]] = None, ): self.request_id = request_id self.request_duration_ms = request_duration_ms self.usage = usage def payload(self): ret = { "request_id": self.request_id, "request_duration_ms": self.request_duration_ms, } if self.usage: ret["usage"] = self.usage return ret ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_request_options.py0000644000000000000000000000551115102753431015316 0ustar00from stripe._requestor_options import RequestorOptions from typing import Mapping, Optional, Dict, Tuple, Any from typing_extensions import NotRequired, TypedDict, TYPE_CHECKING if TYPE_CHECKING: from stripe._stripe_context import StripeContext class RequestOptions(TypedDict): api_key: NotRequired["str|None"] stripe_version: NotRequired["str|None"] stripe_account: NotRequired["str|None"] stripe_context: NotRequired["str | StripeContext | None"] max_network_retries: NotRequired["int|None"] idempotency_key: NotRequired["str|None"] content_type: NotRequired["str|None"] headers: NotRequired["Mapping[str, str]|None"] def merge_options( requestor: RequestorOptions, request: Optional[RequestOptions], ) -> RequestOptions: """ Merge a client and request object, giving precedence to the values from the request object. """ if request is None: return { "api_key": requestor.api_key, "stripe_account": requestor.stripe_account, "stripe_context": requestor.stripe_context, "stripe_version": requestor.stripe_version, "max_network_retries": requestor.max_network_retries, "idempotency_key": None, "content_type": None, "headers": None, } return { "api_key": request.get("api_key") or requestor.api_key, "stripe_account": request.get("stripe_account") or requestor.stripe_account, "stripe_context": request.get("stripe_context") or requestor.stripe_context, "stripe_version": request.get("stripe_version") or requestor.stripe_version, "max_network_retries": request.get("max_network_retries") if request.get("max_network_retries") is not None else requestor.max_network_retries, "idempotency_key": request.get("idempotency_key"), "content_type": request.get("content_type"), "headers": request.get("headers"), } PERSISTENT_OPTIONS_KEYS = { "api_key", "stripe_version", "stripe_account", "stripe_context", } """ These are the keys in RequestOptions that should persist across requests made by the same requestor. """ def extract_options_from_dict( d: Optional[Mapping[str, Any]], ) -> Tuple[RequestOptions, Dict[str, Any]]: """ Extracts a RequestOptions object from a dict, and returns a tuple of the RequestOptions object and the remaining dict. """ if not d: return {}, {} options: RequestOptions = {} d_copy = dict(d) for key in [ "api_key", "stripe_version", "stripe_account", "stripe_context", "max_network_retries", "idempotency_key", "content_type", "headers", ]: if key in d_copy: options[key] = d_copy.pop(key) return options, d_copy ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_requestor_options.py0000644000000000000000000000571015102753431015660 0ustar00# using global variables import stripe # noqa: IMP101 from stripe._base_address import BaseAddresses from typing import Optional, Union from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._stripe_context import StripeContext class RequestorOptions(object): api_key: Optional[str] stripe_account: Optional[str] stripe_context: "Optional[Union[str, StripeContext]]" stripe_version: Optional[str] base_addresses: BaseAddresses max_network_retries: Optional[int] def __init__( self, api_key: Optional[str] = None, stripe_account: Optional[str] = None, stripe_context: "Optional[Union[str, StripeContext]]" = None, stripe_version: Optional[str] = None, base_addresses: Optional[BaseAddresses] = None, max_network_retries: Optional[int] = None, ): self.api_key = api_key self.stripe_account = stripe_account self.stripe_context = stripe_context self.stripe_version = stripe_version self.base_addresses = {} if base_addresses: # Base addresses can be unset (for correct merging). # If they are not set, then we will use default API bases defined on stripe. if base_addresses.get("api"): self.base_addresses["api"] = base_addresses.get("api") if base_addresses.get("connect") is not None: self.base_addresses["connect"] = base_addresses.get("connect") if base_addresses.get("files") is not None: self.base_addresses["files"] = base_addresses.get("files") if base_addresses.get("meter_events") is not None: self.base_addresses["meter_events"] = base_addresses.get( "meter_events" ) self.max_network_retries = max_network_retries def to_dict(self): """ Returns a dict representation of the object. """ return { "api_key": self.api_key, "stripe_account": self.stripe_account, "stripe_context": self.stripe_context, "stripe_version": self.stripe_version, "base_addresses": self.base_addresses, "max_network_retries": self.max_network_retries, } class _GlobalRequestorOptions(RequestorOptions): def __init__(self): pass @property def base_addresses(self): return { "api": stripe.api_base, "connect": stripe.connect_api_base, "files": stripe.upload_api_base, "meter_events": stripe.meter_events_api_base, } @property def api_key(self): return stripe.api_key @property def stripe_version(self): return stripe.api_version @property def stripe_account(self): return None @property def stripe_context(self): return None @property def max_network_retries(self): return stripe.max_network_retries ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.329062 stripe-13.2.0/stripe/_reserve_transaction.py0000644000000000000000000000157615102753431016142 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar, Optional from typing_extensions import Literal class ReserveTransaction(StripeObject): OBJECT_NAME: ClassVar[Literal["reserve_transaction"]] = ( "reserve_transaction" ) amount: int currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ id: str """ Unique identifier for the object. """ object: Literal["reserve_transaction"] """ String representing the object's type. Objects of the same type share the same value. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3300622 stripe-13.2.0/stripe/_reversal.py0000644000000000000000000000741315102753431013701 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._transfer import Transfer from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, Dict, Optional from typing_extensions import Literal, TYPE_CHECKING if TYPE_CHECKING: from stripe._balance_transaction import BalanceTransaction from stripe._refund import Refund class Reversal(UpdateableAPIResource["Reversal"]): """ [Stripe Connect](https://stripe.com/docs/connect) platforms can reverse transfers made to a connected account, either entirely or partially, and can also specify whether to refund any related application fees. Transfer reversals add to the platform's balance and subtract from the destination account's balance. Reversing a transfer that was made for a [destination charge](https://docs.stripe.com/docs/connect/destination-charges) is allowed only up to the amount of the charge. It is possible to reverse a [transfer_group](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) transfer only if the destination account has enough balance to cover the reversal. Related guide: [Reverse transfers](https://stripe.com/docs/connect/separate-charges-and-transfers#reverse-transfers) """ OBJECT_NAME: ClassVar[Literal["transfer_reversal"]] = "transfer_reversal" amount: int """ Amount, in cents (or local equivalent). """ balance_transaction: Optional[ExpandableField["BalanceTransaction"]] """ Balance transaction that describes the impact on your account balance. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ destination_payment_refund: Optional[ExpandableField["Refund"]] """ Linked payment refund for the transfer reversal. """ id: str """ Unique identifier for the object. """ 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. """ object: Literal["transfer_reversal"] """ String representing the object's type. Objects of the same type share the same value. """ source_refund: Optional[ExpandableField["Refund"]] """ ID of the refund responsible for the transfer reversal. """ transfer: ExpandableField["Transfer"] """ ID of the transfer that was reversed. """ def instance_url(self): token = self.id transfer = self.transfer if isinstance(transfer, Transfer): transfer = transfer.id base = Transfer.class_url() cust_extn = sanitize_id(transfer) extn = sanitize_id(token) return "%s/%s/reversals/%s" % (base, cust_extn, extn) @classmethod def modify(cls, sid, **params): raise NotImplementedError( "Can't modify a reversal without a transfer ID. " "Use stripe.Transfer.modify_reversal('transfer_id', 'reversal_id', ...) " "(see https://stripe.com/docs/api/transfer_reversals/update)." ) @classmethod def retrieve(cls, id, **params): raise NotImplementedError( "Can't retrieve a reversal without a transfer ID. " "Use stripe.Transfer.retrieve_reversal('transfer_id', 'reversal_id') " "(see https://stripe.com/docs/api/transfer_reversals/retrieve)." ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3300622 stripe-13.2.0/stripe/_review.py0000644000000000000000000002306115102753431013354 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._charge import Charge from stripe._payment_intent import PaymentIntent from stripe.params._review_approve_params import ReviewApproveParams from stripe.params._review_list_params import ReviewListParams from stripe.params._review_retrieve_params import ReviewRetrieveParams class Review(ListableAPIResource["Review"]): """ Reviews can be used to supplement automated fraud detection with human expertise. Learn more about [Radar](https://docs.stripe.com/radar) and reviewing payments [here](https://stripe.com/docs/radar/reviews). """ OBJECT_NAME: ClassVar[Literal["review"]] = "review" class IpAddressLocation(StripeObject): city: Optional[str] """ The city where the payment originated. """ country: Optional[str] """ Two-letter ISO code representing the country where the payment originated. """ latitude: Optional[float] """ The geographic latitude where the payment originated. """ longitude: Optional[float] """ The geographic longitude where the payment originated. """ region: Optional[str] """ The state/county/province/region where the payment originated. """ class Session(StripeObject): browser: Optional[str] """ The browser used in this browser session (e.g., `Chrome`). """ device: Optional[str] """ Information about the device used for the browser session (e.g., `Samsung SM-G930T`). """ platform: Optional[str] """ The platform for the browser session (e.g., `Macintosh`). """ version: Optional[str] """ The version for the browser session (e.g., `61.0.3163.100`). """ billing_zip: Optional[str] """ The ZIP or postal code of the card used, if applicable. """ charge: Optional[ExpandableField["Charge"]] """ The charge associated with this review. """ closed_reason: Optional[ Literal[ "acknowledged", "approved", "canceled", "disputed", "payment_never_settled", "redacted", "refunded", "refunded_as_fraud", ] ] """ The reason the review was closed, or null if it has not yet been closed. One of `approved`, `refunded`, `refunded_as_fraud`, `disputed`, `redacted`, `canceled`, `payment_never_settled`, or `acknowledged`. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ id: str """ Unique identifier for the object. """ ip_address: Optional[str] """ The IP address where the payment originated. """ ip_address_location: Optional[IpAddressLocation] """ Information related to the location of the payment. Note that this information is an approximation and attempts to locate the nearest population center - it should not be used to determine a specific address. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["review"] """ String representing the object's type. Objects of the same type share the same value. """ open: bool """ If `true`, the review needs action. """ opened_reason: Literal["manual", "rule"] """ The reason the review was opened. One of `rule` or `manual`. """ payment_intent: Optional[ExpandableField["PaymentIntent"]] """ The PaymentIntent ID associated with this review, if one exists. """ reason: str """ The reason the review is currently open or closed. One of `rule`, `manual`, `approved`, `refunded`, `refunded_as_fraud`, `disputed`, `redacted`, `canceled`, `payment_never_settled`, or `acknowledged`. """ session: Optional[Session] """ Information related to the browsing session of the user who initiated the payment. """ @classmethod def _cls_approve( cls, review: str, **params: Unpack["ReviewApproveParams"] ) -> "Review": """ Approves a Review object, closing it and removing it from the list of reviews. """ return cast( "Review", cls._static_request( "post", "/v1/reviews/{review}/approve".format( review=sanitize_id(review) ), params=params, ), ) @overload @staticmethod def approve( review: str, **params: Unpack["ReviewApproveParams"] ) -> "Review": """ Approves a Review object, closing it and removing it from the list of reviews. """ ... @overload def approve(self, **params: Unpack["ReviewApproveParams"]) -> "Review": """ Approves a Review object, closing it and removing it from the list of reviews. """ ... @class_method_variant("_cls_approve") def approve( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReviewApproveParams"] ) -> "Review": """ Approves a Review object, closing it and removing it from the list of reviews. """ return cast( "Review", self._request( "post", "/v1/reviews/{review}/approve".format( review=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_approve_async( cls, review: str, **params: Unpack["ReviewApproveParams"] ) -> "Review": """ Approves a Review object, closing it and removing it from the list of reviews. """ return cast( "Review", await cls._static_request_async( "post", "/v1/reviews/{review}/approve".format( review=sanitize_id(review) ), params=params, ), ) @overload @staticmethod async def approve_async( review: str, **params: Unpack["ReviewApproveParams"] ) -> "Review": """ Approves a Review object, closing it and removing it from the list of reviews. """ ... @overload async def approve_async( self, **params: Unpack["ReviewApproveParams"] ) -> "Review": """ Approves a Review object, closing it and removing it from the list of reviews. """ ... @class_method_variant("_cls_approve_async") async def approve_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReviewApproveParams"] ) -> "Review": """ Approves a Review object, closing it and removing it from the list of reviews. """ return cast( "Review", await self._request_async( "post", "/v1/reviews/{review}/approve".format( review=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list( cls, **params: Unpack["ReviewListParams"] ) -> ListObject["Review"]: """ Returns a list of Review objects that have open set to true. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ReviewListParams"] ) -> ListObject["Review"]: """ Returns a list of Review objects that have open set to true. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["ReviewRetrieveParams"] ) -> "Review": """ Retrieves a Review object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ReviewRetrieveParams"] ) -> "Review": """ Retrieves a Review object. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "ip_address_location": IpAddressLocation, "session": Session, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3300622 stripe-13.2.0/stripe/_review_service.py0000644000000000000000000001033015102753431015067 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._review import Review from stripe.params._review_approve_params import ReviewApproveParams from stripe.params._review_list_params import ReviewListParams from stripe.params._review_retrieve_params import ReviewRetrieveParams class ReviewService(StripeService): def list( self, params: Optional["ReviewListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Review]": """ Returns a list of Review objects that have open set to true. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[Review]", self._request( "get", "/v1/reviews", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["ReviewListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Review]": """ Returns a list of Review objects that have open set to true. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[Review]", await self._request_async( "get", "/v1/reviews", base_address="api", params=params, options=options, ), ) def retrieve( self, review: str, params: Optional["ReviewRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Review": """ Retrieves a Review object. """ return cast( "Review", self._request( "get", "/v1/reviews/{review}".format(review=sanitize_id(review)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, review: str, params: Optional["ReviewRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Review": """ Retrieves a Review object. """ return cast( "Review", await self._request_async( "get", "/v1/reviews/{review}".format(review=sanitize_id(review)), base_address="api", params=params, options=options, ), ) def approve( self, review: str, params: Optional["ReviewApproveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Review": """ Approves a Review object, closing it and removing it from the list of reviews. """ return cast( "Review", self._request( "post", "/v1/reviews/{review}/approve".format( review=sanitize_id(review), ), base_address="api", params=params, options=options, ), ) async def approve_async( self, review: str, params: Optional["ReviewApproveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Review": """ Approves a Review object, closing it and removing it from the list of reviews. """ return cast( "Review", await self._request_async( "post", "/v1/reviews/{review}/approve".format( review=sanitize_id(review), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3300622 stripe-13.2.0/stripe/_search_result_object.py0000644000000000000000000001274215102753431016250 0ustar00# pyright: strict from typing_extensions import Self, Unpack from typing import ( Generic, List, TypeVar, cast, Any, Mapping, Iterator, AsyncIterator, Optional, ) from stripe._api_requestor import ( _APIRequestor, # pyright: ignore[reportPrivateUsage] ) from stripe._stripe_object import StripeObject from stripe import _util import warnings from stripe._request_options import RequestOptions, extract_options_from_dict from stripe._any_iterator import AnyIterator T = TypeVar("T", bound=StripeObject) class SearchResultObject(StripeObject, Generic[T]): OBJECT_NAME = "search_result" data: List[T] has_more: bool next_page: str def _search(self, **params: Mapping[str, Any]) -> Self: with warnings.catch_warnings(): warnings.simplefilter("ignore", DeprecationWarning) return self.search( # pyright: ignore[reportDeprecated] **params, ) def _get_url_for_search(self) -> str: url = self.get("url") if not isinstance(url, str): raise ValueError( 'Cannot call .list on a list object without a string "url" property' ) return url @_util.deprecated( "This will be removed in a future version of stripe-python. Please call the `search` method on the corresponding resource directly, instead of the generic search on SearchResultObject." ) def search(self, **params: Mapping[str, Any]) -> Self: return cast( Self, self._request( "get", self._get_url_for_search(), params=params, base_address="api", ), ) async def _search_async(self, **params: Mapping[str, Any]) -> Self: return cast( Self, await self._request_async( "get", self._get_url_for_search(), params=params, base_address="api", ), ) def __getitem__(self, k: str) -> T: if isinstance(k, str): # pyright: ignore return super(SearchResultObject, self).__getitem__(k) else: raise KeyError( "You tried to access the %s index, but SearchResultObject types " "only support string keys. (HINT: Search calls return an object " "with a 'data' (which is the data array). You likely want to " "call .data[%s])" % (repr(k), repr(k)) ) # Pyright doesn't like this because SearchResultObject inherits from StripeObject inherits from Dict[str, Any] # and so it wants the type of __iter__ to agree with __iter__ from Dict[str, Any] # But we are iterating through "data", which is a List[T]. def __iter__(self) -> Iterator[T]: # pyright: ignore return getattr(self, "data", []).__iter__() def __len__(self) -> int: return getattr(self, "data", []).__len__() def _auto_paging_iter(self) -> Iterator[T]: page = self while True: for item in page: yield item page = page.next_search_result_page() if page.is_empty: break def auto_paging_iter(self) -> AnyIterator[T]: return AnyIterator( self._auto_paging_iter(), self._auto_paging_iter_async() ) async def _auto_paging_iter_async(self) -> AsyncIterator[T]: page = self while True: for item in page: yield item page = await page.next_search_result_page_async() if page.is_empty: break @classmethod def _empty_search_result( cls, **params: Unpack[RequestOptions], ) -> Self: return cls._construct_from( values={"data": [], "has_more": False, "next_page": None}, last_response=None, requestor=_APIRequestor._global_with_options( # pyright: ignore[reportPrivateUsage] **params, ), api_mode="V1", ) @property def is_empty(self) -> bool: return not self.data def _get_filters_for_next_page( self, params: RequestOptions ) -> Mapping[str, Any]: params_with_filters = dict(self._retrieve_params) params_with_filters.update({"page": self.next_page}) params_with_filters.update(params) return params_with_filters def _maybe_empty_result(self, params: RequestOptions) -> Optional[Self]: if not self.has_more: options, _ = extract_options_from_dict(params) return self._empty_search_result( api_key=options.get("api_key"), stripe_version=options.get("stripe_version"), stripe_account=options.get("stripe_account"), ) return None def next_search_result_page( self, **params: Unpack[RequestOptions] ) -> Self: empty = self._maybe_empty_result(params) return ( empty if empty is not None else self._search( **self._get_filters_for_next_page(params), ) ) async def next_search_result_page_async( self, **params: Unpack[RequestOptions] ) -> Self: empty = self._maybe_empty_result(params) return ( empty if empty is not None else await self._search_async( **self._get_filters_for_next_page(params), ) ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3300622 stripe-13.2.0/stripe/_searchable_api_resource.py0000644000000000000000000000246515102753431016711 0ustar00from stripe._api_resource import APIResource from stripe._search_result_object import SearchResultObject from typing import TypeVar from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._stripe_object import StripeObject T = TypeVar("T", bound="StripeObject") class SearchableAPIResource(APIResource[T]): @classmethod def _search(cls, search_url, **params): ret = cls._static_request( "get", search_url, params=params, ) if not isinstance(ret, SearchResultObject): raise TypeError( "Expected search result from API, got %s" % (type(ret).__name__,) ) return ret @classmethod async def _search_async(cls, search_url, **params): ret = await cls._static_request_async( "get", search_url, params=params, ) if not isinstance(ret, SearchResultObject): raise TypeError( "Expected search result from API, got %s" % (type(ret).__name__,) ) return ret @classmethod def search(cls, *args, **kwargs): raise NotImplementedError @classmethod def search_auto_paging_iter(cls, *args, **kwargs): raise NotImplementedError ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3300622 stripe-13.2.0/stripe/_setup_attempt.py0000644000000000000000000010613515102753431014755 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, List, Optional, Union from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._application import Application from stripe._bank_account import BankAccount from stripe._card import Card as CardResource from stripe._customer import Customer from stripe._mandate import Mandate from stripe._payment_intent import PaymentIntent from stripe._payment_method import PaymentMethod from stripe._setup_intent import SetupIntent from stripe._source import Source from stripe.params._setup_attempt_list_params import SetupAttemptListParams class SetupAttempt(ListableAPIResource["SetupAttempt"]): """ A SetupAttempt describes one attempted confirmation of a SetupIntent, whether that confirmation is successful or unsuccessful. You can use SetupAttempts to inspect details of a specific attempt at setting up a payment method using a SetupIntent. """ OBJECT_NAME: ClassVar[Literal["setup_attempt"]] = "setup_attempt" class PaymentMethodDetails(StripeObject): class AcssDebit(StripeObject): pass class AmazonPay(StripeObject): pass class AuBecsDebit(StripeObject): pass class BacsDebit(StripeObject): pass class Bancontact(StripeObject): bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ bic: Optional[str] """ Bank Identifier Code of the bank associated with the bank account. """ generated_sepa_debit: Optional[ExpandableField["PaymentMethod"]] """ The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. """ generated_sepa_debit_mandate: Optional[ExpandableField["Mandate"]] """ The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. """ iban_last4: Optional[str] """ Last four characters of the IBAN. """ preferred_language: Optional[Literal["de", "en", "fr", "nl"]] """ Preferred language of the Bancontact authorization page that the customer is redirected to. Can be one of `en`, `de`, `fr`, or `nl` """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by Bancontact directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ class Boleto(StripeObject): pass class Card(StripeObject): class Checks(StripeObject): address_line1_check: Optional[str] """ If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. """ address_postal_code_check: Optional[str] """ If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. """ cvc_check: Optional[str] """ If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`. """ class ThreeDSecure(StripeObject): authentication_flow: Optional[ Literal["challenge", "frictionless"] ] """ For authenticated transactions: how the customer was authenticated by the issuing bank. """ electronic_commerce_indicator: Optional[ Literal["01", "02", "05", "06", "07"] ] """ The Electronic Commerce Indicator (ECI). A protocol-level field indicating what degree of authentication was performed. """ result: Optional[ Literal[ "attempt_acknowledged", "authenticated", "exempted", "failed", "not_supported", "processing_error", ] ] """ Indicates the outcome of 3D Secure authentication. """ result_reason: Optional[ Literal[ "abandoned", "bypassed", "canceled", "card_not_enrolled", "network_not_supported", "protocol_error", "rejected", ] ] """ Additional information about why 3D Secure succeeded or failed based on the `result`. """ transaction_id: Optional[str] """ The 3D Secure 1 XID or 3D Secure 2 Directory Server Transaction ID (dsTransId) for this payment. """ version: Optional[Literal["1.0.2", "2.1.0", "2.2.0"]] """ The version of 3D Secure that was used. """ class Wallet(StripeObject): class ApplePay(StripeObject): pass class GooglePay(StripeObject): pass apple_pay: Optional[ApplePay] google_pay: Optional[GooglePay] type: Literal["apple_pay", "google_pay", "link"] """ The type of the card wallet, one of `apple_pay`, `google_pay`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. """ _inner_class_types = { "apple_pay": ApplePay, "google_pay": GooglePay, } brand: Optional[str] """ Card brand. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa` or `unknown`. """ checks: Optional[Checks] """ Check results by Card networks on Card address and CVC at the time of authorization """ country: Optional[str] """ Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected. """ description: Optional[str] """ A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.) """ exp_month: Optional[int] """ Two-digit number representing the card's expiration month. """ exp_year: Optional[int] """ Four-digit number representing the card's expiration year. """ fingerprint: Optional[str] """ Uniquely identifies this particular card number. You can use this attribute to check whether two customers who've signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number. *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.* """ funding: Optional[str] """ Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`. """ iin: Optional[str] """ Issuer identification number of the card. (For internal use only and not typically available in standard API requests.) """ issuer: Optional[str] """ The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.) """ last4: Optional[str] """ The last four digits of the card. """ network: Optional[str] """ Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`. """ three_d_secure: Optional[ThreeDSecure] """ Populated if this authorization used 3D Secure authentication. """ wallet: Optional[Wallet] """ If this Card is part of a card wallet, this contains the details of the card wallet. """ _inner_class_types = { "checks": Checks, "three_d_secure": ThreeDSecure, "wallet": Wallet, } class CardPresent(StripeObject): class Offline(StripeObject): stored_at: Optional[int] """ Time at which the payment was collected while offline """ type: Optional[Literal["deferred"]] """ The method used to process this payment method offline. Only deferred is allowed. """ generated_card: Optional[ExpandableField["PaymentMethod"]] """ The ID of the Card PaymentMethod which was generated by this SetupAttempt. """ offline: Optional[Offline] """ Details about payments collected offline. """ _inner_class_types = {"offline": Offline} class Cashapp(StripeObject): pass class Ideal(StripeObject): bank: Optional[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `buut`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`. """ bic: Optional[ Literal[ "ABNANL2A", "ASNBNL21", "BITSNL2A", "BUNQNL2A", "BUUTNL2A", "FVLBNL22", "HANDNL2A", "INGBNL2A", "KNABNL2H", "MOYONL21", "NNBANL2G", "NTSBDEB1", "RABONL2U", "RBRBNL21", "REVOIE23", "REVOLT21", "SNSBNL2A", "TRIONL2U", ] ] """ The Bank Identifier Code of the customer's bank. """ generated_sepa_debit: Optional[ExpandableField["PaymentMethod"]] """ The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. """ generated_sepa_debit_mandate: Optional[ExpandableField["Mandate"]] """ The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. """ iban_last4: Optional[str] """ Last four characters of the IBAN. """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by iDEAL directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ class KakaoPay(StripeObject): pass class Klarna(StripeObject): pass class KrCard(StripeObject): pass class Link(StripeObject): pass class NaverPay(StripeObject): buyer_id: Optional[str] """ Uniquely identifies this particular Naver Pay account. You can use this attribute to check whether two Naver Pay accounts are the same. """ class NzBankAccount(StripeObject): pass class Paypal(StripeObject): pass class RevolutPay(StripeObject): pass class SepaDebit(StripeObject): pass class Sofort(StripeObject): bank_code: Optional[str] """ Bank code of bank associated with the bank account. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ bic: Optional[str] """ Bank Identifier Code of the bank associated with the bank account. """ generated_sepa_debit: Optional[ExpandableField["PaymentMethod"]] """ The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. """ generated_sepa_debit_mandate: Optional[ExpandableField["Mandate"]] """ The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt. """ iban_last4: Optional[str] """ Last four characters of the IBAN. """ preferred_language: Optional[Literal["de", "en", "fr", "nl"]] """ Preferred language of the Sofort authorization page that the customer is redirected to. Can be one of `en`, `de`, `fr`, or `nl` """ verified_name: Optional[str] """ Owner's verified full name. Values are verified or provided by Sofort directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. """ class UsBankAccount(StripeObject): pass acss_debit: Optional[AcssDebit] amazon_pay: Optional[AmazonPay] au_becs_debit: Optional[AuBecsDebit] bacs_debit: Optional[BacsDebit] bancontact: Optional[Bancontact] boleto: Optional[Boleto] card: Optional[Card] card_present: Optional[CardPresent] cashapp: Optional[Cashapp] ideal: Optional[Ideal] kakao_pay: Optional[KakaoPay] klarna: Optional[Klarna] kr_card: Optional[KrCard] link: Optional[Link] naver_pay: Optional[NaverPay] nz_bank_account: Optional[NzBankAccount] paypal: Optional[Paypal] revolut_pay: Optional[RevolutPay] sepa_debit: Optional[SepaDebit] sofort: Optional[Sofort] type: str """ The type of the payment method used in the SetupIntent (e.g., `card`). An additional hash is included on `payment_method_details` with a name matching this value. It contains confirmation-specific information for the payment method. """ us_bank_account: Optional[UsBankAccount] _inner_class_types = { "acss_debit": AcssDebit, "amazon_pay": AmazonPay, "au_becs_debit": AuBecsDebit, "bacs_debit": BacsDebit, "bancontact": Bancontact, "boleto": Boleto, "card": Card, "card_present": CardPresent, "cashapp": Cashapp, "ideal": Ideal, "kakao_pay": KakaoPay, "klarna": Klarna, "kr_card": KrCard, "link": Link, "naver_pay": NaverPay, "nz_bank_account": NzBankAccount, "paypal": Paypal, "revolut_pay": RevolutPay, "sepa_debit": SepaDebit, "sofort": Sofort, "us_bank_account": UsBankAccount, } class SetupError(StripeObject): advice_code: Optional[str] """ For card errors resulting from a card issuer decline, a short string indicating [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines) if they provide one. """ charge: Optional[str] """ For card errors, the ID of the failed charge. """ code: Optional[ Literal[ "account_closed", "account_country_invalid_address", "account_error_country_change_requires_additional_steps", "account_information_mismatch", "account_invalid", "account_number_invalid", "acss_debit_session_incomplete", "alipay_upgrade_required", "amount_too_large", "amount_too_small", "api_key_expired", "application_fees_not_allowed", "authentication_required", "balance_insufficient", "balance_invalid_parameter", "bank_account_bad_routing_numbers", "bank_account_declined", "bank_account_exists", "bank_account_restricted", "bank_account_unusable", "bank_account_unverified", "bank_account_verification_failed", "billing_invalid_mandate", "bitcoin_upgrade_required", "capture_charge_authorization_expired", "capture_unauthorized_payment", "card_decline_rate_limit_exceeded", "card_declined", "cardholder_phone_number_required", "charge_already_captured", "charge_already_refunded", "charge_disputed", "charge_exceeds_source_limit", "charge_exceeds_transaction_limit", "charge_expired_for_capture", "charge_invalid_parameter", "charge_not_refundable", "clearing_code_unsupported", "country_code_invalid", "country_unsupported", "coupon_expired", "customer_max_payment_methods", "customer_max_subscriptions", "customer_session_expired", "customer_tax_location_invalid", "debit_not_authorized", "email_invalid", "expired_card", "financial_connections_account_inactive", "financial_connections_account_pending_account_numbers", "financial_connections_account_unavailable_account_numbers", "financial_connections_no_successful_transaction_refresh", "forwarding_api_inactive", "forwarding_api_invalid_parameter", "forwarding_api_retryable_upstream_error", "forwarding_api_upstream_connection_error", "forwarding_api_upstream_connection_timeout", "forwarding_api_upstream_error", "idempotency_key_in_use", "incorrect_address", "incorrect_cvc", "incorrect_number", "incorrect_zip", "india_recurring_payment_mandate_canceled", "instant_payouts_config_disabled", "instant_payouts_currency_disabled", "instant_payouts_limit_exceeded", "instant_payouts_unsupported", "insufficient_funds", "intent_invalid_state", "intent_verification_method_missing", "invalid_card_type", "invalid_characters", "invalid_charge_amount", "invalid_cvc", "invalid_expiry_month", "invalid_expiry_year", "invalid_mandate_reference_prefix_format", "invalid_number", "invalid_source_usage", "invalid_tax_location", "invoice_no_customer_line_items", "invoice_no_payment_method_types", "invoice_no_subscription_line_items", "invoice_not_editable", "invoice_on_behalf_of_not_editable", "invoice_payment_intent_requires_action", "invoice_upcoming_none", "livemode_mismatch", "lock_timeout", "missing", "no_account", "not_allowed_on_standard_account", "out_of_inventory", "ownership_declaration_not_allowed", "parameter_invalid_empty", "parameter_invalid_integer", "parameter_invalid_string_blank", "parameter_invalid_string_empty", "parameter_missing", "parameter_unknown", "parameters_exclusive", "payment_intent_action_required", "payment_intent_authentication_failure", "payment_intent_incompatible_payment_method", "payment_intent_invalid_parameter", "payment_intent_konbini_rejected_confirmation_number", "payment_intent_mandate_invalid", "payment_intent_payment_attempt_expired", "payment_intent_payment_attempt_failed", "payment_intent_rate_limit_exceeded", "payment_intent_unexpected_state", "payment_method_bank_account_already_verified", "payment_method_bank_account_blocked", "payment_method_billing_details_address_missing", "payment_method_configuration_failures", "payment_method_currency_mismatch", "payment_method_customer_decline", "payment_method_invalid_parameter", "payment_method_invalid_parameter_testmode", "payment_method_microdeposit_failed", "payment_method_microdeposit_verification_amounts_invalid", "payment_method_microdeposit_verification_amounts_mismatch", "payment_method_microdeposit_verification_attempts_exceeded", "payment_method_microdeposit_verification_descriptor_code_mismatch", "payment_method_microdeposit_verification_timeout", "payment_method_not_available", "payment_method_provider_decline", "payment_method_provider_timeout", "payment_method_unactivated", "payment_method_unexpected_state", "payment_method_unsupported_type", "payout_reconciliation_not_ready", "payouts_limit_exceeded", "payouts_not_allowed", "platform_account_required", "platform_api_key_expired", "postal_code_invalid", "processing_error", "product_inactive", "progressive_onboarding_limit_exceeded", "rate_limit", "refer_to_customer", "refund_disputed_payment", "resource_already_exists", "resource_missing", "return_intent_already_processed", "routing_number_invalid", "secret_key_required", "sepa_unsupported_account", "setup_attempt_failed", "setup_intent_authentication_failure", "setup_intent_invalid_parameter", "setup_intent_mandate_invalid", "setup_intent_mobile_wallet_unsupported", "setup_intent_setup_attempt_expired", "setup_intent_unexpected_state", "shipping_address_invalid", "shipping_calculation_failed", "sku_inactive", "state_unsupported", "status_transition_invalid", "stripe_tax_inactive", "tax_id_invalid", "tax_id_prohibited", "taxes_calculation_failed", "terminal_location_country_unsupported", "terminal_reader_busy", "terminal_reader_hardware_fault", "terminal_reader_invalid_location_for_activation", "terminal_reader_invalid_location_for_payment", "terminal_reader_offline", "terminal_reader_timeout", "testmode_charges_only", "tls_version_unsupported", "token_already_used", "token_card_network_invalid", "token_in_use", "transfer_source_balance_parameters_mismatch", "transfers_not_allowed", "url_invalid", ] ] """ For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported. """ decline_code: Optional[str] """ For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one. """ doc_url: Optional[str] """ A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported. """ message: Optional[str] """ A human-readable message providing more details about the error. For card errors, these messages can be shown to your users. """ network_advice_code: Optional[str] """ For card errors resulting from a card issuer decline, a 2 digit code which indicates the advice given to merchant by the card network on how to proceed with an error. """ network_decline_code: Optional[str] """ For payments declined by the network, an alphanumeric code which indicates the reason the payment failed. """ param: Optional[str] """ If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field. """ payment_intent: Optional["PaymentIntent"] """ A PaymentIntent guides you through the process of collecting a payment from your customer. We recommend that you create exactly one PaymentIntent for each order or customer session in your system. You can reference the PaymentIntent later to see the history of payment attempts for a particular session. A PaymentIntent transitions through [multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses) throughout its lifetime as it interfaces with Stripe.js to perform authentication flows and ultimately creates at most one successful charge. Related guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents) """ payment_method: Optional["PaymentMethod"] """ PaymentMethod objects represent your customer's payment instruments. You can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to Customer objects to store instrument details for future payments. Related guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios). """ payment_method_type: Optional[str] """ If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors. """ request_log_url: Optional[str] """ A URL to the request log entry in your dashboard. """ setup_intent: Optional["SetupIntent"] """ A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments. For example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment. Later, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow. Create a SetupIntent when you're ready to collect your customer's payment credentials. Don't maintain long-lived, unconfirmed SetupIntents because they might not be valid. The SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides you through the setup process. Successful SetupIntents result in payment credentials that are optimized for future payments. For example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through [Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection to streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents). If you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer), it automatically attaches the resulting payment method to that Customer after successful setup. We recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on PaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods. By using SetupIntents, you can reduce friction for your customers, even as regulations change over time. Related guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents) """ source: Optional[ Union["Account", "BankAccount", "CardResource", "Source"] ] type: Literal[ "api_error", "card_error", "idempotency_error", "invalid_request_error", ] """ The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error` """ application: Optional[ExpandableField["Application"]] """ The value of [application](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-application) on the SetupIntent at the time of this confirmation. """ attach_to_self: Optional[bool] """ If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. It can only be used for this Stripe Account's own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ customer: Optional[ExpandableField["Customer"]] """ The value of [customer](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-customer) on the SetupIntent at the time of this confirmation. """ flow_directions: Optional[List[Literal["inbound", "outbound"]]] """ Indicates the directions of money movement for which this payment method is intended to be used. Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["setup_attempt"] """ String representing the object's type. Objects of the same type share the same value. """ on_behalf_of: Optional[ExpandableField["Account"]] """ The value of [on_behalf_of](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-on_behalf_of) on the SetupIntent at the time of this confirmation. """ payment_method: ExpandableField["PaymentMethod"] """ ID of the payment method used with this SetupAttempt. """ payment_method_details: PaymentMethodDetails setup_error: Optional[SetupError] """ The error encountered during this attempt to confirm the SetupIntent, if any. """ setup_intent: ExpandableField["SetupIntent"] """ ID of the SetupIntent that this attempt belongs to. """ status: str """ Status of this SetupAttempt, one of `requires_confirmation`, `requires_action`, `processing`, `succeeded`, `failed`, or `abandoned`. """ usage: str """ The value of [usage](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-usage) on the SetupIntent at the time of this confirmation, one of `off_session` or `on_session`. """ @classmethod def list( cls, **params: Unpack["SetupAttemptListParams"] ) -> ListObject["SetupAttempt"]: """ Returns a list of SetupAttempts that associate with a provided SetupIntent. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["SetupAttemptListParams"] ) -> ListObject["SetupAttempt"]: """ Returns a list of SetupAttempts that associate with a provided SetupIntent. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result _inner_class_types = { "payment_method_details": PaymentMethodDetails, "setup_error": SetupError, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3300622 stripe-13.2.0/stripe/_setup_attempt_service.py0000644000000000000000000000307115102753431016470 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._setup_attempt import SetupAttempt from stripe.params._setup_attempt_list_params import SetupAttemptListParams class SetupAttemptService(StripeService): def list( self, params: "SetupAttemptListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[SetupAttempt]": """ Returns a list of SetupAttempts that associate with a provided SetupIntent. """ return cast( "ListObject[SetupAttempt]", self._request( "get", "/v1/setup_attempts", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "SetupAttemptListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[SetupAttempt]": """ Returns a list of SetupAttempts that associate with a provided SetupIntent. """ return cast( "ListObject[SetupAttempt]", await self._request_async( "get", "/v1/setup_attempts", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3300622 stripe-13.2.0/stripe/_setup_intent.py0000644000000000000000000017223115102753431014600 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, Union, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._application import Application from stripe._bank_account import BankAccount from stripe._card import Card as CardResource from stripe._customer import Customer from stripe._mandate import Mandate from stripe._payment_intent import PaymentIntent from stripe._payment_method import PaymentMethod from stripe._setup_attempt import SetupAttempt from stripe._source import Source from stripe.params._setup_intent_cancel_params import ( SetupIntentCancelParams, ) from stripe.params._setup_intent_confirm_params import ( SetupIntentConfirmParams, ) from stripe.params._setup_intent_create_params import ( SetupIntentCreateParams, ) from stripe.params._setup_intent_list_params import SetupIntentListParams from stripe.params._setup_intent_modify_params import ( SetupIntentModifyParams, ) from stripe.params._setup_intent_retrieve_params import ( SetupIntentRetrieveParams, ) from stripe.params._setup_intent_verify_microdeposits_params import ( SetupIntentVerifyMicrodepositsParams, ) from typing import Any class SetupIntent( CreateableAPIResource["SetupIntent"], ListableAPIResource["SetupIntent"], UpdateableAPIResource["SetupIntent"], ): """ A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments. For example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment. Later, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow. Create a SetupIntent when you're ready to collect your customer's payment credentials. Don't maintain long-lived, unconfirmed SetupIntents because they might not be valid. The SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides you through the setup process. Successful SetupIntents result in payment credentials that are optimized for future payments. For example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through [Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection to streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents). If you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer), it automatically attaches the resulting payment method to that Customer after successful setup. We recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on PaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods. By using SetupIntents, you can reduce friction for your customers, even as regulations change over time. Related guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents) """ OBJECT_NAME: ClassVar[Literal["setup_intent"]] = "setup_intent" class AutomaticPaymentMethods(StripeObject): allow_redirects: Optional[Literal["always", "never"]] """ Controls whether this SetupIntent will accept redirect-based payment methods. Redirect-based payment methods may require your customer to be redirected to a payment method's app or site for authentication or additional steps. To [confirm](https://stripe.com/docs/api/setup_intents/confirm) this SetupIntent, you may be required to provide a `return_url` to redirect customers back to your site after they authenticate or complete the setup. """ enabled: Optional[bool] """ Automatically calculates compatible payment methods """ class LastSetupError(StripeObject): advice_code: Optional[str] """ For card errors resulting from a card issuer decline, a short string indicating [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines) if they provide one. """ charge: Optional[str] """ For card errors, the ID of the failed charge. """ code: Optional[ Literal[ "account_closed", "account_country_invalid_address", "account_error_country_change_requires_additional_steps", "account_information_mismatch", "account_invalid", "account_number_invalid", "acss_debit_session_incomplete", "alipay_upgrade_required", "amount_too_large", "amount_too_small", "api_key_expired", "application_fees_not_allowed", "authentication_required", "balance_insufficient", "balance_invalid_parameter", "bank_account_bad_routing_numbers", "bank_account_declined", "bank_account_exists", "bank_account_restricted", "bank_account_unusable", "bank_account_unverified", "bank_account_verification_failed", "billing_invalid_mandate", "bitcoin_upgrade_required", "capture_charge_authorization_expired", "capture_unauthorized_payment", "card_decline_rate_limit_exceeded", "card_declined", "cardholder_phone_number_required", "charge_already_captured", "charge_already_refunded", "charge_disputed", "charge_exceeds_source_limit", "charge_exceeds_transaction_limit", "charge_expired_for_capture", "charge_invalid_parameter", "charge_not_refundable", "clearing_code_unsupported", "country_code_invalid", "country_unsupported", "coupon_expired", "customer_max_payment_methods", "customer_max_subscriptions", "customer_session_expired", "customer_tax_location_invalid", "debit_not_authorized", "email_invalid", "expired_card", "financial_connections_account_inactive", "financial_connections_account_pending_account_numbers", "financial_connections_account_unavailable_account_numbers", "financial_connections_no_successful_transaction_refresh", "forwarding_api_inactive", "forwarding_api_invalid_parameter", "forwarding_api_retryable_upstream_error", "forwarding_api_upstream_connection_error", "forwarding_api_upstream_connection_timeout", "forwarding_api_upstream_error", "idempotency_key_in_use", "incorrect_address", "incorrect_cvc", "incorrect_number", "incorrect_zip", "india_recurring_payment_mandate_canceled", "instant_payouts_config_disabled", "instant_payouts_currency_disabled", "instant_payouts_limit_exceeded", "instant_payouts_unsupported", "insufficient_funds", "intent_invalid_state", "intent_verification_method_missing", "invalid_card_type", "invalid_characters", "invalid_charge_amount", "invalid_cvc", "invalid_expiry_month", "invalid_expiry_year", "invalid_mandate_reference_prefix_format", "invalid_number", "invalid_source_usage", "invalid_tax_location", "invoice_no_customer_line_items", "invoice_no_payment_method_types", "invoice_no_subscription_line_items", "invoice_not_editable", "invoice_on_behalf_of_not_editable", "invoice_payment_intent_requires_action", "invoice_upcoming_none", "livemode_mismatch", "lock_timeout", "missing", "no_account", "not_allowed_on_standard_account", "out_of_inventory", "ownership_declaration_not_allowed", "parameter_invalid_empty", "parameter_invalid_integer", "parameter_invalid_string_blank", "parameter_invalid_string_empty", "parameter_missing", "parameter_unknown", "parameters_exclusive", "payment_intent_action_required", "payment_intent_authentication_failure", "payment_intent_incompatible_payment_method", "payment_intent_invalid_parameter", "payment_intent_konbini_rejected_confirmation_number", "payment_intent_mandate_invalid", "payment_intent_payment_attempt_expired", "payment_intent_payment_attempt_failed", "payment_intent_rate_limit_exceeded", "payment_intent_unexpected_state", "payment_method_bank_account_already_verified", "payment_method_bank_account_blocked", "payment_method_billing_details_address_missing", "payment_method_configuration_failures", "payment_method_currency_mismatch", "payment_method_customer_decline", "payment_method_invalid_parameter", "payment_method_invalid_parameter_testmode", "payment_method_microdeposit_failed", "payment_method_microdeposit_verification_amounts_invalid", "payment_method_microdeposit_verification_amounts_mismatch", "payment_method_microdeposit_verification_attempts_exceeded", "payment_method_microdeposit_verification_descriptor_code_mismatch", "payment_method_microdeposit_verification_timeout", "payment_method_not_available", "payment_method_provider_decline", "payment_method_provider_timeout", "payment_method_unactivated", "payment_method_unexpected_state", "payment_method_unsupported_type", "payout_reconciliation_not_ready", "payouts_limit_exceeded", "payouts_not_allowed", "platform_account_required", "platform_api_key_expired", "postal_code_invalid", "processing_error", "product_inactive", "progressive_onboarding_limit_exceeded", "rate_limit", "refer_to_customer", "refund_disputed_payment", "resource_already_exists", "resource_missing", "return_intent_already_processed", "routing_number_invalid", "secret_key_required", "sepa_unsupported_account", "setup_attempt_failed", "setup_intent_authentication_failure", "setup_intent_invalid_parameter", "setup_intent_mandate_invalid", "setup_intent_mobile_wallet_unsupported", "setup_intent_setup_attempt_expired", "setup_intent_unexpected_state", "shipping_address_invalid", "shipping_calculation_failed", "sku_inactive", "state_unsupported", "status_transition_invalid", "stripe_tax_inactive", "tax_id_invalid", "tax_id_prohibited", "taxes_calculation_failed", "terminal_location_country_unsupported", "terminal_reader_busy", "terminal_reader_hardware_fault", "terminal_reader_invalid_location_for_activation", "terminal_reader_invalid_location_for_payment", "terminal_reader_offline", "terminal_reader_timeout", "testmode_charges_only", "tls_version_unsupported", "token_already_used", "token_card_network_invalid", "token_in_use", "transfer_source_balance_parameters_mismatch", "transfers_not_allowed", "url_invalid", ] ] """ For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported. """ decline_code: Optional[str] """ For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one. """ doc_url: Optional[str] """ A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported. """ message: Optional[str] """ A human-readable message providing more details about the error. For card errors, these messages can be shown to your users. """ network_advice_code: Optional[str] """ For card errors resulting from a card issuer decline, a 2 digit code which indicates the advice given to merchant by the card network on how to proceed with an error. """ network_decline_code: Optional[str] """ For payments declined by the network, an alphanumeric code which indicates the reason the payment failed. """ param: Optional[str] """ If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field. """ payment_intent: Optional["PaymentIntent"] """ A PaymentIntent guides you through the process of collecting a payment from your customer. We recommend that you create exactly one PaymentIntent for each order or customer session in your system. You can reference the PaymentIntent later to see the history of payment attempts for a particular session. A PaymentIntent transitions through [multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses) throughout its lifetime as it interfaces with Stripe.js to perform authentication flows and ultimately creates at most one successful charge. Related guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents) """ payment_method: Optional["PaymentMethod"] """ PaymentMethod objects represent your customer's payment instruments. You can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to Customer objects to store instrument details for future payments. Related guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios). """ payment_method_type: Optional[str] """ If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors. """ request_log_url: Optional[str] """ A URL to the request log entry in your dashboard. """ setup_intent: Optional["SetupIntent"] """ A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments. For example, you can use a SetupIntent to set up and save your customer's card without immediately collecting a payment. Later, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow. Create a SetupIntent when you're ready to collect your customer's payment credentials. Don't maintain long-lived, unconfirmed SetupIntents because they might not be valid. The SetupIntent transitions through multiple [statuses](https://docs.stripe.com/payments/intents#intent-statuses) as it guides you through the setup process. Successful SetupIntents result in payment credentials that are optimized for future payments. For example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) might need to be run through [Strong Customer Authentication](https://docs.stripe.com/strong-customer-authentication) during payment method collection to streamline later [off-session payments](https://docs.stripe.com/payments/setup-intents). If you use the SetupIntent with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer), it automatically attaches the resulting payment method to that Customer after successful setup. We recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on PaymentIntents to save payment methods to prevent saving invalid or unoptimized payment methods. By using SetupIntents, you can reduce friction for your customers, even as regulations change over time. Related guide: [Setup Intents API](https://docs.stripe.com/payments/setup-intents) """ source: Optional[ Union["Account", "BankAccount", "CardResource", "Source"] ] type: Literal[ "api_error", "card_error", "idempotency_error", "invalid_request_error", ] """ The type of error returned. One of `api_error`, `card_error`, `idempotency_error`, or `invalid_request_error` """ class NextAction(StripeObject): class CashappHandleRedirectOrDisplayQrCode(StripeObject): class QrCode(StripeObject): expires_at: int """ The date (unix timestamp) when the QR code expires. """ image_url_png: str """ The image_url_png string used to render QR code """ image_url_svg: str """ The image_url_svg string used to render QR code """ hosted_instructions_url: str """ The URL to the hosted Cash App Pay instructions page, which allows customers to view the QR code, and supports QR code refreshing on expiration. """ mobile_auth_url: str """ The url for mobile redirect based auth """ qr_code: QrCode _inner_class_types = {"qr_code": QrCode} class RedirectToUrl(StripeObject): return_url: Optional[str] """ If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion. """ url: Optional[str] """ The URL you must redirect your customer to in order to authenticate. """ class VerifyWithMicrodeposits(StripeObject): arrival_date: int """ The timestamp when the microdeposits are expected to land. """ hosted_verification_url: str """ The URL for the hosted verification page, which allows customers to verify their bank account. """ microdeposit_type: Optional[Literal["amounts", "descriptor_code"]] """ The type of the microdeposit sent to the customer. Used to distinguish between different verification methods. """ cashapp_handle_redirect_or_display_qr_code: Optional[ CashappHandleRedirectOrDisplayQrCode ] redirect_to_url: Optional[RedirectToUrl] type: str """ Type of the next action to perform. Refer to the other child attributes under `next_action` for available values. Examples include: `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, `oxxo_display_details`, or `verify_with_microdeposits`. """ use_stripe_sdk: Optional[Dict[str, "Any"]] """ When confirming a SetupIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js. """ verify_with_microdeposits: Optional[VerifyWithMicrodeposits] _inner_class_types = { "cashapp_handle_redirect_or_display_qr_code": CashappHandleRedirectOrDisplayQrCode, "redirect_to_url": RedirectToUrl, "verify_with_microdeposits": VerifyWithMicrodeposits, } class PaymentMethodConfigurationDetails(StripeObject): id: str """ ID of the payment method configuration used. """ parent: Optional[str] """ ID of the parent payment method configuration used. """ class PaymentMethodOptions(StripeObject): class AcssDebit(StripeObject): class MandateOptions(StripeObject): custom_mandate_url: Optional[str] """ A URL for custom mandate text """ default_for: Optional[List[Literal["invoice", "subscription"]]] """ List of Stripe products where this mandate can be selected automatically. """ interval_description: Optional[str] """ Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'. """ payment_schedule: Optional[ Literal["combined", "interval", "sporadic"] ] """ Payment schedule for the mandate. """ transaction_type: Optional[Literal["business", "personal"]] """ Transaction type of the mandate. """ currency: Optional[Literal["cad", "usd"]] """ Currency supported by the bank account """ mandate_options: Optional[MandateOptions] verification_method: Optional[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ _inner_class_types = {"mandate_options": MandateOptions} class AmazonPay(StripeObject): pass class BacsDebit(StripeObject): class MandateOptions(StripeObject): reference_prefix: Optional[str] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'. """ mandate_options: Optional[MandateOptions] _inner_class_types = {"mandate_options": MandateOptions} class Card(StripeObject): class MandateOptions(StripeObject): amount: int """ Amount to be charged for future payments. """ amount_type: Literal["fixed", "maximum"] """ One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: Optional[str] """ A description of the mandate or subscription that is meant to be displayed to the customer. """ end_date: Optional[int] """ End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date. """ interval: Literal["day", "month", "sporadic", "week", "year"] """ Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`. """ interval_count: Optional[int] """ The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`. """ reference: str """ Unique identifier for the mandate or subscription. """ start_date: int """ Start date of the mandate or subscription. Start date should not be lesser than yesterday. """ supported_types: Optional[List[Literal["india"]]] """ Specifies the type of mandates supported. Possible values are `india`. """ mandate_options: Optional[MandateOptions] """ Configuration options for setting up an eMandate for cards issued in India. """ network: Optional[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "girocard", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Selected network to process this SetupIntent on. Depends on the available networks of the card attached to the setup intent. Can be only set confirm-time. """ request_three_d_secure: Optional[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ _inner_class_types = {"mandate_options": MandateOptions} class CardPresent(StripeObject): pass class Klarna(StripeObject): currency: Optional[str] """ The currency of the setup intent. Three letter ISO currency code. """ preferred_locale: Optional[str] """ Preferred locale of the Klarna checkout page that the customer is redirected to. """ class Link(StripeObject): persistent_token: Optional[str] """ [Deprecated] This is a legacy parameter that no longer has any function. """ class Paypal(StripeObject): billing_agreement_id: Optional[str] """ The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer. """ class SepaDebit(StripeObject): class MandateOptions(StripeObject): reference_prefix: Optional[str] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'. """ mandate_options: Optional[MandateOptions] _inner_class_types = {"mandate_options": MandateOptions} class UsBankAccount(StripeObject): class FinancialConnections(StripeObject): class Filters(StripeObject): account_subcategories: Optional[ List[Literal["checking", "savings"]] ] """ The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`. """ filters: Optional[Filters] permissions: Optional[ List[ Literal[ "balances", "ownership", "payment_method", "transactions", ] ] ] """ The list of permissions to request. The `payment_method` permission must be included. """ prefetch: Optional[ List[Literal["balances", "ownership", "transactions"]] ] """ Data features requested to be retrieved upon account creation. """ return_url: Optional[str] """ For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. """ _inner_class_types = {"filters": Filters} class MandateOptions(StripeObject): collection_method: Optional[Literal["paper"]] """ Mandate collection method """ financial_connections: Optional[FinancialConnections] mandate_options: Optional[MandateOptions] verification_method: Optional[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ _inner_class_types = { "financial_connections": FinancialConnections, "mandate_options": MandateOptions, } acss_debit: Optional[AcssDebit] amazon_pay: Optional[AmazonPay] bacs_debit: Optional[BacsDebit] card: Optional[Card] card_present: Optional[CardPresent] klarna: Optional[Klarna] link: Optional[Link] paypal: Optional[Paypal] sepa_debit: Optional[SepaDebit] us_bank_account: Optional[UsBankAccount] _inner_class_types = { "acss_debit": AcssDebit, "amazon_pay": AmazonPay, "bacs_debit": BacsDebit, "card": Card, "card_present": CardPresent, "klarna": Klarna, "link": Link, "paypal": Paypal, "sepa_debit": SepaDebit, "us_bank_account": UsBankAccount, } application: Optional[ExpandableField["Application"]] """ ID of the Connect application that created the SetupIntent. """ attach_to_self: Optional[bool] """ If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. It can only be used for this Stripe Account's own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. """ automatic_payment_methods: Optional[AutomaticPaymentMethods] """ Settings for dynamic payment methods compatible with this Setup Intent """ cancellation_reason: Optional[ Literal["abandoned", "duplicate", "requested_by_customer"] ] """ Reason for cancellation of this SetupIntent, one of `abandoned`, `requested_by_customer`, or `duplicate`. """ client_secret: Optional[str] """ The client secret of this SetupIntent. Used for client-side retrieval using a publishable key. The client secret can be used to complete payment setup from your frontend. It should not be stored, logged, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ customer: Optional[ExpandableField["Customer"]] """ ID of the Customer this SetupIntent belongs to, if one exists. If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent. """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ excluded_payment_method_types: Optional[ List[ Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "card", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] ] ] """ Payment method types that are excluded from this SetupIntent. """ flow_directions: Optional[List[Literal["inbound", "outbound"]]] """ Indicates the directions of money movement for which this payment method is intended to be used. Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes. """ id: str """ Unique identifier for the object. """ last_setup_error: Optional[LastSetupError] """ The error encountered in the previous SetupIntent confirmation. """ latest_attempt: Optional[ExpandableField["SetupAttempt"]] """ The most recent SetupAttempt for this SetupIntent. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ mandate: Optional[ExpandableField["Mandate"]] """ ID of the multi use Mandate generated by the SetupIntent. """ 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. """ next_action: Optional[NextAction] """ If present, this property tells you what actions you need to take in order for your customer to continue payment setup. """ object: Literal["setup_intent"] """ String representing the object's type. Objects of the same type share the same value. """ on_behalf_of: Optional[ExpandableField["Account"]] """ The account (if any) for which the setup is intended. """ payment_method: Optional[ExpandableField["PaymentMethod"]] """ ID of the payment method used with this SetupIntent. If the payment method is `card_present` and isn't a digital wallet, then the [generated_card](https://docs.stripe.com/api/setup_attempts/object#setup_attempt_object-payment_method_details-card_present-generated_card) associated with the `latest_attempt` is attached to the Customer instead. """ payment_method_configuration_details: Optional[ PaymentMethodConfigurationDetails ] """ Information about the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) used for this Setup Intent. """ payment_method_options: Optional[PaymentMethodOptions] """ Payment method-specific configuration for this SetupIntent. """ payment_method_types: List[str] """ The list of payment method types (e.g. card) that this SetupIntent is allowed to set up. A list of valid payment method types can be found [here](https://docs.stripe.com/api/payment_methods/object#payment_method_object-type). """ single_use_mandate: Optional[ExpandableField["Mandate"]] """ ID of the single_use Mandate generated by the SetupIntent. """ status: Literal[ "canceled", "processing", "requires_action", "requires_confirmation", "requires_payment_method", "succeeded", ] """ [Status](https://stripe.com/docs/payments/intents#intent-statuses) of this SetupIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `canceled`, or `succeeded`. """ usage: str """ Indicates how the payment method is intended to be used in the future. Use `on_session` if you intend to only reuse the payment method when the customer is in your checkout flow. Use `off_session` if your customer may or may not be in your checkout flow. If not provided, this value defaults to `off_session`. """ @classmethod def _cls_cancel( cls, intent: str, **params: Unpack["SetupIntentCancelParams"] ) -> "SetupIntent": """ You can cancel a SetupIntent object when it's in one of these statuses: requires_payment_method, requires_confirmation, or requires_action. After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can't cancel the SetupIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ return cast( "SetupIntent", cls._static_request( "post", "/v1/setup_intents/{intent}/cancel".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod def cancel( intent: str, **params: Unpack["SetupIntentCancelParams"] ) -> "SetupIntent": """ You can cancel a SetupIntent object when it's in one of these statuses: requires_payment_method, requires_confirmation, or requires_action. After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can't cancel the SetupIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ ... @overload def cancel( self, **params: Unpack["SetupIntentCancelParams"] ) -> "SetupIntent": """ You can cancel a SetupIntent object when it's in one of these statuses: requires_payment_method, requires_confirmation, or requires_action. After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can't cancel the SetupIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ ... @class_method_variant("_cls_cancel") def cancel( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SetupIntentCancelParams"] ) -> "SetupIntent": """ You can cancel a SetupIntent object when it's in one of these statuses: requires_payment_method, requires_confirmation, or requires_action. After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can't cancel the SetupIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ return cast( "SetupIntent", self._request( "post", "/v1/setup_intents/{intent}/cancel".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_cancel_async( cls, intent: str, **params: Unpack["SetupIntentCancelParams"] ) -> "SetupIntent": """ You can cancel a SetupIntent object when it's in one of these statuses: requires_payment_method, requires_confirmation, or requires_action. After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can't cancel the SetupIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ return cast( "SetupIntent", await cls._static_request_async( "post", "/v1/setup_intents/{intent}/cancel".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod async def cancel_async( intent: str, **params: Unpack["SetupIntentCancelParams"] ) -> "SetupIntent": """ You can cancel a SetupIntent object when it's in one of these statuses: requires_payment_method, requires_confirmation, or requires_action. After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can't cancel the SetupIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ ... @overload async def cancel_async( self, **params: Unpack["SetupIntentCancelParams"] ) -> "SetupIntent": """ You can cancel a SetupIntent object when it's in one of these statuses: requires_payment_method, requires_confirmation, or requires_action. After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can't cancel the SetupIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ ... @class_method_variant("_cls_cancel_async") async def cancel_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SetupIntentCancelParams"] ) -> "SetupIntent": """ You can cancel a SetupIntent object when it's in one of these statuses: requires_payment_method, requires_confirmation, or requires_action. After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can't cancel the SetupIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ return cast( "SetupIntent", await self._request_async( "post", "/v1/setup_intents/{intent}/cancel".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_confirm( cls, intent: str, **params: Unpack["SetupIntentConfirmParams"] ) -> "SetupIntent": """ Confirm that your customer intends to set up the current or provided payment method. For example, you would confirm a SetupIntent when a customer hits the “Save” button on a payment method management page on your website. If the selected payment method does not require any additional steps from the customer, the SetupIntent will transition to the succeeded status. Otherwise, it will transition to the requires_action status and suggest additional actions via next_action. If setup fails, the SetupIntent will transition to the requires_payment_method status or the canceled status if the confirmation limit is reached. """ return cast( "SetupIntent", cls._static_request( "post", "/v1/setup_intents/{intent}/confirm".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod def confirm( intent: str, **params: Unpack["SetupIntentConfirmParams"] ) -> "SetupIntent": """ Confirm that your customer intends to set up the current or provided payment method. For example, you would confirm a SetupIntent when a customer hits the “Save” button on a payment method management page on your website. If the selected payment method does not require any additional steps from the customer, the SetupIntent will transition to the succeeded status. Otherwise, it will transition to the requires_action status and suggest additional actions via next_action. If setup fails, the SetupIntent will transition to the requires_payment_method status or the canceled status if the confirmation limit is reached. """ ... @overload def confirm( self, **params: Unpack["SetupIntentConfirmParams"] ) -> "SetupIntent": """ Confirm that your customer intends to set up the current or provided payment method. For example, you would confirm a SetupIntent when a customer hits the “Save” button on a payment method management page on your website. If the selected payment method does not require any additional steps from the customer, the SetupIntent will transition to the succeeded status. Otherwise, it will transition to the requires_action status and suggest additional actions via next_action. If setup fails, the SetupIntent will transition to the requires_payment_method status or the canceled status if the confirmation limit is reached. """ ... @class_method_variant("_cls_confirm") def confirm( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SetupIntentConfirmParams"] ) -> "SetupIntent": """ Confirm that your customer intends to set up the current or provided payment method. For example, you would confirm a SetupIntent when a customer hits the “Save” button on a payment method management page on your website. If the selected payment method does not require any additional steps from the customer, the SetupIntent will transition to the succeeded status. Otherwise, it will transition to the requires_action status and suggest additional actions via next_action. If setup fails, the SetupIntent will transition to the requires_payment_method status or the canceled status if the confirmation limit is reached. """ return cast( "SetupIntent", self._request( "post", "/v1/setup_intents/{intent}/confirm".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_confirm_async( cls, intent: str, **params: Unpack["SetupIntentConfirmParams"] ) -> "SetupIntent": """ Confirm that your customer intends to set up the current or provided payment method. For example, you would confirm a SetupIntent when a customer hits the “Save” button on a payment method management page on your website. If the selected payment method does not require any additional steps from the customer, the SetupIntent will transition to the succeeded status. Otherwise, it will transition to the requires_action status and suggest additional actions via next_action. If setup fails, the SetupIntent will transition to the requires_payment_method status or the canceled status if the confirmation limit is reached. """ return cast( "SetupIntent", await cls._static_request_async( "post", "/v1/setup_intents/{intent}/confirm".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod async def confirm_async( intent: str, **params: Unpack["SetupIntentConfirmParams"] ) -> "SetupIntent": """ Confirm that your customer intends to set up the current or provided payment method. For example, you would confirm a SetupIntent when a customer hits the “Save” button on a payment method management page on your website. If the selected payment method does not require any additional steps from the customer, the SetupIntent will transition to the succeeded status. Otherwise, it will transition to the requires_action status and suggest additional actions via next_action. If setup fails, the SetupIntent will transition to the requires_payment_method status or the canceled status if the confirmation limit is reached. """ ... @overload async def confirm_async( self, **params: Unpack["SetupIntentConfirmParams"] ) -> "SetupIntent": """ Confirm that your customer intends to set up the current or provided payment method. For example, you would confirm a SetupIntent when a customer hits the “Save” button on a payment method management page on your website. If the selected payment method does not require any additional steps from the customer, the SetupIntent will transition to the succeeded status. Otherwise, it will transition to the requires_action status and suggest additional actions via next_action. If setup fails, the SetupIntent will transition to the requires_payment_method status or the canceled status if the confirmation limit is reached. """ ... @class_method_variant("_cls_confirm_async") async def confirm_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SetupIntentConfirmParams"] ) -> "SetupIntent": """ Confirm that your customer intends to set up the current or provided payment method. For example, you would confirm a SetupIntent when a customer hits the “Save” button on a payment method management page on your website. If the selected payment method does not require any additional steps from the customer, the SetupIntent will transition to the succeeded status. Otherwise, it will transition to the requires_action status and suggest additional actions via next_action. If setup fails, the SetupIntent will transition to the requires_payment_method status or the canceled status if the confirmation limit is reached. """ return cast( "SetupIntent", await self._request_async( "post", "/v1/setup_intents/{intent}/confirm".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create( cls, **params: Unpack["SetupIntentCreateParams"] ) -> "SetupIntent": """ Creates a SetupIntent object. After you create the SetupIntent, attach a payment method and [confirm](https://docs.stripe.com/docs/api/setup_intents/confirm) it to collect any required permissions to charge the payment method later. """ return cast( "SetupIntent", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["SetupIntentCreateParams"] ) -> "SetupIntent": """ Creates a SetupIntent object. After you create the SetupIntent, attach a payment method and [confirm](https://docs.stripe.com/docs/api/setup_intents/confirm) it to collect any required permissions to charge the payment method later. """ return cast( "SetupIntent", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["SetupIntentListParams"] ) -> ListObject["SetupIntent"]: """ Returns a list of SetupIntents. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["SetupIntentListParams"] ) -> ListObject["SetupIntent"]: """ Returns a list of SetupIntents. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["SetupIntentModifyParams"] ) -> "SetupIntent": """ Updates a SetupIntent object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "SetupIntent", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["SetupIntentModifyParams"] ) -> "SetupIntent": """ Updates a SetupIntent object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "SetupIntent", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["SetupIntentRetrieveParams"] ) -> "SetupIntent": """ Retrieves the details of a SetupIntent that has previously been created. Client-side retrieval using a publishable key is allowed when the client_secret is provided in the query string. When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the [SetupIntent](https://docs.stripe.com/api#setup_intent_object) object reference for more details. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["SetupIntentRetrieveParams"] ) -> "SetupIntent": """ Retrieves the details of a SetupIntent that has previously been created. Client-side retrieval using a publishable key is allowed when the client_secret is provided in the query string. When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the [SetupIntent](https://docs.stripe.com/api#setup_intent_object) object reference for more details. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def _cls_verify_microdeposits( cls, intent: str, **params: Unpack["SetupIntentVerifyMicrodepositsParams"], ) -> "SetupIntent": """ Verifies microdeposits on a SetupIntent object. """ return cast( "SetupIntent", cls._static_request( "post", "/v1/setup_intents/{intent}/verify_microdeposits".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod def verify_microdeposits( intent: str, **params: Unpack["SetupIntentVerifyMicrodepositsParams"] ) -> "SetupIntent": """ Verifies microdeposits on a SetupIntent object. """ ... @overload def verify_microdeposits( self, **params: Unpack["SetupIntentVerifyMicrodepositsParams"] ) -> "SetupIntent": """ Verifies microdeposits on a SetupIntent object. """ ... @class_method_variant("_cls_verify_microdeposits") def verify_microdeposits( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SetupIntentVerifyMicrodepositsParams"] ) -> "SetupIntent": """ Verifies microdeposits on a SetupIntent object. """ return cast( "SetupIntent", self._request( "post", "/v1/setup_intents/{intent}/verify_microdeposits".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_verify_microdeposits_async( cls, intent: str, **params: Unpack["SetupIntentVerifyMicrodepositsParams"], ) -> "SetupIntent": """ Verifies microdeposits on a SetupIntent object. """ return cast( "SetupIntent", await cls._static_request_async( "post", "/v1/setup_intents/{intent}/verify_microdeposits".format( intent=sanitize_id(intent) ), params=params, ), ) @overload @staticmethod async def verify_microdeposits_async( intent: str, **params: Unpack["SetupIntentVerifyMicrodepositsParams"] ) -> "SetupIntent": """ Verifies microdeposits on a SetupIntent object. """ ... @overload async def verify_microdeposits_async( self, **params: Unpack["SetupIntentVerifyMicrodepositsParams"] ) -> "SetupIntent": """ Verifies microdeposits on a SetupIntent object. """ ... @class_method_variant("_cls_verify_microdeposits_async") async def verify_microdeposits_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SetupIntentVerifyMicrodepositsParams"] ) -> "SetupIntent": """ Verifies microdeposits on a SetupIntent object. """ return cast( "SetupIntent", await self._request_async( "post", "/v1/setup_intents/{intent}/verify_microdeposits".format( intent=sanitize_id(self.get("id")) ), params=params, ), ) _inner_class_types = { "automatic_payment_methods": AutomaticPaymentMethods, "last_setup_error": LastSetupError, "next_action": NextAction, "payment_method_configuration_details": PaymentMethodConfigurationDetails, "payment_method_options": PaymentMethodOptions, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.331062 stripe-13.2.0/stripe/_setup_intent_service.py0000644000000000000000000003067415102753431016324 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._setup_intent import SetupIntent from stripe.params._setup_intent_cancel_params import ( SetupIntentCancelParams, ) from stripe.params._setup_intent_confirm_params import ( SetupIntentConfirmParams, ) from stripe.params._setup_intent_create_params import ( SetupIntentCreateParams, ) from stripe.params._setup_intent_list_params import SetupIntentListParams from stripe.params._setup_intent_retrieve_params import ( SetupIntentRetrieveParams, ) from stripe.params._setup_intent_update_params import ( SetupIntentUpdateParams, ) from stripe.params._setup_intent_verify_microdeposits_params import ( SetupIntentVerifyMicrodepositsParams, ) class SetupIntentService(StripeService): def list( self, params: Optional["SetupIntentListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[SetupIntent]": """ Returns a list of SetupIntents. """ return cast( "ListObject[SetupIntent]", self._request( "get", "/v1/setup_intents", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["SetupIntentListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[SetupIntent]": """ Returns a list of SetupIntents. """ return cast( "ListObject[SetupIntent]", await self._request_async( "get", "/v1/setup_intents", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["SetupIntentCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SetupIntent": """ Creates a SetupIntent object. After you create the SetupIntent, attach a payment method and [confirm](https://docs.stripe.com/docs/api/setup_intents/confirm) it to collect any required permissions to charge the payment method later. """ return cast( "SetupIntent", self._request( "post", "/v1/setup_intents", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["SetupIntentCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SetupIntent": """ Creates a SetupIntent object. After you create the SetupIntent, attach a payment method and [confirm](https://docs.stripe.com/docs/api/setup_intents/confirm) it to collect any required permissions to charge the payment method later. """ return cast( "SetupIntent", await self._request_async( "post", "/v1/setup_intents", base_address="api", params=params, options=options, ), ) def retrieve( self, intent: str, params: Optional["SetupIntentRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SetupIntent": """ Retrieves the details of a SetupIntent that has previously been created. Client-side retrieval using a publishable key is allowed when the client_secret is provided in the query string. When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the [SetupIntent](https://docs.stripe.com/api#setup_intent_object) object reference for more details. """ return cast( "SetupIntent", self._request( "get", "/v1/setup_intents/{intent}".format( intent=sanitize_id(intent) ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, intent: str, params: Optional["SetupIntentRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SetupIntent": """ Retrieves the details of a SetupIntent that has previously been created. Client-side retrieval using a publishable key is allowed when the client_secret is provided in the query string. When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the [SetupIntent](https://docs.stripe.com/api#setup_intent_object) object reference for more details. """ return cast( "SetupIntent", await self._request_async( "get", "/v1/setup_intents/{intent}".format( intent=sanitize_id(intent) ), base_address="api", params=params, options=options, ), ) def update( self, intent: str, params: Optional["SetupIntentUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SetupIntent": """ Updates a SetupIntent object. """ return cast( "SetupIntent", self._request( "post", "/v1/setup_intents/{intent}".format( intent=sanitize_id(intent) ), base_address="api", params=params, options=options, ), ) async def update_async( self, intent: str, params: Optional["SetupIntentUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SetupIntent": """ Updates a SetupIntent object. """ return cast( "SetupIntent", await self._request_async( "post", "/v1/setup_intents/{intent}".format( intent=sanitize_id(intent) ), base_address="api", params=params, options=options, ), ) def cancel( self, intent: str, params: Optional["SetupIntentCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SetupIntent": """ You can cancel a SetupIntent object when it's in one of these statuses: requires_payment_method, requires_confirmation, or requires_action. After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can't cancel the SetupIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ return cast( "SetupIntent", self._request( "post", "/v1/setup_intents/{intent}/cancel".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) async def cancel_async( self, intent: str, params: Optional["SetupIntentCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SetupIntent": """ You can cancel a SetupIntent object when it's in one of these statuses: requires_payment_method, requires_confirmation, or requires_action. After you cancel it, setup is abandoned and any operations on the SetupIntent fail with an error. You can't cancel the SetupIntent for a Checkout Session. [Expire the Checkout Session](https://docs.stripe.com/docs/api/checkout/sessions/expire) instead. """ return cast( "SetupIntent", await self._request_async( "post", "/v1/setup_intents/{intent}/cancel".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) def confirm( self, intent: str, params: Optional["SetupIntentConfirmParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SetupIntent": """ Confirm that your customer intends to set up the current or provided payment method. For example, you would confirm a SetupIntent when a customer hits the “Save” button on a payment method management page on your website. If the selected payment method does not require any additional steps from the customer, the SetupIntent will transition to the succeeded status. Otherwise, it will transition to the requires_action status and suggest additional actions via next_action. If setup fails, the SetupIntent will transition to the requires_payment_method status or the canceled status if the confirmation limit is reached. """ return cast( "SetupIntent", self._request( "post", "/v1/setup_intents/{intent}/confirm".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) async def confirm_async( self, intent: str, params: Optional["SetupIntentConfirmParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SetupIntent": """ Confirm that your customer intends to set up the current or provided payment method. For example, you would confirm a SetupIntent when a customer hits the “Save” button on a payment method management page on your website. If the selected payment method does not require any additional steps from the customer, the SetupIntent will transition to the succeeded status. Otherwise, it will transition to the requires_action status and suggest additional actions via next_action. If setup fails, the SetupIntent will transition to the requires_payment_method status or the canceled status if the confirmation limit is reached. """ return cast( "SetupIntent", await self._request_async( "post", "/v1/setup_intents/{intent}/confirm".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) def verify_microdeposits( self, intent: str, params: Optional["SetupIntentVerifyMicrodepositsParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SetupIntent": """ Verifies microdeposits on a SetupIntent object. """ return cast( "SetupIntent", self._request( "post", "/v1/setup_intents/{intent}/verify_microdeposits".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) async def verify_microdeposits_async( self, intent: str, params: Optional["SetupIntentVerifyMicrodepositsParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SetupIntent": """ Verifies microdeposits on a SetupIntent object. """ return cast( "SetupIntent", await self._request_async( "post", "/v1/setup_intents/{intent}/verify_microdeposits".format( intent=sanitize_id(intent), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.331062 stripe-13.2.0/stripe/_shipping_rate.py0000644000000000000000000002132015102753431014703 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, Dict, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._tax_code import TaxCode from stripe.params._shipping_rate_create_params import ( ShippingRateCreateParams, ) from stripe.params._shipping_rate_list_params import ShippingRateListParams from stripe.params._shipping_rate_modify_params import ( ShippingRateModifyParams, ) from stripe.params._shipping_rate_retrieve_params import ( ShippingRateRetrieveParams, ) class ShippingRate( CreateableAPIResource["ShippingRate"], ListableAPIResource["ShippingRate"], UpdateableAPIResource["ShippingRate"], ): """ Shipping rates describe the price of shipping presented to your customers and applied to a purchase. For more information, see [Charge for shipping](https://stripe.com/docs/payments/during-payment/charge-shipping). """ OBJECT_NAME: ClassVar[Literal["shipping_rate"]] = "shipping_rate" class DeliveryEstimate(StripeObject): class Maximum(StripeObject): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ class Minimum(StripeObject): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ maximum: Optional[Maximum] """ The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite. """ minimum: Optional[Minimum] """ The lower bound of the estimated range. If empty, represents no lower bound. """ _inner_class_types = {"maximum": Maximum, "minimum": Minimum} class FixedAmount(StripeObject): class CurrencyOptions(StripeObject): amount: int """ A non-negative integer in cents representing how much to charge. """ tax_behavior: Literal["exclusive", "inclusive", "unspecified"] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ amount: int """ A non-negative integer in cents representing how much to charge. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ currency_options: Optional[Dict[str, CurrencyOptions]] """ Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ _inner_class_types = {"currency_options": CurrencyOptions} _inner_class_dicts = ["currency_options"] active: bool """ Whether the shipping rate can be used for new purchases. Defaults to `true`. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ delivery_estimate: Optional[DeliveryEstimate] """ The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions. """ display_name: Optional[str] """ The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions. """ fixed_amount: Optional[FixedAmount] id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["shipping_rate"] """ String representing the object's type. Objects of the same type share the same value. """ tax_behavior: Optional[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ tax_code: Optional[ExpandableField["TaxCode"]] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`. """ type: Literal["fixed_amount"] """ The type of calculation to use on the shipping rate. """ @classmethod def create( cls, **params: Unpack["ShippingRateCreateParams"] ) -> "ShippingRate": """ Creates a new shipping rate object. """ return cast( "ShippingRate", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["ShippingRateCreateParams"] ) -> "ShippingRate": """ Creates a new shipping rate object. """ return cast( "ShippingRate", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["ShippingRateListParams"] ) -> ListObject["ShippingRate"]: """ Returns a list of your shipping rates. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ShippingRateListParams"] ) -> ListObject["ShippingRate"]: """ Returns a list of your shipping rates. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["ShippingRateModifyParams"] ) -> "ShippingRate": """ Updates an existing shipping rate object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "ShippingRate", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["ShippingRateModifyParams"] ) -> "ShippingRate": """ Updates an existing shipping rate object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "ShippingRate", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["ShippingRateRetrieveParams"] ) -> "ShippingRate": """ Returns the shipping rate object with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ShippingRateRetrieveParams"] ) -> "ShippingRate": """ Returns the shipping rate object with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "delivery_estimate": DeliveryEstimate, "fixed_amount": FixedAmount, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.331062 stripe-13.2.0/stripe/_shipping_rate_service.py0000644000000000000000000001275115102753431016433 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._shipping_rate import ShippingRate from stripe.params._shipping_rate_create_params import ( ShippingRateCreateParams, ) from stripe.params._shipping_rate_list_params import ShippingRateListParams from stripe.params._shipping_rate_retrieve_params import ( ShippingRateRetrieveParams, ) from stripe.params._shipping_rate_update_params import ( ShippingRateUpdateParams, ) class ShippingRateService(StripeService): def list( self, params: Optional["ShippingRateListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ShippingRate]": """ Returns a list of your shipping rates. """ return cast( "ListObject[ShippingRate]", self._request( "get", "/v1/shipping_rates", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["ShippingRateListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ShippingRate]": """ Returns a list of your shipping rates. """ return cast( "ListObject[ShippingRate]", await self._request_async( "get", "/v1/shipping_rates", base_address="api", params=params, options=options, ), ) def create( self, params: "ShippingRateCreateParams", options: Optional["RequestOptions"] = None, ) -> "ShippingRate": """ Creates a new shipping rate object. """ return cast( "ShippingRate", self._request( "post", "/v1/shipping_rates", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "ShippingRateCreateParams", options: Optional["RequestOptions"] = None, ) -> "ShippingRate": """ Creates a new shipping rate object. """ return cast( "ShippingRate", await self._request_async( "post", "/v1/shipping_rates", base_address="api", params=params, options=options, ), ) def retrieve( self, shipping_rate_token: str, params: Optional["ShippingRateRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ShippingRate": """ Returns the shipping rate object with the given ID. """ return cast( "ShippingRate", self._request( "get", "/v1/shipping_rates/{shipping_rate_token}".format( shipping_rate_token=sanitize_id(shipping_rate_token), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, shipping_rate_token: str, params: Optional["ShippingRateRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ShippingRate": """ Returns the shipping rate object with the given ID. """ return cast( "ShippingRate", await self._request_async( "get", "/v1/shipping_rates/{shipping_rate_token}".format( shipping_rate_token=sanitize_id(shipping_rate_token), ), base_address="api", params=params, options=options, ), ) def update( self, shipping_rate_token: str, params: Optional["ShippingRateUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ShippingRate": """ Updates an existing shipping rate object. """ return cast( "ShippingRate", self._request( "post", "/v1/shipping_rates/{shipping_rate_token}".format( shipping_rate_token=sanitize_id(shipping_rate_token), ), base_address="api", params=params, options=options, ), ) async def update_async( self, shipping_rate_token: str, params: Optional["ShippingRateUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ShippingRate": """ Updates an existing shipping rate object. """ return cast( "ShippingRate", await self._request_async( "post", "/v1/shipping_rates/{shipping_rate_token}".format( shipping_rate_token=sanitize_id(shipping_rate_token), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.331062 stripe-13.2.0/stripe/_sigma_service.py0000644000000000000000000000205215102753431014670 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.sigma._scheduled_query_run_service import ( ScheduledQueryRunService, ) _subservices = { "scheduled_query_runs": [ "stripe.sigma._scheduled_query_run_service", "ScheduledQueryRunService", ], } class SigmaService(StripeService): scheduled_query_runs: "ScheduledQueryRunService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.331062 stripe-13.2.0/stripe/_singleton_api_resource.py0000644000000000000000000000173715102753431016623 0ustar00from stripe._api_resource import APIResource from typing import TypeVar from stripe._stripe_object import StripeObject T = TypeVar("T", bound=StripeObject) # TODO(major): 1704 - Inline into Tax.Settings and Balance, and remove this class. class SingletonAPIResource(APIResource[T]): @classmethod def retrieve(cls, **params) -> T: return super(SingletonAPIResource, cls).retrieve(None, **params) @classmethod def class_url(cls): if cls == SingletonAPIResource: raise NotImplementedError( "SingletonAPIResource is an abstract class. You should " "perform actions on its subclasses (e.g. Balance)" ) # Namespaces are separated in object names with periods (.) and in URLs # with forward slashes (/), so replace the former with the latter. base = cls.OBJECT_NAME.replace(".", "/") return "/v1/%s" % (base,) def instance_url(self): return self.class_url() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.331062 stripe-13.2.0/stripe/_source.py0000644000000000000000000010326215102753431013355 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._customer import Customer from stripe._error import InvalidRequestError from stripe._list_object import ListObject from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._source_transaction import SourceTransaction from stripe.params._source_create_params import SourceCreateParams from stripe.params._source_list_source_transactions_params import ( SourceListSourceTransactionsParams, ) from stripe.params._source_modify_params import SourceModifyParams from stripe.params._source_retrieve_params import SourceRetrieveParams from stripe.params._source_verify_params import SourceVerifyParams class Source(CreateableAPIResource["Source"], UpdateableAPIResource["Source"]): """ `Source` objects allow you to accept a variety of payment methods. They represent a customer's payment instrument, and can be used with the Stripe API just like a `Card` object: once chargeable, they can be charged, or can be attached to customers. Stripe doesn't recommend using the deprecated [Sources API](https://stripe.com/docs/api/sources). We recommend that you adopt the [PaymentMethods API](https://stripe.com/docs/api/payment_methods). This newer API provides access to our latest features and payment method types. Related guides: [Sources API](https://stripe.com/docs/sources) and [Sources & Customers](https://stripe.com/docs/sources/customers). """ OBJECT_NAME: ClassVar[Literal["source"]] = "source" class AchCreditTransfer(StripeObject): account_number: Optional[str] bank_name: Optional[str] fingerprint: Optional[str] refund_account_holder_name: Optional[str] refund_account_holder_type: Optional[str] refund_routing_number: Optional[str] routing_number: Optional[str] swift_code: Optional[str] class AchDebit(StripeObject): bank_name: Optional[str] country: Optional[str] fingerprint: Optional[str] last4: Optional[str] routing_number: Optional[str] type: Optional[str] class AcssDebit(StripeObject): bank_address_city: Optional[str] bank_address_line_1: Optional[str] bank_address_line_2: Optional[str] bank_address_postal_code: Optional[str] bank_name: Optional[str] category: Optional[str] country: Optional[str] fingerprint: Optional[str] last4: Optional[str] routing_number: Optional[str] class Alipay(StripeObject): data_string: Optional[str] native_url: Optional[str] statement_descriptor: Optional[str] class AuBecsDebit(StripeObject): bsb_number: Optional[str] fingerprint: Optional[str] last4: Optional[str] class Bancontact(StripeObject): bank_code: Optional[str] bank_name: Optional[str] bic: Optional[str] iban_last4: Optional[str] preferred_language: Optional[str] statement_descriptor: Optional[str] class Card(StripeObject): address_line1_check: Optional[str] address_zip_check: Optional[str] brand: Optional[str] country: Optional[str] cvc_check: Optional[str] description: Optional[str] dynamic_last4: Optional[str] exp_month: Optional[int] exp_year: Optional[int] fingerprint: Optional[str] funding: Optional[str] iin: Optional[str] issuer: Optional[str] last4: Optional[str] name: Optional[str] three_d_secure: Optional[str] tokenization_method: Optional[str] class CardPresent(StripeObject): application_cryptogram: Optional[str] application_preferred_name: Optional[str] authorization_code: Optional[str] authorization_response_code: Optional[str] brand: Optional[str] country: Optional[str] cvm_type: Optional[str] data_type: Optional[str] dedicated_file_name: Optional[str] description: Optional[str] emv_auth_data: Optional[str] evidence_customer_signature: Optional[str] evidence_transaction_certificate: Optional[str] exp_month: Optional[int] exp_year: Optional[int] fingerprint: Optional[str] funding: Optional[str] iin: Optional[str] issuer: Optional[str] last4: Optional[str] pos_device_id: Optional[str] pos_entry_mode: Optional[str] read_method: Optional[str] reader: Optional[str] terminal_verification_results: Optional[str] transaction_status_information: Optional[str] class CodeVerification(StripeObject): attempts_remaining: int """ The number of attempts remaining to authenticate the source object with a verification code. """ status: str """ The status of the code verification, either `pending` (awaiting verification, `attempts_remaining` should be greater than 0), `succeeded` (successful verification) or `failed` (failed verification, cannot be verified anymore as `attempts_remaining` should be 0). """ class Eps(StripeObject): reference: Optional[str] statement_descriptor: Optional[str] class Giropay(StripeObject): bank_code: Optional[str] bank_name: Optional[str] bic: Optional[str] statement_descriptor: Optional[str] class Ideal(StripeObject): bank: Optional[str] bic: Optional[str] iban_last4: Optional[str] statement_descriptor: Optional[str] class Klarna(StripeObject): background_image_url: Optional[str] client_token: Optional[str] first_name: Optional[str] last_name: Optional[str] locale: Optional[str] logo_url: Optional[str] page_title: Optional[str] pay_later_asset_urls_descriptive: Optional[str] pay_later_asset_urls_standard: Optional[str] pay_later_name: Optional[str] pay_later_redirect_url: Optional[str] pay_now_asset_urls_descriptive: Optional[str] pay_now_asset_urls_standard: Optional[str] pay_now_name: Optional[str] pay_now_redirect_url: Optional[str] pay_over_time_asset_urls_descriptive: Optional[str] pay_over_time_asset_urls_standard: Optional[str] pay_over_time_name: Optional[str] pay_over_time_redirect_url: Optional[str] payment_method_categories: Optional[str] purchase_country: Optional[str] purchase_type: Optional[str] redirect_url: Optional[str] shipping_delay: Optional[int] shipping_first_name: Optional[str] shipping_last_name: Optional[str] class Multibanco(StripeObject): entity: Optional[str] reference: Optional[str] refund_account_holder_address_city: Optional[str] refund_account_holder_address_country: Optional[str] refund_account_holder_address_line1: Optional[str] refund_account_holder_address_line2: Optional[str] refund_account_holder_address_postal_code: Optional[str] refund_account_holder_address_state: Optional[str] refund_account_holder_name: Optional[str] refund_iban: Optional[str] class Owner(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class VerifiedAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Optional[Address] """ Owner's address. """ email: Optional[str] """ Owner's email address. """ name: Optional[str] """ Owner's full name. """ phone: Optional[str] """ Owner's phone number (including extension). """ verified_address: Optional[VerifiedAddress] """ Verified owner's address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. """ verified_email: Optional[str] """ Verified owner's email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. """ verified_name: Optional[str] """ Verified owner's full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. """ verified_phone: Optional[str] """ Verified owner's phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. """ _inner_class_types = { "address": Address, "verified_address": VerifiedAddress, } class P24(StripeObject): reference: Optional[str] class Receiver(StripeObject): address: Optional[str] """ The address of the receiver source. This is the value that should be communicated to the customer to send their funds to. """ amount_charged: int """ The total amount that was moved to your balance. This is almost always equal to the amount charged. In rare cases when customers deposit excess funds and we are unable to refund those, those funds get moved to your balance and show up in amount_charged as well. The amount charged is expressed in the source's currency. """ amount_received: int """ The total amount received by the receiver source. `amount_received = amount_returned + amount_charged` should be true for consumed sources unless customers deposit excess funds. The amount received is expressed in the source's currency. """ amount_returned: int """ The total amount that was returned to the customer. The amount returned is expressed in the source's currency. """ refund_attributes_method: str """ Type of refund attribute method, one of `email`, `manual`, or `none`. """ refund_attributes_status: str """ Type of refund attribute status, one of `missing`, `requested`, or `available`. """ class Redirect(StripeObject): failure_reason: Optional[str] """ The failure reason for the redirect, either `user_abort` (the customer aborted or dropped out of the redirect flow), `declined` (the authentication failed or the transaction was declined), or `processing_error` (the redirect failed due to a technical error). Present only if the redirect status is `failed`. """ return_url: str """ The URL you provide to redirect the customer to after they authenticated their payment. """ status: str """ The status of the redirect, either `pending` (ready to be used by your customer to authenticate the transaction), `succeeded` (successful authentication, cannot be reused) or `not_required` (redirect should not be used) or `failed` (failed authentication, cannot be reused). """ url: str """ The URL provided to you to redirect a customer to as part of a `redirect` authentication flow. """ class SepaCreditTransfer(StripeObject): bank_name: Optional[str] bic: Optional[str] iban: Optional[str] refund_account_holder_address_city: Optional[str] refund_account_holder_address_country: Optional[str] refund_account_holder_address_line1: Optional[str] refund_account_holder_address_line2: Optional[str] refund_account_holder_address_postal_code: Optional[str] refund_account_holder_address_state: Optional[str] refund_account_holder_name: Optional[str] refund_iban: Optional[str] class SepaDebit(StripeObject): bank_code: Optional[str] branch_code: Optional[str] country: Optional[str] fingerprint: Optional[str] last4: Optional[str] mandate_reference: Optional[str] mandate_url: Optional[str] class Sofort(StripeObject): bank_code: Optional[str] bank_name: Optional[str] bic: Optional[str] country: Optional[str] iban_last4: Optional[str] preferred_language: Optional[str] statement_descriptor: Optional[str] class SourceOrder(StripeObject): class Item(StripeObject): amount: Optional[int] """ The amount (price) for this order item. """ currency: Optional[str] """ This currency of this order item. Required when `amount` is present. """ description: Optional[str] """ Human-readable description for this order item. """ parent: Optional[str] """ The ID of the associated object for this line item. Expandable if not null (e.g., expandable to a SKU). """ quantity: Optional[int] """ The quantity of this order item. When type is `sku`, this is the number of instances of the SKU to be ordered. """ type: Optional[str] """ The type of this order item. Must be `sku`, `tax`, or `shipping`. """ class Shipping(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Optional[Address] carrier: Optional[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: Optional[str] """ Recipient name. """ phone: Optional[str] """ Recipient phone (including extension). """ tracking_number: Optional[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ _inner_class_types = {"address": Address} amount: int """ A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the order. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ email: Optional[str] """ The email address of the customer placing the order. """ items: Optional[List[Item]] """ List of items constituting the order. """ shipping: Optional[Shipping] _inner_class_types = {"items": Item, "shipping": Shipping} class ThreeDSecure(StripeObject): address_line1_check: Optional[str] address_zip_check: Optional[str] authenticated: Optional[bool] brand: Optional[str] card: Optional[str] country: Optional[str] customer: Optional[str] cvc_check: Optional[str] description: Optional[str] dynamic_last4: Optional[str] exp_month: Optional[int] exp_year: Optional[int] fingerprint: Optional[str] funding: Optional[str] iin: Optional[str] issuer: Optional[str] last4: Optional[str] name: Optional[str] three_d_secure: Optional[str] tokenization_method: Optional[str] class Wechat(StripeObject): prepay_id: Optional[str] qr_code_url: Optional[str] statement_descriptor: Optional[str] ach_credit_transfer: Optional[AchCreditTransfer] ach_debit: Optional[AchDebit] acss_debit: Optional[AcssDebit] alipay: Optional[Alipay] allow_redisplay: Optional[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”. """ amount: Optional[int] """ A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single_use` sources. """ au_becs_debit: Optional[AuBecsDebit] bancontact: Optional[Bancontact] card: Optional[Card] card_present: Optional[CardPresent] client_secret: str """ The client secret of the source. Used for client-side retrieval using a publishable key. """ code_verification: Optional[CodeVerification] created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: Optional[str] """ Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready. Required for `single_use` sources. """ customer: Optional[str] """ The ID of the customer to which this source is attached. This will not be present when the source has not been attached to a customer. """ eps: Optional[Eps] flow: str """ The authentication `flow` of the source. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`. """ giropay: Optional[Giropay] id: str """ Unique identifier for the object. """ ideal: Optional[Ideal] klarna: Optional[Klarna] livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ multibanco: Optional[Multibanco] object: Literal["source"] """ String representing the object's type. Objects of the same type share the same value. """ owner: Optional[Owner] """ Information about the owner of the payment instrument that may be used or required by particular source types. """ p24: Optional[P24] receiver: Optional[Receiver] redirect: Optional[Redirect] sepa_credit_transfer: Optional[SepaCreditTransfer] sepa_debit: Optional[SepaDebit] sofort: Optional[Sofort] source_order: Optional[SourceOrder] statement_descriptor: Optional[str] """ Extra information about a source. This will appear on your customer's statement every time you charge the source. """ status: str """ The status of the source, one of `canceled`, `chargeable`, `consumed`, `failed`, or `pending`. Only `chargeable` sources can be used to create a charge. """ three_d_secure: Optional[ThreeDSecure] type: Literal[ "ach_credit_transfer", "ach_debit", "acss_debit", "alipay", "au_becs_debit", "bancontact", "card", "card_present", "eps", "giropay", "ideal", "klarna", "multibanco", "p24", "sepa_credit_transfer", "sepa_debit", "sofort", "three_d_secure", "wechat", ] """ The `type` of the source. The `type` is a payment method, one of `ach_credit_transfer`, `ach_debit`, `alipay`, `bancontact`, `card`, `card_present`, `eps`, `giropay`, `ideal`, `multibanco`, `klarna`, `p24`, `sepa_debit`, `sofort`, `three_d_secure`, or `wechat`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https://stripe.com/docs/sources) used. """ usage: Optional[str] """ Either `reusable` or `single_use`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned. """ wechat: Optional[Wechat] @classmethod def create(cls, **params: Unpack["SourceCreateParams"]) -> "Source": """ Creates a new source object. """ return cast( "Source", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["SourceCreateParams"] ) -> "Source": """ Creates a new source object. """ return cast( "Source", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_list_source_transactions( cls, source: str, **params: Unpack["SourceListSourceTransactionsParams"], ) -> ListObject["SourceTransaction"]: """ List source transactions for a given source. """ return cast( ListObject["SourceTransaction"], cls._static_request( "get", "/v1/sources/{source}/source_transactions".format( source=sanitize_id(source) ), params=params, ), ) @overload @staticmethod def list_source_transactions( source: str, **params: Unpack["SourceListSourceTransactionsParams"] ) -> ListObject["SourceTransaction"]: """ List source transactions for a given source. """ ... @overload def list_source_transactions( self, **params: Unpack["SourceListSourceTransactionsParams"] ) -> ListObject["SourceTransaction"]: """ List source transactions for a given source. """ ... @class_method_variant("_cls_list_source_transactions") def list_source_transactions( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SourceListSourceTransactionsParams"] ) -> ListObject["SourceTransaction"]: """ List source transactions for a given source. """ return cast( ListObject["SourceTransaction"], self._request( "get", "/v1/sources/{source}/source_transactions".format( source=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_list_source_transactions_async( cls, source: str, **params: Unpack["SourceListSourceTransactionsParams"], ) -> ListObject["SourceTransaction"]: """ List source transactions for a given source. """ return cast( ListObject["SourceTransaction"], await cls._static_request_async( "get", "/v1/sources/{source}/source_transactions".format( source=sanitize_id(source) ), params=params, ), ) @overload @staticmethod async def list_source_transactions_async( source: str, **params: Unpack["SourceListSourceTransactionsParams"] ) -> ListObject["SourceTransaction"]: """ List source transactions for a given source. """ ... @overload async def list_source_transactions_async( self, **params: Unpack["SourceListSourceTransactionsParams"] ) -> ListObject["SourceTransaction"]: """ List source transactions for a given source. """ ... @class_method_variant("_cls_list_source_transactions_async") async def list_source_transactions_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SourceListSourceTransactionsParams"] ) -> ListObject["SourceTransaction"]: """ List source transactions for a given source. """ return cast( ListObject["SourceTransaction"], await self._request_async( "get", "/v1/sources/{source}/source_transactions".format( source=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def modify( cls, id: str, **params: Unpack["SourceModifyParams"] ) -> "Source": """ Updates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts the metadata and owner as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our [payment method guides](https://docs.stripe.com/docs/sources) for more detail. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Source", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["SourceModifyParams"] ) -> "Source": """ Updates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts the metadata and owner as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our [payment method guides](https://docs.stripe.com/docs/sources) for more detail. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Source", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["SourceRetrieveParams"] ) -> "Source": """ Retrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["SourceRetrieveParams"] ) -> "Source": """ Retrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def _cls_verify( cls, source: str, **params: Unpack["SourceVerifyParams"] ) -> "Source": """ Verify a given source. """ return cast( "Source", cls._static_request( "post", "/v1/sources/{source}/verify".format( source=sanitize_id(source) ), params=params, ), ) @overload @staticmethod def verify( source: str, **params: Unpack["SourceVerifyParams"] ) -> "Source": """ Verify a given source. """ ... @overload def verify(self, **params: Unpack["SourceVerifyParams"]) -> "Source": """ Verify a given source. """ ... @class_method_variant("_cls_verify") def verify( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SourceVerifyParams"] ) -> "Source": """ Verify a given source. """ return cast( "Source", self._request( "post", "/v1/sources/{source}/verify".format( source=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_verify_async( cls, source: str, **params: Unpack["SourceVerifyParams"] ) -> "Source": """ Verify a given source. """ return cast( "Source", await cls._static_request_async( "post", "/v1/sources/{source}/verify".format( source=sanitize_id(source) ), params=params, ), ) @overload @staticmethod async def verify_async( source: str, **params: Unpack["SourceVerifyParams"] ) -> "Source": """ Verify a given source. """ ... @overload async def verify_async( self, **params: Unpack["SourceVerifyParams"] ) -> "Source": """ Verify a given source. """ ... @class_method_variant("_cls_verify_async") async def verify_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SourceVerifyParams"] ) -> "Source": """ Verify a given source. """ return cast( "Source", await self._request_async( "post", "/v1/sources/{source}/verify".format( source=sanitize_id(self.get("id")) ), params=params, ), ) def detach(self, **params) -> "Source": token = self.id if hasattr(self, "customer") and self.customer: extn = sanitize_id(token) customer = self.customer base = Customer.class_url() owner_extn = sanitize_id(customer) url = "%s/%s/sources/%s" % (base, owner_extn, extn) self._request_and_refresh("delete", url, params) return cast("Source", self) else: raise InvalidRequestError( "Source %s does not appear to be currently attached " "to a customer object." % token, "id", ) _inner_class_types = { "ach_credit_transfer": AchCreditTransfer, "ach_debit": AchDebit, "acss_debit": AcssDebit, "alipay": Alipay, "au_becs_debit": AuBecsDebit, "bancontact": Bancontact, "card": Card, "card_present": CardPresent, "code_verification": CodeVerification, "eps": Eps, "giropay": Giropay, "ideal": Ideal, "klarna": Klarna, "multibanco": Multibanco, "owner": Owner, "p24": P24, "receiver": Receiver, "redirect": Redirect, "sepa_credit_transfer": SepaCreditTransfer, "sepa_debit": SepaDebit, "sofort": Sofort, "source_order": SourceOrder, "three_d_secure": ThreeDSecure, "wechat": Wechat, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.331062 stripe-13.2.0/stripe/_source_mandate_notification.py0000644000000000000000000000703015102753431017610 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar, Optional from typing_extensions import Literal, TYPE_CHECKING if TYPE_CHECKING: from stripe._source import Source class SourceMandateNotification(StripeObject): """ Source mandate notifications should be created when a notification related to a source mandate must be sent to the payer. They will trigger a webhook or deliver an email to the customer. """ OBJECT_NAME: ClassVar[Literal["source_mandate_notification"]] = ( "source_mandate_notification" ) class AcssDebit(StripeObject): statement_descriptor: Optional[str] """ The statement descriptor associate with the debit. """ class BacsDebit(StripeObject): last4: Optional[str] """ Last 4 digits of the account number associated with the debit. """ class SepaDebit(StripeObject): creditor_identifier: Optional[str] """ SEPA creditor ID. """ last4: Optional[str] """ Last 4 digits of the account number associated with the debit. """ mandate_reference: Optional[str] """ Mandate reference associated with the debit. """ acss_debit: Optional[AcssDebit] amount: Optional[int] """ A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the amount associated with the mandate notification. The amount is expressed in the currency of the underlying source. Required if the notification type is `debit_initiated`. """ bacs_debit: Optional[BacsDebit] created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["source_mandate_notification"] """ String representing the object's type. Objects of the same type share the same value. """ reason: str """ The reason of the mandate notification. Valid reasons are `mandate_confirmed` or `debit_initiated`. """ sepa_debit: Optional[SepaDebit] source: "Source" """ `Source` objects allow you to accept a variety of payment methods. They represent a customer's payment instrument, and can be used with the Stripe API just like a `Card` object: once chargeable, they can be charged, or can be attached to customers. Stripe doesn't recommend using the deprecated [Sources API](https://stripe.com/docs/api/sources). We recommend that you adopt the [PaymentMethods API](https://stripe.com/docs/api/payment_methods). This newer API provides access to our latest features and payment method types. Related guides: [Sources API](https://stripe.com/docs/sources) and [Sources & Customers](https://stripe.com/docs/sources/customers). """ status: str """ The status of the mandate notification. Valid statuses are `pending` or `submitted`. """ type: str """ The type of source this mandate notification is attached to. Should be the source type identifier code for the payment method, such as `three_d_secure`. """ _inner_class_types = { "acss_debit": AcssDebit, "bacs_debit": BacsDebit, "sepa_debit": SepaDebit, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.331062 stripe-13.2.0/stripe/_source_service.py0000644000000000000000000002044315102753431015074 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._bank_account import BankAccount from stripe._card import Card from stripe._request_options import RequestOptions from stripe._source import Source from stripe._source_transaction_service import SourceTransactionService from stripe.params._source_create_params import SourceCreateParams from stripe.params._source_detach_params import SourceDetachParams from stripe.params._source_retrieve_params import SourceRetrieveParams from stripe.params._source_update_params import SourceUpdateParams from stripe.params._source_verify_params import SourceVerifyParams from typing import Union _subservices = { "transactions": [ "stripe._source_transaction_service", "SourceTransactionService", ], } class SourceService(StripeService): transactions: "SourceTransactionService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def detach( self, customer: str, id: str, params: Optional["SourceDetachParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Union[Account, BankAccount, Card, Source]": """ Delete a specified source for a given customer. """ return cast( "Union[Account, BankAccount, Card, Source]", self._request( "delete", "/v1/customers/{customer}/sources/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def detach_async( self, customer: str, id: str, params: Optional["SourceDetachParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Union[Account, BankAccount, Card, Source]": """ Delete a specified source for a given customer. """ return cast( "Union[Account, BankAccount, Card, Source]", await self._request_async( "delete", "/v1/customers/{customer}/sources/{id}".format( customer=sanitize_id(customer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def retrieve( self, source: str, params: Optional["SourceRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Source": """ Retrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information. """ return cast( "Source", self._request( "get", "/v1/sources/{source}".format(source=sanitize_id(source)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, source: str, params: Optional["SourceRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Source": """ Retrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information. """ return cast( "Source", await self._request_async( "get", "/v1/sources/{source}".format(source=sanitize_id(source)), base_address="api", params=params, options=options, ), ) def update( self, source: str, params: Optional["SourceUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Source": """ Updates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts the metadata and owner as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our [payment method guides](https://docs.stripe.com/docs/sources) for more detail. """ return cast( "Source", self._request( "post", "/v1/sources/{source}".format(source=sanitize_id(source)), base_address="api", params=params, options=options, ), ) async def update_async( self, source: str, params: Optional["SourceUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Source": """ Updates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts the metadata and owner as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our [payment method guides](https://docs.stripe.com/docs/sources) for more detail. """ return cast( "Source", await self._request_async( "post", "/v1/sources/{source}".format(source=sanitize_id(source)), base_address="api", params=params, options=options, ), ) def create( self, params: Optional["SourceCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Source": """ Creates a new source object. """ return cast( "Source", self._request( "post", "/v1/sources", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["SourceCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Source": """ Creates a new source object. """ return cast( "Source", await self._request_async( "post", "/v1/sources", base_address="api", params=params, options=options, ), ) def verify( self, source: str, params: "SourceVerifyParams", options: Optional["RequestOptions"] = None, ) -> "Source": """ Verify a given source. """ return cast( "Source", self._request( "post", "/v1/sources/{source}/verify".format( source=sanitize_id(source), ), base_address="api", params=params, options=options, ), ) async def verify_async( self, source: str, params: "SourceVerifyParams", options: Optional["RequestOptions"] = None, ) -> "Source": """ Verify a given source. """ return cast( "Source", await self._request_async( "post", "/v1/sources/{source}/verify".format( source=sanitize_id(source), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.331062 stripe-13.2.0/stripe/_source_transaction.py0000644000000000000000000001246115102753431015762 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar, Optional from typing_extensions import Literal class SourceTransaction(StripeObject): """ Some payment methods have no required amount that a customer must send. Customers can be instructed to send any amount, and it can be made up of multiple transactions. As such, sources can have multiple associated transactions. """ OBJECT_NAME: ClassVar[Literal["source_transaction"]] = "source_transaction" class AchCreditTransfer(StripeObject): customer_data: Optional[str] """ Customer data associated with the transfer. """ fingerprint: Optional[str] """ Bank account fingerprint associated with the transfer. """ last4: Optional[str] """ Last 4 digits of the account number associated with the transfer. """ routing_number: Optional[str] """ Routing number associated with the transfer. """ class ChfCreditTransfer(StripeObject): reference: Optional[str] """ Reference associated with the transfer. """ sender_address_country: Optional[str] """ Sender's country address. """ sender_address_line1: Optional[str] """ Sender's line 1 address. """ sender_iban: Optional[str] """ Sender's bank account IBAN. """ sender_name: Optional[str] """ Sender's name. """ class GbpCreditTransfer(StripeObject): fingerprint: Optional[str] """ Bank account fingerprint associated with the Stripe owned bank account receiving the transfer. """ funding_method: Optional[str] """ The credit transfer rails the sender used to push this transfer. The possible rails are: Faster Payments, BACS, CHAPS, and wire transfers. Currently only Faster Payments is supported. """ last4: Optional[str] """ Last 4 digits of sender account number associated with the transfer. """ reference: Optional[str] """ Sender entered arbitrary information about the transfer. """ sender_account_number: Optional[str] """ Sender account number associated with the transfer. """ sender_name: Optional[str] """ Sender name associated with the transfer. """ sender_sort_code: Optional[str] """ Sender sort code associated with the transfer. """ class PaperCheck(StripeObject): available_at: Optional[str] """ Time at which the deposited funds will be available for use. Measured in seconds since the Unix epoch. """ invoices: Optional[str] """ Comma-separated list of invoice IDs associated with the paper check. """ class SepaCreditTransfer(StripeObject): reference: Optional[str] """ Reference associated with the transfer. """ sender_iban: Optional[str] """ Sender's bank account IBAN. """ sender_name: Optional[str] """ Sender's name. """ ach_credit_transfer: Optional[AchCreditTransfer] amount: int """ A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the amount your customer has pushed to the receiver. """ chf_credit_transfer: Optional[ChfCreditTransfer] created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ gbp_credit_transfer: Optional[GbpCreditTransfer] id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["source_transaction"] """ String representing the object's type. Objects of the same type share the same value. """ paper_check: Optional[PaperCheck] sepa_credit_transfer: Optional[SepaCreditTransfer] source: str """ The ID of the source this transaction is attached to. """ status: str """ The status of the transaction, one of `succeeded`, `pending`, or `failed`. """ type: Literal[ "ach_credit_transfer", "ach_debit", "alipay", "bancontact", "card", "card_present", "eps", "giropay", "ideal", "klarna", "multibanco", "p24", "sepa_debit", "sofort", "three_d_secure", "wechat", ] """ The type of source this transaction is attached to. """ _inner_class_types = { "ach_credit_transfer": AchCreditTransfer, "chf_credit_transfer": ChfCreditTransfer, "gbp_credit_transfer": GbpCreditTransfer, "paper_check": PaperCheck, "sepa_credit_transfer": SepaCreditTransfer, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.331062 stripe-13.2.0/stripe/_source_transaction_service.py0000644000000000000000000000356415102753431017506 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._source_transaction import SourceTransaction from stripe.params._source_transaction_list_params import ( SourceTransactionListParams, ) class SourceTransactionService(StripeService): def list( self, source: str, params: Optional["SourceTransactionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[SourceTransaction]": """ List source transactions for a given source. """ return cast( "ListObject[SourceTransaction]", self._request( "get", "/v1/sources/{source}/source_transactions".format( source=sanitize_id(source), ), base_address="api", params=params, options=options, ), ) async def list_async( self, source: str, params: Optional["SourceTransactionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[SourceTransaction]": """ List source transactions for a given source. """ return cast( "ListObject[SourceTransaction]", await self._request_async( "get", "/v1/sources/{source}/source_transactions".format( source=sanitize_id(source), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.331062 stripe-13.2.0/stripe/_stripe_client.py0000644000000000000000000014012715102753431014722 0ustar00# -*- coding: utf-8 -*- import json from collections import OrderedDict from stripe import ( DEFAULT_API_BASE, DEFAULT_CONNECT_API_BASE, DEFAULT_UPLOAD_API_BASE, DEFAULT_METER_EVENTS_API_BASE, ) from stripe._api_mode import ApiMode from stripe._error import AuthenticationError from stripe._request_options import extract_options_from_dict from stripe._requestor_options import RequestorOptions, BaseAddresses from stripe._client_options import _ClientOptions from stripe._http_client import ( new_default_http_client, new_http_client_async_fallback, ) from stripe._api_version import _ApiVersion from stripe._stripe_object import StripeObject from stripe._stripe_response import StripeResponse from stripe._util import _convert_to_stripe_object, get_api_mode, deprecated # noqa: F401 from stripe._webhook import Webhook, WebhookSignature from stripe._event import Event from stripe.v2.core._event import EventNotification from typing import Any, Dict, Optional, Union, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._stripe_context import StripeContext from stripe._http_client import HTTPClient # Non-generated services from stripe._oauth_service import OAuthService from stripe._v1_services import V1Services from stripe._v2_services import V2Services # service-types: The beginning of the section generated from our OpenAPI spec if TYPE_CHECKING: from stripe._account_service import AccountService from stripe._account_link_service import AccountLinkService from stripe._account_session_service import AccountSessionService from stripe._apple_pay_domain_service import ApplePayDomainService from stripe._application_fee_service import ApplicationFeeService from stripe._apps_service import AppsService from stripe._balance_service import BalanceService from stripe._balance_settings_service import BalanceSettingsService from stripe._balance_transaction_service import BalanceTransactionService from stripe._billing_service import BillingService from stripe._billing_portal_service import BillingPortalService from stripe._charge_service import ChargeService from stripe._checkout_service import CheckoutService from stripe._climate_service import ClimateService from stripe._confirmation_token_service import ConfirmationTokenService from stripe._country_spec_service import CountrySpecService from stripe._coupon_service import CouponService from stripe._credit_note_service import CreditNoteService from stripe._customer_service import CustomerService from stripe._customer_session_service import CustomerSessionService from stripe._dispute_service import DisputeService from stripe._entitlements_service import EntitlementsService from stripe._ephemeral_key_service import EphemeralKeyService from stripe._event_service import EventService from stripe._exchange_rate_service import ExchangeRateService from stripe._file_service import FileService from stripe._file_link_service import FileLinkService from stripe._financial_connections_service import ( FinancialConnectionsService, ) from stripe._forwarding_service import ForwardingService from stripe._identity_service import IdentityService from stripe._invoice_service import InvoiceService from stripe._invoice_item_service import InvoiceItemService from stripe._invoice_payment_service import InvoicePaymentService from stripe._invoice_rendering_template_service import ( InvoiceRenderingTemplateService, ) from stripe._issuing_service import IssuingService from stripe._mandate_service import MandateService from stripe._payment_attempt_record_service import ( PaymentAttemptRecordService, ) from stripe._payment_intent_service import PaymentIntentService from stripe._payment_link_service import PaymentLinkService from stripe._payment_method_service import PaymentMethodService from stripe._payment_method_configuration_service import ( PaymentMethodConfigurationService, ) from stripe._payment_method_domain_service import ( PaymentMethodDomainService, ) from stripe._payment_record_service import PaymentRecordService from stripe._payout_service import PayoutService from stripe._plan_service import PlanService from stripe._price_service import PriceService from stripe._product_service import ProductService from stripe._promotion_code_service import PromotionCodeService from stripe._quote_service import QuoteService from stripe._radar_service import RadarService from stripe._refund_service import RefundService from stripe._reporting_service import ReportingService from stripe._review_service import ReviewService from stripe._setup_attempt_service import SetupAttemptService from stripe._setup_intent_service import SetupIntentService from stripe._shipping_rate_service import ShippingRateService from stripe._sigma_service import SigmaService from stripe._source_service import SourceService from stripe._subscription_service import SubscriptionService from stripe._subscription_item_service import SubscriptionItemService from stripe._subscription_schedule_service import ( SubscriptionScheduleService, ) from stripe._tax_service import TaxService from stripe._tax_code_service import TaxCodeService from stripe._tax_id_service import TaxIdService from stripe._tax_rate_service import TaxRateService from stripe._terminal_service import TerminalService from stripe._test_helpers_service import TestHelpersService from stripe._token_service import TokenService from stripe._topup_service import TopupService from stripe._transfer_service import TransferService from stripe._treasury_service import TreasuryService from stripe._webhook_endpoint_service import WebhookEndpointService # service-types: The end of the section generated from our OpenAPI spec if TYPE_CHECKING: from stripe.events._event_classes import ALL_EVENT_NOTIFICATIONS class StripeClient(object): def __init__( self, api_key: str, *, stripe_account: Optional[str] = None, stripe_context: "Optional[Union[str, StripeContext]]" = None, stripe_version: Optional[str] = None, base_addresses: Optional[BaseAddresses] = None, client_id: Optional[str] = None, verify_ssl_certs: bool = True, proxy: Optional[str] = None, max_network_retries: Optional[int] = None, http_client: Optional["HTTPClient"] = None, ): # The types forbid this, but let's give users without types a friendly error. if api_key is None: # pyright: ignore[reportUnnecessaryComparison] raise AuthenticationError( "No API key provided. (HINT: set your API key using " '"client = stripe.StripeClient()"). You can ' "generate API keys from the Stripe web interface. " "See https://stripe.com/api for details, or email " "support@stripe.com if you have any questions." ) if http_client and (proxy or verify_ssl_certs is not True): raise ValueError( "You cannot specify `proxy` or `verify_ssl_certs` when passing " "in a custom `http_client`. Please set these values on your " "custom `http_client` instead." ) # Default to stripe.DEFAULT_API_BASE, stripe.DEFAULT_CONNECT_API_BASE, # and stripe.DEFAULT_UPLOAD_API_BASE if not set in base_addresses. base_addresses = { "api": DEFAULT_API_BASE, "connect": DEFAULT_CONNECT_API_BASE, "files": DEFAULT_UPLOAD_API_BASE, "meter_events": DEFAULT_METER_EVENTS_API_BASE, **(base_addresses or {}), } requestor_options = RequestorOptions( api_key=api_key, stripe_account=stripe_account, stripe_context=stripe_context, stripe_version=stripe_version or _ApiVersion.CURRENT, base_addresses=base_addresses, max_network_retries=max_network_retries, ) if http_client is None: http_client = new_default_http_client( async_fallback_client=new_http_client_async_fallback( proxy=proxy, verify_ssl_certs=verify_ssl_certs ), proxy=proxy, verify_ssl_certs=verify_ssl_certs, ) from stripe._api_requestor import _APIRequestor self._requestor = _APIRequestor( options=requestor_options, client=http_client, ) self._options = _ClientOptions( client_id=client_id, proxy=proxy, verify_ssl_certs=verify_ssl_certs, ) self.oauth = OAuthService(self._requestor, self._options) # top-level services: The beginning of the section generated from our OpenAPI spec self.v1 = V1Services(self._requestor) self.v2 = V2Services(self._requestor) # top-level services: The end of the section generated from our OpenAPI spec def parse_event_notification( self, raw: Union[bytes, str, bytearray], sig_header: str, secret: str, tolerance: int = Webhook.DEFAULT_TOLERANCE, ) -> "ALL_EVENT_NOTIFICATIONS": """ This should be your main method for interacting with `EventNotifications`. It's the V2 equivalent of `construct_event()`, but with better typing support. It returns a union representing all known `EventNotification` classes. They have a `type` property that can be used for narrowing, which will get you very specific type support. If parsing an event the SDK isn't familiar with, it'll instead return `UnknownEventNotification`. That's not reflected in the return type of the function (because it messes up type narrowing) but is otherwise intended. """ payload = ( cast(Union[bytes, bytearray], raw).decode("utf-8") if hasattr(raw, "decode") else cast(str, raw) ) WebhookSignature.verify_header(payload, sig_header, secret, tolerance) return cast( "ALL_EVENT_NOTIFICATIONS", EventNotification.from_json(payload, self), ) def construct_event( self, payload: Union[bytes, str], sig_header: str, secret: str, tolerance: int = Webhook.DEFAULT_TOLERANCE, ) -> Event: if hasattr(payload, "decode"): payload = cast(bytes, payload).decode("utf-8") WebhookSignature.verify_header(payload, sig_header, secret, tolerance) data = json.loads(payload, object_pairs_hook=OrderedDict) event = Event._construct_from( values=data, requestor=self._requestor, api_mode="V1", ) return event def raw_request(self, method_: str, url_: str, **params): params = params.copy() options, params = extract_options_from_dict(params) api_mode = get_api_mode(url_) base_address = params.pop("base", "api") # we manually pass usage in event internals, so use those if available usage = params.pop("usage", ["raw_request"]) rbody, rcode, rheaders = self._requestor.request_raw( method_, url_, params=params, options=options, base_address=base_address, api_mode=api_mode, usage=usage, ) return self._requestor._interpret_response( rbody, rcode, rheaders, api_mode ) async def raw_request_async(self, method_: str, url_: str, **params): params = params.copy() options, params = extract_options_from_dict(params) api_mode = get_api_mode(url_) base_address = params.pop("base", "api") rbody, rcode, rheaders = await self._requestor.request_raw_async( method_, url_, params=params, options=options, base_address=base_address, api_mode=api_mode, usage=["raw_request"], ) return self._requestor._interpret_response( rbody, rcode, rheaders, api_mode ) def deserialize( self, resp: Union[StripeResponse, Dict[str, Any]], params: Optional[Dict[str, Any]] = None, *, api_mode: ApiMode, ) -> StripeObject: """ Used to translate the result of a `raw_request` into a StripeObject. """ return _convert_to_stripe_object( resp=resp, params=params, requestor=self._requestor, api_mode=api_mode, ) # deprecated v1 services: The beginning of the section generated from our OpenAPI spec @property @deprecated( """ StripeClient.accounts is deprecated, use StripeClient.v1.accounts instead. All functionality under it has been copied over to StripeClient.v1.accounts. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def accounts(self) -> "AccountService": return self.v1.accounts @property @deprecated( """ StripeClient.account_links is deprecated, use StripeClient.v1.account_links instead. All functionality under it has been copied over to StripeClient.v1.account_links. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def account_links(self) -> "AccountLinkService": return self.v1.account_links @property @deprecated( """ StripeClient.account_sessions is deprecated, use StripeClient.v1.account_sessions instead. All functionality under it has been copied over to StripeClient.v1.account_sessions. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def account_sessions(self) -> "AccountSessionService": return self.v1.account_sessions @property @deprecated( """ StripeClient.apple_pay_domains is deprecated, use StripeClient.v1.apple_pay_domains instead. All functionality under it has been copied over to StripeClient.v1.apple_pay_domains. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def apple_pay_domains(self) -> "ApplePayDomainService": return self.v1.apple_pay_domains @property @deprecated( """ StripeClient.application_fees is deprecated, use StripeClient.v1.application_fees instead. All functionality under it has been copied over to StripeClient.v1.application_fees. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def application_fees(self) -> "ApplicationFeeService": return self.v1.application_fees @property @deprecated( """ StripeClient.apps is deprecated, use StripeClient.v1.apps instead. All functionality under it has been copied over to StripeClient.v1.apps. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def apps(self) -> "AppsService": return self.v1.apps @property @deprecated( """ StripeClient.balance is deprecated, use StripeClient.v1.balance instead. All functionality under it has been copied over to StripeClient.v1.balance. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def balance(self) -> "BalanceService": return self.v1.balance @property @deprecated( """ StripeClient.balance_settings is deprecated, use StripeClient.v1.balance_settings instead. All functionality under it has been copied over to StripeClient.v1.balance_settings. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def balance_settings(self) -> "BalanceSettingsService": return self.v1.balance_settings @property @deprecated( """ StripeClient.balance_transactions is deprecated, use StripeClient.v1.balance_transactions instead. All functionality under it has been copied over to StripeClient.v1.balance_transactions. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def balance_transactions(self) -> "BalanceTransactionService": return self.v1.balance_transactions @property @deprecated( """ StripeClient.billing is deprecated, use StripeClient.v1.billing instead. All functionality under it has been copied over to StripeClient.v1.billing. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def billing(self) -> "BillingService": return self.v1.billing @property @deprecated( """ StripeClient.billing_portal is deprecated, use StripeClient.v1.billing_portal instead. All functionality under it has been copied over to StripeClient.v1.billing_portal. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def billing_portal(self) -> "BillingPortalService": return self.v1.billing_portal @property @deprecated( """ StripeClient.charges is deprecated, use StripeClient.v1.charges instead. All functionality under it has been copied over to StripeClient.v1.charges. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def charges(self) -> "ChargeService": return self.v1.charges @property @deprecated( """ StripeClient.checkout is deprecated, use StripeClient.v1.checkout instead. All functionality under it has been copied over to StripeClient.v1.checkout. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def checkout(self) -> "CheckoutService": return self.v1.checkout @property @deprecated( """ StripeClient.climate is deprecated, use StripeClient.v1.climate instead. All functionality under it has been copied over to StripeClient.v1.climate. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def climate(self) -> "ClimateService": return self.v1.climate @property @deprecated( """ StripeClient.confirmation_tokens is deprecated, use StripeClient.v1.confirmation_tokens instead. All functionality under it has been copied over to StripeClient.v1.confirmation_tokens. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def confirmation_tokens(self) -> "ConfirmationTokenService": return self.v1.confirmation_tokens @property @deprecated( """ StripeClient.country_specs is deprecated, use StripeClient.v1.country_specs instead. All functionality under it has been copied over to StripeClient.v1.country_specs. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def country_specs(self) -> "CountrySpecService": return self.v1.country_specs @property @deprecated( """ StripeClient.coupons is deprecated, use StripeClient.v1.coupons instead. All functionality under it has been copied over to StripeClient.v1.coupons. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def coupons(self) -> "CouponService": return self.v1.coupons @property @deprecated( """ StripeClient.credit_notes is deprecated, use StripeClient.v1.credit_notes instead. All functionality under it has been copied over to StripeClient.v1.credit_notes. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def credit_notes(self) -> "CreditNoteService": return self.v1.credit_notes @property @deprecated( """ StripeClient.customers is deprecated, use StripeClient.v1.customers instead. All functionality under it has been copied over to StripeClient.v1.customers. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def customers(self) -> "CustomerService": return self.v1.customers @property @deprecated( """ StripeClient.customer_sessions is deprecated, use StripeClient.v1.customer_sessions instead. All functionality under it has been copied over to StripeClient.v1.customer_sessions. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def customer_sessions(self) -> "CustomerSessionService": return self.v1.customer_sessions @property @deprecated( """ StripeClient.disputes is deprecated, use StripeClient.v1.disputes instead. All functionality under it has been copied over to StripeClient.v1.disputes. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def disputes(self) -> "DisputeService": return self.v1.disputes @property @deprecated( """ StripeClient.entitlements is deprecated, use StripeClient.v1.entitlements instead. All functionality under it has been copied over to StripeClient.v1.entitlements. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def entitlements(self) -> "EntitlementsService": return self.v1.entitlements @property @deprecated( """ StripeClient.ephemeral_keys is deprecated, use StripeClient.v1.ephemeral_keys instead. All functionality under it has been copied over to StripeClient.v1.ephemeral_keys. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def ephemeral_keys(self) -> "EphemeralKeyService": return self.v1.ephemeral_keys @property @deprecated( """ StripeClient.events is deprecated, use StripeClient.v1.events instead. All functionality under it has been copied over to StripeClient.v1.events. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def events(self) -> "EventService": return self.v1.events @property @deprecated( """ StripeClient.exchange_rates is deprecated, use StripeClient.v1.exchange_rates instead. All functionality under it has been copied over to StripeClient.v1.exchange_rates. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def exchange_rates(self) -> "ExchangeRateService": return self.v1.exchange_rates @property @deprecated( """ StripeClient.files is deprecated, use StripeClient.v1.files instead. All functionality under it has been copied over to StripeClient.v1.files. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def files(self) -> "FileService": return self.v1.files @property @deprecated( """ StripeClient.file_links is deprecated, use StripeClient.v1.file_links instead. All functionality under it has been copied over to StripeClient.v1.file_links. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def file_links(self) -> "FileLinkService": return self.v1.file_links @property @deprecated( """ StripeClient.financial_connections is deprecated, use StripeClient.v1.financial_connections instead. All functionality under it has been copied over to StripeClient.v1.financial_connections. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def financial_connections(self) -> "FinancialConnectionsService": return self.v1.financial_connections @property @deprecated( """ StripeClient.forwarding is deprecated, use StripeClient.v1.forwarding instead. All functionality under it has been copied over to StripeClient.v1.forwarding. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def forwarding(self) -> "ForwardingService": return self.v1.forwarding @property @deprecated( """ StripeClient.identity is deprecated, use StripeClient.v1.identity instead. All functionality under it has been copied over to StripeClient.v1.identity. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def identity(self) -> "IdentityService": return self.v1.identity @property @deprecated( """ StripeClient.invoices is deprecated, use StripeClient.v1.invoices instead. All functionality under it has been copied over to StripeClient.v1.invoices. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def invoices(self) -> "InvoiceService": return self.v1.invoices @property @deprecated( """ StripeClient.invoice_items is deprecated, use StripeClient.v1.invoice_items instead. All functionality under it has been copied over to StripeClient.v1.invoice_items. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def invoice_items(self) -> "InvoiceItemService": return self.v1.invoice_items @property @deprecated( """ StripeClient.invoice_payments is deprecated, use StripeClient.v1.invoice_payments instead. All functionality under it has been copied over to StripeClient.v1.invoice_payments. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def invoice_payments(self) -> "InvoicePaymentService": return self.v1.invoice_payments @property @deprecated( """ StripeClient.invoice_rendering_templates is deprecated, use StripeClient.v1.invoice_rendering_templates instead. All functionality under it has been copied over to StripeClient.v1.invoice_rendering_templates. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def invoice_rendering_templates(self) -> "InvoiceRenderingTemplateService": return self.v1.invoice_rendering_templates @property @deprecated( """ StripeClient.issuing is deprecated, use StripeClient.v1.issuing instead. All functionality under it has been copied over to StripeClient.v1.issuing. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def issuing(self) -> "IssuingService": return self.v1.issuing @property @deprecated( """ StripeClient.mandates is deprecated, use StripeClient.v1.mandates instead. All functionality under it has been copied over to StripeClient.v1.mandates. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def mandates(self) -> "MandateService": return self.v1.mandates @property @deprecated( """ StripeClient.payment_attempt_records is deprecated, use StripeClient.v1.payment_attempt_records instead. All functionality under it has been copied over to StripeClient.v1.payment_attempt_records. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def payment_attempt_records(self) -> "PaymentAttemptRecordService": return self.v1.payment_attempt_records @property @deprecated( """ StripeClient.payment_intents is deprecated, use StripeClient.v1.payment_intents instead. All functionality under it has been copied over to StripeClient.v1.payment_intents. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def payment_intents(self) -> "PaymentIntentService": return self.v1.payment_intents @property @deprecated( """ StripeClient.payment_links is deprecated, use StripeClient.v1.payment_links instead. All functionality under it has been copied over to StripeClient.v1.payment_links. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def payment_links(self) -> "PaymentLinkService": return self.v1.payment_links @property @deprecated( """ StripeClient.payment_methods is deprecated, use StripeClient.v1.payment_methods instead. All functionality under it has been copied over to StripeClient.v1.payment_methods. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def payment_methods(self) -> "PaymentMethodService": return self.v1.payment_methods @property @deprecated( """ StripeClient.payment_method_configurations is deprecated, use StripeClient.v1.payment_method_configurations instead. All functionality under it has been copied over to StripeClient.v1.payment_method_configurations. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def payment_method_configurations( self, ) -> "PaymentMethodConfigurationService": return self.v1.payment_method_configurations @property @deprecated( """ StripeClient.payment_method_domains is deprecated, use StripeClient.v1.payment_method_domains instead. All functionality under it has been copied over to StripeClient.v1.payment_method_domains. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def payment_method_domains(self) -> "PaymentMethodDomainService": return self.v1.payment_method_domains @property @deprecated( """ StripeClient.payment_records is deprecated, use StripeClient.v1.payment_records instead. All functionality under it has been copied over to StripeClient.v1.payment_records. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def payment_records(self) -> "PaymentRecordService": return self.v1.payment_records @property @deprecated( """ StripeClient.payouts is deprecated, use StripeClient.v1.payouts instead. All functionality under it has been copied over to StripeClient.v1.payouts. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def payouts(self) -> "PayoutService": return self.v1.payouts @property @deprecated( """ StripeClient.plans is deprecated, use StripeClient.v1.plans instead. All functionality under it has been copied over to StripeClient.v1.plans. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def plans(self) -> "PlanService": return self.v1.plans @property @deprecated( """ StripeClient.prices is deprecated, use StripeClient.v1.prices instead. All functionality under it has been copied over to StripeClient.v1.prices. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def prices(self) -> "PriceService": return self.v1.prices @property @deprecated( """ StripeClient.products is deprecated, use StripeClient.v1.products instead. All functionality under it has been copied over to StripeClient.v1.products. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def products(self) -> "ProductService": return self.v1.products @property @deprecated( """ StripeClient.promotion_codes is deprecated, use StripeClient.v1.promotion_codes instead. All functionality under it has been copied over to StripeClient.v1.promotion_codes. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def promotion_codes(self) -> "PromotionCodeService": return self.v1.promotion_codes @property @deprecated( """ StripeClient.quotes is deprecated, use StripeClient.v1.quotes instead. All functionality under it has been copied over to StripeClient.v1.quotes. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def quotes(self) -> "QuoteService": return self.v1.quotes @property @deprecated( """ StripeClient.radar is deprecated, use StripeClient.v1.radar instead. All functionality under it has been copied over to StripeClient.v1.radar. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def radar(self) -> "RadarService": return self.v1.radar @property @deprecated( """ StripeClient.refunds is deprecated, use StripeClient.v1.refunds instead. All functionality under it has been copied over to StripeClient.v1.refunds. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def refunds(self) -> "RefundService": return self.v1.refunds @property @deprecated( """ StripeClient.reporting is deprecated, use StripeClient.v1.reporting instead. All functionality under it has been copied over to StripeClient.v1.reporting. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def reporting(self) -> "ReportingService": return self.v1.reporting @property @deprecated( """ StripeClient.reviews is deprecated, use StripeClient.v1.reviews instead. All functionality under it has been copied over to StripeClient.v1.reviews. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def reviews(self) -> "ReviewService": return self.v1.reviews @property @deprecated( """ StripeClient.setup_attempts is deprecated, use StripeClient.v1.setup_attempts instead. All functionality under it has been copied over to StripeClient.v1.setup_attempts. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def setup_attempts(self) -> "SetupAttemptService": return self.v1.setup_attempts @property @deprecated( """ StripeClient.setup_intents is deprecated, use StripeClient.v1.setup_intents instead. All functionality under it has been copied over to StripeClient.v1.setup_intents. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def setup_intents(self) -> "SetupIntentService": return self.v1.setup_intents @property @deprecated( """ StripeClient.shipping_rates is deprecated, use StripeClient.v1.shipping_rates instead. All functionality under it has been copied over to StripeClient.v1.shipping_rates. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def shipping_rates(self) -> "ShippingRateService": return self.v1.shipping_rates @property @deprecated( """ StripeClient.sigma is deprecated, use StripeClient.v1.sigma instead. All functionality under it has been copied over to StripeClient.v1.sigma. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def sigma(self) -> "SigmaService": return self.v1.sigma @property @deprecated( """ StripeClient.sources is deprecated, use StripeClient.v1.sources instead. All functionality under it has been copied over to StripeClient.v1.sources. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def sources(self) -> "SourceService": return self.v1.sources @property @deprecated( """ StripeClient.subscriptions is deprecated, use StripeClient.v1.subscriptions instead. All functionality under it has been copied over to StripeClient.v1.subscriptions. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def subscriptions(self) -> "SubscriptionService": return self.v1.subscriptions @property @deprecated( """ StripeClient.subscription_items is deprecated, use StripeClient.v1.subscription_items instead. All functionality under it has been copied over to StripeClient.v1.subscription_items. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def subscription_items(self) -> "SubscriptionItemService": return self.v1.subscription_items @property @deprecated( """ StripeClient.subscription_schedules is deprecated, use StripeClient.v1.subscription_schedules instead. All functionality under it has been copied over to StripeClient.v1.subscription_schedules. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def subscription_schedules(self) -> "SubscriptionScheduleService": return self.v1.subscription_schedules @property @deprecated( """ StripeClient.tax is deprecated, use StripeClient.v1.tax instead. All functionality under it has been copied over to StripeClient.v1.tax. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def tax(self) -> "TaxService": return self.v1.tax @property @deprecated( """ StripeClient.tax_codes is deprecated, use StripeClient.v1.tax_codes instead. All functionality under it has been copied over to StripeClient.v1.tax_codes. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def tax_codes(self) -> "TaxCodeService": return self.v1.tax_codes @property @deprecated( """ StripeClient.tax_ids is deprecated, use StripeClient.v1.tax_ids instead. All functionality under it has been copied over to StripeClient.v1.tax_ids. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def tax_ids(self) -> "TaxIdService": return self.v1.tax_ids @property @deprecated( """ StripeClient.tax_rates is deprecated, use StripeClient.v1.tax_rates instead. All functionality under it has been copied over to StripeClient.v1.tax_rates. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def tax_rates(self) -> "TaxRateService": return self.v1.tax_rates @property @deprecated( """ StripeClient.terminal is deprecated, use StripeClient.v1.terminal instead. All functionality under it has been copied over to StripeClient.v1.terminal. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def terminal(self) -> "TerminalService": return self.v1.terminal @property @deprecated( """ StripeClient.test_helpers is deprecated, use StripeClient.v1.test_helpers instead. All functionality under it has been copied over to StripeClient.v1.test_helpers. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def test_helpers(self) -> "TestHelpersService": return self.v1.test_helpers @property @deprecated( """ StripeClient.tokens is deprecated, use StripeClient.v1.tokens instead. All functionality under it has been copied over to StripeClient.v1.tokens. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def tokens(self) -> "TokenService": return self.v1.tokens @property @deprecated( """ StripeClient.topups is deprecated, use StripeClient.v1.topups instead. All functionality under it has been copied over to StripeClient.v1.topups. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def topups(self) -> "TopupService": return self.v1.topups @property @deprecated( """ StripeClient.transfers is deprecated, use StripeClient.v1.transfers instead. All functionality under it has been copied over to StripeClient.v1.transfers. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def transfers(self) -> "TransferService": return self.v1.transfers @property @deprecated( """ StripeClient.treasury is deprecated, use StripeClient.v1.treasury instead. All functionality under it has been copied over to StripeClient.v1.treasury. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def treasury(self) -> "TreasuryService": return self.v1.treasury @property @deprecated( """ StripeClient.webhook_endpoints is deprecated, use StripeClient.v1.webhook_endpoints instead. All functionality under it has been copied over to StripeClient.v1.webhook_endpoints. See [migration guide](https://github.com/stripe/stripe-python/wiki/v1-namespace-in-StripeClient) for more on this and tips on migrating to the new v1 namespace. """, ) def webhook_endpoints(self) -> "WebhookEndpointService": return self.v1.webhook_endpoints # deprecated v1 services: The end of the section generated from our OpenAPI spec ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.331062 stripe-13.2.0/stripe/_stripe_context.py0000644000000000000000000000253015102753431015123 0ustar00from typing import List, Optional class StripeContext: """ The StripeContext class provides an immutable container and convenience methods for interacting with the `Stripe-Context` header. All methods return a new instance of StripeContext. You can use it whenever you're initializing a `StripeClient` or sending `stripe_context` with a request. It's also found in the `EventNotification.context` property. """ def __init__(self, segments: Optional[List[str]] = None): self._segments = segments or [] def push(self, segment: str) -> "StripeContext": return StripeContext(self._segments + [segment]) def pop(self) -> "StripeContext": if not self._segments: raise ValueError("Cannot pop from an empty StripeContext") return StripeContext(self._segments[:-1]) def __str__(self) -> str: return "/".join(self._segments) def __repr__(self) -> str: return f"StripeContext({self._segments!r})" def __eq__(self, other) -> bool: if not isinstance(other, StripeContext): return False return self._segments == other._segments @staticmethod def parse(context_str: str) -> "StripeContext": if not context_str: return StripeContext() segments = context_str.split("/") return StripeContext(segments) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.331062 stripe-13.2.0/stripe/_stripe_object.py0000644000000000000000000004720615102753431014716 0ustar00# pyright: strict import datetime import json from copy import deepcopy from typing_extensions import TYPE_CHECKING, Type, Literal, Self from typing import ( Any, Dict, List, Optional, Mapping, Set, Tuple, ClassVar, Union, cast, overload, ) # Used to break circular imports import stripe # noqa: IMP101 from stripe import _util from stripe._stripe_response import ( StripeResponse, StripeStreamResponse, StripeStreamResponseAsync, ) from stripe._encode import _encode_datetime # pyright: ignore from stripe._request_options import ( PERSISTENT_OPTIONS_KEYS, extract_options_from_dict, ) from stripe._api_mode import ApiMode from stripe._base_address import BaseAddress if TYPE_CHECKING: from stripe._api_requestor import _APIRequestor # pyright: ignore[reportPrivateUsage] @overload def _compute_diff( current: Dict[str, Any], previous: Optional[Dict[str, Any]] ) -> Dict[str, Any]: ... @overload def _compute_diff( current: object, previous: Optional[Dict[str, Any]] ) -> object: ... def _compute_diff( current: object, previous: Optional[Dict[str, Any]] ) -> object: if isinstance(current, dict): current = cast(Dict[str, Any], current) previous = previous or {} diff = current.copy() for key in set(previous.keys()) - set(diff.keys()): diff[key] = "" return diff return current if current is not None else "" def _serialize_list( array: Optional[List[Any]], previous: List[Any] ) -> Dict[str, Any]: array = array or [] previous = previous or [] params: Dict[str, Any] = {} for i, v in enumerate(array): previous_item = previous[i] if len(previous) > i else None if hasattr(v, "serialize"): params[str(i)] = v.serialize(previous_item) else: params[str(i)] = _compute_diff(v, previous_item) return params class StripeObject(Dict[str, Any]): class _ReprJSONEncoder(json.JSONEncoder): def default(self, o: Any) -> Any: if isinstance(o, datetime.datetime): return _encode_datetime(o) return super(StripeObject._ReprJSONEncoder, self).default(o) _retrieve_params: Mapping[str, Any] _previous: Optional[Mapping[str, Any]] def __init__( self, id: Optional[str] = None, api_key: Optional[str] = None, stripe_version: Optional[str] = None, stripe_account: Optional[str] = None, last_response: Optional[StripeResponse] = None, *, _requestor: Optional["_APIRequestor"] = None, # TODO: is a more specific type possible here? **params: Any, ): super(StripeObject, self).__init__() self._unsaved_values: Set[str] = set() self._transient_values: Set[str] = set() self._last_response = last_response self._retrieve_params = params self._previous = None from stripe._api_requestor import _APIRequestor # pyright: ignore[reportPrivateUsage] self._requestor = ( _APIRequestor._global_with_options( # pyright: ignore[reportPrivateUsage] api_key=api_key, stripe_version=stripe_version, stripe_account=stripe_account, ) if _requestor is None else _requestor ) if id: self["id"] = id @property def api_key(self): return self._requestor.api_key @property def stripe_account(self): return self._requestor.stripe_account @property def stripe_version(self): return self._requestor.stripe_version @property def last_response(self) -> Optional[StripeResponse]: return self._last_response # StripeObject inherits from `dict` which has an update method, and this doesn't quite match # the full signature of the update method in MutableMapping. But we ignore. def update( # pyright: ignore self, update_dict: Mapping[str, Any] ) -> None: for k in update_dict: self._unsaved_values.add(k) return super(StripeObject, self).update(update_dict) if not TYPE_CHECKING: def __setattr__(self, k, v): if k in PERSISTENT_OPTIONS_KEYS: self._requestor = self._requestor._new_requestor_with_options( {k: v} ) return None if k[0] == "_" or k in self.__dict__: return super(StripeObject, self).__setattr__(k, v) self[k] = v return None def __getattr__(self, k): if k[0] == "_": raise AttributeError(k) try: if k in self._field_remappings: k = self._field_remappings[k] return self[k] except KeyError as err: raise AttributeError(*err.args) from err def __delattr__(self, k): if k[0] == "_" or k in self.__dict__: return super(StripeObject, self).__delattr__(k) else: del self[k] def __setitem__(self, k: str, v: Any) -> None: if v == "": raise ValueError( "You cannot set %s to an empty string on this object. " "The empty string is treated specially in our requests. " "If you'd like to delete the property using the save() method on this object, you may set %s.%s=None. " "Alternatively, you can pass %s='' to delete the property when using a resource method such as modify()." % (k, str(self), k, k) ) # Allows for unpickling in Python 3.x if not hasattr(self, "_unsaved_values"): self._unsaved_values = set() self._unsaved_values.add(k) super(StripeObject, self).__setitem__(k, v) def __getitem__(self, k: str) -> Any: try: return super(StripeObject, self).__getitem__(k) except KeyError as err: if k in self._transient_values: raise KeyError( "%r. HINT: The %r attribute was set in the past." "It was then wiped when refreshing the object with " "the result returned by Stripe's API, probably as a " "result of a save(). The attributes currently " "available on this object are: %s" % (k, k, ", ".join(list(self.keys()))) ) else: raise err def __delitem__(self, k: str) -> None: super(StripeObject, self).__delitem__(k) # Allows for unpickling in Python 3.x if hasattr(self, "_unsaved_values") and k in self._unsaved_values: self._unsaved_values.remove(k) # Custom unpickling method that uses `update` to update the dictionary # without calling __setitem__, which would fail if any value is an empty # string def __setstate__(self, state: Dict[str, Any]) -> None: self.update(state) # Custom pickling method to ensure the instance is pickled as a custom # class and not as a dict, otherwise __setstate__ would not be called when # unpickling. def __reduce__(self) -> Tuple[Any, ...]: reduce_value = ( type(self), # callable ( # args self.get("id", None), self.api_key, self.stripe_version, self.stripe_account, ), dict(self), # state ) return reduce_value @classmethod def construct_from( cls, values: Dict[str, Any], key: Optional[str], stripe_version: Optional[str] = None, stripe_account: Optional[str] = None, last_response: Optional[StripeResponse] = None, *, api_mode: ApiMode = "V1", ) -> Self: from stripe._api_requestor import _APIRequestor # pyright: ignore[reportPrivateUsage] return cls._construct_from( values=values, requestor=_APIRequestor._global_with_options( # pyright: ignore[reportPrivateUsage] api_key=key, stripe_version=stripe_version, stripe_account=stripe_account, ), api_mode=api_mode, last_response=last_response, ) @classmethod def _construct_from( cls, *, values: Dict[str, Any], last_response: Optional[StripeResponse] = None, requestor: "_APIRequestor", api_mode: ApiMode, ) -> Self: instance = cls( values.get("id"), last_response=last_response, _requestor=requestor, ) instance._refresh_from( values=values, last_response=last_response, requestor=requestor, api_mode=api_mode, ) return instance def refresh_from( self, values: Dict[str, Any], api_key: Optional[str] = None, partial: Optional[bool] = False, stripe_version: Optional[str] = None, stripe_account: Optional[str] = None, last_response: Optional[StripeResponse] = None, *, api_mode: ApiMode = "V1", ) -> None: self._refresh_from( values=values, partial=partial, last_response=last_response, requestor=self._requestor._new_requestor_with_options( # pyright: ignore[reportPrivateUsage] { "api_key": api_key, "stripe_version": stripe_version, "stripe_account": stripe_account, } ), api_mode=api_mode, ) def _refresh_from( self, *, values: Dict[str, Any], partial: Optional[bool] = False, last_response: Optional[StripeResponse] = None, requestor: Optional["_APIRequestor"] = None, api_mode: ApiMode, ) -> None: self._requestor = requestor or self._requestor self._last_response = last_response or getattr( values, "_last_response", None ) # Wipe old state before setting new. This is useful for e.g. # updating a customer, where there is no persistent card # parameter. Mark those values which don't persist as transient if partial: self._unsaved_values = self._unsaved_values - set(values) else: removed = set(self.keys()) - set(values) self._transient_values = self._transient_values | removed self._unsaved_values = set() self.clear() self._transient_values = self._transient_values - set(values) for k, v in values.items(): inner_class = self._get_inner_class_type(k) is_dict = self._get_inner_class_is_beneath_dict(k) if is_dict: obj = { k: None if v is None else cast( StripeObject, _util._convert_to_stripe_object( # pyright: ignore[reportPrivateUsage] resp=v, params=None, klass_=inner_class, requestor=self._requestor, api_mode=api_mode, ), ) for k, v in v.items() } else: obj = cast( Union[StripeObject, List[StripeObject]], _util._convert_to_stripe_object( # pyright: ignore[reportPrivateUsage] resp=v, params=None, klass_=inner_class, requestor=self._requestor, api_mode=api_mode, ), ) super(StripeObject, self).__setitem__(k, obj) self._previous = values @_util.deprecated( "This will be removed in a future version of stripe-python." ) def request( self, method: Literal["get", "post", "delete"], url: str, params: Optional[Dict[str, Any]] = None, *, base_address: BaseAddress = "api", ) -> "StripeObject": return StripeObject._request( self, method, url, params=params, base_address=base_address, ) def _request( self, method: Literal["get", "post", "delete"], url: str, params: Optional[Mapping[str, Any]] = None, usage: Optional[List[str]] = None, *, base_address: BaseAddress, ) -> "StripeObject": if params is None: params = self._retrieve_params request_options, request_params = extract_options_from_dict(params) return self._requestor.request( method, url, params=request_params, options=request_options, base_address=base_address, usage=usage, ) async def _request_async( self, method: Literal["get", "post", "delete"], url: str, params: Optional[Mapping[str, Any]] = None, usage: Optional[List[str]] = None, *, base_address: BaseAddress, ) -> "StripeObject": if params is None: params = self._retrieve_params request_options, request_params = extract_options_from_dict(params) return await self._requestor.request_async( method, url, params=request_params, options=request_options, base_address=base_address, usage=usage, ) def _request_stream( self, method: str, url: str, params: Optional[Mapping[str, Any]] = None, *, base_address: BaseAddress = "api", ) -> StripeStreamResponse: if params is None: params = self._retrieve_params request_options, request_params = extract_options_from_dict(params) return self._requestor.request_stream( method, url, params=request_params, options=request_options, base_address=base_address, ) async def _request_stream_async( self, method: str, url: str, params: Optional[Mapping[str, Any]] = None, *, base_address: BaseAddress = "api", ) -> StripeStreamResponseAsync: if params is None: params = self._retrieve_params request_options, request_params = extract_options_from_dict(params) return await self._requestor.request_stream_async( method, url, params=request_params, options=request_options, base_address=base_address, ) def __repr__(self) -> str: ident_parts = [type(self).__name__] obj_str = self.get("object") if isinstance(obj_str, str): ident_parts.append(obj_str) if isinstance(self.get("id"), str): ident_parts.append("id=%s" % (self.get("id"),)) unicode_repr = "<%s at %s> JSON: %s" % ( " ".join(ident_parts), hex(id(self)), str(self), ) return unicode_repr def __str__(self) -> str: return json.dumps( self._to_dict_recursive(), sort_keys=True, indent=2, cls=self._ReprJSONEncoder, ) @_util.deprecated( "Deprecated. The public interface will be removed in a future version." ) def to_dict(self) -> Dict[str, Any]: return dict(self) def _to_dict_recursive(self) -> Dict[str, Any]: def maybe_to_dict_recursive( value: Optional[Union[StripeObject, Dict[str, Any]]], ) -> Optional[Dict[str, Any]]: if value is None: return None elif isinstance(value, StripeObject): return value._to_dict_recursive() else: return value return { key: list(map(maybe_to_dict_recursive, cast(List[Any], value))) if isinstance(value, list) else maybe_to_dict_recursive(value) for key, value in dict(self).items() } @_util.deprecated( "For internal stripe-python use only. The public interface will be removed in a future version." ) def to_dict_recursive(self) -> Dict[str, Any]: return self._to_dict_recursive() @property @_util.deprecated( "For internal stripe-python use only. The public interface will be removed in a future version." ) def stripe_id(self) -> Optional[str]: return getattr(self, "id") def serialize( self, previous: Optional[Mapping[str, Any]] ) -> Dict[str, Any]: params: Dict[str, Any] = {} unsaved_keys = self._unsaved_values or set() previous = previous or self._previous or {} for k, v in self.items(): if k == "id" or k.startswith("_"): continue elif isinstance(v, stripe.APIResource): continue elif hasattr(v, "serialize"): child = v.serialize(previous.get(k, None)) if child != {}: params[k] = child elif k in unsaved_keys: params[k] = _compute_diff(v, previous.get(k, None)) elif k == "additional_owners" and v is not None: params[k] = _serialize_list(v, previous.get(k, None)) return params # This class overrides __setitem__ to throw exceptions on inputs that it # doesn't like. This can cause problems when we try to copy an object # wholesale because some data that's returned from the API may not be valid # if it was set to be set manually. Here we override the class' copy # arguments so that we can bypass these possible exceptions on __setitem__. def __copy__(self) -> "StripeObject": copied = StripeObject( self.get("id"), self.api_key, stripe_version=self.stripe_version, stripe_account=self.stripe_account, ) copied._retrieve_params = self._retrieve_params for k, v in self.items(): # Call parent's __setitem__ to avoid checks that we've added in the # overridden version that can throw exceptions. super(StripeObject, copied).__setitem__(k, v) return copied # This class overrides __setitem__ to throw exceptions on inputs that it # doesn't like. This can cause problems when we try to copy an object # wholesale because some data that's returned from the API may not be valid # if it was set to be set manually. Here we override the class' copy # arguments so that we can bypass these possible exceptions on __setitem__. def __deepcopy__(self, memo: Dict[int, Any]) -> "StripeObject": copied = self.__copy__() memo[id(self)] = copied for k, v in self.items(): # Call parent's __setitem__ to avoid checks that we've added in the # overridden version that can throw exceptions. super(StripeObject, copied).__setitem__(k, deepcopy(v, memo)) return copied _field_remappings: ClassVar[Dict[str, str]] = {} _inner_class_types: ClassVar[Dict[str, Type["StripeObject"]]] = {} _inner_class_dicts: ClassVar[List[str]] = [] def _get_inner_class_type( self, field_name: str ) -> Optional[Type["StripeObject"]]: return self._inner_class_types.get(field_name) def _get_inner_class_is_beneath_dict(self, field_name: str): return field_name in self._inner_class_dicts ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.331062 stripe-13.2.0/stripe/_stripe_response.py0000644000000000000000000000323515102753431015300 0ustar00# pyright: strict from io import IOBase import json from collections import OrderedDict from typing import Mapping, Optional, AsyncIterable class StripeResponseBase(object): code: int headers: Mapping[str, str] def __init__(self, code: int, headers: Mapping[str, str]): self.code = code self.headers = headers @property def idempotency_key(self) -> Optional[str]: try: return self.headers["idempotency-key"] except KeyError: return None @property def request_id(self) -> Optional[str]: try: return self.headers["request-id"] except KeyError: return None class StripeResponse(StripeResponseBase): body: str data: object def __init__(self, body: str, code: int, headers: Mapping[str, str]): StripeResponseBase.__init__(self, code, headers) self.body = body self.data = json.loads(body, object_pairs_hook=OrderedDict) class StripeStreamResponse(StripeResponseBase): io: IOBase def __init__(self, io: IOBase, code: int, headers: Mapping[str, str]): StripeResponseBase.__init__(self, code, headers) self.io = io class StripeStreamResponseAsync(StripeResponseBase): _stream: AsyncIterable[bytes] def __init__( self, stream: AsyncIterable[bytes], code: int, headers: Mapping[str, str], ): StripeResponseBase.__init__(self, code, headers) self._stream = stream def stream(self) -> AsyncIterable[bytes]: return self._stream async def read_async(self) -> bytes: return b"".join([chunk async for chunk in self._stream]) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.332062 stripe-13.2.0/stripe/_stripe_service.py0000644000000000000000000000446615102753431015111 0ustar00from stripe._api_requestor import ( _APIRequestor, ) from stripe._stripe_response import ( StripeStreamResponse, StripeStreamResponseAsync, ) from stripe._stripe_object import StripeObject from stripe._request_options import RequestOptions from stripe._base_address import BaseAddress from typing import Any, Mapping, Optional class StripeService(object): _requestor: _APIRequestor def __init__(self, requestor): self._requestor = requestor def _request( self, method: str, url: str, params: Optional[Mapping[str, Any]] = None, options: Optional[RequestOptions] = None, *, base_address: BaseAddress, ) -> StripeObject: return self._requestor.request( method, url, params, options, base_address=base_address, usage=["stripe_client"], ) async def _request_async( self, method: str, url: str, params: Optional[Mapping[str, Any]] = None, options: Optional[RequestOptions] = None, *, base_address: BaseAddress, ) -> StripeObject: return await self._requestor.request_async( method, url, params, options, base_address=base_address, usage=["stripe_client"], ) def _request_stream( self, method: str, url: str, params: Optional[Mapping[str, Any]] = None, options: Optional[RequestOptions] = None, *, base_address: BaseAddress, ) -> StripeStreamResponse: return self._requestor.request_stream( method, url, params, options, base_address=base_address, usage=["stripe_client"], ) async def _request_stream_async( self, method: str, url: str, params: Optional[Mapping[str, Any]] = None, options: Optional[RequestOptions] = None, *, base_address: BaseAddress, ) -> StripeStreamResponseAsync: return await self._requestor.request_stream_async( method, url, params, options, base_address=base_address, usage=["stripe_client"], ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.332062 stripe-13.2.0/stripe/_subscription.py0000644000000000000000000021247115102753431014604 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._search_result_object import SearchResultObject from stripe._searchable_api_resource import SearchableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ( AsyncIterator, ClassVar, Dict, Iterator, List, Optional, Union, cast, overload, ) from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._application import Application from stripe._bank_account import BankAccount from stripe._card import Card as CardResource from stripe._customer import Customer from stripe._discount import Discount from stripe._invoice import Invoice from stripe._payment_method import PaymentMethod from stripe._setup_intent import SetupIntent from stripe._source import Source from stripe._subscription_item import SubscriptionItem from stripe._subscription_schedule import SubscriptionSchedule from stripe._tax_id import TaxId from stripe._tax_rate import TaxRate from stripe.params._subscription_cancel_params import ( SubscriptionCancelParams, ) from stripe.params._subscription_create_params import ( SubscriptionCreateParams, ) from stripe.params._subscription_delete_discount_params import ( SubscriptionDeleteDiscountParams, ) from stripe.params._subscription_list_params import SubscriptionListParams from stripe.params._subscription_migrate_params import ( SubscriptionMigrateParams, ) from stripe.params._subscription_modify_params import ( SubscriptionModifyParams, ) from stripe.params._subscription_resume_params import ( SubscriptionResumeParams, ) from stripe.params._subscription_retrieve_params import ( SubscriptionRetrieveParams, ) from stripe.params._subscription_search_params import ( SubscriptionSearchParams, ) from stripe.test_helpers._test_clock import TestClock class Subscription( CreateableAPIResource["Subscription"], DeletableAPIResource["Subscription"], ListableAPIResource["Subscription"], SearchableAPIResource["Subscription"], UpdateableAPIResource["Subscription"], ): """ Subscriptions allow you to charge a customer on a recurring basis. Related guide: [Creating subscriptions](https://stripe.com/docs/billing/subscriptions/creating) """ OBJECT_NAME: ClassVar[Literal["subscription"]] = "subscription" class AutomaticTax(StripeObject): class Liability(StripeObject): account: Optional[ExpandableField["Account"]] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced. """ disabled_reason: Optional[Literal["requires_location_inputs"]] """ If Stripe disabled automatic tax, this enum describes why. """ enabled: bool """ Whether Stripe automatically computes tax on this subscription. """ liability: Optional[Liability] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ _inner_class_types = {"liability": Liability} class BillingCycleAnchorConfig(StripeObject): day_of_month: int """ The day of the month of the billing_cycle_anchor. """ hour: Optional[int] """ The hour of the day of the billing_cycle_anchor. """ minute: Optional[int] """ The minute of the hour of the billing_cycle_anchor. """ month: Optional[int] """ The month to start full cycle billing periods. """ second: Optional[int] """ The second of the minute of the billing_cycle_anchor. """ class BillingMode(StripeObject): class Flexible(StripeObject): proration_discounts: Optional[Literal["included", "itemized"]] """ Controls how invoices and invoice items display proration amounts and discount amounts. """ flexible: Optional[Flexible] """ Configure behavior for flexible billing mode """ type: Literal["classic", "flexible"] """ Controls how prorations and invoices for subscriptions are calculated and orchestrated. """ updated_at: Optional[int] """ Details on when the current billing_mode was adopted. """ _inner_class_types = {"flexible": Flexible} class BillingThresholds(StripeObject): amount_gte: Optional[int] """ Monetary threshold that triggers the subscription to create an invoice """ reset_billing_cycle_anchor: Optional[bool] """ Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be `true` if the subscription contains items with plans that have `aggregate_usage=last_ever`. """ class CancellationDetails(StripeObject): comment: Optional[str] """ Additional comments about why the user canceled the subscription, if the subscription was canceled explicitly by the user. """ feedback: Optional[ Literal[ "customer_service", "low_quality", "missing_features", "other", "switched_service", "too_complex", "too_expensive", "unused", ] ] """ The customer submitted reason for why they canceled, if the subscription was canceled explicitly by the user. """ reason: Optional[ Literal[ "cancellation_requested", "payment_disputed", "payment_failed" ] ] """ Why this subscription was canceled. """ class InvoiceSettings(StripeObject): class Issuer(StripeObject): account: Optional[ExpandableField["Account"]] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced. """ account_tax_ids: Optional[List[ExpandableField["TaxId"]]] """ The account tax IDs associated with the subscription. Will be set on invoices generated by the subscription. """ issuer: Issuer _inner_class_types = {"issuer": Issuer} class PauseCollection(StripeObject): behavior: Literal["keep_as_draft", "mark_uncollectible", "void"] """ The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`. """ resumes_at: Optional[int] """ The time after which the subscription will resume collecting payments. """ class PaymentSettings(StripeObject): class PaymentMethodOptions(StripeObject): class AcssDebit(StripeObject): class MandateOptions(StripeObject): transaction_type: Optional[Literal["business", "personal"]] """ Transaction type of the mandate. """ mandate_options: Optional[MandateOptions] verification_method: Optional[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ _inner_class_types = {"mandate_options": MandateOptions} class Bancontact(StripeObject): preferred_language: Literal["de", "en", "fr", "nl"] """ Preferred language of the Bancontact authorization page that the customer is redirected to. """ class Card(StripeObject): class MandateOptions(StripeObject): amount: Optional[int] """ Amount to be charged for future payments. """ amount_type: Optional[Literal["fixed", "maximum"]] """ One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. """ description: Optional[str] """ A description of the mandate or subscription that is meant to be displayed to the customer. """ mandate_options: Optional[MandateOptions] network: Optional[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "girocard", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Selected network to process this Subscription on. Depends on the available networks of the card attached to the Subscription. Can be only set confirm-time. """ request_three_d_secure: Optional[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ _inner_class_types = {"mandate_options": MandateOptions} class CustomerBalance(StripeObject): class BankTransfer(StripeObject): class EuBankTransfer(StripeObject): country: Literal["BE", "DE", "ES", "FR", "IE", "NL"] """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ eu_bank_transfer: Optional[EuBankTransfer] type: Optional[str] """ The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. """ _inner_class_types = {"eu_bank_transfer": EuBankTransfer} bank_transfer: Optional[BankTransfer] funding_type: Optional[Literal["bank_transfer"]] """ The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. """ _inner_class_types = {"bank_transfer": BankTransfer} class Konbini(StripeObject): pass class SepaDebit(StripeObject): pass class UsBankAccount(StripeObject): class FinancialConnections(StripeObject): class Filters(StripeObject): account_subcategories: Optional[ List[Literal["checking", "savings"]] ] """ The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`. """ filters: Optional[Filters] permissions: Optional[ List[ Literal[ "balances", "ownership", "payment_method", "transactions", ] ] ] """ The list of permissions to request. The `payment_method` permission must be included. """ prefetch: Optional[ List[Literal["balances", "ownership", "transactions"]] ] """ Data features requested to be retrieved upon account creation. """ _inner_class_types = {"filters": Filters} financial_connections: Optional[FinancialConnections] verification_method: Optional[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ _inner_class_types = { "financial_connections": FinancialConnections, } acss_debit: Optional[AcssDebit] """ This sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to invoices created by the subscription. """ bancontact: Optional[Bancontact] """ This sub-hash contains details about the Bancontact payment method options to pass to invoices created by the subscription. """ card: Optional[Card] """ This sub-hash contains details about the Card payment method options to pass to invoices created by the subscription. """ customer_balance: Optional[CustomerBalance] """ This sub-hash contains details about the Bank transfer payment method options to pass to invoices created by the subscription. """ konbini: Optional[Konbini] """ This sub-hash contains details about the Konbini payment method options to pass to invoices created by the subscription. """ sepa_debit: Optional[SepaDebit] """ This sub-hash contains details about the SEPA Direct Debit payment method options to pass to invoices created by the subscription. """ us_bank_account: Optional[UsBankAccount] """ This sub-hash contains details about the ACH direct debit payment method options to pass to invoices created by the subscription. """ _inner_class_types = { "acss_debit": AcssDebit, "bancontact": Bancontact, "card": Card, "customer_balance": CustomerBalance, "konbini": Konbini, "sepa_debit": SepaDebit, "us_bank_account": UsBankAccount, } payment_method_options: Optional[PaymentMethodOptions] """ Payment-method-specific configuration to provide to invoices created by the subscription. """ payment_method_types: Optional[ List[ Literal[ "ach_credit_transfer", "ach_debit", "acss_debit", "affirm", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "boleto", "card", "cashapp", "crypto", "custom", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "jp_credit_transfer", "kakao_pay", "klarna", "konbini", "kr_card", "link", "multibanco", "naver_pay", "nz_bank_account", "p24", "payco", "paynow", "paypal", "promptpay", "revolut_pay", "sepa_credit_transfer", "sepa_debit", "sofort", "swish", "us_bank_account", "wechat_pay", ] ] ] """ The list of payment method types to provide to every invoice created by the subscription. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice's default payment method, the subscription's default payment method, the customer's default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice). """ save_default_payment_method: Optional[ Literal["off", "on_subscription"] ] """ Configure whether Stripe updates `subscription.default_payment_method` when payment succeeds. Defaults to `off`. """ _inner_class_types = {"payment_method_options": PaymentMethodOptions} class PendingInvoiceItemInterval(StripeObject): interval: Literal["day", "month", "week", "year"] """ Specifies invoicing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: int """ The number of intervals between invoices. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). """ class PendingUpdate(StripeObject): billing_cycle_anchor: Optional[int] """ If the update is applied, determines the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. The timestamp is in UTC format. """ expires_at: int """ The point after which the changes reflected by this update will be discarded and no longer applied. """ subscription_items: Optional[List["SubscriptionItem"]] """ List of subscription items, each with an attached plan, that will be set if the update is applied. """ trial_end: Optional[int] """ Unix timestamp representing the end of the trial period the customer will get before being charged for the first time, if the update is applied. """ trial_from_plan: Optional[bool] """ Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. """ class TransferData(StripeObject): amount_percent: Optional[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. """ destination: ExpandableField["Account"] """ The account where funds from the payment will be transferred to upon payment success. """ class TrialSettings(StripeObject): class EndBehavior(StripeObject): missing_payment_method: Literal[ "cancel", "create_invoice", "pause" ] """ Indicates how the subscription should change when the trial ends if the user did not provide a payment method. """ end_behavior: EndBehavior """ Defines how a subscription behaves when a free trial ends. """ _inner_class_types = {"end_behavior": EndBehavior} application: Optional[ExpandableField["Application"]] """ ID of the Connect Application that created the subscription. """ application_fee_percent: Optional[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. """ automatic_tax: AutomaticTax billing_cycle_anchor: int """ The reference point that aligns future [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle) dates. It sets the day of week for `week` intervals, the day of month for `month` and `year` intervals, and the month of year for `year` intervals. The timestamp is in UTC format. """ billing_cycle_anchor_config: Optional[BillingCycleAnchorConfig] """ The fixed values used to calculate the `billing_cycle_anchor`. """ billing_mode: BillingMode """ The billing mode of the subscription. """ billing_thresholds: Optional[BillingThresholds] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period """ cancel_at: Optional[int] """ A date in the future at which the subscription will automatically get canceled """ cancel_at_period_end: bool """ Whether this subscription will (if `status=active`) or did (if `status=canceled`) cancel at the end of the current billing period. """ canceled_at: Optional[int] """ If the subscription has been canceled, the date of that cancellation. If the subscription was canceled with `cancel_at_period_end`, `canceled_at` will reflect the time of the most recent update request, not the end of the subscription period when the subscription is automatically moved to a canceled state. """ cancellation_details: Optional[CancellationDetails] """ Details about why this subscription was cancelled """ collection_method: Literal["charge_automatically", "send_invoice"] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: ExpandableField["Customer"] """ ID of the customer who owns the subscription. """ days_until_due: Optional[int] """ Number of days a customer has to pay invoices generated by this subscription. This value will be `null` for subscriptions where `collection_method=charge_automatically`. """ default_payment_method: Optional[ExpandableField["PaymentMethod"]] """ ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). """ default_source: Optional[ ExpandableField[ Union["Account", "BankAccount", "CardResource", "Source"] ] ] """ ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). """ default_tax_rates: Optional[List["TaxRate"]] """ The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. """ description: Optional[str] """ The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ discounts: List[ExpandableField["Discount"]] """ The discounts applied to the subscription. Subscription item discounts are applied before subscription discounts. Use `expand[]=discounts` to expand each discount. """ ended_at: Optional[int] """ If the subscription has ended, the date the subscription ended. """ id: str """ Unique identifier for the object. """ invoice_settings: InvoiceSettings items: ListObject["SubscriptionItem"] """ List of subscription items, each with an attached price. """ latest_invoice: Optional[ExpandableField["Invoice"]] """ The most recent invoice this subscription has generated. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ next_pending_invoice_item_invoice: Optional[int] """ Specifies the approximate timestamp on which any pending invoice items will be billed according to the schedule provided at `pending_invoice_item_interval`. """ object: Literal["subscription"] """ String representing the object's type. Objects of the same type share the same value. """ on_behalf_of: Optional[ExpandableField["Account"]] """ The account (if any) the charge was made on behalf of for charges associated with this subscription. See the [Connect documentation](https://stripe.com/docs/connect/subscriptions#on-behalf-of) for details. """ pause_collection: Optional[PauseCollection] """ If specified, payment collection for this subscription will be paused. Note that the subscription status will be unchanged and will not be updated to `paused`. Learn more about [pausing collection](https://stripe.com/docs/billing/subscriptions/pause-payment). """ payment_settings: Optional[PaymentSettings] """ Payment settings passed on to invoices created by the subscription. """ pending_invoice_item_interval: Optional[PendingInvoiceItemInterval] """ Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval. """ pending_setup_intent: Optional[ExpandableField["SetupIntent"]] """ You can use this [SetupIntent](https://stripe.com/docs/api/setup_intents) to collect user authentication when creating a subscription without immediate payment or updating a subscription's payment method, allowing you to optimize for off-session payments. Learn more in the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication#scenario-2). """ pending_update: Optional[PendingUpdate] """ If specified, [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates) that will be applied to the subscription once the `latest_invoice` has been paid. """ schedule: Optional[ExpandableField["SubscriptionSchedule"]] """ The schedule attached to the subscription """ start_date: int """ Date when the subscription was first created. The date might differ from the `created` date due to backdating. """ status: Literal[ "active", "canceled", "incomplete", "incomplete_expired", "past_due", "paused", "trialing", "unpaid", ] """ Possible values are `incomplete`, `incomplete_expired`, `trialing`, `active`, `past_due`, `canceled`, `unpaid`, or `paused`. For `collection_method=charge_automatically` a subscription moves into `incomplete` if the initial payment attempt fails. A subscription in this status can only have metadata and default_source updated. Once the first invoice is paid, the subscription moves into an `active` status. If the first invoice is not paid within 23 hours, the subscription transitions to `incomplete_expired`. This is a terminal status, the open invoice will be voided and no further invoices will be generated. A subscription that is currently in a trial period is `trialing` and moves to `active` when the trial period is over. A subscription can only enter a `paused` status [when a trial ends without a payment method](https://stripe.com/docs/billing/subscriptions/trials#create-free-trials-without-payment). A `paused` subscription doesn't generate invoices and can be resumed after your customer adds their payment method. The `paused` status is different from [pausing collection](https://stripe.com/docs/billing/subscriptions/pause-payment), which still generates invoices and leaves the subscription's status unchanged. If subscription `collection_method=charge_automatically`, it becomes `past_due` when payment is required but cannot be paid (due to failed payment or awaiting additional user actions). Once Stripe has exhausted all payment retry attempts, the subscription will become `canceled` or `unpaid` (depending on your subscriptions settings). If subscription `collection_method=send_invoice` it becomes `past_due` when its invoice is not paid by the due date, and `canceled` or `unpaid` if it is still not paid by an additional deadline after that. Note that when a subscription has a status of `unpaid`, no subsequent invoices will be attempted (invoices will be created, but then immediately automatically closed). After receiving updated payment information from a customer, you may choose to reopen and pay their closed invoices. """ test_clock: Optional[ExpandableField["TestClock"]] """ ID of the test clock this subscription belongs to. """ transfer_data: Optional[TransferData] """ The account (if any) the subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices. """ trial_end: Optional[int] """ If the subscription has a trial, the end of that trial. """ trial_settings: Optional[TrialSettings] """ Settings related to subscription trials. """ trial_start: Optional[int] """ If the subscription has a trial, the beginning of that trial. """ @classmethod def _cls_cancel( cls, subscription_exposed_id: str, **params: Unpack["SubscriptionCancelParams"], ) -> "Subscription": """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, you can no longer update the subscription or its [metadata](https://docs.stripe.com/metadata). Any pending invoice items that you've created are still charged at the end of the period, unless manually [deleted](https://docs.stripe.com/api#delete_invoiceitem). If you've set the subscription to cancel at the end of the period, any pending prorations are also left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations are removed if invoice_now and prorate are both set to true. By default, upon subscription cancellation, Stripe stops automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all. """ return cast( "Subscription", cls._static_request( "delete", "/v1/subscriptions/{subscription_exposed_id}".format( subscription_exposed_id=sanitize_id( subscription_exposed_id ) ), params=params, ), ) @overload @staticmethod def cancel( subscription_exposed_id: str, **params: Unpack["SubscriptionCancelParams"], ) -> "Subscription": """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, you can no longer update the subscription or its [metadata](https://docs.stripe.com/metadata). Any pending invoice items that you've created are still charged at the end of the period, unless manually [deleted](https://docs.stripe.com/api#delete_invoiceitem). If you've set the subscription to cancel at the end of the period, any pending prorations are also left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations are removed if invoice_now and prorate are both set to true. By default, upon subscription cancellation, Stripe stops automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all. """ ... @overload def cancel( self, **params: Unpack["SubscriptionCancelParams"] ) -> "Subscription": """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, you can no longer update the subscription or its [metadata](https://docs.stripe.com/metadata). Any pending invoice items that you've created are still charged at the end of the period, unless manually [deleted](https://docs.stripe.com/api#delete_invoiceitem). If you've set the subscription to cancel at the end of the period, any pending prorations are also left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations are removed if invoice_now and prorate are both set to true. By default, upon subscription cancellation, Stripe stops automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all. """ ... @class_method_variant("_cls_cancel") def cancel( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SubscriptionCancelParams"] ) -> "Subscription": """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, you can no longer update the subscription or its [metadata](https://docs.stripe.com/metadata). Any pending invoice items that you've created are still charged at the end of the period, unless manually [deleted](https://docs.stripe.com/api#delete_invoiceitem). If you've set the subscription to cancel at the end of the period, any pending prorations are also left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations are removed if invoice_now and prorate are both set to true. By default, upon subscription cancellation, Stripe stops automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all. """ return cast( "Subscription", self._request( "delete", "/v1/subscriptions/{subscription_exposed_id}".format( subscription_exposed_id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_cancel_async( cls, subscription_exposed_id: str, **params: Unpack["SubscriptionCancelParams"], ) -> "Subscription": """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, you can no longer update the subscription or its [metadata](https://docs.stripe.com/metadata). Any pending invoice items that you've created are still charged at the end of the period, unless manually [deleted](https://docs.stripe.com/api#delete_invoiceitem). If you've set the subscription to cancel at the end of the period, any pending prorations are also left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations are removed if invoice_now and prorate are both set to true. By default, upon subscription cancellation, Stripe stops automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all. """ return cast( "Subscription", await cls._static_request_async( "delete", "/v1/subscriptions/{subscription_exposed_id}".format( subscription_exposed_id=sanitize_id( subscription_exposed_id ) ), params=params, ), ) @overload @staticmethod async def cancel_async( subscription_exposed_id: str, **params: Unpack["SubscriptionCancelParams"], ) -> "Subscription": """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, you can no longer update the subscription or its [metadata](https://docs.stripe.com/metadata). Any pending invoice items that you've created are still charged at the end of the period, unless manually [deleted](https://docs.stripe.com/api#delete_invoiceitem). If you've set the subscription to cancel at the end of the period, any pending prorations are also left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations are removed if invoice_now and prorate are both set to true. By default, upon subscription cancellation, Stripe stops automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all. """ ... @overload async def cancel_async( self, **params: Unpack["SubscriptionCancelParams"] ) -> "Subscription": """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, you can no longer update the subscription or its [metadata](https://docs.stripe.com/metadata). Any pending invoice items that you've created are still charged at the end of the period, unless manually [deleted](https://docs.stripe.com/api#delete_invoiceitem). If you've set the subscription to cancel at the end of the period, any pending prorations are also left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations are removed if invoice_now and prorate are both set to true. By default, upon subscription cancellation, Stripe stops automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all. """ ... @class_method_variant("_cls_cancel_async") async def cancel_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SubscriptionCancelParams"] ) -> "Subscription": """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, you can no longer update the subscription or its [metadata](https://docs.stripe.com/metadata). Any pending invoice items that you've created are still charged at the end of the period, unless manually [deleted](https://docs.stripe.com/api#delete_invoiceitem). If you've set the subscription to cancel at the end of the period, any pending prorations are also left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations are removed if invoice_now and prorate are both set to true. By default, upon subscription cancellation, Stripe stops automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all. """ return cast( "Subscription", await self._request_async( "delete", "/v1/subscriptions/{subscription_exposed_id}".format( subscription_exposed_id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create( cls, **params: Unpack["SubscriptionCreateParams"] ) -> "Subscription": """ Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions. When you create a subscription with collection_method=charge_automatically, the first invoice is finalized as part of the request. The payment_behavior parameter determines the exact behavior of the initial payment. To start subscriptions where the first invoice always begins in a draft status, use [subscription schedules](https://docs.stripe.com/docs/billing/subscriptions/subscription-schedules#managing) instead. Schedules provide the flexibility to model more complex billing configurations that change over time. """ return cast( "Subscription", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["SubscriptionCreateParams"] ) -> "Subscription": """ Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions. When you create a subscription with collection_method=charge_automatically, the first invoice is finalized as part of the request. The payment_behavior parameter determines the exact behavior of the initial payment. To start subscriptions where the first invoice always begins in a draft status, use [subscription schedules](https://docs.stripe.com/docs/billing/subscriptions/subscription-schedules#managing) instead. Schedules provide the flexibility to model more complex billing configurations that change over time. """ return cast( "Subscription", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete_discount( cls, subscription_exposed_id: str, **params: Unpack["SubscriptionDeleteDiscountParams"], ) -> "Discount": """ Removes the currently applied discount on a subscription. """ return cast( "Discount", cls._static_request( "delete", "/v1/subscriptions/{subscription_exposed_id}/discount".format( subscription_exposed_id=sanitize_id( subscription_exposed_id ) ), params=params, ), ) @overload @staticmethod def delete_discount( subscription_exposed_id: str, **params: Unpack["SubscriptionDeleteDiscountParams"], ) -> "Discount": """ Removes the currently applied discount on a subscription. """ ... @overload def delete_discount( self, **params: Unpack["SubscriptionDeleteDiscountParams"] ) -> "Discount": """ Removes the currently applied discount on a subscription. """ ... @class_method_variant("_cls_delete_discount") def delete_discount( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SubscriptionDeleteDiscountParams"] ) -> "Discount": """ Removes the currently applied discount on a subscription. """ return cast( "Discount", self._request( "delete", "/v1/subscriptions/{subscription_exposed_id}/discount".format( subscription_exposed_id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_delete_discount_async( cls, subscription_exposed_id: str, **params: Unpack["SubscriptionDeleteDiscountParams"], ) -> "Discount": """ Removes the currently applied discount on a subscription. """ return cast( "Discount", await cls._static_request_async( "delete", "/v1/subscriptions/{subscription_exposed_id}/discount".format( subscription_exposed_id=sanitize_id( subscription_exposed_id ) ), params=params, ), ) @overload @staticmethod async def delete_discount_async( subscription_exposed_id: str, **params: Unpack["SubscriptionDeleteDiscountParams"], ) -> "Discount": """ Removes the currently applied discount on a subscription. """ ... @overload async def delete_discount_async( self, **params: Unpack["SubscriptionDeleteDiscountParams"] ) -> "Discount": """ Removes the currently applied discount on a subscription. """ ... @class_method_variant("_cls_delete_discount_async") async def delete_discount_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SubscriptionDeleteDiscountParams"] ) -> "Discount": """ Removes the currently applied discount on a subscription. """ return cast( "Discount", await self._request_async( "delete", "/v1/subscriptions/{subscription_exposed_id}/discount".format( subscription_exposed_id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list( cls, **params: Unpack["SubscriptionListParams"] ) -> ListObject["Subscription"]: """ By default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify status=canceled. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["SubscriptionListParams"] ) -> ListObject["Subscription"]: """ By default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify status=canceled. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def _cls_migrate( cls, subscription: str, **params: Unpack["SubscriptionMigrateParams"] ) -> "Subscription": """ Upgrade the billing_mode of an existing subscription. """ return cast( "Subscription", cls._static_request( "post", "/v1/subscriptions/{subscription}/migrate".format( subscription=sanitize_id(subscription) ), params=params, ), ) @overload @staticmethod def migrate( subscription: str, **params: Unpack["SubscriptionMigrateParams"] ) -> "Subscription": """ Upgrade the billing_mode of an existing subscription. """ ... @overload def migrate( self, **params: Unpack["SubscriptionMigrateParams"] ) -> "Subscription": """ Upgrade the billing_mode of an existing subscription. """ ... @class_method_variant("_cls_migrate") def migrate( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SubscriptionMigrateParams"] ) -> "Subscription": """ Upgrade the billing_mode of an existing subscription. """ return cast( "Subscription", self._request( "post", "/v1/subscriptions/{subscription}/migrate".format( subscription=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_migrate_async( cls, subscription: str, **params: Unpack["SubscriptionMigrateParams"] ) -> "Subscription": """ Upgrade the billing_mode of an existing subscription. """ return cast( "Subscription", await cls._static_request_async( "post", "/v1/subscriptions/{subscription}/migrate".format( subscription=sanitize_id(subscription) ), params=params, ), ) @overload @staticmethod async def migrate_async( subscription: str, **params: Unpack["SubscriptionMigrateParams"] ) -> "Subscription": """ Upgrade the billing_mode of an existing subscription. """ ... @overload async def migrate_async( self, **params: Unpack["SubscriptionMigrateParams"] ) -> "Subscription": """ Upgrade the billing_mode of an existing subscription. """ ... @class_method_variant("_cls_migrate_async") async def migrate_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SubscriptionMigrateParams"] ) -> "Subscription": """ Upgrade the billing_mode of an existing subscription. """ return cast( "Subscription", await self._request_async( "post", "/v1/subscriptions/{subscription}/migrate".format( subscription=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def modify( cls, id: str, **params: Unpack["SubscriptionModifyParams"] ) -> "Subscription": """ Updates an existing subscription to match the specified parameters. When changing prices or quantities, we optionally prorate the price we charge next month to make up for any price changes. To preview how the proration is calculated, use the [create preview](https://docs.stripe.com/docs/api/invoices/create_preview) endpoint. By default, we prorate subscription changes. For example, if a customer signs up on May 1 for a 100 price, they'll be billed 100 immediately. If on May 15 they switch to a 200 price, then on June 1 they'll be billed 250 (200 for a renewal of her subscription, plus a 50 prorating adjustment for half of the previous month's 100 difference). Similarly, a downgrade generates a credit that is applied to the next invoice. We also prorate when you make quantity changes. Switching prices does not normally change the billing date or generate an immediate charge unless: The billing interval is changed (for example, from monthly to yearly). The subscription moves from free to paid. A trial starts or ends. In these cases, we apply a credit for the unused time on the previous price, immediately charge the customer using the new price, and reset the billing date. Learn about how [Stripe immediately attempts payment for subscription changes](https://docs.stripe.com/docs/billing/subscriptions/upgrade-downgrade#immediate-payment). If you want to charge for an upgrade immediately, pass proration_behavior as always_invoice to create prorations, automatically invoice the customer for those proration adjustments, and attempt to collect payment. If you pass create_prorations, the prorations are created but not automatically invoiced. If you want to bill the customer for the prorations before the subscription's renewal date, you need to manually [invoice the customer](https://docs.stripe.com/docs/api/invoices/create). If you don't want to prorate, set the proration_behavior option to none. With this option, the customer is billed 100 on May 1 and 200 on June 1. Similarly, if you set proration_behavior to none when switching between different billing intervals (for example, from monthly to yearly), we don't generate any credits for the old subscription's unused time. We still reset the billing date and bill immediately for the new subscription. Updating the quantity on a subscription many times in an hour may result in [rate limiting. If you need to bill for a frequently changing quantity, consider integrating usage-based billing](https://docs.stripe.com/docs/rate-limits) instead. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Subscription", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["SubscriptionModifyParams"] ) -> "Subscription": """ Updates an existing subscription to match the specified parameters. When changing prices or quantities, we optionally prorate the price we charge next month to make up for any price changes. To preview how the proration is calculated, use the [create preview](https://docs.stripe.com/docs/api/invoices/create_preview) endpoint. By default, we prorate subscription changes. For example, if a customer signs up on May 1 for a 100 price, they'll be billed 100 immediately. If on May 15 they switch to a 200 price, then on June 1 they'll be billed 250 (200 for a renewal of her subscription, plus a 50 prorating adjustment for half of the previous month's 100 difference). Similarly, a downgrade generates a credit that is applied to the next invoice. We also prorate when you make quantity changes. Switching prices does not normally change the billing date or generate an immediate charge unless: The billing interval is changed (for example, from monthly to yearly). The subscription moves from free to paid. A trial starts or ends. In these cases, we apply a credit for the unused time on the previous price, immediately charge the customer using the new price, and reset the billing date. Learn about how [Stripe immediately attempts payment for subscription changes](https://docs.stripe.com/docs/billing/subscriptions/upgrade-downgrade#immediate-payment). If you want to charge for an upgrade immediately, pass proration_behavior as always_invoice to create prorations, automatically invoice the customer for those proration adjustments, and attempt to collect payment. If you pass create_prorations, the prorations are created but not automatically invoiced. If you want to bill the customer for the prorations before the subscription's renewal date, you need to manually [invoice the customer](https://docs.stripe.com/docs/api/invoices/create). If you don't want to prorate, set the proration_behavior option to none. With this option, the customer is billed 100 on May 1 and 200 on June 1. Similarly, if you set proration_behavior to none when switching between different billing intervals (for example, from monthly to yearly), we don't generate any credits for the old subscription's unused time. We still reset the billing date and bill immediately for the new subscription. Updating the quantity on a subscription many times in an hour may result in [rate limiting. If you need to bill for a frequently changing quantity, consider integrating usage-based billing](https://docs.stripe.com/docs/rate-limits) instead. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Subscription", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def _cls_resume( cls, subscription: str, **params: Unpack["SubscriptionResumeParams"] ) -> "Subscription": """ Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date. """ return cast( "Subscription", cls._static_request( "post", "/v1/subscriptions/{subscription}/resume".format( subscription=sanitize_id(subscription) ), params=params, ), ) @overload @staticmethod def resume( subscription: str, **params: Unpack["SubscriptionResumeParams"] ) -> "Subscription": """ Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date. """ ... @overload def resume( self, **params: Unpack["SubscriptionResumeParams"] ) -> "Subscription": """ Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date. """ ... @class_method_variant("_cls_resume") def resume( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SubscriptionResumeParams"] ) -> "Subscription": """ Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date. """ return cast( "Subscription", self._request( "post", "/v1/subscriptions/{subscription}/resume".format( subscription=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_resume_async( cls, subscription: str, **params: Unpack["SubscriptionResumeParams"] ) -> "Subscription": """ Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date. """ return cast( "Subscription", await cls._static_request_async( "post", "/v1/subscriptions/{subscription}/resume".format( subscription=sanitize_id(subscription) ), params=params, ), ) @overload @staticmethod async def resume_async( subscription: str, **params: Unpack["SubscriptionResumeParams"] ) -> "Subscription": """ Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date. """ ... @overload async def resume_async( self, **params: Unpack["SubscriptionResumeParams"] ) -> "Subscription": """ Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date. """ ... @class_method_variant("_cls_resume_async") async def resume_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SubscriptionResumeParams"] ) -> "Subscription": """ Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date. """ return cast( "Subscription", await self._request_async( "post", "/v1/subscriptions/{subscription}/resume".format( subscription=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["SubscriptionRetrieveParams"] ) -> "Subscription": """ Retrieves the subscription with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["SubscriptionRetrieveParams"] ) -> "Subscription": """ Retrieves the subscription with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def search( cls, *args, **kwargs: Unpack["SubscriptionSearchParams"] ) -> SearchResultObject["Subscription"]: """ Search for subscriptions you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cls._search( search_url="/v1/subscriptions/search", *args, **kwargs ) @classmethod async def search_async( cls, *args, **kwargs: Unpack["SubscriptionSearchParams"] ) -> SearchResultObject["Subscription"]: """ Search for subscriptions you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return await cls._search_async( search_url="/v1/subscriptions/search", *args, **kwargs ) @classmethod def search_auto_paging_iter( cls, *args, **kwargs: Unpack["SubscriptionSearchParams"] ) -> Iterator["Subscription"]: return cls.search(*args, **kwargs).auto_paging_iter() @classmethod async def search_auto_paging_iter_async( cls, *args, **kwargs: Unpack["SubscriptionSearchParams"] ) -> AsyncIterator["Subscription"]: return (await cls.search_async(*args, **kwargs)).auto_paging_iter() _inner_class_types = { "automatic_tax": AutomaticTax, "billing_cycle_anchor_config": BillingCycleAnchorConfig, "billing_mode": BillingMode, "billing_thresholds": BillingThresholds, "cancellation_details": CancellationDetails, "invoice_settings": InvoiceSettings, "pause_collection": PauseCollection, "payment_settings": PaymentSettings, "pending_invoice_item_interval": PendingInvoiceItemInterval, "pending_update": PendingUpdate, "transfer_data": TransferData, "trial_settings": TrialSettings, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.332062 stripe-13.2.0/stripe/_subscription_item.py0000644000000000000000000003100515102753431015612 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._discount import Discount from stripe._plan import Plan from stripe._price import Price from stripe._tax_rate import TaxRate from stripe.params._subscription_item_create_params import ( SubscriptionItemCreateParams, ) from stripe.params._subscription_item_delete_params import ( SubscriptionItemDeleteParams, ) from stripe.params._subscription_item_list_params import ( SubscriptionItemListParams, ) from stripe.params._subscription_item_modify_params import ( SubscriptionItemModifyParams, ) from stripe.params._subscription_item_retrieve_params import ( SubscriptionItemRetrieveParams, ) class SubscriptionItem( CreateableAPIResource["SubscriptionItem"], DeletableAPIResource["SubscriptionItem"], ListableAPIResource["SubscriptionItem"], UpdateableAPIResource["SubscriptionItem"], ): """ Subscription items allow you to create customer subscriptions with more than one plan, making it easy to represent complex billing relationships. """ OBJECT_NAME: ClassVar[Literal["subscription_item"]] = "subscription_item" class BillingThresholds(StripeObject): usage_gte: Optional[int] """ Usage threshold that triggers the subscription to create an invoice """ billing_thresholds: Optional[BillingThresholds] """ Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ current_period_end: int """ The end time of this subscription item's current billing period. """ current_period_start: int """ The start time of this subscription item's current billing period. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ discounts: List[ExpandableField["Discount"]] """ The discounts applied to the subscription item. Subscription item discounts are applied before subscription discounts. Use `expand[]=discounts` to expand each discount. """ id: str """ Unique identifier for the object. """ 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. """ object: Literal["subscription_item"] """ String representing the object's type. Objects of the same type share the same value. """ plan: "Plan" """ You can now model subscriptions more flexibly using the [Prices API](https://stripe.com/docs/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration. Plans define the base price, currency, and billing cycle for recurring purchases of products. [Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme. For example, you might have a single "gold" product that has plans for $10/month, $100/year, €9/month, and €90/year. Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and prices](https://stripe.com/docs/products-prices/overview). """ price: "Price" """ Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products. [Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme. For example, you might have a single "gold" product that has prices for $10/month, $100/year, and €9 once. Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription), [create an invoice](https://stripe.com/docs/billing/invoices/create), and more about [products and prices](https://stripe.com/docs/products-prices/overview). """ quantity: Optional[int] """ The [quantity](https://stripe.com/docs/subscriptions/quantities) of the plan to which the customer should be subscribed. """ subscription: str """ The `subscription` this `subscription_item` belongs to. """ tax_rates: Optional[List["TaxRate"]] """ The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`. """ @classmethod def create( cls, **params: Unpack["SubscriptionItemCreateParams"] ) -> "SubscriptionItem": """ Adds a new item to an existing subscription. No existing items will be changed or replaced. """ return cast( "SubscriptionItem", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["SubscriptionItemCreateParams"] ) -> "SubscriptionItem": """ Adds a new item to an existing subscription. No existing items will be changed or replaced. """ return cast( "SubscriptionItem", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["SubscriptionItemDeleteParams"] ) -> "SubscriptionItem": """ Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "SubscriptionItem", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete( sid: str, **params: Unpack["SubscriptionItemDeleteParams"] ) -> "SubscriptionItem": """ Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription. """ ... @overload def delete( self, **params: Unpack["SubscriptionItemDeleteParams"] ) -> "SubscriptionItem": """ Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SubscriptionItemDeleteParams"] ) -> "SubscriptionItem": """ Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["SubscriptionItemDeleteParams"] ) -> "SubscriptionItem": """ Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "SubscriptionItem", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["SubscriptionItemDeleteParams"] ) -> "SubscriptionItem": """ Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription. """ ... @overload async def delete_async( self, **params: Unpack["SubscriptionItemDeleteParams"] ) -> "SubscriptionItem": """ Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SubscriptionItemDeleteParams"] ) -> "SubscriptionItem": """ Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def list( cls, **params: Unpack["SubscriptionItemListParams"] ) -> ListObject["SubscriptionItem"]: """ Returns a list of your subscription items for a given subscription. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["SubscriptionItemListParams"] ) -> ListObject["SubscriptionItem"]: """ Returns a list of your subscription items for a given subscription. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["SubscriptionItemModifyParams"] ) -> "SubscriptionItem": """ Updates the plan or quantity of an item on a current subscription. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "SubscriptionItem", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["SubscriptionItemModifyParams"] ) -> "SubscriptionItem": """ Updates the plan or quantity of an item on a current subscription. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "SubscriptionItem", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["SubscriptionItemRetrieveParams"] ) -> "SubscriptionItem": """ Retrieves the subscription item with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["SubscriptionItemRetrieveParams"] ) -> "SubscriptionItem": """ Retrieves the subscription item with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"billing_thresholds": BillingThresholds} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.332062 stripe-13.2.0/stripe/_subscription_item_service.py0000644000000000000000000001560115102753431017336 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._subscription_item import SubscriptionItem from stripe.params._subscription_item_create_params import ( SubscriptionItemCreateParams, ) from stripe.params._subscription_item_delete_params import ( SubscriptionItemDeleteParams, ) from stripe.params._subscription_item_list_params import ( SubscriptionItemListParams, ) from stripe.params._subscription_item_retrieve_params import ( SubscriptionItemRetrieveParams, ) from stripe.params._subscription_item_update_params import ( SubscriptionItemUpdateParams, ) class SubscriptionItemService(StripeService): def delete( self, item: str, params: Optional["SubscriptionItemDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionItem": """ Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription. """ return cast( "SubscriptionItem", self._request( "delete", "/v1/subscription_items/{item}".format(item=sanitize_id(item)), base_address="api", params=params, options=options, ), ) async def delete_async( self, item: str, params: Optional["SubscriptionItemDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionItem": """ Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription. """ return cast( "SubscriptionItem", await self._request_async( "delete", "/v1/subscription_items/{item}".format(item=sanitize_id(item)), base_address="api", params=params, options=options, ), ) def retrieve( self, item: str, params: Optional["SubscriptionItemRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionItem": """ Retrieves the subscription item with the given ID. """ return cast( "SubscriptionItem", self._request( "get", "/v1/subscription_items/{item}".format(item=sanitize_id(item)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, item: str, params: Optional["SubscriptionItemRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionItem": """ Retrieves the subscription item with the given ID. """ return cast( "SubscriptionItem", await self._request_async( "get", "/v1/subscription_items/{item}".format(item=sanitize_id(item)), base_address="api", params=params, options=options, ), ) def update( self, item: str, params: Optional["SubscriptionItemUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionItem": """ Updates the plan or quantity of an item on a current subscription. """ return cast( "SubscriptionItem", self._request( "post", "/v1/subscription_items/{item}".format(item=sanitize_id(item)), base_address="api", params=params, options=options, ), ) async def update_async( self, item: str, params: Optional["SubscriptionItemUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionItem": """ Updates the plan or quantity of an item on a current subscription. """ return cast( "SubscriptionItem", await self._request_async( "post", "/v1/subscription_items/{item}".format(item=sanitize_id(item)), base_address="api", params=params, options=options, ), ) def list( self, params: "SubscriptionItemListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[SubscriptionItem]": """ Returns a list of your subscription items for a given subscription. """ return cast( "ListObject[SubscriptionItem]", self._request( "get", "/v1/subscription_items", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "SubscriptionItemListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[SubscriptionItem]": """ Returns a list of your subscription items for a given subscription. """ return cast( "ListObject[SubscriptionItem]", await self._request_async( "get", "/v1/subscription_items", base_address="api", params=params, options=options, ), ) def create( self, params: "SubscriptionItemCreateParams", options: Optional["RequestOptions"] = None, ) -> "SubscriptionItem": """ Adds a new item to an existing subscription. No existing items will be changed or replaced. """ return cast( "SubscriptionItem", self._request( "post", "/v1/subscription_items", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "SubscriptionItemCreateParams", options: Optional["RequestOptions"] = None, ) -> "SubscriptionItem": """ Adds a new item to an existing subscription. No existing items will be changed or replaced. """ return cast( "SubscriptionItem", await self._request_async( "post", "/v1/subscription_items", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.332062 stripe-13.2.0/stripe/_subscription_schedule.py0000644000000000000000000012251515102753431016457 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._application import Application from stripe._coupon import Coupon from stripe._customer import Customer from stripe._discount import Discount as DiscountResource from stripe._payment_method import PaymentMethod from stripe._plan import Plan from stripe._price import Price from stripe._promotion_code import PromotionCode from stripe._subscription import Subscription from stripe._tax_id import TaxId from stripe._tax_rate import TaxRate from stripe.params._subscription_schedule_cancel_params import ( SubscriptionScheduleCancelParams, ) from stripe.params._subscription_schedule_create_params import ( SubscriptionScheduleCreateParams, ) from stripe.params._subscription_schedule_list_params import ( SubscriptionScheduleListParams, ) from stripe.params._subscription_schedule_modify_params import ( SubscriptionScheduleModifyParams, ) from stripe.params._subscription_schedule_release_params import ( SubscriptionScheduleReleaseParams, ) from stripe.params._subscription_schedule_retrieve_params import ( SubscriptionScheduleRetrieveParams, ) from stripe.test_helpers._test_clock import TestClock class SubscriptionSchedule( CreateableAPIResource["SubscriptionSchedule"], ListableAPIResource["SubscriptionSchedule"], UpdateableAPIResource["SubscriptionSchedule"], ): """ A subscription schedule allows you to create and manage the lifecycle of a subscription by predefining expected changes. Related guide: [Subscription schedules](https://stripe.com/docs/billing/subscriptions/subscription-schedules) """ OBJECT_NAME: ClassVar[Literal["subscription_schedule"]] = ( "subscription_schedule" ) class BillingMode(StripeObject): class Flexible(StripeObject): proration_discounts: Optional[Literal["included", "itemized"]] """ Controls how invoices and invoice items display proration amounts and discount amounts. """ flexible: Optional[Flexible] """ Configure behavior for flexible billing mode """ type: Literal["classic", "flexible"] """ Controls how prorations and invoices for subscriptions are calculated and orchestrated. """ updated_at: Optional[int] """ Details on when the current billing_mode was adopted. """ _inner_class_types = {"flexible": Flexible} class CurrentPhase(StripeObject): end_date: int """ The end of this phase of the subscription schedule. """ start_date: int """ The start of this phase of the subscription schedule. """ class DefaultSettings(StripeObject): class AutomaticTax(StripeObject): class Liability(StripeObject): account: Optional[ExpandableField["Account"]] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced. """ disabled_reason: Optional[Literal["requires_location_inputs"]] """ If Stripe disabled automatic tax, this enum describes why. """ enabled: bool """ Whether Stripe automatically computes tax on invoices created during this phase. """ liability: Optional[Liability] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ _inner_class_types = {"liability": Liability} class BillingThresholds(StripeObject): amount_gte: Optional[int] """ Monetary threshold that triggers the subscription to create an invoice """ reset_billing_cycle_anchor: Optional[bool] """ Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be `true` if the subscription contains items with plans that have `aggregate_usage=last_ever`. """ class InvoiceSettings(StripeObject): class Issuer(StripeObject): account: Optional[ExpandableField["Account"]] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced. """ account_tax_ids: Optional[List[ExpandableField["TaxId"]]] """ The account tax IDs associated with the subscription schedule. Will be set on invoices generated by the subscription schedule. """ days_until_due: Optional[int] """ Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`. """ issuer: Issuer _inner_class_types = {"issuer": Issuer} class TransferData(StripeObject): amount_percent: Optional[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. """ destination: ExpandableField["Account"] """ The account where funds from the payment will be transferred to upon payment success. """ application_fee_percent: Optional[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account during this phase of the schedule. """ automatic_tax: Optional[AutomaticTax] billing_cycle_anchor: Literal["automatic", "phase_start"] """ 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). """ billing_thresholds: Optional[BillingThresholds] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period """ collection_method: Optional[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. """ default_payment_method: Optional[ExpandableField["PaymentMethod"]] """ ID of the default payment method for the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings. """ description: Optional[str] """ Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ invoice_settings: InvoiceSettings on_behalf_of: Optional[ExpandableField["Account"]] """ The account (if any) the charge was made on behalf of for charges associated with the schedule's subscription. See the Connect documentation for details. """ transfer_data: Optional[TransferData] """ The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices. """ _inner_class_types = { "automatic_tax": AutomaticTax, "billing_thresholds": BillingThresholds, "invoice_settings": InvoiceSettings, "transfer_data": TransferData, } class Phase(StripeObject): class AddInvoiceItem(StripeObject): class Discount(StripeObject): coupon: Optional[ExpandableField["Coupon"]] """ ID of the coupon to create a new discount for. """ discount: Optional[ExpandableField["DiscountResource"]] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: Optional[ExpandableField["PromotionCode"]] """ ID of the promotion code to create a new discount for. """ class Period(StripeObject): class End(StripeObject): timestamp: Optional[int] """ A precise Unix timestamp for the end of the invoice item period. Must be greater than or equal to `period.start`. """ type: Literal[ "min_item_period_end", "phase_end", "timestamp" ] """ Select how to calculate the end of the invoice item period. """ class Start(StripeObject): timestamp: Optional[int] """ A precise Unix timestamp for the start of the invoice item period. Must be less than or equal to `period.end`. """ type: Literal[ "max_item_period_start", "phase_start", "timestamp" ] """ Select how to calculate the start of the invoice item period. """ end: End start: Start _inner_class_types = {"end": End, "start": Start} discounts: List[Discount] """ The stackable discounts that will be applied to the item. """ 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. """ period: Period price: ExpandableField["Price"] """ ID of the price used to generate the invoice item. """ quantity: Optional[int] """ The quantity of the invoice item. """ tax_rates: Optional[List["TaxRate"]] """ The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item. """ _inner_class_types = {"discounts": Discount, "period": Period} class AutomaticTax(StripeObject): class Liability(StripeObject): account: Optional[ExpandableField["Account"]] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced. """ disabled_reason: Optional[Literal["requires_location_inputs"]] """ If Stripe disabled automatic tax, this enum describes why. """ enabled: bool """ Whether Stripe automatically computes tax on invoices created during this phase. """ liability: Optional[Liability] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ _inner_class_types = {"liability": Liability} class BillingThresholds(StripeObject): amount_gte: Optional[int] """ Monetary threshold that triggers the subscription to create an invoice """ reset_billing_cycle_anchor: Optional[bool] """ Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be `true` if the subscription contains items with plans that have `aggregate_usage=last_ever`. """ class Discount(StripeObject): coupon: Optional[ExpandableField["Coupon"]] """ ID of the coupon to create a new discount for. """ discount: Optional[ExpandableField["DiscountResource"]] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: Optional[ExpandableField["PromotionCode"]] """ ID of the promotion code to create a new discount for. """ class InvoiceSettings(StripeObject): class Issuer(StripeObject): account: Optional[ExpandableField["Account"]] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced. """ account_tax_ids: Optional[List[ExpandableField["TaxId"]]] """ The account tax IDs associated with this phase of the subscription schedule. Will be set on invoices generated by this phase of the subscription schedule. """ days_until_due: Optional[int] """ Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`. """ issuer: Optional[Issuer] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ _inner_class_types = {"issuer": Issuer} class Item(StripeObject): class BillingThresholds(StripeObject): usage_gte: Optional[int] """ Usage threshold that triggers the subscription to create an invoice """ class Discount(StripeObject): coupon: Optional[ExpandableField["Coupon"]] """ ID of the coupon to create a new discount for. """ discount: Optional[ExpandableField["DiscountResource"]] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: Optional[ExpandableField["PromotionCode"]] """ ID of the promotion code to create a new discount for. """ billing_thresholds: Optional[BillingThresholds] """ Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period """ discounts: List[Discount] """ The discounts applied to the subscription item. Subscription item discounts are applied before subscription discounts. Use `expand[]=discounts` to expand each discount. """ metadata: Optional[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an item. Metadata on this item will update the underlying subscription item's `metadata` when the phase is entered. """ plan: ExpandableField["Plan"] """ ID of the plan to which the customer should be subscribed. """ price: ExpandableField["Price"] """ ID of the price to which the customer should be subscribed. """ quantity: Optional[int] """ Quantity of the plan to which the customer should be subscribed. """ tax_rates: Optional[List["TaxRate"]] """ The tax rates which apply to this `phase_item`. When set, the `default_tax_rates` on the phase do not apply to this `phase_item`. """ _inner_class_types = { "billing_thresholds": BillingThresholds, "discounts": Discount, } class TransferData(StripeObject): amount_percent: Optional[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. """ destination: ExpandableField["Account"] """ The account where funds from the payment will be transferred to upon payment success. """ add_invoice_items: List[AddInvoiceItem] """ A list of prices and quantities that will generate invoice items appended to the next invoice for this phase. """ application_fee_percent: Optional[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account during this phase of the schedule. """ automatic_tax: Optional[AutomaticTax] billing_cycle_anchor: Optional[Literal["automatic", "phase_start"]] """ 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). """ billing_thresholds: Optional[BillingThresholds] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period """ collection_method: Optional[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ default_payment_method: Optional[ExpandableField["PaymentMethod"]] """ ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings. """ default_tax_rates: Optional[List["TaxRate"]] """ The default tax rates to apply to the subscription during this phase of the subscription schedule. """ description: Optional[str] """ Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ discounts: List[Discount] """ The stackable discounts that will be applied to the subscription on this phase. Subscription item discounts are applied before subscription discounts. """ end_date: int """ The end of this phase of the subscription schedule. """ invoice_settings: Optional[InvoiceSettings] """ The invoice settings applicable during this phase. """ items: List[Item] """ Subscription items to configure the subscription to during this phase of the subscription schedule. """ metadata: Optional[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a phase. Metadata on a schedule's phase will update the underlying subscription's `metadata` when the phase is entered. Updating the underlying subscription's `metadata` directly will not affect the current phase's `metadata`. """ on_behalf_of: Optional[ExpandableField["Account"]] """ The account (if any) the charge was made on behalf of for charges associated with the schedule's subscription. See the Connect documentation for details. """ proration_behavior: Literal[ "always_invoice", "create_prorations", "none" ] """ When transitioning phases, controls how prorations are handled (if any). Possible values are `create_prorations`, `none`, and `always_invoice`. """ start_date: int """ The start of this phase of the subscription schedule. """ transfer_data: Optional[TransferData] """ The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices. """ trial_end: Optional[int] """ When the trial ends within the phase. """ _inner_class_types = { "add_invoice_items": AddInvoiceItem, "automatic_tax": AutomaticTax, "billing_thresholds": BillingThresholds, "discounts": Discount, "invoice_settings": InvoiceSettings, "items": Item, "transfer_data": TransferData, } application: Optional[ExpandableField["Application"]] """ ID of the Connect Application that created the schedule. """ billing_mode: BillingMode """ The billing mode of the subscription. """ canceled_at: Optional[int] """ Time at which the subscription schedule was canceled. Measured in seconds since the Unix epoch. """ completed_at: Optional[int] """ Time at which the subscription schedule was completed. Measured in seconds since the Unix epoch. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ current_phase: Optional[CurrentPhase] """ Object representing the start and end dates for the current phase of the subscription schedule, if it is `active`. """ customer: ExpandableField["Customer"] """ ID of the customer who owns the subscription schedule. """ default_settings: DefaultSettings end_behavior: Literal["cancel", "none", "release", "renew"] """ Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running. `cancel` will end the subscription schedule and cancel the underlying subscription. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["subscription_schedule"] """ String representing the object's type. Objects of the same type share the same value. """ phases: List[Phase] """ Configuration for the subscription schedule's phases. """ released_at: Optional[int] """ Time at which the subscription schedule was released. Measured in seconds since the Unix epoch. """ released_subscription: Optional[str] """ ID of the subscription once managed by the subscription schedule (if it is released). """ status: Literal[ "active", "canceled", "completed", "not_started", "released" ] """ The present status of the subscription schedule. Possible values are `not_started`, `active`, `completed`, `released`, and `canceled`. You can read more about the different states in our [behavior guide](https://stripe.com/docs/billing/subscriptions/subscription-schedules). """ subscription: Optional[ExpandableField["Subscription"]] """ ID of the subscription managed by the subscription schedule. """ test_clock: Optional[ExpandableField["TestClock"]] """ ID of the test clock this subscription schedule belongs to. """ @classmethod def _cls_cancel( cls, schedule: str, **params: Unpack["SubscriptionScheduleCancelParams"], ) -> "SubscriptionSchedule": """ Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active. """ return cast( "SubscriptionSchedule", cls._static_request( "post", "/v1/subscription_schedules/{schedule}/cancel".format( schedule=sanitize_id(schedule) ), params=params, ), ) @overload @staticmethod def cancel( schedule: str, **params: Unpack["SubscriptionScheduleCancelParams"] ) -> "SubscriptionSchedule": """ Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active. """ ... @overload def cancel( self, **params: Unpack["SubscriptionScheduleCancelParams"] ) -> "SubscriptionSchedule": """ Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active. """ ... @class_method_variant("_cls_cancel") def cancel( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SubscriptionScheduleCancelParams"] ) -> "SubscriptionSchedule": """ Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active. """ return cast( "SubscriptionSchedule", self._request( "post", "/v1/subscription_schedules/{schedule}/cancel".format( schedule=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_cancel_async( cls, schedule: str, **params: Unpack["SubscriptionScheduleCancelParams"], ) -> "SubscriptionSchedule": """ Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active. """ return cast( "SubscriptionSchedule", await cls._static_request_async( "post", "/v1/subscription_schedules/{schedule}/cancel".format( schedule=sanitize_id(schedule) ), params=params, ), ) @overload @staticmethod async def cancel_async( schedule: str, **params: Unpack["SubscriptionScheduleCancelParams"] ) -> "SubscriptionSchedule": """ Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active. """ ... @overload async def cancel_async( self, **params: Unpack["SubscriptionScheduleCancelParams"] ) -> "SubscriptionSchedule": """ Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active. """ ... @class_method_variant("_cls_cancel_async") async def cancel_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SubscriptionScheduleCancelParams"] ) -> "SubscriptionSchedule": """ Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active. """ return cast( "SubscriptionSchedule", await self._request_async( "post", "/v1/subscription_schedules/{schedule}/cancel".format( schedule=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create( cls, **params: Unpack["SubscriptionScheduleCreateParams"] ) -> "SubscriptionSchedule": """ Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions. """ return cast( "SubscriptionSchedule", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["SubscriptionScheduleCreateParams"] ) -> "SubscriptionSchedule": """ Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions. """ return cast( "SubscriptionSchedule", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["SubscriptionScheduleListParams"] ) -> ListObject["SubscriptionSchedule"]: """ Retrieves the list of your subscription schedules. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["SubscriptionScheduleListParams"] ) -> ListObject["SubscriptionSchedule"]: """ Retrieves the list of your subscription schedules. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["SubscriptionScheduleModifyParams"] ) -> "SubscriptionSchedule": """ Updates an existing subscription schedule. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "SubscriptionSchedule", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["SubscriptionScheduleModifyParams"] ) -> "SubscriptionSchedule": """ Updates an existing subscription schedule. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "SubscriptionSchedule", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def _cls_release( cls, schedule: str, **params: Unpack["SubscriptionScheduleReleaseParams"], ) -> "SubscriptionSchedule": """ Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription's ID to the released_subscription property. """ return cast( "SubscriptionSchedule", cls._static_request( "post", "/v1/subscription_schedules/{schedule}/release".format( schedule=sanitize_id(schedule) ), params=params, ), ) @overload @staticmethod def release( schedule: str, **params: Unpack["SubscriptionScheduleReleaseParams"] ) -> "SubscriptionSchedule": """ Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription's ID to the released_subscription property. """ ... @overload def release( self, **params: Unpack["SubscriptionScheduleReleaseParams"] ) -> "SubscriptionSchedule": """ Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription's ID to the released_subscription property. """ ... @class_method_variant("_cls_release") def release( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SubscriptionScheduleReleaseParams"] ) -> "SubscriptionSchedule": """ Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription's ID to the released_subscription property. """ return cast( "SubscriptionSchedule", self._request( "post", "/v1/subscription_schedules/{schedule}/release".format( schedule=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_release_async( cls, schedule: str, **params: Unpack["SubscriptionScheduleReleaseParams"], ) -> "SubscriptionSchedule": """ Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription's ID to the released_subscription property. """ return cast( "SubscriptionSchedule", await cls._static_request_async( "post", "/v1/subscription_schedules/{schedule}/release".format( schedule=sanitize_id(schedule) ), params=params, ), ) @overload @staticmethod async def release_async( schedule: str, **params: Unpack["SubscriptionScheduleReleaseParams"] ) -> "SubscriptionSchedule": """ Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription's ID to the released_subscription property. """ ... @overload async def release_async( self, **params: Unpack["SubscriptionScheduleReleaseParams"] ) -> "SubscriptionSchedule": """ Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription's ID to the released_subscription property. """ ... @class_method_variant("_cls_release_async") async def release_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SubscriptionScheduleReleaseParams"] ) -> "SubscriptionSchedule": """ Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription's ID to the released_subscription property. """ return cast( "SubscriptionSchedule", await self._request_async( "post", "/v1/subscription_schedules/{schedule}/release".format( schedule=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["SubscriptionScheduleRetrieveParams"] ) -> "SubscriptionSchedule": """ Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["SubscriptionScheduleRetrieveParams"] ) -> "SubscriptionSchedule": """ Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "billing_mode": BillingMode, "current_phase": CurrentPhase, "default_settings": DefaultSettings, "phases": Phase, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.332062 stripe-13.2.0/stripe/_subscription_schedule_service.py0000644000000000000000000002402615102753431020175 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._subscription_schedule import SubscriptionSchedule from stripe.params._subscription_schedule_cancel_params import ( SubscriptionScheduleCancelParams, ) from stripe.params._subscription_schedule_create_params import ( SubscriptionScheduleCreateParams, ) from stripe.params._subscription_schedule_list_params import ( SubscriptionScheduleListParams, ) from stripe.params._subscription_schedule_release_params import ( SubscriptionScheduleReleaseParams, ) from stripe.params._subscription_schedule_retrieve_params import ( SubscriptionScheduleRetrieveParams, ) from stripe.params._subscription_schedule_update_params import ( SubscriptionScheduleUpdateParams, ) class SubscriptionScheduleService(StripeService): def list( self, params: Optional["SubscriptionScheduleListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[SubscriptionSchedule]": """ Retrieves the list of your subscription schedules. """ return cast( "ListObject[SubscriptionSchedule]", self._request( "get", "/v1/subscription_schedules", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["SubscriptionScheduleListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[SubscriptionSchedule]": """ Retrieves the list of your subscription schedules. """ return cast( "ListObject[SubscriptionSchedule]", await self._request_async( "get", "/v1/subscription_schedules", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["SubscriptionScheduleCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionSchedule": """ Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions. """ return cast( "SubscriptionSchedule", self._request( "post", "/v1/subscription_schedules", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["SubscriptionScheduleCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionSchedule": """ Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions. """ return cast( "SubscriptionSchedule", await self._request_async( "post", "/v1/subscription_schedules", base_address="api", params=params, options=options, ), ) def retrieve( self, schedule: str, params: Optional["SubscriptionScheduleRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionSchedule": """ Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation. """ return cast( "SubscriptionSchedule", self._request( "get", "/v1/subscription_schedules/{schedule}".format( schedule=sanitize_id(schedule), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, schedule: str, params: Optional["SubscriptionScheduleRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionSchedule": """ Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation. """ return cast( "SubscriptionSchedule", await self._request_async( "get", "/v1/subscription_schedules/{schedule}".format( schedule=sanitize_id(schedule), ), base_address="api", params=params, options=options, ), ) def update( self, schedule: str, params: Optional["SubscriptionScheduleUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionSchedule": """ Updates an existing subscription schedule. """ return cast( "SubscriptionSchedule", self._request( "post", "/v1/subscription_schedules/{schedule}".format( schedule=sanitize_id(schedule), ), base_address="api", params=params, options=options, ), ) async def update_async( self, schedule: str, params: Optional["SubscriptionScheduleUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionSchedule": """ Updates an existing subscription schedule. """ return cast( "SubscriptionSchedule", await self._request_async( "post", "/v1/subscription_schedules/{schedule}".format( schedule=sanitize_id(schedule), ), base_address="api", params=params, options=options, ), ) def cancel( self, schedule: str, params: Optional["SubscriptionScheduleCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionSchedule": """ Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active. """ return cast( "SubscriptionSchedule", self._request( "post", "/v1/subscription_schedules/{schedule}/cancel".format( schedule=sanitize_id(schedule), ), base_address="api", params=params, options=options, ), ) async def cancel_async( self, schedule: str, params: Optional["SubscriptionScheduleCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionSchedule": """ Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is not_started or active. """ return cast( "SubscriptionSchedule", await self._request_async( "post", "/v1/subscription_schedules/{schedule}/cancel".format( schedule=sanitize_id(schedule), ), base_address="api", params=params, options=options, ), ) def release( self, schedule: str, params: Optional["SubscriptionScheduleReleaseParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionSchedule": """ Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription's ID to the released_subscription property. """ return cast( "SubscriptionSchedule", self._request( "post", "/v1/subscription_schedules/{schedule}/release".format( schedule=sanitize_id(schedule), ), base_address="api", params=params, options=options, ), ) async def release_async( self, schedule: str, params: Optional["SubscriptionScheduleReleaseParams"] = None, options: Optional["RequestOptions"] = None, ) -> "SubscriptionSchedule": """ Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is not_started or active. If the subscription schedule is currently associated with a subscription, releasing it will remove its subscription property and set the subscription's ID to the released_subscription property. """ return cast( "SubscriptionSchedule", await self._request_async( "post", "/v1/subscription_schedules/{schedule}/release".format( schedule=sanitize_id(schedule), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.332062 stripe-13.2.0/stripe/_subscription_service.py0000644000000000000000000005634315102753431016330 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._discount import Discount from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._search_result_object import SearchResultObject from stripe._subscription import Subscription from stripe.params._subscription_cancel_params import ( SubscriptionCancelParams, ) from stripe.params._subscription_create_params import ( SubscriptionCreateParams, ) from stripe.params._subscription_delete_discount_params import ( SubscriptionDeleteDiscountParams, ) from stripe.params._subscription_list_params import SubscriptionListParams from stripe.params._subscription_migrate_params import ( SubscriptionMigrateParams, ) from stripe.params._subscription_resume_params import ( SubscriptionResumeParams, ) from stripe.params._subscription_retrieve_params import ( SubscriptionRetrieveParams, ) from stripe.params._subscription_search_params import ( SubscriptionSearchParams, ) from stripe.params._subscription_update_params import ( SubscriptionUpdateParams, ) class SubscriptionService(StripeService): def cancel( self, subscription_exposed_id: str, params: Optional["SubscriptionCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Subscription": """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, you can no longer update the subscription or its [metadata](https://docs.stripe.com/metadata). Any pending invoice items that you've created are still charged at the end of the period, unless manually [deleted](https://docs.stripe.com/api#delete_invoiceitem). If you've set the subscription to cancel at the end of the period, any pending prorations are also left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations are removed if invoice_now and prorate are both set to true. By default, upon subscription cancellation, Stripe stops automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all. """ return cast( "Subscription", self._request( "delete", "/v1/subscriptions/{subscription_exposed_id}".format( subscription_exposed_id=sanitize_id( subscription_exposed_id ), ), base_address="api", params=params, options=options, ), ) async def cancel_async( self, subscription_exposed_id: str, params: Optional["SubscriptionCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Subscription": """ Cancels a customer's subscription immediately. The customer won't be charged again for the subscription. After it's canceled, you can no longer update the subscription or its [metadata](https://docs.stripe.com/metadata). Any pending invoice items that you've created are still charged at the end of the period, unless manually [deleted](https://docs.stripe.com/api#delete_invoiceitem). If you've set the subscription to cancel at the end of the period, any pending prorations are also left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations are removed if invoice_now and prorate are both set to true. By default, upon subscription cancellation, Stripe stops automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all. """ return cast( "Subscription", await self._request_async( "delete", "/v1/subscriptions/{subscription_exposed_id}".format( subscription_exposed_id=sanitize_id( subscription_exposed_id ), ), base_address="api", params=params, options=options, ), ) def retrieve( self, subscription_exposed_id: str, params: Optional["SubscriptionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Subscription": """ Retrieves the subscription with the given ID. """ return cast( "Subscription", self._request( "get", "/v1/subscriptions/{subscription_exposed_id}".format( subscription_exposed_id=sanitize_id( subscription_exposed_id ), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, subscription_exposed_id: str, params: Optional["SubscriptionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Subscription": """ Retrieves the subscription with the given ID. """ return cast( "Subscription", await self._request_async( "get", "/v1/subscriptions/{subscription_exposed_id}".format( subscription_exposed_id=sanitize_id( subscription_exposed_id ), ), base_address="api", params=params, options=options, ), ) def update( self, subscription_exposed_id: str, params: Optional["SubscriptionUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Subscription": """ Updates an existing subscription to match the specified parameters. When changing prices or quantities, we optionally prorate the price we charge next month to make up for any price changes. To preview how the proration is calculated, use the [create preview](https://docs.stripe.com/docs/api/invoices/create_preview) endpoint. By default, we prorate subscription changes. For example, if a customer signs up on May 1 for a 100 price, they'll be billed 100 immediately. If on May 15 they switch to a 200 price, then on June 1 they'll be billed 250 (200 for a renewal of her subscription, plus a 50 prorating adjustment for half of the previous month's 100 difference). Similarly, a downgrade generates a credit that is applied to the next invoice. We also prorate when you make quantity changes. Switching prices does not normally change the billing date or generate an immediate charge unless: The billing interval is changed (for example, from monthly to yearly). The subscription moves from free to paid. A trial starts or ends. In these cases, we apply a credit for the unused time on the previous price, immediately charge the customer using the new price, and reset the billing date. Learn about how [Stripe immediately attempts payment for subscription changes](https://docs.stripe.com/docs/billing/subscriptions/upgrade-downgrade#immediate-payment). If you want to charge for an upgrade immediately, pass proration_behavior as always_invoice to create prorations, automatically invoice the customer for those proration adjustments, and attempt to collect payment. If you pass create_prorations, the prorations are created but not automatically invoiced. If you want to bill the customer for the prorations before the subscription's renewal date, you need to manually [invoice the customer](https://docs.stripe.com/docs/api/invoices/create). If you don't want to prorate, set the proration_behavior option to none. With this option, the customer is billed 100 on May 1 and 200 on June 1. Similarly, if you set proration_behavior to none when switching between different billing intervals (for example, from monthly to yearly), we don't generate any credits for the old subscription's unused time. We still reset the billing date and bill immediately for the new subscription. Updating the quantity on a subscription many times in an hour may result in [rate limiting. If you need to bill for a frequently changing quantity, consider integrating usage-based billing](https://docs.stripe.com/docs/rate-limits) instead. """ return cast( "Subscription", self._request( "post", "/v1/subscriptions/{subscription_exposed_id}".format( subscription_exposed_id=sanitize_id( subscription_exposed_id ), ), base_address="api", params=params, options=options, ), ) async def update_async( self, subscription_exposed_id: str, params: Optional["SubscriptionUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Subscription": """ Updates an existing subscription to match the specified parameters. When changing prices or quantities, we optionally prorate the price we charge next month to make up for any price changes. To preview how the proration is calculated, use the [create preview](https://docs.stripe.com/docs/api/invoices/create_preview) endpoint. By default, we prorate subscription changes. For example, if a customer signs up on May 1 for a 100 price, they'll be billed 100 immediately. If on May 15 they switch to a 200 price, then on June 1 they'll be billed 250 (200 for a renewal of her subscription, plus a 50 prorating adjustment for half of the previous month's 100 difference). Similarly, a downgrade generates a credit that is applied to the next invoice. We also prorate when you make quantity changes. Switching prices does not normally change the billing date or generate an immediate charge unless: The billing interval is changed (for example, from monthly to yearly). The subscription moves from free to paid. A trial starts or ends. In these cases, we apply a credit for the unused time on the previous price, immediately charge the customer using the new price, and reset the billing date. Learn about how [Stripe immediately attempts payment for subscription changes](https://docs.stripe.com/docs/billing/subscriptions/upgrade-downgrade#immediate-payment). If you want to charge for an upgrade immediately, pass proration_behavior as always_invoice to create prorations, automatically invoice the customer for those proration adjustments, and attempt to collect payment. If you pass create_prorations, the prorations are created but not automatically invoiced. If you want to bill the customer for the prorations before the subscription's renewal date, you need to manually [invoice the customer](https://docs.stripe.com/docs/api/invoices/create). If you don't want to prorate, set the proration_behavior option to none. With this option, the customer is billed 100 on May 1 and 200 on June 1. Similarly, if you set proration_behavior to none when switching between different billing intervals (for example, from monthly to yearly), we don't generate any credits for the old subscription's unused time. We still reset the billing date and bill immediately for the new subscription. Updating the quantity on a subscription many times in an hour may result in [rate limiting. If you need to bill for a frequently changing quantity, consider integrating usage-based billing](https://docs.stripe.com/docs/rate-limits) instead. """ return cast( "Subscription", await self._request_async( "post", "/v1/subscriptions/{subscription_exposed_id}".format( subscription_exposed_id=sanitize_id( subscription_exposed_id ), ), base_address="api", params=params, options=options, ), ) def delete_discount( self, subscription_exposed_id: str, params: Optional["SubscriptionDeleteDiscountParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Discount": """ Removes the currently applied discount on a subscription. """ return cast( "Discount", self._request( "delete", "/v1/subscriptions/{subscription_exposed_id}/discount".format( subscription_exposed_id=sanitize_id( subscription_exposed_id ), ), base_address="api", params=params, options=options, ), ) async def delete_discount_async( self, subscription_exposed_id: str, params: Optional["SubscriptionDeleteDiscountParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Discount": """ Removes the currently applied discount on a subscription. """ return cast( "Discount", await self._request_async( "delete", "/v1/subscriptions/{subscription_exposed_id}/discount".format( subscription_exposed_id=sanitize_id( subscription_exposed_id ), ), base_address="api", params=params, options=options, ), ) def list( self, params: Optional["SubscriptionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Subscription]": """ By default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify status=canceled. """ return cast( "ListObject[Subscription]", self._request( "get", "/v1/subscriptions", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["SubscriptionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Subscription]": """ By default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify status=canceled. """ return cast( "ListObject[Subscription]", await self._request_async( "get", "/v1/subscriptions", base_address="api", params=params, options=options, ), ) def create( self, params: "SubscriptionCreateParams", options: Optional["RequestOptions"] = None, ) -> "Subscription": """ Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions. When you create a subscription with collection_method=charge_automatically, the first invoice is finalized as part of the request. The payment_behavior parameter determines the exact behavior of the initial payment. To start subscriptions where the first invoice always begins in a draft status, use [subscription schedules](https://docs.stripe.com/docs/billing/subscriptions/subscription-schedules#managing) instead. Schedules provide the flexibility to model more complex billing configurations that change over time. """ return cast( "Subscription", self._request( "post", "/v1/subscriptions", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "SubscriptionCreateParams", options: Optional["RequestOptions"] = None, ) -> "Subscription": """ Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions. When you create a subscription with collection_method=charge_automatically, the first invoice is finalized as part of the request. The payment_behavior parameter determines the exact behavior of the initial payment. To start subscriptions where the first invoice always begins in a draft status, use [subscription schedules](https://docs.stripe.com/docs/billing/subscriptions/subscription-schedules#managing) instead. Schedules provide the flexibility to model more complex billing configurations that change over time. """ return cast( "Subscription", await self._request_async( "post", "/v1/subscriptions", base_address="api", params=params, options=options, ), ) def search( self, params: "SubscriptionSearchParams", options: Optional["RequestOptions"] = None, ) -> "SearchResultObject[Subscription]": """ Search for subscriptions you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cast( "SearchResultObject[Subscription]", self._request( "get", "/v1/subscriptions/search", base_address="api", params=params, options=options, ), ) async def search_async( self, params: "SubscriptionSearchParams", options: Optional["RequestOptions"] = None, ) -> "SearchResultObject[Subscription]": """ Search for subscriptions you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language). Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India. """ return cast( "SearchResultObject[Subscription]", await self._request_async( "get", "/v1/subscriptions/search", base_address="api", params=params, options=options, ), ) def migrate( self, subscription: str, params: "SubscriptionMigrateParams", options: Optional["RequestOptions"] = None, ) -> "Subscription": """ Upgrade the billing_mode of an existing subscription. """ return cast( "Subscription", self._request( "post", "/v1/subscriptions/{subscription}/migrate".format( subscription=sanitize_id(subscription), ), base_address="api", params=params, options=options, ), ) async def migrate_async( self, subscription: str, params: "SubscriptionMigrateParams", options: Optional["RequestOptions"] = None, ) -> "Subscription": """ Upgrade the billing_mode of an existing subscription. """ return cast( "Subscription", await self._request_async( "post", "/v1/subscriptions/{subscription}/migrate".format( subscription=sanitize_id(subscription), ), base_address="api", params=params, options=options, ), ) def resume( self, subscription: str, params: Optional["SubscriptionResumeParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Subscription": """ Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date. """ return cast( "Subscription", self._request( "post", "/v1/subscriptions/{subscription}/resume".format( subscription=sanitize_id(subscription), ), base_address="api", params=params, options=options, ), ) async def resume_async( self, subscription: str, params: Optional["SubscriptionResumeParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Subscription": """ Initiates resumption of a paused subscription, optionally resetting the billing cycle anchor and creating prorations. If a resumption invoice is generated, it must be paid or marked uncollectible before the subscription will be unpaused. If payment succeeds the subscription will become active, and if payment fails the subscription will be past_due. The resumption invoice will void automatically if not paid by the expiration date. """ return cast( "Subscription", await self._request_async( "post", "/v1/subscriptions/{subscription}/resume".format( subscription=sanitize_id(subscription), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.332062 stripe-13.2.0/stripe/_tax_code.py0000644000000000000000000000603315102753431013641 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from typing import ClassVar from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._tax_code_list_params import TaxCodeListParams from stripe.params._tax_code_retrieve_params import TaxCodeRetrieveParams class TaxCode(ListableAPIResource["TaxCode"]): """ [Tax codes](https://stripe.com/docs/tax/tax-categories) classify goods and services for tax purposes. """ OBJECT_NAME: ClassVar[Literal["tax_code"]] = "tax_code" description: str """ A detailed description of which types of products the tax code represents. """ id: str """ Unique identifier for the object. """ name: str """ A short name for the tax code. """ object: Literal["tax_code"] """ String representing the object's type. Objects of the same type share the same value. """ @classmethod def list( cls, **params: Unpack["TaxCodeListParams"] ) -> ListObject["TaxCode"]: """ A list of [all tax codes available](https://stripe.com/docs/tax/tax-categories) to add to Products in order to allow specific tax calculations. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["TaxCodeListParams"] ) -> ListObject["TaxCode"]: """ A list of [all tax codes available](https://stripe.com/docs/tax/tax-categories) to add to Products in order to allow specific tax calculations. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["TaxCodeRetrieveParams"] ) -> "TaxCode": """ Retrieves the details of an existing tax code. Supply the unique tax code ID and Stripe will return the corresponding tax code information. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["TaxCodeRetrieveParams"] ) -> "TaxCode": """ Retrieves the details of an existing tax code. Supply the unique tax code ID and Stripe will return the corresponding tax code information. """ instance = cls(id, **params) await instance.refresh_async() return instance ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.332062 stripe-13.2.0/stripe/_tax_code_service.py0000644000000000000000000000604515102753431015364 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._tax_code import TaxCode from stripe.params._tax_code_list_params import TaxCodeListParams from stripe.params._tax_code_retrieve_params import TaxCodeRetrieveParams class TaxCodeService(StripeService): def list( self, params: Optional["TaxCodeListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[TaxCode]": """ A list of [all tax codes available](https://stripe.com/docs/tax/tax-categories) to add to Products in order to allow specific tax calculations. """ return cast( "ListObject[TaxCode]", self._request( "get", "/v1/tax_codes", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["TaxCodeListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[TaxCode]": """ A list of [all tax codes available](https://stripe.com/docs/tax/tax-categories) to add to Products in order to allow specific tax calculations. """ return cast( "ListObject[TaxCode]", await self._request_async( "get", "/v1/tax_codes", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["TaxCodeRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TaxCode": """ Retrieves the details of an existing tax code. Supply the unique tax code ID and Stripe will return the corresponding tax code information. """ return cast( "TaxCode", self._request( "get", "/v1/tax_codes/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["TaxCodeRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TaxCode": """ Retrieves the details of an existing tax code. Supply the unique tax code ID and Stripe will return the corresponding tax code information. """ return cast( "TaxCode", await self._request_async( "get", "/v1/tax_codes/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.332062 stripe-13.2.0/stripe/_tax_deducted_at_source.py0000644000000000000000000000166715102753431016564 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar from typing_extensions import Literal class TaxDeductedAtSource(StripeObject): OBJECT_NAME: ClassVar[Literal["tax_deducted_at_source"]] = ( "tax_deducted_at_source" ) id: str """ Unique identifier for the object. """ object: Literal["tax_deducted_at_source"] """ String representing the object's type. Objects of the same type share the same value. """ period_end: int """ The end of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period. """ period_start: int """ The start of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period. """ tax_deduction_account_number: str """ The TAN that was supplied to Stripe when TDS was assessed """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3330622 stripe-13.2.0/stripe/_tax_id.py0000644000000000000000000002711615102753431013330 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._application import Application from stripe._customer import Customer from stripe.params._tax_id_create_params import TaxIdCreateParams from stripe.params._tax_id_delete_params import TaxIdDeleteParams from stripe.params._tax_id_list_params import TaxIdListParams from stripe.params._tax_id_retrieve_params import TaxIdRetrieveParams class TaxId( CreateableAPIResource["TaxId"], DeletableAPIResource["TaxId"], ListableAPIResource["TaxId"], ): """ You can add one or multiple tax IDs to a [customer](https://stripe.com/docs/api/customers) or account. Customer and account tax IDs get displayed on related invoices and credit notes. Related guides: [Customer tax identification numbers](https://stripe.com/docs/billing/taxes/tax-ids), [Account tax IDs](https://stripe.com/docs/invoicing/connect#account-tax-ids) """ OBJECT_NAME: ClassVar[Literal["tax_id"]] = "tax_id" class Owner(StripeObject): account: Optional[ExpandableField["Account"]] """ The account being referenced when `type` is `account`. """ application: Optional[ExpandableField["Application"]] """ The Connect Application being referenced when `type` is `application`. """ customer: Optional[ExpandableField["Customer"]] """ The customer being referenced when `type` is `customer`. """ type: Literal["account", "application", "customer", "self"] """ Type of owner referenced. """ class Verification(StripeObject): status: Literal["pending", "unavailable", "unverified", "verified"] """ Verification status, one of `pending`, `verified`, `unverified`, or `unavailable`. """ verified_address: Optional[str] """ Verified address. """ verified_name: Optional[str] """ Verified name. """ country: Optional[str] """ Two-letter ISO code representing the country of the tax ID. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ customer: Optional[ExpandableField["Customer"]] """ ID of the customer. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["tax_id"] """ String representing the object's type. Objects of the same type share the same value. """ owner: Optional[Owner] """ The account or customer the tax ID belongs to. """ type: Literal[ "ad_nrt", "ae_trn", "al_tin", "am_tin", "ao_tin", "ar_cuit", "au_abn", "au_arn", "aw_tin", "az_tin", "ba_tin", "bb_tin", "bd_bin", "bf_ifu", "bg_uic", "bh_vat", "bj_ifu", "bo_tin", "br_cnpj", "br_cpf", "bs_tin", "by_tin", "ca_bn", "ca_gst_hst", "ca_pst_bc", "ca_pst_mb", "ca_pst_sk", "ca_qst", "cd_nif", "ch_uid", "ch_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", "de_stn", "do_rcn", "ec_ruc", "eg_tin", "es_cif", "et_tin", "eu_oss_vat", "eu_vat", "gb_vat", "ge_vat", "gn_nif", "hk_br", "hr_oib", "hu_tin", "id_npwp", "il_vat", "in_gst", "is_vat", "jp_cn", "jp_rn", "jp_trn", "ke_pin", "kg_tin", "kh_tin", "kr_brn", "kz_bin", "la_tin", "li_uid", "li_vat", "ma_vat", "md_vat", "me_pib", "mk_vat", "mr_nif", "mx_rfc", "my_frp", "my_itn", "my_sst", "ng_tin", "no_vat", "no_voec", "np_pan", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "ro_tin", "rs_pib", "ru_inn", "ru_kpp", "sa_vat", "sg_gst", "sg_uen", "si_tin", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", "tw_vat", "tz_vat", "ua_vat", "ug_tin", "unknown", "us_ein", "uy_ruc", "uz_tin", "uz_vat", "ve_rif", "vn_tin", "za_vat", "zm_tin", "zw_tin", ] """ Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_arn`, `aw_tin`, `az_tin`, `ba_tin`, `bb_tin`, `bd_bin`, `bf_ifu`, `bg_uic`, `bh_vat`, `bj_ifu`, `bo_tin`, `br_cnpj`, `br_cpf`, `bs_tin`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `ma_vat`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tw_vat`, `tz_vat`, `ua_vat`, `ug_tin`, `us_ein`, `uy_ruc`, `uz_tin`, `uz_vat`, `ve_rif`, `vn_tin`, `za_vat`, `zm_tin`, or `zw_tin`. Note that some legacy tax IDs have type `unknown` """ value: str """ Value of the tax ID. """ verification: Optional[Verification] """ Tax ID verification information. """ @classmethod def create(cls, **params: Unpack["TaxIdCreateParams"]) -> "TaxId": """ Creates a new account or customer tax_id object. """ return cast( "TaxId", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["TaxIdCreateParams"] ) -> "TaxId": """ Creates a new account or customer tax_id object. """ return cast( "TaxId", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["TaxIdDeleteParams"] ) -> "TaxId": """ Deletes an existing account or customer tax_id object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "TaxId", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete(sid: str, **params: Unpack["TaxIdDeleteParams"]) -> "TaxId": """ Deletes an existing account or customer tax_id object. """ ... @overload def delete(self, **params: Unpack["TaxIdDeleteParams"]) -> "TaxId": """ Deletes an existing account or customer tax_id object. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["TaxIdDeleteParams"] ) -> "TaxId": """ Deletes an existing account or customer tax_id object. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["TaxIdDeleteParams"] ) -> "TaxId": """ Deletes an existing account or customer tax_id object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "TaxId", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["TaxIdDeleteParams"] ) -> "TaxId": """ Deletes an existing account or customer tax_id object. """ ... @overload async def delete_async( self, **params: Unpack["TaxIdDeleteParams"] ) -> "TaxId": """ Deletes an existing account or customer tax_id object. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["TaxIdDeleteParams"] ) -> "TaxId": """ Deletes an existing account or customer tax_id object. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def list(cls, **params: Unpack["TaxIdListParams"]) -> ListObject["TaxId"]: """ Returns a list of tax IDs. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["TaxIdListParams"] ) -> ListObject["TaxId"]: """ Returns a list of tax IDs. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["TaxIdRetrieveParams"] ) -> "TaxId": """ Retrieves an account or customer tax_id object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["TaxIdRetrieveParams"] ) -> "TaxId": """ Retrieves an account or customer tax_id object. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"owner": Owner, "verification": Verification} ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3330622 stripe-13.2.0/stripe/_tax_id_service.py0000644000000000000000000001136515102753431015047 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._tax_id import TaxId from stripe.params._tax_id_create_params import TaxIdCreateParams from stripe.params._tax_id_delete_params import TaxIdDeleteParams from stripe.params._tax_id_list_params import TaxIdListParams from stripe.params._tax_id_retrieve_params import TaxIdRetrieveParams class TaxIdService(StripeService): def delete( self, id: str, params: Optional["TaxIdDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TaxId": """ Deletes an existing account or customer tax_id object. """ return cast( "TaxId", self._request( "delete", "/v1/tax_ids/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def delete_async( self, id: str, params: Optional["TaxIdDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TaxId": """ Deletes an existing account or customer tax_id object. """ return cast( "TaxId", await self._request_async( "delete", "/v1/tax_ids/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["TaxIdRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TaxId": """ Retrieves an account or customer tax_id object. """ return cast( "TaxId", self._request( "get", "/v1/tax_ids/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["TaxIdRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TaxId": """ Retrieves an account or customer tax_id object. """ return cast( "TaxId", await self._request_async( "get", "/v1/tax_ids/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def list( self, params: Optional["TaxIdListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[TaxId]": """ Returns a list of tax IDs. """ return cast( "ListObject[TaxId]", self._request( "get", "/v1/tax_ids", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["TaxIdListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[TaxId]": """ Returns a list of tax IDs. """ return cast( "ListObject[TaxId]", await self._request_async( "get", "/v1/tax_ids", base_address="api", params=params, options=options, ), ) def create( self, params: "TaxIdCreateParams", options: Optional["RequestOptions"] = None, ) -> "TaxId": """ Creates a new account or customer tax_id object. """ return cast( "TaxId", self._request( "post", "/v1/tax_ids", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "TaxIdCreateParams", options: Optional["RequestOptions"] = None, ) -> "TaxId": """ Creates a new account or customer tax_id object. """ return cast( "TaxId", await self._request_async( "post", "/v1/tax_ids", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3330622 stripe-13.2.0/stripe/_tax_rate.py0000644000000000000000000002161415102753431013664 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, Dict, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._tax_rate_create_params import TaxRateCreateParams from stripe.params._tax_rate_list_params import TaxRateListParams from stripe.params._tax_rate_modify_params import TaxRateModifyParams from stripe.params._tax_rate_retrieve_params import TaxRateRetrieveParams class TaxRate( CreateableAPIResource["TaxRate"], ListableAPIResource["TaxRate"], UpdateableAPIResource["TaxRate"], ): """ Tax rates can be applied to [invoices](https://docs.stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://docs.stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://docs.stripe.com/payments/checkout/use-manual-tax-rates) to collect tax. Related guide: [Tax rates](https://docs.stripe.com/billing/taxes/tax-rates) """ OBJECT_NAME: ClassVar[Literal["tax_rate"]] = "tax_rate" class FlatAmount(StripeObject): amount: int """ Amount of the tax when the `rate_type` is `flat_amount`. This positive integer represents how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). """ currency: str """ Three-letter ISO currency code, in lowercase. """ active: bool """ Defaults to `true`. When set to `false`, this tax rate cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ description: Optional[str] """ An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers. """ display_name: str """ The display name of the tax rates as it will appear to your customer on their receipt email, PDF, and the hosted invoice page. """ effective_percentage: Optional[float] """ Actual/effective tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage reflects the rate actually used to calculate tax based on the product's taxability and whether the user is registered to collect taxes in the corresponding jurisdiction. """ flat_amount: Optional[FlatAmount] """ The amount of the tax rate when the `rate_type` is `flat_amount`. Tax rates with `rate_type` `percentage` can vary based on the transaction, resulting in this field being `null`. This field exposes the amount and currency of the flat tax rate. """ id: str """ Unique identifier for the object. """ inclusive: bool """ This specifies if the tax rate is inclusive or exclusive. """ jurisdiction: Optional[str] """ The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer's invoice. """ jurisdiction_level: Optional[ Literal["city", "country", "county", "district", "multiple", "state"] ] """ The level of the jurisdiction that imposes this tax rate. Will be `null` for manually defined tax rates. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["tax_rate"] """ String representing the object's type. Objects of the same type share the same value. """ percentage: float """ Tax rate percentage out of 100. For tax calculations with automatic_tax[enabled]=true, this percentage includes the statutory tax rate of non-taxable jurisdictions. """ rate_type: Optional[Literal["flat_amount", "percentage"]] """ Indicates the type of tax rate applied to the taxable amount. This value can be `null` when no tax applies to the location. This field is only present for TaxRates created by Stripe Tax. """ state: Optional[str] """ [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2), without country prefix. For example, "NY" for New York, United States. """ tax_type: Optional[ Literal[ "amusement_tax", "communications_tax", "gst", "hst", "igst", "jct", "lease_tax", "pst", "qst", "retail_delivery_fee", "rst", "sales_tax", "service_tax", "vat", ] ] """ The high-level tax type, such as `vat` or `sales_tax`. """ @classmethod def create(cls, **params: Unpack["TaxRateCreateParams"]) -> "TaxRate": """ Creates a new tax rate. """ return cast( "TaxRate", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["TaxRateCreateParams"] ) -> "TaxRate": """ Creates a new tax rate. """ return cast( "TaxRate", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["TaxRateListParams"] ) -> ListObject["TaxRate"]: """ Returns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created tax rates appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["TaxRateListParams"] ) -> ListObject["TaxRate"]: """ Returns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created tax rates appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["TaxRateModifyParams"] ) -> "TaxRate": """ Updates an existing tax rate. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "TaxRate", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["TaxRateModifyParams"] ) -> "TaxRate": """ Updates an existing tax rate. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "TaxRate", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["TaxRateRetrieveParams"] ) -> "TaxRate": """ Retrieves a tax rate with the given ID """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["TaxRateRetrieveParams"] ) -> "TaxRate": """ Retrieves a tax rate with the given ID """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"flat_amount": FlatAmount} ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3330622 stripe-13.2.0/stripe/_tax_rate_service.py0000644000000000000000000001225715102753431015407 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._tax_rate import TaxRate from stripe.params._tax_rate_create_params import TaxRateCreateParams from stripe.params._tax_rate_list_params import TaxRateListParams from stripe.params._tax_rate_retrieve_params import TaxRateRetrieveParams from stripe.params._tax_rate_update_params import TaxRateUpdateParams class TaxRateService(StripeService): def list( self, params: Optional["TaxRateListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[TaxRate]": """ Returns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created tax rates appearing first. """ return cast( "ListObject[TaxRate]", self._request( "get", "/v1/tax_rates", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["TaxRateListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[TaxRate]": """ Returns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created tax rates appearing first. """ return cast( "ListObject[TaxRate]", await self._request_async( "get", "/v1/tax_rates", base_address="api", params=params, options=options, ), ) def create( self, params: "TaxRateCreateParams", options: Optional["RequestOptions"] = None, ) -> "TaxRate": """ Creates a new tax rate. """ return cast( "TaxRate", self._request( "post", "/v1/tax_rates", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "TaxRateCreateParams", options: Optional["RequestOptions"] = None, ) -> "TaxRate": """ Creates a new tax rate. """ return cast( "TaxRate", await self._request_async( "post", "/v1/tax_rates", base_address="api", params=params, options=options, ), ) def retrieve( self, tax_rate: str, params: Optional["TaxRateRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TaxRate": """ Retrieves a tax rate with the given ID """ return cast( "TaxRate", self._request( "get", "/v1/tax_rates/{tax_rate}".format( tax_rate=sanitize_id(tax_rate), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, tax_rate: str, params: Optional["TaxRateRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TaxRate": """ Retrieves a tax rate with the given ID """ return cast( "TaxRate", await self._request_async( "get", "/v1/tax_rates/{tax_rate}".format( tax_rate=sanitize_id(tax_rate), ), base_address="api", params=params, options=options, ), ) def update( self, tax_rate: str, params: Optional["TaxRateUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TaxRate": """ Updates an existing tax rate. """ return cast( "TaxRate", self._request( "post", "/v1/tax_rates/{tax_rate}".format( tax_rate=sanitize_id(tax_rate), ), base_address="api", params=params, options=options, ), ) async def update_async( self, tax_rate: str, params: Optional["TaxRateUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TaxRate": """ Updates an existing tax rate. """ return cast( "TaxRate", await self._request_async( "post", "/v1/tax_rates/{tax_rate}".format( tax_rate=sanitize_id(tax_rate), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3330622 stripe-13.2.0/stripe/_tax_service.py0000644000000000000000000000277415102753431014377 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.tax._calculation_service import CalculationService from stripe.tax._registration_service import RegistrationService from stripe.tax._settings_service import SettingsService from stripe.tax._transaction_service import TransactionService _subservices = { "calculations": ["stripe.tax._calculation_service", "CalculationService"], "registrations": [ "stripe.tax._registration_service", "RegistrationService", ], "settings": ["stripe.tax._settings_service", "SettingsService"], "transactions": ["stripe.tax._transaction_service", "TransactionService"], } class TaxService(StripeService): calculations: "CalculationService" registrations: "RegistrationService" settings: "SettingsService" transactions: "TransactionService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3330622 stripe-13.2.0/stripe/_terminal_service.py0000644000000000000000000000312715102753431015407 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.terminal._configuration_service import ConfigurationService from stripe.terminal._connection_token_service import ( ConnectionTokenService, ) from stripe.terminal._location_service import LocationService from stripe.terminal._reader_service import ReaderService _subservices = { "configurations": [ "stripe.terminal._configuration_service", "ConfigurationService", ], "connection_tokens": [ "stripe.terminal._connection_token_service", "ConnectionTokenService", ], "locations": ["stripe.terminal._location_service", "LocationService"], "readers": ["stripe.terminal._reader_service", "ReaderService"], } class TerminalService(StripeService): configurations: "ConfigurationService" connection_tokens: "ConnectionTokenService" locations: "LocationService" readers: "ReaderService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3330622 stripe-13.2.0/stripe/_test_helpers.py0000644000000000000000000000423515102753431014556 0ustar00from stripe._error import InvalidRequestError from urllib.parse import quote_plus from typing import TypeVar, ClassVar, Any from typing_extensions import Protocol from stripe._api_resource import APIResource T = TypeVar("T", bound=APIResource[Any]) class APIResourceTestHelpers(Protocol[T]): """ The base type for the TestHelper nested classes. Handles request URL generation for test_helper custom methods. Should be used in combination with the @test_helpers decorator. @test_helpers class Foo(APIResource): class TestHelpers(APIResourceTestHelpers): """ _resource_cls: ClassVar[Any] resource: T def __init__(self, resource): self.resource = resource @classmethod def _static_request(cls, *args, **kwargs): return cls._resource_cls._static_request(*args, **kwargs) @classmethod async def _static_request_async(cls, *args, **kwargs): return await cls._resource_cls._static_request_async(*args, **kwargs) @classmethod def _static_request_stream(cls, *args, **kwargs): return cls._resource_cls._static_request_stream(*args, **kwargs) @classmethod def class_url(cls): if cls == APIResourceTestHelpers: raise NotImplementedError( "APIResourceTestHelpers is an abstract class. You should perform " "actions on its subclasses (e.g. Charge, Customer)" ) # Namespaces are separated in object names with periods (.) and in URLs # with forward slashes (/), so replace the former with the latter. base = cls._resource_cls.OBJECT_NAME.replace(".", "/") return "/v1/test_helpers/%ss" % (base,) def instance_url(self): id = getattr(self.resource, "id", None) if not isinstance(id, str): raise InvalidRequestError( "Could not determine which URL to request: %s instance " "has invalid ID: %r, %s. ID should be of type `str` (or" " `unicode`)" % (type(self).__name__, id, type(id)), "id", ) base = self.class_url() extn = quote_plus(id) return "%s/%s" % (base, extn) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3330622 stripe-13.2.0/stripe/_test_helpers_service.py0000644000000000000000000000420515102753431016273 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.test_helpers._confirmation_token_service import ( ConfirmationTokenService, ) from stripe.test_helpers._customer_service import CustomerService from stripe.test_helpers._issuing_service import IssuingService from stripe.test_helpers._refund_service import RefundService from stripe.test_helpers._terminal_service import TerminalService from stripe.test_helpers._test_clock_service import TestClockService from stripe.test_helpers._treasury_service import TreasuryService _subservices = { "confirmation_tokens": [ "stripe.test_helpers._confirmation_token_service", "ConfirmationTokenService", ], "customers": ["stripe.test_helpers._customer_service", "CustomerService"], "issuing": ["stripe.test_helpers._issuing_service", "IssuingService"], "refunds": ["stripe.test_helpers._refund_service", "RefundService"], "terminal": ["stripe.test_helpers._terminal_service", "TerminalService"], "test_clocks": [ "stripe.test_helpers._test_clock_service", "TestClockService", ], "treasury": ["stripe.test_helpers._treasury_service", "TreasuryService"], } class TestHelpersService(StripeService): confirmation_tokens: "ConfirmationTokenService" customers: "CustomerService" issuing: "IssuingService" refunds: "RefundService" terminal: "TerminalService" test_clocks: "TestClockService" treasury: "TreasuryService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3330622 stripe-13.2.0/stripe/_token.py0000644000000000000000000001317115102753431013174 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from typing import ClassVar, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._bank_account import BankAccount from stripe._card import Card from stripe.params._token_create_params import TokenCreateParams from stripe.params._token_retrieve_params import TokenRetrieveParams class Token(CreateableAPIResource["Token"]): """ Tokenization is the process Stripe uses to collect sensitive card or bank account details, or personally identifiable information (PII), directly from your customers in a secure manner. A token representing this information is returned to your server to use. Use our [recommended payments integrations](https://stripe.com/docs/payments) to perform this process on the client-side. This guarantees that no sensitive card data touches your server, and allows your integration to operate in a PCI-compliant way. If you can't use client-side tokenization, you can also create tokens using the API with either your publishable or secret API key. If your integration uses this method, you're responsible for any PCI compliance that it might require, and you must keep your secret API key safe. Unlike with client-side tokenization, your customer's information isn't sent directly to Stripe, so we can't determine how it's handled or stored. You can't store or use tokens more than once. To store card or bank account information for later use, create [Customer](https://stripe.com/docs/api#customers) objects or [External accounts](https://docs.stripe.com/api#external_accounts). [Radar](https://stripe.com/docs/radar), our integrated solution for automatic fraud protection, performs best with integrations that use client-side tokenization. """ OBJECT_NAME: ClassVar[Literal["token"]] = "token" bank_account: Optional["BankAccount"] """ These bank accounts are payment methods on `Customer` objects. On the other hand [External Accounts](https://docs.stripe.com/api#external_accounts) are transfer destinations on `Account` objects for connected accounts. They can be bank accounts or debit cards as well, and are documented in the links above. Related guide: [Bank debits and transfers](https://docs.stripe.com/payments/bank-debits-transfers) """ card: Optional["Card"] """ You can store multiple cards on a customer in order to charge the customer later. You can also store multiple debit cards on a recipient in order to transfer to those cards later. Related guide: [Card payments with Sources](https://stripe.com/docs/sources/cards) """ client_ip: Optional[str] """ IP address of the client that generates the token. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["token"] """ String representing the object's type. Objects of the same type share the same value. """ type: str """ Type of the token: `account`, `bank_account`, `card`, or `pii`. """ used: bool """ Determines if you have already used this token (you can only use tokens once). """ @classmethod def create(cls, **params: Unpack["TokenCreateParams"]) -> "Token": """ Creates a single-use token that represents a bank account's details. You can use this token with any v1 API method in place of a bank account dictionary. You can only use this token once. To do so, attach it to a [connected account](https://docs.stripe.com/api#accounts) where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is application, which includes Custom accounts. """ return cast( "Token", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["TokenCreateParams"] ) -> "Token": """ Creates a single-use token that represents a bank account's details. You can use this token with any v1 API method in place of a bank account dictionary. You can only use this token once. To do so, attach it to a [connected account](https://docs.stripe.com/api#accounts) where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is application, which includes Custom accounts. """ return cast( "Token", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["TokenRetrieveParams"] ) -> "Token": """ Retrieves the token with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["TokenRetrieveParams"] ) -> "Token": """ Retrieves the token with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3330622 stripe-13.2.0/stripe/_token_service.py0000644000000000000000000000655315102753431014722 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe._token import Token from stripe.params._token_create_params import TokenCreateParams from stripe.params._token_retrieve_params import TokenRetrieveParams class TokenService(StripeService): def retrieve( self, token: str, params: Optional["TokenRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Token": """ Retrieves the token with the given ID. """ return cast( "Token", self._request( "get", "/v1/tokens/{token}".format(token=sanitize_id(token)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, token: str, params: Optional["TokenRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Token": """ Retrieves the token with the given ID. """ return cast( "Token", await self._request_async( "get", "/v1/tokens/{token}".format(token=sanitize_id(token)), base_address="api", params=params, options=options, ), ) def create( self, params: Optional["TokenCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Token": """ Creates a single-use token that represents a bank account's details. You can use this token with any v1 API method in place of a bank account dictionary. You can only use this token once. To do so, attach it to a [connected account](https://docs.stripe.com/api#accounts) where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is application, which includes Custom accounts. """ return cast( "Token", self._request( "post", "/v1/tokens", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["TokenCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Token": """ Creates a single-use token that represents a bank account's details. You can use this token with any v1 API method in place of a bank account dictionary. You can only use this token once. To do so, attach it to a [connected account](https://docs.stripe.com/api#accounts) where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is application, which includes Custom accounts. """ return cast( "Token", await self._request_async( "post", "/v1/tokens", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3330622 stripe-13.2.0/stripe/_topup.py0000644000000000000000000002430715102753431013226 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._balance_transaction import BalanceTransaction from stripe._source import Source from stripe.params._topup_cancel_params import TopupCancelParams from stripe.params._topup_create_params import TopupCreateParams from stripe.params._topup_list_params import TopupListParams from stripe.params._topup_modify_params import TopupModifyParams from stripe.params._topup_retrieve_params import TopupRetrieveParams class Topup( CreateableAPIResource["Topup"], ListableAPIResource["Topup"], UpdateableAPIResource["Topup"], ): """ To top up your Stripe balance, you create a top-up object. You can retrieve individual top-ups, as well as list all top-ups. Top-ups are identified by a unique, random ID. Related guide: [Topping up your platform account](https://stripe.com/docs/connect/top-ups) """ OBJECT_NAME: ClassVar[Literal["topup"]] = "topup" amount: int """ Amount transferred. """ balance_transaction: Optional[ExpandableField["BalanceTransaction"]] """ ID of the balance transaction that describes the impact of this top-up on your account balance. May not be specified depending on status of top-up. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expected_availability_date: Optional[int] """ Date the funds are expected to arrive in your Stripe account for payouts. This factors in delays like weekends or bank holidays. May not be specified depending on status of top-up. """ failure_code: Optional[str] """ Error code explaining reason for top-up failure if available (see [the errors section](https://stripe.com/docs/api#errors) for a list of codes). """ failure_message: Optional[str] """ Message to user further explaining reason for top-up failure if available. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["topup"] """ String representing the object's type. Objects of the same type share the same value. """ source: Optional["Source"] """ The source field is deprecated. It might not always be present in the API response. """ statement_descriptor: Optional[str] """ Extra information about a top-up. This will appear on your source's bank statement. It must contain at least one letter. """ status: Literal["canceled", "failed", "pending", "reversed", "succeeded"] """ The status of the top-up is either `canceled`, `failed`, `pending`, `reversed`, or `succeeded`. """ transfer_group: Optional[str] """ A string that identifies this top-up as part of a group. """ @classmethod def _cls_cancel( cls, topup: str, **params: Unpack["TopupCancelParams"] ) -> "Topup": """ Cancels a top-up. Only pending top-ups can be canceled. """ return cast( "Topup", cls._static_request( "post", "/v1/topups/{topup}/cancel".format(topup=sanitize_id(topup)), params=params, ), ) @overload @staticmethod def cancel(topup: str, **params: Unpack["TopupCancelParams"]) -> "Topup": """ Cancels a top-up. Only pending top-ups can be canceled. """ ... @overload def cancel(self, **params: Unpack["TopupCancelParams"]) -> "Topup": """ Cancels a top-up. Only pending top-ups can be canceled. """ ... @class_method_variant("_cls_cancel") def cancel( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["TopupCancelParams"] ) -> "Topup": """ Cancels a top-up. Only pending top-ups can be canceled. """ return cast( "Topup", self._request( "post", "/v1/topups/{topup}/cancel".format( topup=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_cancel_async( cls, topup: str, **params: Unpack["TopupCancelParams"] ) -> "Topup": """ Cancels a top-up. Only pending top-ups can be canceled. """ return cast( "Topup", await cls._static_request_async( "post", "/v1/topups/{topup}/cancel".format(topup=sanitize_id(topup)), params=params, ), ) @overload @staticmethod async def cancel_async( topup: str, **params: Unpack["TopupCancelParams"] ) -> "Topup": """ Cancels a top-up. Only pending top-ups can be canceled. """ ... @overload async def cancel_async( self, **params: Unpack["TopupCancelParams"] ) -> "Topup": """ Cancels a top-up. Only pending top-ups can be canceled. """ ... @class_method_variant("_cls_cancel_async") async def cancel_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["TopupCancelParams"] ) -> "Topup": """ Cancels a top-up. Only pending top-ups can be canceled. """ return cast( "Topup", await self._request_async( "post", "/v1/topups/{topup}/cancel".format( topup=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create(cls, **params: Unpack["TopupCreateParams"]) -> "Topup": """ Top up the balance of an account """ return cast( "Topup", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["TopupCreateParams"] ) -> "Topup": """ Top up the balance of an account """ return cast( "Topup", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list(cls, **params: Unpack["TopupListParams"]) -> ListObject["Topup"]: """ Returns a list of top-ups. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["TopupListParams"] ) -> ListObject["Topup"]: """ Returns a list of top-ups. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify(cls, id: str, **params: Unpack["TopupModifyParams"]) -> "Topup": """ Updates the metadata of a top-up. Other top-up details are not editable by design. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Topup", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["TopupModifyParams"] ) -> "Topup": """ Updates the metadata of a top-up. Other top-up details are not editable by design. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Topup", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["TopupRetrieveParams"] ) -> "Topup": """ Retrieves the details of a top-up that has previously been created. Supply the unique top-up ID that was returned from your previous request, and Stripe will return the corresponding top-up information. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["TopupRetrieveParams"] ) -> "Topup": """ Retrieves the details of a top-up that has previously been created. Supply the unique top-up ID that was returned from your previous request, and Stripe will return the corresponding top-up information. """ instance = cls(id, **params) await instance.refresh_async() return instance ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3330622 stripe-13.2.0/stripe/_topup_service.py0000644000000000000000000001443515102753431014747 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._topup import Topup from stripe.params._topup_cancel_params import TopupCancelParams from stripe.params._topup_create_params import TopupCreateParams from stripe.params._topup_list_params import TopupListParams from stripe.params._topup_retrieve_params import TopupRetrieveParams from stripe.params._topup_update_params import TopupUpdateParams class TopupService(StripeService): def list( self, params: Optional["TopupListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Topup]": """ Returns a list of top-ups. """ return cast( "ListObject[Topup]", self._request( "get", "/v1/topups", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["TopupListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Topup]": """ Returns a list of top-ups. """ return cast( "ListObject[Topup]", await self._request_async( "get", "/v1/topups", base_address="api", params=params, options=options, ), ) def create( self, params: "TopupCreateParams", options: Optional["RequestOptions"] = None, ) -> "Topup": """ Top up the balance of an account """ return cast( "Topup", self._request( "post", "/v1/topups", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "TopupCreateParams", options: Optional["RequestOptions"] = None, ) -> "Topup": """ Top up the balance of an account """ return cast( "Topup", await self._request_async( "post", "/v1/topups", base_address="api", params=params, options=options, ), ) def retrieve( self, topup: str, params: Optional["TopupRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Topup": """ Retrieves the details of a top-up that has previously been created. Supply the unique top-up ID that was returned from your previous request, and Stripe will return the corresponding top-up information. """ return cast( "Topup", self._request( "get", "/v1/topups/{topup}".format(topup=sanitize_id(topup)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, topup: str, params: Optional["TopupRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Topup": """ Retrieves the details of a top-up that has previously been created. Supply the unique top-up ID that was returned from your previous request, and Stripe will return the corresponding top-up information. """ return cast( "Topup", await self._request_async( "get", "/v1/topups/{topup}".format(topup=sanitize_id(topup)), base_address="api", params=params, options=options, ), ) def update( self, topup: str, params: Optional["TopupUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Topup": """ Updates the metadata of a top-up. Other top-up details are not editable by design. """ return cast( "Topup", self._request( "post", "/v1/topups/{topup}".format(topup=sanitize_id(topup)), base_address="api", params=params, options=options, ), ) async def update_async( self, topup: str, params: Optional["TopupUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Topup": """ Updates the metadata of a top-up. Other top-up details are not editable by design. """ return cast( "Topup", await self._request_async( "post", "/v1/topups/{topup}".format(topup=sanitize_id(topup)), base_address="api", params=params, options=options, ), ) def cancel( self, topup: str, params: Optional["TopupCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Topup": """ Cancels a top-up. Only pending top-ups can be canceled. """ return cast( "Topup", self._request( "post", "/v1/topups/{topup}/cancel".format(topup=sanitize_id(topup)), base_address="api", params=params, options=options, ), ) async def cancel_async( self, topup: str, params: Optional["TopupCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Topup": """ Cancels a top-up. Only pending top-ups can be canceled. """ return cast( "Topup", await self._request_async( "post", "/v1/topups/{topup}/cancel".format(topup=sanitize_id(topup)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3330622 stripe-13.2.0/stripe/_transfer.py0000644000000000000000000003665315102753431013712 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._nested_resource_class_methods import nested_resource_class_methods from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, Dict, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._balance_transaction import BalanceTransaction from stripe._charge import Charge from stripe._reversal import Reversal from stripe.params._transfer_create_params import TransferCreateParams from stripe.params._transfer_create_reversal_params import ( TransferCreateReversalParams, ) from stripe.params._transfer_list_params import TransferListParams from stripe.params._transfer_list_reversals_params import ( TransferListReversalsParams, ) from stripe.params._transfer_modify_params import TransferModifyParams from stripe.params._transfer_modify_reversal_params import ( TransferModifyReversalParams, ) from stripe.params._transfer_retrieve_params import TransferRetrieveParams from stripe.params._transfer_retrieve_reversal_params import ( TransferRetrieveReversalParams, ) @nested_resource_class_methods("reversal") class Transfer( CreateableAPIResource["Transfer"], ListableAPIResource["Transfer"], UpdateableAPIResource["Transfer"], ): """ A `Transfer` object is created when you move funds between Stripe accounts as part of Connect. Before April 6, 2017, transfers also represented movement of funds from a Stripe account to a card or bank account. This behavior has since been split out into a [Payout](https://stripe.com/docs/api#payout_object) object, with corresponding payout endpoints. For more information, read about the [transfer/payout split](https://stripe.com/docs/transfer-payout-split). Related guide: [Creating separate charges and transfers](https://stripe.com/docs/connect/separate-charges-and-transfers) """ OBJECT_NAME: ClassVar[Literal["transfer"]] = "transfer" amount: int """ Amount in cents (or local equivalent) to be transferred. """ amount_reversed: int """ Amount in cents (or local equivalent) reversed (can be less than the amount attribute on the transfer if a partial reversal was issued). """ balance_transaction: Optional[ExpandableField["BalanceTransaction"]] """ Balance transaction that describes the impact of this transfer on your account balance. """ created: int """ Time that this record of the transfer was first created. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ destination: Optional[ExpandableField["Account"]] """ ID of the Stripe account the transfer was sent to. """ destination_payment: Optional[ExpandableField["Charge"]] """ If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["transfer"] """ String representing the object's type. Objects of the same type share the same value. """ reversals: ListObject["Reversal"] """ A list of reversals that have been applied to the transfer. """ reversed: bool """ Whether the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false. """ source_transaction: Optional[ExpandableField["Charge"]] """ ID of the charge that was used to fund the transfer. If null, the transfer was funded from the available balance. """ source_type: Optional[str] """ The source balance this transfer came from. One of `card`, `fpx`, or `bank_account`. """ transfer_group: Optional[str] """ A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. """ @classmethod def create(cls, **params: Unpack["TransferCreateParams"]) -> "Transfer": """ To send funds from your Stripe account to a connected account, you create a new transfer object. Your [Stripe balance](https://docs.stripe.com/api#balance) must be able to cover the transfer amount, or you'll receive an “Insufficient Funds” error. """ return cast( "Transfer", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["TransferCreateParams"] ) -> "Transfer": """ To send funds from your Stripe account to a connected account, you create a new transfer object. Your [Stripe balance](https://docs.stripe.com/api#balance) must be able to cover the transfer amount, or you'll receive an “Insufficient Funds” error. """ return cast( "Transfer", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["TransferListParams"] ) -> ListObject["Transfer"]: """ Returns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with the most recently created transfers appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["TransferListParams"] ) -> ListObject["Transfer"]: """ Returns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with the most recently created transfers appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["TransferModifyParams"] ) -> "Transfer": """ Updates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts only metadata as an argument. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Transfer", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["TransferModifyParams"] ) -> "Transfer": """ Updates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts only metadata as an argument. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Transfer", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["TransferRetrieveParams"] ) -> "Transfer": """ Retrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["TransferRetrieveParams"] ) -> "Transfer": """ Retrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def list_reversals( cls, id: str, **params: Unpack["TransferListReversalsParams"] ) -> ListObject["Reversal"]: """ You can see a list of the reversals belonging to a specific transfer. Note that the 10 most recent reversals are always available by default on the transfer object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional reversals. """ return cast( ListObject["Reversal"], cls._static_request( "get", "/v1/transfers/{id}/reversals".format(id=sanitize_id(id)), params=params, ), ) @classmethod async def list_reversals_async( cls, id: str, **params: Unpack["TransferListReversalsParams"] ) -> ListObject["Reversal"]: """ You can see a list of the reversals belonging to a specific transfer. Note that the 10 most recent reversals are always available by default on the transfer object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional reversals. """ return cast( ListObject["Reversal"], await cls._static_request_async( "get", "/v1/transfers/{id}/reversals".format(id=sanitize_id(id)), params=params, ), ) @classmethod def create_reversal( cls, id: str, **params: Unpack["TransferCreateReversalParams"] ) -> "Reversal": """ When you create a new reversal, you must specify a transfer to create it on. When reversing transfers, you can optionally reverse part of the transfer. You can do so as many times as you wish until the entire transfer has been reversed. Once entirely reversed, a transfer can't be reversed again. This method will return an error when called on an already-reversed transfer, or when trying to reverse more money than is left on a transfer. """ return cast( "Reversal", cls._static_request( "post", "/v1/transfers/{id}/reversals".format(id=sanitize_id(id)), params=params, ), ) @classmethod async def create_reversal_async( cls, id: str, **params: Unpack["TransferCreateReversalParams"] ) -> "Reversal": """ When you create a new reversal, you must specify a transfer to create it on. When reversing transfers, you can optionally reverse part of the transfer. You can do so as many times as you wish until the entire transfer has been reversed. Once entirely reversed, a transfer can't be reversed again. This method will return an error when called on an already-reversed transfer, or when trying to reverse more money than is left on a transfer. """ return cast( "Reversal", await cls._static_request_async( "post", "/v1/transfers/{id}/reversals".format(id=sanitize_id(id)), params=params, ), ) @classmethod def retrieve_reversal( cls, transfer: str, id: str, **params: Unpack["TransferRetrieveReversalParams"], ) -> "Reversal": """ By default, you can see the 10 most recent reversals stored directly on the transfer object, but you can also retrieve details about a specific reversal stored on the transfer. """ return cast( "Reversal", cls._static_request( "get", "/v1/transfers/{transfer}/reversals/{id}".format( transfer=sanitize_id(transfer), id=sanitize_id(id) ), params=params, ), ) @classmethod async def retrieve_reversal_async( cls, transfer: str, id: str, **params: Unpack["TransferRetrieveReversalParams"], ) -> "Reversal": """ By default, you can see the 10 most recent reversals stored directly on the transfer object, but you can also retrieve details about a specific reversal stored on the transfer. """ return cast( "Reversal", await cls._static_request_async( "get", "/v1/transfers/{transfer}/reversals/{id}".format( transfer=sanitize_id(transfer), id=sanitize_id(id) ), params=params, ), ) @classmethod def modify_reversal( cls, transfer: str, id: str, **params: Unpack["TransferModifyReversalParams"], ) -> "Reversal": """ Updates the specified reversal by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request only accepts metadata and description as arguments. """ return cast( "Reversal", cls._static_request( "post", "/v1/transfers/{transfer}/reversals/{id}".format( transfer=sanitize_id(transfer), id=sanitize_id(id) ), params=params, ), ) @classmethod async def modify_reversal_async( cls, transfer: str, id: str, **params: Unpack["TransferModifyReversalParams"], ) -> "Reversal": """ Updates the specified reversal by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request only accepts metadata and description as arguments. """ return cast( "Reversal", await cls._static_request_async( "post", "/v1/transfers/{transfer}/reversals/{id}".format( transfer=sanitize_id(transfer), id=sanitize_id(id) ), params=params, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.334062 stripe-13.2.0/stripe/_transfer_reversal_service.py0000644000000000000000000001735715102753431017335 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._reversal import Reversal from stripe.params._transfer_reversal_create_params import ( TransferReversalCreateParams, ) from stripe.params._transfer_reversal_list_params import ( TransferReversalListParams, ) from stripe.params._transfer_reversal_retrieve_params import ( TransferReversalRetrieveParams, ) from stripe.params._transfer_reversal_update_params import ( TransferReversalUpdateParams, ) class TransferReversalService(StripeService): def list( self, id: str, params: Optional["TransferReversalListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Reversal]": """ You can see a list of the reversals belonging to a specific transfer. Note that the 10 most recent reversals are always available by default on the transfer object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional reversals. """ return cast( "ListObject[Reversal]", self._request( "get", "/v1/transfers/{id}/reversals".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def list_async( self, id: str, params: Optional["TransferReversalListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Reversal]": """ You can see a list of the reversals belonging to a specific transfer. Note that the 10 most recent reversals are always available by default on the transfer object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional reversals. """ return cast( "ListObject[Reversal]", await self._request_async( "get", "/v1/transfers/{id}/reversals".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def create( self, id: str, params: Optional["TransferReversalCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reversal": """ When you create a new reversal, you must specify a transfer to create it on. When reversing transfers, you can optionally reverse part of the transfer. You can do so as many times as you wish until the entire transfer has been reversed. Once entirely reversed, a transfer can't be reversed again. This method will return an error when called on an already-reversed transfer, or when trying to reverse more money than is left on a transfer. """ return cast( "Reversal", self._request( "post", "/v1/transfers/{id}/reversals".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def create_async( self, id: str, params: Optional["TransferReversalCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reversal": """ When you create a new reversal, you must specify a transfer to create it on. When reversing transfers, you can optionally reverse part of the transfer. You can do so as many times as you wish until the entire transfer has been reversed. Once entirely reversed, a transfer can't be reversed again. This method will return an error when called on an already-reversed transfer, or when trying to reverse more money than is left on a transfer. """ return cast( "Reversal", await self._request_async( "post", "/v1/transfers/{id}/reversals".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def retrieve( self, transfer: str, id: str, params: Optional["TransferReversalRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reversal": """ By default, you can see the 10 most recent reversals stored directly on the transfer object, but you can also retrieve details about a specific reversal stored on the transfer. """ return cast( "Reversal", self._request( "get", "/v1/transfers/{transfer}/reversals/{id}".format( transfer=sanitize_id(transfer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, transfer: str, id: str, params: Optional["TransferReversalRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reversal": """ By default, you can see the 10 most recent reversals stored directly on the transfer object, but you can also retrieve details about a specific reversal stored on the transfer. """ return cast( "Reversal", await self._request_async( "get", "/v1/transfers/{transfer}/reversals/{id}".format( transfer=sanitize_id(transfer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def update( self, transfer: str, id: str, params: Optional["TransferReversalUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reversal": """ Updates the specified reversal by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request only accepts metadata and description as arguments. """ return cast( "Reversal", self._request( "post", "/v1/transfers/{transfer}/reversals/{id}".format( transfer=sanitize_id(transfer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def update_async( self, transfer: str, id: str, params: Optional["TransferReversalUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reversal": """ Updates the specified reversal by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request only accepts metadata and description as arguments. """ return cast( "Reversal", await self._request_async( "post", "/v1/transfers/{transfer}/reversals/{id}".format( transfer=sanitize_id(transfer), id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.334062 stripe-13.2.0/stripe/_transfer_service.py0000644000000000000000000001616015102753431015421 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._transfer import Transfer from stripe._transfer_reversal_service import TransferReversalService from stripe.params._transfer_create_params import TransferCreateParams from stripe.params._transfer_list_params import TransferListParams from stripe.params._transfer_retrieve_params import TransferRetrieveParams from stripe.params._transfer_update_params import TransferUpdateParams _subservices = { "reversals": [ "stripe._transfer_reversal_service", "TransferReversalService", ], } class TransferService(StripeService): reversals: "TransferReversalService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def list( self, params: Optional["TransferListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Transfer]": """ Returns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with the most recently created transfers appearing first. """ return cast( "ListObject[Transfer]", self._request( "get", "/v1/transfers", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["TransferListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Transfer]": """ Returns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with the most recently created transfers appearing first. """ return cast( "ListObject[Transfer]", await self._request_async( "get", "/v1/transfers", base_address="api", params=params, options=options, ), ) def create( self, params: "TransferCreateParams", options: Optional["RequestOptions"] = None, ) -> "Transfer": """ To send funds from your Stripe account to a connected account, you create a new transfer object. Your [Stripe balance](https://docs.stripe.com/api#balance) must be able to cover the transfer amount, or you'll receive an “Insufficient Funds” error. """ return cast( "Transfer", self._request( "post", "/v1/transfers", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "TransferCreateParams", options: Optional["RequestOptions"] = None, ) -> "Transfer": """ To send funds from your Stripe account to a connected account, you create a new transfer object. Your [Stripe balance](https://docs.stripe.com/api#balance) must be able to cover the transfer amount, or you'll receive an “Insufficient Funds” error. """ return cast( "Transfer", await self._request_async( "post", "/v1/transfers", base_address="api", params=params, options=options, ), ) def retrieve( self, transfer: str, params: Optional["TransferRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transfer": """ Retrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information. """ return cast( "Transfer", self._request( "get", "/v1/transfers/{transfer}".format( transfer=sanitize_id(transfer), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, transfer: str, params: Optional["TransferRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transfer": """ Retrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information. """ return cast( "Transfer", await self._request_async( "get", "/v1/transfers/{transfer}".format( transfer=sanitize_id(transfer), ), base_address="api", params=params, options=options, ), ) def update( self, transfer: str, params: Optional["TransferUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transfer": """ Updates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts only metadata as an argument. """ return cast( "Transfer", self._request( "post", "/v1/transfers/{transfer}".format( transfer=sanitize_id(transfer), ), base_address="api", params=params, options=options, ), ) async def update_async( self, transfer: str, params: Optional["TransferUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transfer": """ Updates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts only metadata as an argument. """ return cast( "Transfer", await self._request_async( "post", "/v1/transfers/{transfer}".format( transfer=sanitize_id(transfer), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.334062 stripe-13.2.0/stripe/_treasury_service.py0000644000000000000000000000637415102753431015461 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.treasury._credit_reversal_service import CreditReversalService from stripe.treasury._debit_reversal_service import DebitReversalService from stripe.treasury._financial_account_service import ( FinancialAccountService, ) from stripe.treasury._inbound_transfer_service import ( InboundTransferService, ) from stripe.treasury._outbound_payment_service import ( OutboundPaymentService, ) from stripe.treasury._outbound_transfer_service import ( OutboundTransferService, ) from stripe.treasury._received_credit_service import ReceivedCreditService from stripe.treasury._received_debit_service import ReceivedDebitService from stripe.treasury._transaction_entry_service import ( TransactionEntryService, ) from stripe.treasury._transaction_service import TransactionService _subservices = { "credit_reversals": [ "stripe.treasury._credit_reversal_service", "CreditReversalService", ], "debit_reversals": [ "stripe.treasury._debit_reversal_service", "DebitReversalService", ], "financial_accounts": [ "stripe.treasury._financial_account_service", "FinancialAccountService", ], "inbound_transfers": [ "stripe.treasury._inbound_transfer_service", "InboundTransferService", ], "outbound_payments": [ "stripe.treasury._outbound_payment_service", "OutboundPaymentService", ], "outbound_transfers": [ "stripe.treasury._outbound_transfer_service", "OutboundTransferService", ], "received_credits": [ "stripe.treasury._received_credit_service", "ReceivedCreditService", ], "received_debits": [ "stripe.treasury._received_debit_service", "ReceivedDebitService", ], "transactions": [ "stripe.treasury._transaction_service", "TransactionService", ], "transaction_entries": [ "stripe.treasury._transaction_entry_service", "TransactionEntryService", ], } class TreasuryService(StripeService): credit_reversals: "CreditReversalService" debit_reversals: "DebitReversalService" financial_accounts: "FinancialAccountService" inbound_transfers: "InboundTransferService" outbound_payments: "OutboundPaymentService" outbound_transfers: "OutboundTransferService" received_credits: "ReceivedCreditService" received_debits: "ReceivedDebitService" transactions: "TransactionService" transaction_entries: "TransactionEntryService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.334062 stripe-13.2.0/stripe/_updateable_api_resource.py0000644000000000000000000000214615102753431016722 0ustar00from stripe import _util from stripe._api_resource import APIResource from urllib.parse import quote_plus from typing import TypeVar, cast from stripe._stripe_object import StripeObject T = TypeVar("T", bound=StripeObject) class UpdateableAPIResource(APIResource[T]): @classmethod def modify(cls, sid, **params) -> T: url = "%s/%s" % (cls.class_url(), quote_plus(sid)) return cast(T, cls._static_request("post", url, params=params)) @_util.deprecated( "The `save` method is deprecated and will be removed in a future major version of the library. Use the class method `modify` on the resource instead." ) def save(self, idempotency_key=None): updated_params = self.serialize(None) if updated_params: updated_params["idempotency_key"] = idempotency_key self._request_and_refresh( "post", self.instance_url(), params=updated_params, usage=["save"], ) else: _util.logger.debug("Trying to save already saved object %r", self) return self ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.334062 stripe-13.2.0/stripe/_util.py0000644000000000000000000003274015102753431013034 0ustar00import functools import hmac import logging import sys import os import re import warnings from stripe._api_mode import ApiMode from urllib.parse import quote_plus from typing_extensions import Type, TYPE_CHECKING from typing import ( Callable, TypeVar, Union, overload, Dict, List, cast, Any, Optional, Mapping, ) import typing_extensions # Used for global variables import stripe # noqa: IMP101 if TYPE_CHECKING: from stripe._stripe_response import StripeResponse from stripe._stripe_object import StripeObject from stripe._api_requestor import _APIRequestor STRIPE_LOG = os.environ.get("STRIPE_LOG") logger: logging.Logger = logging.getLogger("stripe") if TYPE_CHECKING: deprecated = typing_extensions.deprecated else: _T = TypeVar("_T") # Copied from python/typing_extensions, as this was added in typing_extensions 4.5.0 which is incompatible with # python 3.6. We still need `deprecated = typing_extensions.deprecated` in addition to this fallback, as # IDEs (pylance) specially detect references to symbols defined in `typing_extensions` # # https://github.com/python/typing_extensions/blob/5d20e9eed31de88667542ba5a6f66e6dc439b681/src/typing_extensions.py#L2289-L2370 def deprecated( __msg: str, *, category: Optional[Type[Warning]] = DeprecationWarning, stacklevel: int = 1, ) -> Callable[[_T], _T]: def decorator(__arg: _T) -> _T: if category is None: __arg.__deprecated__ = __msg return __arg elif isinstance(__arg, type): original_new = __arg.__new__ has_init = __arg.__init__ is not object.__init__ @functools.wraps(original_new) def __new__(cls, *args, **kwargs): warnings.warn( __msg, category=category, stacklevel=stacklevel + 1 ) if original_new is not object.__new__: return original_new(cls, *args, **kwargs) # Mirrors a similar check in object.__new__. elif not has_init and (args or kwargs): raise TypeError(f"{cls.__name__}() takes no arguments") else: return original_new(cls) __arg.__new__ = staticmethod(__new__) __arg.__deprecated__ = __new__.__deprecated__ = __msg return __arg elif callable(__arg): @functools.wraps(__arg) def wrapper(*args, **kwargs): warnings.warn( __msg, category=category, stacklevel=stacklevel + 1 ) return __arg(*args, **kwargs) __arg.__deprecated__ = wrapper.__deprecated__ = __msg return wrapper else: raise TypeError( "@deprecated decorator with non-None category must be applied to " f"a class or callable, not {__arg!r}" ) return decorator def is_appengine_dev(): return "APPENGINE_RUNTIME" in os.environ and "Dev" in os.environ.get( "SERVER_SOFTWARE", "" ) def _console_log_level(): if stripe.log in ["debug", "info"]: return stripe.log elif STRIPE_LOG in ["debug", "info"]: return STRIPE_LOG else: return None def log_debug(message, **params): msg = logfmt(dict(message=message, **params)) if _console_log_level() == "debug": print(msg, file=sys.stderr) logger.debug(msg) def log_info(message, **params): msg = logfmt(dict(message=message, **params)) if _console_log_level() in ["debug", "info"]: print(msg, file=sys.stderr) logger.info(msg) def _test_or_live_environment(): if stripe.api_key is None: return match = re.match(r"sk_(live|test)_", stripe.api_key) if match is None: return return match.groups()[0] def dashboard_link(request_id): return "https://dashboard.stripe.com/{env}/logs/{reqid}".format( env=_test_or_live_environment() or "test", reqid=request_id ) def logfmt(props): def fmt(key, val): # Handle case where val is a bytes or bytesarray if hasattr(val, "decode"): val = val.decode("utf-8") # Check if val is already a string to avoid re-encoding into # ascii. Since the code is sent through 2to3, we can't just # use unicode(val, encoding='utf8') since it will be # translated incorrectly. if not isinstance(val, str): val = str(val) if re.search(r"\s", val): val = repr(val) # key should already be a string if re.search(r"\s", key): key = repr(key) return "{key}={val}".format(key=key, val=val) return " ".join([fmt(key, val) for key, val in sorted(props.items())]) # Borrowed from Django's source code if hasattr(hmac, "compare_digest"): # Prefer the stdlib implementation, when available. def secure_compare(val1, val2): return hmac.compare_digest(val1, val2) else: def secure_compare(val1, val2): """ Returns True if the two strings are equal, False otherwise. The time taken is independent of the number of characters that match. For the sake of simplicity, this function executes in constant time only when the two strings have the same length. It short-circuits when they have different lengths. """ if len(val1) != len(val2): return False result = 0 if isinstance(val1, bytes) and isinstance(val2, bytes): for x, y in zip(val1, val2): result |= x ^ y else: for x, y in zip(val1, val2): result |= ord(cast(str, x)) ^ ord(cast(str, y)) return result == 0 Resp = Union["StripeResponse", Dict[str, Any], List["Resp"]] @overload def convert_to_stripe_object( resp: Union["StripeResponse", Dict[str, Any]], api_key: Optional[str] = None, stripe_version: Optional[str] = None, stripe_account: Optional[str] = None, params: Optional[Mapping[str, Any]] = None, klass_: Optional[Type["StripeObject"]] = None, *, api_mode: ApiMode = "V1", ) -> "StripeObject": ... @overload def convert_to_stripe_object( resp: List[Resp], api_key: Optional[str] = None, stripe_version: Optional[str] = None, stripe_account: Optional[str] = None, params: Optional[Mapping[str, Any]] = None, klass_: Optional[Type["StripeObject"]] = None, *, api_mode: ApiMode = "V1", ) -> List["StripeObject"]: ... def convert_to_stripe_object( resp: Resp, api_key: Optional[str] = None, stripe_version: Optional[str] = None, stripe_account: Optional[str] = None, params: Optional[Mapping[str, Any]] = None, klass_: Optional[Type["StripeObject"]] = None, *, api_mode: ApiMode = "V1", ) -> Union["StripeObject", List["StripeObject"]]: from stripe._api_requestor import _APIRequestor return _convert_to_stripe_object( resp=resp, params=params, klass_=klass_, requestor=_APIRequestor._global_with_options( api_key=api_key, stripe_version=stripe_version, stripe_account=stripe_account, ), api_mode=api_mode, ) @overload def _convert_to_stripe_object( *, resp: Union["StripeResponse", Dict[str, Any]], params: Optional[Mapping[str, Any]] = None, klass_: Optional[Type["StripeObject"]] = None, requestor: "_APIRequestor", api_mode: ApiMode, is_v2_deleted_object: bool = False, ) -> "StripeObject": ... @overload def _convert_to_stripe_object( *, resp: List[Resp], params: Optional[Mapping[str, Any]] = None, klass_: Optional[Type["StripeObject"]] = None, requestor: "_APIRequestor", api_mode: ApiMode, is_v2_deleted_object: bool = False, ) -> List["StripeObject"]: ... def _convert_to_stripe_object( *, resp: Resp, params: Optional[Mapping[str, Any]] = None, klass_: Optional[Type["StripeObject"]] = None, requestor: "_APIRequestor", api_mode: ApiMode, # if true, we should ignore the `object` field for finding the class name. This is set by the API requestor is_v2_deleted_object: bool = False, ) -> Union["StripeObject", List["StripeObject"]]: # If we get a StripeResponse, we'll want to return a # StripeObject with the last_response field filled out with # the raw API response information stripe_response = None # Imports here at runtime to avoid circular dependencies from stripe._stripe_response import StripeResponse from stripe._stripe_object import StripeObject if isinstance(resp, StripeResponse): stripe_response = resp resp = cast(Resp, stripe_response.data) if isinstance(resp, list): return [ _convert_to_stripe_object( resp=cast("Union[StripeResponse, Dict[str, Any]]", i), requestor=requestor, api_mode=api_mode, klass_=klass_, ) for i in resp ] elif isinstance(resp, dict) and not isinstance(resp, StripeObject): resp = resp.copy() klass_name = resp.get("object") if isinstance(klass_name, str): if is_v2_deleted_object: # circular import from stripe.v2._deleted_object import DeletedObject klass = DeletedObject elif api_mode == "V2" and klass_name == "v2.core.event": from stripe.events._event_classes import get_v2_event_class event_type = resp.get("type", "") klass = get_v2_event_class(event_type) else: from stripe._object_classes import get_object_class klass = get_object_class(api_mode, klass_name) # TODO: this is a horrible hack. The API needs # to return something for `object` here. elif "data" in resp and "next_page_url" in resp: klass = stripe.v2.ListObject elif klass_ is not None: klass = klass_ else: klass = StripeObject obj = klass._construct_from( values=resp, last_response=stripe_response, requestor=requestor, api_mode=api_mode, ) # We only need to update _retrieve_params when special params were # actually passed. Otherwise, leave it as is as the list / search result # constructors will instantiate their own params. if ( params is not None and hasattr(obj, "object") and ( (getattr(obj, "object") == "list") or (getattr(obj, "object") == "search_result") ) ): obj._retrieve_params = params return obj else: return cast("StripeObject", resp) def convert_to_dict(obj): """Converts a StripeObject back to a regular dict. Nested StripeObjects are also converted back to regular dicts. :param obj: The StripeObject to convert. :returns: The StripeObject as a dict. """ if isinstance(obj, list): return [convert_to_dict(i) for i in obj] # This works by virtue of the fact that StripeObjects _are_ dicts. The dict # comprehension returns a regular dict and recursively applies the # conversion to each value. elif isinstance(obj, dict): return {k: convert_to_dict(v) for k, v in obj.items()} else: return obj @overload def populate_headers( idempotency_key: str, ) -> Dict[str, str]: ... @overload def populate_headers(idempotency_key: None) -> None: ... def populate_headers( idempotency_key: Union[str, None], ) -> Union[Dict[str, str], None]: if idempotency_key is not None: return {"Idempotency-Key": idempotency_key} return None T = TypeVar("T") def merge_dicts(x, y): z = x.copy() z.update(y) return z def sanitize_id(id): quotedId = quote_plus(id) return quotedId def get_api_mode(url: str) -> ApiMode: if url.startswith("/v2"): return "V2" # if urls aren't explicitly marked as v1, they're assumed to be v1 else: return "V1" class class_method_variant(object): def __init__(self, class_method_name): self.class_method_name = class_method_name T = TypeVar("T") method: Any def __call__(self, method: T) -> T: self.method = method return cast(T, self) def __get__(self, obj, objtype: Optional[Type[Any]] = None): @functools.wraps(self.method) def _wrapper(*args, **kwargs): if obj is not None: # Method was called as an instance method, e.g. # instance.method(...) return self.method(obj, *args, **kwargs) elif ( len(args) > 0 and objtype is not None and isinstance(args[0], objtype) ): # Method was called as a class method with the instance as the # first argument, e.g. Class.method(instance, ...) which in # Python is the same thing as calling an instance method return self.method(args[0], *args[1:], **kwargs) else: # Method was called as a class method, e.g. Class.method(...) class_method = getattr(objtype, self.class_method_name) return class_method(*args, **kwargs) return _wrapper ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.334062 stripe-13.2.0/stripe/_v1_services.py0000644000000000000000000003303715102753431014310 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._account_link_service import AccountLinkService from stripe._account_service import AccountService from stripe._account_session_service import AccountSessionService from stripe._apple_pay_domain_service import ApplePayDomainService from stripe._application_fee_service import ApplicationFeeService from stripe._apps_service import AppsService from stripe._balance_service import BalanceService from stripe._balance_settings_service import BalanceSettingsService from stripe._balance_transaction_service import BalanceTransactionService from stripe._billing_portal_service import BillingPortalService from stripe._billing_service import BillingService from stripe._charge_service import ChargeService from stripe._checkout_service import CheckoutService from stripe._climate_service import ClimateService from stripe._confirmation_token_service import ConfirmationTokenService from stripe._country_spec_service import CountrySpecService from stripe._coupon_service import CouponService from stripe._credit_note_service import CreditNoteService from stripe._customer_service import CustomerService from stripe._customer_session_service import CustomerSessionService from stripe._dispute_service import DisputeService from stripe._entitlements_service import EntitlementsService from stripe._ephemeral_key_service import EphemeralKeyService from stripe._event_service import EventService from stripe._exchange_rate_service import ExchangeRateService from stripe._file_link_service import FileLinkService from stripe._file_service import FileService from stripe._financial_connections_service import ( FinancialConnectionsService, ) from stripe._forwarding_service import ForwardingService from stripe._identity_service import IdentityService from stripe._invoice_item_service import InvoiceItemService from stripe._invoice_payment_service import InvoicePaymentService from stripe._invoice_rendering_template_service import ( InvoiceRenderingTemplateService, ) from stripe._invoice_service import InvoiceService from stripe._issuing_service import IssuingService from stripe._mandate_service import MandateService from stripe._payment_attempt_record_service import ( PaymentAttemptRecordService, ) from stripe._payment_intent_service import PaymentIntentService from stripe._payment_link_service import PaymentLinkService from stripe._payment_method_configuration_service import ( PaymentMethodConfigurationService, ) from stripe._payment_method_domain_service import ( PaymentMethodDomainService, ) from stripe._payment_method_service import PaymentMethodService from stripe._payment_record_service import PaymentRecordService from stripe._payout_service import PayoutService from stripe._plan_service import PlanService from stripe._price_service import PriceService from stripe._product_service import ProductService from stripe._promotion_code_service import PromotionCodeService from stripe._quote_service import QuoteService from stripe._radar_service import RadarService from stripe._refund_service import RefundService from stripe._reporting_service import ReportingService from stripe._review_service import ReviewService from stripe._setup_attempt_service import SetupAttemptService from stripe._setup_intent_service import SetupIntentService from stripe._shipping_rate_service import ShippingRateService from stripe._sigma_service import SigmaService from stripe._source_service import SourceService from stripe._subscription_item_service import SubscriptionItemService from stripe._subscription_schedule_service import ( SubscriptionScheduleService, ) from stripe._subscription_service import SubscriptionService from stripe._tax_code_service import TaxCodeService from stripe._tax_id_service import TaxIdService from stripe._tax_rate_service import TaxRateService from stripe._tax_service import TaxService from stripe._terminal_service import TerminalService from stripe._test_helpers_service import TestHelpersService from stripe._token_service import TokenService from stripe._topup_service import TopupService from stripe._transfer_service import TransferService from stripe._treasury_service import TreasuryService from stripe._webhook_endpoint_service import WebhookEndpointService _subservices = { "accounts": ["stripe._account_service", "AccountService"], "account_links": ["stripe._account_link_service", "AccountLinkService"], "account_sessions": [ "stripe._account_session_service", "AccountSessionService", ], "apple_pay_domains": [ "stripe._apple_pay_domain_service", "ApplePayDomainService", ], "application_fees": [ "stripe._application_fee_service", "ApplicationFeeService", ], "apps": ["stripe._apps_service", "AppsService"], "balance": ["stripe._balance_service", "BalanceService"], "balance_settings": [ "stripe._balance_settings_service", "BalanceSettingsService", ], "balance_transactions": [ "stripe._balance_transaction_service", "BalanceTransactionService", ], "billing": ["stripe._billing_service", "BillingService"], "billing_portal": [ "stripe._billing_portal_service", "BillingPortalService", ], "charges": ["stripe._charge_service", "ChargeService"], "checkout": ["stripe._checkout_service", "CheckoutService"], "climate": ["stripe._climate_service", "ClimateService"], "confirmation_tokens": [ "stripe._confirmation_token_service", "ConfirmationTokenService", ], "country_specs": ["stripe._country_spec_service", "CountrySpecService"], "coupons": ["stripe._coupon_service", "CouponService"], "credit_notes": ["stripe._credit_note_service", "CreditNoteService"], "customers": ["stripe._customer_service", "CustomerService"], "customer_sessions": [ "stripe._customer_session_service", "CustomerSessionService", ], "disputes": ["stripe._dispute_service", "DisputeService"], "entitlements": ["stripe._entitlements_service", "EntitlementsService"], "ephemeral_keys": ["stripe._ephemeral_key_service", "EphemeralKeyService"], "events": ["stripe._event_service", "EventService"], "exchange_rates": ["stripe._exchange_rate_service", "ExchangeRateService"], "files": ["stripe._file_service", "FileService"], "file_links": ["stripe._file_link_service", "FileLinkService"], "financial_connections": [ "stripe._financial_connections_service", "FinancialConnectionsService", ], "forwarding": ["stripe._forwarding_service", "ForwardingService"], "identity": ["stripe._identity_service", "IdentityService"], "invoices": ["stripe._invoice_service", "InvoiceService"], "invoice_items": ["stripe._invoice_item_service", "InvoiceItemService"], "invoice_payments": [ "stripe._invoice_payment_service", "InvoicePaymentService", ], "invoice_rendering_templates": [ "stripe._invoice_rendering_template_service", "InvoiceRenderingTemplateService", ], "issuing": ["stripe._issuing_service", "IssuingService"], "mandates": ["stripe._mandate_service", "MandateService"], "payment_attempt_records": [ "stripe._payment_attempt_record_service", "PaymentAttemptRecordService", ], "payment_intents": [ "stripe._payment_intent_service", "PaymentIntentService", ], "payment_links": ["stripe._payment_link_service", "PaymentLinkService"], "payment_methods": [ "stripe._payment_method_service", "PaymentMethodService", ], "payment_method_configurations": [ "stripe._payment_method_configuration_service", "PaymentMethodConfigurationService", ], "payment_method_domains": [ "stripe._payment_method_domain_service", "PaymentMethodDomainService", ], "payment_records": [ "stripe._payment_record_service", "PaymentRecordService", ], "payouts": ["stripe._payout_service", "PayoutService"], "plans": ["stripe._plan_service", "PlanService"], "prices": ["stripe._price_service", "PriceService"], "products": ["stripe._product_service", "ProductService"], "promotion_codes": [ "stripe._promotion_code_service", "PromotionCodeService", ], "quotes": ["stripe._quote_service", "QuoteService"], "radar": ["stripe._radar_service", "RadarService"], "refunds": ["stripe._refund_service", "RefundService"], "reporting": ["stripe._reporting_service", "ReportingService"], "reviews": ["stripe._review_service", "ReviewService"], "setup_attempts": ["stripe._setup_attempt_service", "SetupAttemptService"], "setup_intents": ["stripe._setup_intent_service", "SetupIntentService"], "shipping_rates": ["stripe._shipping_rate_service", "ShippingRateService"], "sigma": ["stripe._sigma_service", "SigmaService"], "sources": ["stripe._source_service", "SourceService"], "subscriptions": ["stripe._subscription_service", "SubscriptionService"], "subscription_items": [ "stripe._subscription_item_service", "SubscriptionItemService", ], "subscription_schedules": [ "stripe._subscription_schedule_service", "SubscriptionScheduleService", ], "tax": ["stripe._tax_service", "TaxService"], "tax_codes": ["stripe._tax_code_service", "TaxCodeService"], "tax_ids": ["stripe._tax_id_service", "TaxIdService"], "tax_rates": ["stripe._tax_rate_service", "TaxRateService"], "terminal": ["stripe._terminal_service", "TerminalService"], "test_helpers": ["stripe._test_helpers_service", "TestHelpersService"], "tokens": ["stripe._token_service", "TokenService"], "topups": ["stripe._topup_service", "TopupService"], "transfers": ["stripe._transfer_service", "TransferService"], "treasury": ["stripe._treasury_service", "TreasuryService"], "webhook_endpoints": [ "stripe._webhook_endpoint_service", "WebhookEndpointService", ], } class V1Services(StripeService): accounts: "AccountService" account_links: "AccountLinkService" account_sessions: "AccountSessionService" apple_pay_domains: "ApplePayDomainService" application_fees: "ApplicationFeeService" apps: "AppsService" balance: "BalanceService" balance_settings: "BalanceSettingsService" balance_transactions: "BalanceTransactionService" billing: "BillingService" billing_portal: "BillingPortalService" charges: "ChargeService" checkout: "CheckoutService" climate: "ClimateService" confirmation_tokens: "ConfirmationTokenService" country_specs: "CountrySpecService" coupons: "CouponService" credit_notes: "CreditNoteService" customers: "CustomerService" customer_sessions: "CustomerSessionService" disputes: "DisputeService" entitlements: "EntitlementsService" ephemeral_keys: "EphemeralKeyService" events: "EventService" exchange_rates: "ExchangeRateService" files: "FileService" file_links: "FileLinkService" financial_connections: "FinancialConnectionsService" forwarding: "ForwardingService" identity: "IdentityService" invoices: "InvoiceService" invoice_items: "InvoiceItemService" invoice_payments: "InvoicePaymentService" invoice_rendering_templates: "InvoiceRenderingTemplateService" issuing: "IssuingService" mandates: "MandateService" payment_attempt_records: "PaymentAttemptRecordService" payment_intents: "PaymentIntentService" payment_links: "PaymentLinkService" payment_methods: "PaymentMethodService" payment_method_configurations: "PaymentMethodConfigurationService" payment_method_domains: "PaymentMethodDomainService" payment_records: "PaymentRecordService" payouts: "PayoutService" plans: "PlanService" prices: "PriceService" products: "ProductService" promotion_codes: "PromotionCodeService" quotes: "QuoteService" radar: "RadarService" refunds: "RefundService" reporting: "ReportingService" reviews: "ReviewService" setup_attempts: "SetupAttemptService" setup_intents: "SetupIntentService" shipping_rates: "ShippingRateService" sigma: "SigmaService" sources: "SourceService" subscriptions: "SubscriptionService" subscription_items: "SubscriptionItemService" subscription_schedules: "SubscriptionScheduleService" tax: "TaxService" tax_codes: "TaxCodeService" tax_ids: "TaxIdService" tax_rates: "TaxRateService" terminal: "TerminalService" test_helpers: "TestHelpersService" tokens: "TokenService" topups: "TopupService" transfers: "TransferService" treasury: "TreasuryService" webhook_endpoints: "WebhookEndpointService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.334062 stripe-13.2.0/stripe/_v2_services.py0000644000000000000000000000205615102753431014306 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.v2._billing_service import BillingService from stripe.v2._core_service import CoreService _subservices = { "billing": ["stripe.v2._billing_service", "BillingService"], "core": ["stripe.v2._core_service", "CoreService"], } class V2Services(StripeService): billing: "BillingService" core: "CoreService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.334062 stripe-13.2.0/stripe/_verify_mixin.py0000644000000000000000000000075615102753431014571 0ustar00from typing import Any, Dict from typing_extensions import Protocol from stripe._stripe_object import StripeObject class _Verifiable(Protocol): def instance_url(self) -> str: ... def _request( self, method: str, url: str, params: Dict[str, Any], ) -> StripeObject: ... class VerifyMixin(object): def verify(self: _Verifiable, **params): url = self.instance_url() + "/verify" return self._request("post", url, params=params) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.334062 stripe-13.2.0/stripe/_version.py0000644000000000000000000000002315102753431013531 0ustar00VERSION = "13.2.0" ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.334062 stripe-13.2.0/stripe/_webhook.py0000644000000000000000000000561615102753431013517 0ustar00import hmac import json import time from collections import OrderedDict from hashlib import sha256 # Used for global variables import stripe # noqa: IMP101 from stripe._event import Event from stripe._util import secure_compare from stripe._error import SignatureVerificationError from stripe._api_requestor import _APIRequestor class Webhook(object): DEFAULT_TOLERANCE = 300 @staticmethod def construct_event( payload, sig_header, secret, tolerance=DEFAULT_TOLERANCE, api_key=None ): if hasattr(payload, "decode"): payload = payload.decode("utf-8") WebhookSignature.verify_header(payload, sig_header, secret, tolerance) data = json.loads(payload, object_pairs_hook=OrderedDict) event = Event._construct_from( values=data, requestor=_APIRequestor._global_with_options( api_key=api_key or stripe.api_key ), api_mode="V1", ) return event class WebhookSignature(object): EXPECTED_SCHEME = "v1" @staticmethod def _compute_signature(payload, secret): mac = hmac.new( secret.encode("utf-8"), msg=payload.encode("utf-8"), digestmod=sha256, ) return mac.hexdigest() @staticmethod def _get_timestamp_and_signatures(header, scheme): list_items = [i.split("=", 2) for i in header.split(",")] timestamp = int([i[1] for i in list_items if i[0] == "t"][0]) signatures = [i[1] for i in list_items if i[0] == scheme] return timestamp, signatures @classmethod def verify_header(cls, payload, header, secret, tolerance=None): try: timestamp, signatures = cls._get_timestamp_and_signatures( header, cls.EXPECTED_SCHEME ) except Exception: raise SignatureVerificationError( "Unable to extract timestamp and signatures from header", header, payload, ) if not signatures: raise SignatureVerificationError( "No signatures found with expected scheme " "%s" % cls.EXPECTED_SCHEME, header, payload, ) signed_payload = "%d.%s" % (timestamp, payload) expected_sig = cls._compute_signature(signed_payload, secret) if not any(secure_compare(expected_sig, s) for s in signatures): raise SignatureVerificationError( "No signatures found matching the expected signature for " "payload", header, payload, ) if tolerance and timestamp < time.time() - tolerance: raise SignatureVerificationError( "Timestamp outside the tolerance zone (%d)" % timestamp, header, payload, ) return True ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.334062 stripe-13.2.0/stripe/_webhook_endpoint.py0000644000000000000000000002657015102753431015421 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params._webhook_endpoint_create_params import ( WebhookEndpointCreateParams, ) from stripe.params._webhook_endpoint_delete_params import ( WebhookEndpointDeleteParams, ) from stripe.params._webhook_endpoint_list_params import ( WebhookEndpointListParams, ) from stripe.params._webhook_endpoint_modify_params import ( WebhookEndpointModifyParams, ) from stripe.params._webhook_endpoint_retrieve_params import ( WebhookEndpointRetrieveParams, ) class WebhookEndpoint( CreateableAPIResource["WebhookEndpoint"], DeletableAPIResource["WebhookEndpoint"], ListableAPIResource["WebhookEndpoint"], UpdateableAPIResource["WebhookEndpoint"], ): """ You can configure [webhook endpoints](https://docs.stripe.com/webhooks/) via the API to be notified about events that happen in your Stripe account or connected accounts. Most users configure webhooks from [the dashboard](https://dashboard.stripe.com/webhooks), which provides a user interface for registering and testing your webhook endpoints. Related guide: [Setting up webhooks](https://docs.stripe.com/webhooks/configure) """ OBJECT_NAME: ClassVar[Literal["webhook_endpoint"]] = "webhook_endpoint" api_version: Optional[str] """ The API version events are rendered as for this webhook endpoint. """ application: Optional[str] """ The ID of the associated Connect application. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ description: Optional[str] """ An optional description of what the webhook is used for. """ enabled_events: List[str] """ The list of events to enable for this endpoint. `['*']` indicates that all events are enabled, except those that require explicit selection. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["webhook_endpoint"] """ String representing the object's type. Objects of the same type share the same value. """ secret: Optional[str] """ The endpoint's secret, used to generate [webhook signatures](https://docs.stripe.com/webhooks/signatures). Only returned at creation. """ status: str """ The status of the webhook. It can be `enabled` or `disabled`. """ url: str """ The URL of the webhook endpoint. """ @classmethod def create( cls, **params: Unpack["WebhookEndpointCreateParams"] ) -> "WebhookEndpoint": """ A webhook endpoint must have a url and a list of enabled_events. You may optionally specify the Boolean connect parameter. If set to true, then a Connect webhook endpoint that notifies the specified url about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified url only about events from your account is created. You can also create webhook endpoints in the [webhooks settings](https://dashboard.stripe.com/account/webhooks) section of the Dashboard. """ return cast( "WebhookEndpoint", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["WebhookEndpointCreateParams"] ) -> "WebhookEndpoint": """ A webhook endpoint must have a url and a list of enabled_events. You may optionally specify the Boolean connect parameter. If set to true, then a Connect webhook endpoint that notifies the specified url about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified url only about events from your account is created. You can also create webhook endpoints in the [webhooks settings](https://dashboard.stripe.com/account/webhooks) section of the Dashboard. """ return cast( "WebhookEndpoint", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["WebhookEndpointDeleteParams"] ) -> "WebhookEndpoint": """ You can also delete webhook endpoints via the [webhook endpoint management](https://dashboard.stripe.com/account/webhooks) page of the Stripe dashboard. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "WebhookEndpoint", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete( sid: str, **params: Unpack["WebhookEndpointDeleteParams"] ) -> "WebhookEndpoint": """ You can also delete webhook endpoints via the [webhook endpoint management](https://dashboard.stripe.com/account/webhooks) page of the Stripe dashboard. """ ... @overload def delete( self, **params: Unpack["WebhookEndpointDeleteParams"] ) -> "WebhookEndpoint": """ You can also delete webhook endpoints via the [webhook endpoint management](https://dashboard.stripe.com/account/webhooks) page of the Stripe dashboard. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["WebhookEndpointDeleteParams"] ) -> "WebhookEndpoint": """ You can also delete webhook endpoints via the [webhook endpoint management](https://dashboard.stripe.com/account/webhooks) page of the Stripe dashboard. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["WebhookEndpointDeleteParams"] ) -> "WebhookEndpoint": """ You can also delete webhook endpoints via the [webhook endpoint management](https://dashboard.stripe.com/account/webhooks) page of the Stripe dashboard. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "WebhookEndpoint", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["WebhookEndpointDeleteParams"] ) -> "WebhookEndpoint": """ You can also delete webhook endpoints via the [webhook endpoint management](https://dashboard.stripe.com/account/webhooks) page of the Stripe dashboard. """ ... @overload async def delete_async( self, **params: Unpack["WebhookEndpointDeleteParams"] ) -> "WebhookEndpoint": """ You can also delete webhook endpoints via the [webhook endpoint management](https://dashboard.stripe.com/account/webhooks) page of the Stripe dashboard. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["WebhookEndpointDeleteParams"] ) -> "WebhookEndpoint": """ You can also delete webhook endpoints via the [webhook endpoint management](https://dashboard.stripe.com/account/webhooks) page of the Stripe dashboard. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def list( cls, **params: Unpack["WebhookEndpointListParams"] ) -> ListObject["WebhookEndpoint"]: """ Returns a list of your webhook endpoints. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["WebhookEndpointListParams"] ) -> ListObject["WebhookEndpoint"]: """ Returns a list of your webhook endpoints. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["WebhookEndpointModifyParams"] ) -> "WebhookEndpoint": """ Updates the webhook endpoint. You may edit the url, the list of enabled_events, and the status of your endpoint. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "WebhookEndpoint", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["WebhookEndpointModifyParams"] ) -> "WebhookEndpoint": """ Updates the webhook endpoint. You may edit the url, the list of enabled_events, and the status of your endpoint. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "WebhookEndpoint", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["WebhookEndpointRetrieveParams"] ) -> "WebhookEndpoint": """ Retrieves the webhook endpoint with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["WebhookEndpointRetrieveParams"] ) -> "WebhookEndpoint": """ Retrieves the webhook endpoint with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.334062 stripe-13.2.0/stripe/_webhook_endpoint_service.py0000644000000000000000000002044415102753431017133 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe._webhook_endpoint import WebhookEndpoint from stripe.params._webhook_endpoint_create_params import ( WebhookEndpointCreateParams, ) from stripe.params._webhook_endpoint_delete_params import ( WebhookEndpointDeleteParams, ) from stripe.params._webhook_endpoint_list_params import ( WebhookEndpointListParams, ) from stripe.params._webhook_endpoint_retrieve_params import ( WebhookEndpointRetrieveParams, ) from stripe.params._webhook_endpoint_update_params import ( WebhookEndpointUpdateParams, ) class WebhookEndpointService(StripeService): def delete( self, webhook_endpoint: str, params: Optional["WebhookEndpointDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "WebhookEndpoint": """ You can also delete webhook endpoints via the [webhook endpoint management](https://dashboard.stripe.com/account/webhooks) page of the Stripe dashboard. """ return cast( "WebhookEndpoint", self._request( "delete", "/v1/webhook_endpoints/{webhook_endpoint}".format( webhook_endpoint=sanitize_id(webhook_endpoint), ), base_address="api", params=params, options=options, ), ) async def delete_async( self, webhook_endpoint: str, params: Optional["WebhookEndpointDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "WebhookEndpoint": """ You can also delete webhook endpoints via the [webhook endpoint management](https://dashboard.stripe.com/account/webhooks) page of the Stripe dashboard. """ return cast( "WebhookEndpoint", await self._request_async( "delete", "/v1/webhook_endpoints/{webhook_endpoint}".format( webhook_endpoint=sanitize_id(webhook_endpoint), ), base_address="api", params=params, options=options, ), ) def retrieve( self, webhook_endpoint: str, params: Optional["WebhookEndpointRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "WebhookEndpoint": """ Retrieves the webhook endpoint with the given ID. """ return cast( "WebhookEndpoint", self._request( "get", "/v1/webhook_endpoints/{webhook_endpoint}".format( webhook_endpoint=sanitize_id(webhook_endpoint), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, webhook_endpoint: str, params: Optional["WebhookEndpointRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "WebhookEndpoint": """ Retrieves the webhook endpoint with the given ID. """ return cast( "WebhookEndpoint", await self._request_async( "get", "/v1/webhook_endpoints/{webhook_endpoint}".format( webhook_endpoint=sanitize_id(webhook_endpoint), ), base_address="api", params=params, options=options, ), ) def update( self, webhook_endpoint: str, params: Optional["WebhookEndpointUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "WebhookEndpoint": """ Updates the webhook endpoint. You may edit the url, the list of enabled_events, and the status of your endpoint. """ return cast( "WebhookEndpoint", self._request( "post", "/v1/webhook_endpoints/{webhook_endpoint}".format( webhook_endpoint=sanitize_id(webhook_endpoint), ), base_address="api", params=params, options=options, ), ) async def update_async( self, webhook_endpoint: str, params: Optional["WebhookEndpointUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "WebhookEndpoint": """ Updates the webhook endpoint. You may edit the url, the list of enabled_events, and the status of your endpoint. """ return cast( "WebhookEndpoint", await self._request_async( "post", "/v1/webhook_endpoints/{webhook_endpoint}".format( webhook_endpoint=sanitize_id(webhook_endpoint), ), base_address="api", params=params, options=options, ), ) def list( self, params: Optional["WebhookEndpointListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[WebhookEndpoint]": """ Returns a list of your webhook endpoints. """ return cast( "ListObject[WebhookEndpoint]", self._request( "get", "/v1/webhook_endpoints", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["WebhookEndpointListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[WebhookEndpoint]": """ Returns a list of your webhook endpoints. """ return cast( "ListObject[WebhookEndpoint]", await self._request_async( "get", "/v1/webhook_endpoints", base_address="api", params=params, options=options, ), ) def create( self, params: "WebhookEndpointCreateParams", options: Optional["RequestOptions"] = None, ) -> "WebhookEndpoint": """ A webhook endpoint must have a url and a list of enabled_events. You may optionally specify the Boolean connect parameter. If set to true, then a Connect webhook endpoint that notifies the specified url about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified url only about events from your account is created. You can also create webhook endpoints in the [webhooks settings](https://dashboard.stripe.com/account/webhooks) section of the Dashboard. """ return cast( "WebhookEndpoint", self._request( "post", "/v1/webhook_endpoints", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "WebhookEndpointCreateParams", options: Optional["RequestOptions"] = None, ) -> "WebhookEndpoint": """ A webhook endpoint must have a url and a list of enabled_events. You may optionally specify the Boolean connect parameter. If set to true, then a Connect webhook endpoint that notifies the specified url about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified url only about events from your account is created. You can also create webhook endpoints in the [webhooks settings](https://dashboard.stripe.com/account/webhooks) section of the Dashboard. """ return cast( "WebhookEndpoint", await self._request_async( "post", "/v1/webhook_endpoints", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.334062 stripe-13.2.0/stripe/apps/__init__.py0000644000000000000000000000146715102753431014424 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.apps._secret import Secret as Secret from stripe.apps._secret_service import SecretService as SecretService # name -> (import_target, is_submodule) _import_map = { "Secret": ("stripe.apps._secret", False), "SecretService": ("stripe.apps._secret_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/apps/_secret.py0000644000000000000000000001426615102753431014312 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.apps._secret_create_params import SecretCreateParams from stripe.params.apps._secret_delete_where_params import ( SecretDeleteWhereParams, ) from stripe.params.apps._secret_find_params import SecretFindParams from stripe.params.apps._secret_list_params import SecretListParams class Secret(CreateableAPIResource["Secret"], ListableAPIResource["Secret"]): """ Secret Store is an API that allows Stripe Apps developers to securely persist secrets for use by UI Extensions and app backends. The primary resource in Secret Store is a `secret`. Other apps can't view secrets created by an app. Additionally, secrets are scoped to provide further permission control. All Dashboard users and the app backend share `account` scoped secrets. Use the `account` scope for secrets that don't change per-user, like a third-party API key. A `user` scoped secret is accessible by the app backend and one specific Dashboard user. Use the `user` scope for per-user secrets like per-user OAuth tokens, where different users might have different permissions. Related guide: [Store data between page reloads](https://stripe.com/docs/stripe-apps/store-auth-data-custom-objects) """ OBJECT_NAME: ClassVar[Literal["apps.secret"]] = "apps.secret" class Scope(StripeObject): type: Literal["account", "user"] """ The secret scope type. """ user: Optional[str] """ The user ID, if type is set to "user" """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ deleted: Optional[bool] """ If true, indicates that this secret has been deleted """ expires_at: Optional[int] """ The Unix timestamp for the expiry time of the secret, after which the secret deletes. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ name: str """ A name for the secret that's unique within the scope. """ object: Literal["apps.secret"] """ String representing the object's type. Objects of the same type share the same value. """ payload: Optional[str] """ The plaintext secret value to be stored. """ scope: Scope @classmethod def create(cls, **params: Unpack["SecretCreateParams"]) -> "Secret": """ Create or replace a secret in the secret store. """ return cast( "Secret", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["SecretCreateParams"] ) -> "Secret": """ Create or replace a secret in the secret store. """ return cast( "Secret", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def delete_where( cls, **params: Unpack["SecretDeleteWhereParams"] ) -> "Secret": """ Deletes a secret from the secret store by name and scope. """ return cast( "Secret", cls._static_request( "post", "/v1/apps/secrets/delete", params=params, ), ) @classmethod async def delete_where_async( cls, **params: Unpack["SecretDeleteWhereParams"] ) -> "Secret": """ Deletes a secret from the secret store by name and scope. """ return cast( "Secret", await cls._static_request_async( "post", "/v1/apps/secrets/delete", params=params, ), ) @classmethod def find(cls, **params: Unpack["SecretFindParams"]) -> "Secret": """ Finds a secret in the secret store by name and scope. """ return cast( "Secret", cls._static_request( "get", "/v1/apps/secrets/find", params=params, ), ) @classmethod async def find_async( cls, **params: Unpack["SecretFindParams"] ) -> "Secret": """ Finds a secret in the secret store by name and scope. """ return cast( "Secret", await cls._static_request_async( "get", "/v1/apps/secrets/find", params=params, ), ) @classmethod def list( cls, **params: Unpack["SecretListParams"] ) -> ListObject["Secret"]: """ List all secrets stored on the given scope. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["SecretListParams"] ) -> ListObject["Secret"]: """ List all secrets stored on the given scope. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result _inner_class_types = {"scope": Scope} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/apps/_secret_service.py0000644000000000000000000001114515102753431016023 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.apps._secret import Secret from stripe.params.apps._secret_create_params import SecretCreateParams from stripe.params.apps._secret_delete_where_params import ( SecretDeleteWhereParams, ) from stripe.params.apps._secret_find_params import SecretFindParams from stripe.params.apps._secret_list_params import SecretListParams class SecretService(StripeService): def list( self, params: "SecretListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[Secret]": """ List all secrets stored on the given scope. """ return cast( "ListObject[Secret]", self._request( "get", "/v1/apps/secrets", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "SecretListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[Secret]": """ List all secrets stored on the given scope. """ return cast( "ListObject[Secret]", await self._request_async( "get", "/v1/apps/secrets", base_address="api", params=params, options=options, ), ) def create( self, params: "SecretCreateParams", options: Optional["RequestOptions"] = None, ) -> "Secret": """ Create or replace a secret in the secret store. """ return cast( "Secret", self._request( "post", "/v1/apps/secrets", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "SecretCreateParams", options: Optional["RequestOptions"] = None, ) -> "Secret": """ Create or replace a secret in the secret store. """ return cast( "Secret", await self._request_async( "post", "/v1/apps/secrets", base_address="api", params=params, options=options, ), ) def find( self, params: "SecretFindParams", options: Optional["RequestOptions"] = None, ) -> "Secret": """ Finds a secret in the secret store by name and scope. """ return cast( "Secret", self._request( "get", "/v1/apps/secrets/find", base_address="api", params=params, options=options, ), ) async def find_async( self, params: "SecretFindParams", options: Optional["RequestOptions"] = None, ) -> "Secret": """ Finds a secret in the secret store by name and scope. """ return cast( "Secret", await self._request_async( "get", "/v1/apps/secrets/find", base_address="api", params=params, options=options, ), ) def delete_where( self, params: "SecretDeleteWhereParams", options: Optional["RequestOptions"] = None, ) -> "Secret": """ Deletes a secret from the secret store by name and scope. """ return cast( "Secret", self._request( "post", "/v1/apps/secrets/delete", base_address="api", params=params, options=options, ), ) async def delete_where_async( self, params: "SecretDeleteWhereParams", options: Optional["RequestOptions"] = None, ) -> "Secret": """ Deletes a secret from the secret store by name and scope. """ return cast( "Secret", await self._request_async( "post", "/v1/apps/secrets/delete", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/billing/__init__.py0000644000000000000000000000715515102753431015101 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.billing._alert import Alert as Alert from stripe.billing._alert_service import AlertService as AlertService from stripe.billing._alert_triggered import ( AlertTriggered as AlertTriggered, ) from stripe.billing._credit_balance_summary import ( CreditBalanceSummary as CreditBalanceSummary, ) from stripe.billing._credit_balance_summary_service import ( CreditBalanceSummaryService as CreditBalanceSummaryService, ) from stripe.billing._credit_balance_transaction import ( CreditBalanceTransaction as CreditBalanceTransaction, ) from stripe.billing._credit_balance_transaction_service import ( CreditBalanceTransactionService as CreditBalanceTransactionService, ) from stripe.billing._credit_grant import CreditGrant as CreditGrant from stripe.billing._credit_grant_service import ( CreditGrantService as CreditGrantService, ) from stripe.billing._meter import Meter as Meter from stripe.billing._meter_event import MeterEvent as MeterEvent from stripe.billing._meter_event_adjustment import ( MeterEventAdjustment as MeterEventAdjustment, ) from stripe.billing._meter_event_adjustment_service import ( MeterEventAdjustmentService as MeterEventAdjustmentService, ) from stripe.billing._meter_event_service import ( MeterEventService as MeterEventService, ) from stripe.billing._meter_event_summary import ( MeterEventSummary as MeterEventSummary, ) from stripe.billing._meter_event_summary_service import ( MeterEventSummaryService as MeterEventSummaryService, ) from stripe.billing._meter_service import MeterService as MeterService # name -> (import_target, is_submodule) _import_map = { "Alert": ("stripe.billing._alert", False), "AlertService": ("stripe.billing._alert_service", False), "AlertTriggered": ("stripe.billing._alert_triggered", False), "CreditBalanceSummary": ("stripe.billing._credit_balance_summary", False), "CreditBalanceSummaryService": ( "stripe.billing._credit_balance_summary_service", False, ), "CreditBalanceTransaction": ( "stripe.billing._credit_balance_transaction", False, ), "CreditBalanceTransactionService": ( "stripe.billing._credit_balance_transaction_service", False, ), "CreditGrant": ("stripe.billing._credit_grant", False), "CreditGrantService": ("stripe.billing._credit_grant_service", False), "Meter": ("stripe.billing._meter", False), "MeterEvent": ("stripe.billing._meter_event", False), "MeterEventAdjustment": ("stripe.billing._meter_event_adjustment", False), "MeterEventAdjustmentService": ( "stripe.billing._meter_event_adjustment_service", False, ), "MeterEventService": ("stripe.billing._meter_event_service", False), "MeterEventSummary": ("stripe.billing._meter_event_summary", False), "MeterEventSummaryService": ( "stripe.billing._meter_event_summary_service", False, ), "MeterService": ("stripe.billing._meter_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/billing/_alert.py0000644000000000000000000003441615102753431014610 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._customer import Customer from stripe.billing._meter import Meter from stripe.params.billing._alert_activate_params import ( AlertActivateParams, ) from stripe.params.billing._alert_archive_params import AlertArchiveParams from stripe.params.billing._alert_create_params import AlertCreateParams from stripe.params.billing._alert_deactivate_params import ( AlertDeactivateParams, ) from stripe.params.billing._alert_list_params import AlertListParams from stripe.params.billing._alert_retrieve_params import ( AlertRetrieveParams, ) class Alert(CreateableAPIResource["Alert"], ListableAPIResource["Alert"]): """ A billing alert is a resource that notifies you when a certain usage threshold on a meter is crossed. For example, you might create a billing alert to notify you when a certain user made 100 API requests. """ OBJECT_NAME: ClassVar[Literal["billing.alert"]] = "billing.alert" class UsageThreshold(StripeObject): class Filter(StripeObject): customer: Optional[ExpandableField["Customer"]] """ Limit the scope of the alert to this customer ID """ type: Literal["customer"] filters: Optional[List[Filter]] """ The filters allow limiting the scope of this usage alert. You can only specify up to one filter at this time. """ gte: int """ The value at which this alert will trigger. """ meter: ExpandableField["Meter"] """ The [Billing Meter](https://docs.stripe.com/api/billing/meter) ID whose usage is monitored. """ recurrence: Literal["one_time"] """ Defines how the alert will behave. """ _inner_class_types = {"filters": Filter} alert_type: Literal["usage_threshold"] """ Defines the type of the alert. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["billing.alert"] """ String representing the object's type. Objects of the same type share the same value. """ status: Optional[Literal["active", "archived", "inactive"]] """ Status of the alert. This can be active, inactive or archived. """ title: str """ Title of the alert. """ usage_threshold: Optional[UsageThreshold] """ Encapsulates configuration of the alert to monitor usage on a specific [Billing Meter](https://stripe.com/docs/api/billing/meter). """ @classmethod def _cls_activate( cls, id: str, **params: Unpack["AlertActivateParams"] ) -> "Alert": """ Reactivates this alert, allowing it to trigger again. """ return cast( "Alert", cls._static_request( "post", "/v1/billing/alerts/{id}/activate".format(id=sanitize_id(id)), params=params, ), ) @overload @staticmethod def activate(id: str, **params: Unpack["AlertActivateParams"]) -> "Alert": """ Reactivates this alert, allowing it to trigger again. """ ... @overload def activate(self, **params: Unpack["AlertActivateParams"]) -> "Alert": """ Reactivates this alert, allowing it to trigger again. """ ... @class_method_variant("_cls_activate") def activate( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AlertActivateParams"] ) -> "Alert": """ Reactivates this alert, allowing it to trigger again. """ return cast( "Alert", self._request( "post", "/v1/billing/alerts/{id}/activate".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_activate_async( cls, id: str, **params: Unpack["AlertActivateParams"] ) -> "Alert": """ Reactivates this alert, allowing it to trigger again. """ return cast( "Alert", await cls._static_request_async( "post", "/v1/billing/alerts/{id}/activate".format(id=sanitize_id(id)), params=params, ), ) @overload @staticmethod async def activate_async( id: str, **params: Unpack["AlertActivateParams"] ) -> "Alert": """ Reactivates this alert, allowing it to trigger again. """ ... @overload async def activate_async( self, **params: Unpack["AlertActivateParams"] ) -> "Alert": """ Reactivates this alert, allowing it to trigger again. """ ... @class_method_variant("_cls_activate_async") async def activate_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AlertActivateParams"] ) -> "Alert": """ Reactivates this alert, allowing it to trigger again. """ return cast( "Alert", await self._request_async( "post", "/v1/billing/alerts/{id}/activate".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_archive( cls, id: str, **params: Unpack["AlertArchiveParams"] ) -> "Alert": """ Archives this alert, removing it from the list view and APIs. This is non-reversible. """ return cast( "Alert", cls._static_request( "post", "/v1/billing/alerts/{id}/archive".format(id=sanitize_id(id)), params=params, ), ) @overload @staticmethod def archive(id: str, **params: Unpack["AlertArchiveParams"]) -> "Alert": """ Archives this alert, removing it from the list view and APIs. This is non-reversible. """ ... @overload def archive(self, **params: Unpack["AlertArchiveParams"]) -> "Alert": """ Archives this alert, removing it from the list view and APIs. This is non-reversible. """ ... @class_method_variant("_cls_archive") def archive( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AlertArchiveParams"] ) -> "Alert": """ Archives this alert, removing it from the list view and APIs. This is non-reversible. """ return cast( "Alert", self._request( "post", "/v1/billing/alerts/{id}/archive".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_archive_async( cls, id: str, **params: Unpack["AlertArchiveParams"] ) -> "Alert": """ Archives this alert, removing it from the list view and APIs. This is non-reversible. """ return cast( "Alert", await cls._static_request_async( "post", "/v1/billing/alerts/{id}/archive".format(id=sanitize_id(id)), params=params, ), ) @overload @staticmethod async def archive_async( id: str, **params: Unpack["AlertArchiveParams"] ) -> "Alert": """ Archives this alert, removing it from the list view and APIs. This is non-reversible. """ ... @overload async def archive_async( self, **params: Unpack["AlertArchiveParams"] ) -> "Alert": """ Archives this alert, removing it from the list view and APIs. This is non-reversible. """ ... @class_method_variant("_cls_archive_async") async def archive_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AlertArchiveParams"] ) -> "Alert": """ Archives this alert, removing it from the list view and APIs. This is non-reversible. """ return cast( "Alert", await self._request_async( "post", "/v1/billing/alerts/{id}/archive".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create(cls, **params: Unpack["AlertCreateParams"]) -> "Alert": """ Creates a billing alert """ return cast( "Alert", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["AlertCreateParams"] ) -> "Alert": """ Creates a billing alert """ return cast( "Alert", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_deactivate( cls, id: str, **params: Unpack["AlertDeactivateParams"] ) -> "Alert": """ Deactivates this alert, preventing it from triggering. """ return cast( "Alert", cls._static_request( "post", "/v1/billing/alerts/{id}/deactivate".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def deactivate( id: str, **params: Unpack["AlertDeactivateParams"] ) -> "Alert": """ Deactivates this alert, preventing it from triggering. """ ... @overload def deactivate(self, **params: Unpack["AlertDeactivateParams"]) -> "Alert": """ Deactivates this alert, preventing it from triggering. """ ... @class_method_variant("_cls_deactivate") def deactivate( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AlertDeactivateParams"] ) -> "Alert": """ Deactivates this alert, preventing it from triggering. """ return cast( "Alert", self._request( "post", "/v1/billing/alerts/{id}/deactivate".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_deactivate_async( cls, id: str, **params: Unpack["AlertDeactivateParams"] ) -> "Alert": """ Deactivates this alert, preventing it from triggering. """ return cast( "Alert", await cls._static_request_async( "post", "/v1/billing/alerts/{id}/deactivate".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def deactivate_async( id: str, **params: Unpack["AlertDeactivateParams"] ) -> "Alert": """ Deactivates this alert, preventing it from triggering. """ ... @overload async def deactivate_async( self, **params: Unpack["AlertDeactivateParams"] ) -> "Alert": """ Deactivates this alert, preventing it from triggering. """ ... @class_method_variant("_cls_deactivate_async") async def deactivate_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AlertDeactivateParams"] ) -> "Alert": """ Deactivates this alert, preventing it from triggering. """ return cast( "Alert", await self._request_async( "post", "/v1/billing/alerts/{id}/deactivate".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list(cls, **params: Unpack["AlertListParams"]) -> ListObject["Alert"]: """ Lists billing active and inactive alerts """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["AlertListParams"] ) -> ListObject["Alert"]: """ Lists billing active and inactive alerts """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["AlertRetrieveParams"] ) -> "Alert": """ Retrieves a billing alert given an ID """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["AlertRetrieveParams"] ) -> "Alert": """ Retrieves a billing alert given an ID """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"usage_threshold": UsageThreshold} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/billing/_alert_service.py0000644000000000000000000001662515102753431016332 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.billing._alert import Alert from stripe.params.billing._alert_activate_params import ( AlertActivateParams, ) from stripe.params.billing._alert_archive_params import AlertArchiveParams from stripe.params.billing._alert_create_params import AlertCreateParams from stripe.params.billing._alert_deactivate_params import ( AlertDeactivateParams, ) from stripe.params.billing._alert_list_params import AlertListParams from stripe.params.billing._alert_retrieve_params import ( AlertRetrieveParams, ) class AlertService(StripeService): def list( self, params: Optional["AlertListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Alert]": """ Lists billing active and inactive alerts """ return cast( "ListObject[Alert]", self._request( "get", "/v1/billing/alerts", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["AlertListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Alert]": """ Lists billing active and inactive alerts """ return cast( "ListObject[Alert]", await self._request_async( "get", "/v1/billing/alerts", base_address="api", params=params, options=options, ), ) def create( self, params: "AlertCreateParams", options: Optional["RequestOptions"] = None, ) -> "Alert": """ Creates a billing alert """ return cast( "Alert", self._request( "post", "/v1/billing/alerts", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "AlertCreateParams", options: Optional["RequestOptions"] = None, ) -> "Alert": """ Creates a billing alert """ return cast( "Alert", await self._request_async( "post", "/v1/billing/alerts", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["AlertRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Alert": """ Retrieves a billing alert given an ID """ return cast( "Alert", self._request( "get", "/v1/billing/alerts/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["AlertRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Alert": """ Retrieves a billing alert given an ID """ return cast( "Alert", await self._request_async( "get", "/v1/billing/alerts/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def activate( self, id: str, params: Optional["AlertActivateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Alert": """ Reactivates this alert, allowing it to trigger again. """ return cast( "Alert", self._request( "post", "/v1/billing/alerts/{id}/activate".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def activate_async( self, id: str, params: Optional["AlertActivateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Alert": """ Reactivates this alert, allowing it to trigger again. """ return cast( "Alert", await self._request_async( "post", "/v1/billing/alerts/{id}/activate".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def archive( self, id: str, params: Optional["AlertArchiveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Alert": """ Archives this alert, removing it from the list view and APIs. This is non-reversible. """ return cast( "Alert", self._request( "post", "/v1/billing/alerts/{id}/archive".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def archive_async( self, id: str, params: Optional["AlertArchiveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Alert": """ Archives this alert, removing it from the list view and APIs. This is non-reversible. """ return cast( "Alert", await self._request_async( "post", "/v1/billing/alerts/{id}/archive".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def deactivate( self, id: str, params: Optional["AlertDeactivateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Alert": """ Deactivates this alert, preventing it from triggering. """ return cast( "Alert", self._request( "post", "/v1/billing/alerts/{id}/deactivate".format( id=sanitize_id(id) ), base_address="api", params=params, options=options, ), ) async def deactivate_async( self, id: str, params: Optional["AlertDeactivateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Alert": """ Deactivates this alert, preventing it from triggering. """ return cast( "Alert", await self._request_async( "post", "/v1/billing/alerts/{id}/deactivate".format( id=sanitize_id(id) ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/billing/_alert_triggered.py0000644000000000000000000000227315102753431016640 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar from typing_extensions import Literal, TYPE_CHECKING if TYPE_CHECKING: from stripe.billing._alert import Alert class AlertTriggered(StripeObject): OBJECT_NAME: ClassVar[Literal["billing.alert_triggered"]] = ( "billing.alert_triggered" ) alert: "Alert" """ A billing alert is a resource that notifies you when a certain usage threshold on a meter is crossed. For example, you might create a billing alert to notify you when a certain user made 100 API requests. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ customer: str """ ID of customer for which the alert triggered """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["billing.alert_triggered"] """ String representing the object's type. Objects of the same type share the same value. """ value: int """ The value triggering the alert """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/billing/_credit_balance_summary.py0000644000000000000000000000774315102753431020200 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._singleton_api_resource import SingletonAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, List, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._customer import Customer from stripe.params.billing._credit_balance_summary_retrieve_params import ( CreditBalanceSummaryRetrieveParams, ) class CreditBalanceSummary(SingletonAPIResource["CreditBalanceSummary"]): """ Indicates the billing credit balance for billing credits granted to a customer. """ OBJECT_NAME: ClassVar[Literal["billing.credit_balance_summary"]] = ( "billing.credit_balance_summary" ) class Balance(StripeObject): class AvailableBalance(StripeObject): class Monetary(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount. """ monetary: Optional[Monetary] """ The monetary amount. """ type: Literal["monetary"] """ The type of this amount. We currently only support `monetary` billing credits. """ _inner_class_types = {"monetary": Monetary} class LedgerBalance(StripeObject): class Monetary(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount. """ monetary: Optional[Monetary] """ The monetary amount. """ type: Literal["monetary"] """ The type of this amount. We currently only support `monetary` billing credits. """ _inner_class_types = {"monetary": Monetary} available_balance: AvailableBalance ledger_balance: LedgerBalance _inner_class_types = { "available_balance": AvailableBalance, "ledger_balance": LedgerBalance, } balances: List[Balance] """ The billing credit balances. One entry per credit grant currency. If a customer only has credit grants in a single currency, then this will have a single balance entry. """ customer: ExpandableField["Customer"] """ The customer the balance is for. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["billing.credit_balance_summary"] """ String representing the object's type. Objects of the same type share the same value. """ @classmethod def retrieve( cls, **params: Unpack["CreditBalanceSummaryRetrieveParams"] ) -> "CreditBalanceSummary": """ Retrieves the credit balance summary for a customer. """ instance = cls(None, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, **params: Unpack["CreditBalanceSummaryRetrieveParams"] ) -> "CreditBalanceSummary": """ Retrieves the credit balance summary for a customer. """ instance = cls(None, **params) await instance.refresh_async() return instance @classmethod def class_url(cls): return "/v1/billing/credit_balance_summary" _inner_class_types = {"balances": Balance} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/billing/_credit_balance_summary_service.py0000644000000000000000000000313715102753431021711 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.billing._credit_balance_summary import CreditBalanceSummary from stripe.params.billing._credit_balance_summary_retrieve_params import ( CreditBalanceSummaryRetrieveParams, ) class CreditBalanceSummaryService(StripeService): def retrieve( self, params: "CreditBalanceSummaryRetrieveParams", options: Optional["RequestOptions"] = None, ) -> "CreditBalanceSummary": """ Retrieves the credit balance summary for a customer. """ return cast( "CreditBalanceSummary", self._request( "get", "/v1/billing/credit_balance_summary", base_address="api", params=params, options=options, ), ) async def retrieve_async( self, params: "CreditBalanceSummaryRetrieveParams", options: Optional["RequestOptions"] = None, ) -> "CreditBalanceSummary": """ Retrieves the credit balance summary for a customer. """ return cast( "CreditBalanceSummary", await self._request_async( "get", "/v1/billing/credit_balance_summary", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/billing/_credit_balance_transaction.py0000644000000000000000000001714015102753431021020 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._invoice import Invoice from stripe.billing._credit_grant import CreditGrant from stripe.params.billing._credit_balance_transaction_list_params import ( CreditBalanceTransactionListParams, ) from stripe.params.billing._credit_balance_transaction_retrieve_params import ( CreditBalanceTransactionRetrieveParams, ) from stripe.test_helpers._test_clock import TestClock class CreditBalanceTransaction( ListableAPIResource["CreditBalanceTransaction"] ): """ A credit balance transaction is a resource representing a transaction (either a credit or a debit) against an existing credit grant. """ OBJECT_NAME: ClassVar[Literal["billing.credit_balance_transaction"]] = ( "billing.credit_balance_transaction" ) class Credit(StripeObject): class Amount(StripeObject): class Monetary(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount. """ monetary: Optional[Monetary] """ The monetary amount. """ type: Literal["monetary"] """ The type of this amount. We currently only support `monetary` billing credits. """ _inner_class_types = {"monetary": Monetary} class CreditsApplicationInvoiceVoided(StripeObject): invoice: ExpandableField["Invoice"] """ The invoice to which the reinstated billing credits were originally applied. """ invoice_line_item: str """ The invoice line item to which the reinstated billing credits were originally applied. """ amount: Amount credits_application_invoice_voided: Optional[ CreditsApplicationInvoiceVoided ] """ Details of the invoice to which the reinstated credits were originally applied. Only present if `type` is `credits_application_invoice_voided`. """ type: Literal["credits_application_invoice_voided", "credits_granted"] """ The type of credit transaction. """ _inner_class_types = { "amount": Amount, "credits_application_invoice_voided": CreditsApplicationInvoiceVoided, } class Debit(StripeObject): class Amount(StripeObject): class Monetary(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount. """ monetary: Optional[Monetary] """ The monetary amount. """ type: Literal["monetary"] """ The type of this amount. We currently only support `monetary` billing credits. """ _inner_class_types = {"monetary": Monetary} class CreditsApplied(StripeObject): invoice: ExpandableField["Invoice"] """ The invoice to which the billing credits were applied. """ invoice_line_item: str """ The invoice line item to which the billing credits were applied. """ amount: Amount credits_applied: Optional[CreditsApplied] """ Details of how the billing credits were applied to an invoice. Only present if `type` is `credits_applied`. """ type: Literal["credits_applied", "credits_expired", "credits_voided"] """ The type of debit transaction. """ _inner_class_types = { "amount": Amount, "credits_applied": CreditsApplied, } created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ credit: Optional[Credit] """ Credit details for this credit balance transaction. Only present if type is `credit`. """ credit_grant: ExpandableField["CreditGrant"] """ The credit grant associated with this credit balance transaction. """ debit: Optional[Debit] """ Debit details for this credit balance transaction. Only present if type is `debit`. """ effective_at: int """ The effective time of this credit balance transaction. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["billing.credit_balance_transaction"] """ String representing the object's type. Objects of the same type share the same value. """ test_clock: Optional[ExpandableField["TestClock"]] """ ID of the test clock this credit balance transaction belongs to. """ type: Optional[Literal["credit", "debit"]] """ The type of credit balance transaction (credit or debit). """ @classmethod def list( cls, **params: Unpack["CreditBalanceTransactionListParams"] ) -> ListObject["CreditBalanceTransaction"]: """ Retrieve a list of credit balance transactions. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["CreditBalanceTransactionListParams"] ) -> ListObject["CreditBalanceTransaction"]: """ Retrieve a list of credit balance transactions. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["CreditBalanceTransactionRetrieveParams"], ) -> "CreditBalanceTransaction": """ Retrieves a credit balance transaction. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["CreditBalanceTransactionRetrieveParams"], ) -> "CreditBalanceTransaction": """ Retrieves a credit balance transaction. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"credit": Credit, "debit": Debit} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/billing/_credit_balance_transaction_service.py0000644000000000000000000000630215102753431022536 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.billing._credit_balance_transaction import ( CreditBalanceTransaction, ) from stripe.params.billing._credit_balance_transaction_list_params import ( CreditBalanceTransactionListParams, ) from stripe.params.billing._credit_balance_transaction_retrieve_params import ( CreditBalanceTransactionRetrieveParams, ) class CreditBalanceTransactionService(StripeService): def list( self, params: "CreditBalanceTransactionListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[CreditBalanceTransaction]": """ Retrieve a list of credit balance transactions. """ return cast( "ListObject[CreditBalanceTransaction]", self._request( "get", "/v1/billing/credit_balance_transactions", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "CreditBalanceTransactionListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[CreditBalanceTransaction]": """ Retrieve a list of credit balance transactions. """ return cast( "ListObject[CreditBalanceTransaction]", await self._request_async( "get", "/v1/billing/credit_balance_transactions", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["CreditBalanceTransactionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditBalanceTransaction": """ Retrieves a credit balance transaction. """ return cast( "CreditBalanceTransaction", self._request( "get", "/v1/billing/credit_balance_transactions/{id}".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["CreditBalanceTransactionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditBalanceTransaction": """ Retrieves a credit balance transaction. """ return cast( "CreditBalanceTransaction", await self._request_async( "get", "/v1/billing/credit_balance_transactions/{id}".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/billing/_credit_grant.py0000644000000000000000000003447315102753431016151 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._customer import Customer from stripe.params.billing._credit_grant_create_params import ( CreditGrantCreateParams, ) from stripe.params.billing._credit_grant_expire_params import ( CreditGrantExpireParams, ) from stripe.params.billing._credit_grant_list_params import ( CreditGrantListParams, ) from stripe.params.billing._credit_grant_modify_params import ( CreditGrantModifyParams, ) from stripe.params.billing._credit_grant_retrieve_params import ( CreditGrantRetrieveParams, ) from stripe.params.billing._credit_grant_void_grant_params import ( CreditGrantVoidGrantParams, ) from stripe.test_helpers._test_clock import TestClock class CreditGrant( CreateableAPIResource["CreditGrant"], ListableAPIResource["CreditGrant"], UpdateableAPIResource["CreditGrant"], ): """ A credit grant is an API resource that documents the allocation of some billing credits to a customer. Related guide: [Billing credits](https://docs.stripe.com/billing/subscriptions/usage-based/billing-credits) """ OBJECT_NAME: ClassVar[Literal["billing.credit_grant"]] = ( "billing.credit_grant" ) class Amount(StripeObject): class Monetary(StripeObject): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount. """ monetary: Optional[Monetary] """ The monetary amount. """ type: Literal["monetary"] """ The type of this amount. We currently only support `monetary` billing credits. """ _inner_class_types = {"monetary": Monetary} class ApplicabilityConfig(StripeObject): class Scope(StripeObject): class Price(StripeObject): id: Optional[str] """ Unique identifier for the object. """ price_type: Optional[Literal["metered"]] """ The price type that credit grants can apply to. We currently only support the `metered` price type. This refers to prices that have a [Billing Meter](https://docs.stripe.com/api/billing/meter) attached to them. Cannot be used in combination with `prices`. """ prices: Optional[List[Price]] """ The prices that credit grants can apply to. We currently only support `metered` prices. This refers to prices that have a [Billing Meter](https://docs.stripe.com/api/billing/meter) attached to them. Cannot be used in combination with `price_type`. """ _inner_class_types = {"prices": Price} scope: Scope _inner_class_types = {"scope": Scope} amount: Amount applicability_config: ApplicabilityConfig category: Literal["paid", "promotional"] """ The category of this credit grant. This is for tracking purposes and isn't displayed to the customer. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ customer: ExpandableField["Customer"] """ ID of the customer receiving the billing credits. """ effective_at: Optional[int] """ The time when the billing credits become effective-when they're eligible for use. """ expires_at: Optional[int] """ The time when the billing credits expire. If not present, the billing credits don't expire. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ name: Optional[str] """ A descriptive name shown in dashboard. """ object: Literal["billing.credit_grant"] """ String representing the object's type. Objects of the same type share the same value. """ priority: Optional[int] """ The priority for applying this credit grant. The highest priority is 0 and the lowest is 100. """ test_clock: Optional[ExpandableField["TestClock"]] """ ID of the test clock this credit grant belongs to. """ updated: int """ Time at which the object was last updated. Measured in seconds since the Unix epoch. """ voided_at: Optional[int] """ The time when this credit grant was voided. If not present, the credit grant hasn't been voided. """ @classmethod def create( cls, **params: Unpack["CreditGrantCreateParams"] ) -> "CreditGrant": """ Creates a credit grant. """ return cast( "CreditGrant", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["CreditGrantCreateParams"] ) -> "CreditGrant": """ Creates a credit grant. """ return cast( "CreditGrant", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_expire( cls, id: str, **params: Unpack["CreditGrantExpireParams"] ) -> "CreditGrant": """ Expires a credit grant. """ return cast( "CreditGrant", cls._static_request( "post", "/v1/billing/credit_grants/{id}/expire".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def expire( id: str, **params: Unpack["CreditGrantExpireParams"] ) -> "CreditGrant": """ Expires a credit grant. """ ... @overload def expire( self, **params: Unpack["CreditGrantExpireParams"] ) -> "CreditGrant": """ Expires a credit grant. """ ... @class_method_variant("_cls_expire") def expire( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CreditGrantExpireParams"] ) -> "CreditGrant": """ Expires a credit grant. """ return cast( "CreditGrant", self._request( "post", "/v1/billing/credit_grants/{id}/expire".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_expire_async( cls, id: str, **params: Unpack["CreditGrantExpireParams"] ) -> "CreditGrant": """ Expires a credit grant. """ return cast( "CreditGrant", await cls._static_request_async( "post", "/v1/billing/credit_grants/{id}/expire".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def expire_async( id: str, **params: Unpack["CreditGrantExpireParams"] ) -> "CreditGrant": """ Expires a credit grant. """ ... @overload async def expire_async( self, **params: Unpack["CreditGrantExpireParams"] ) -> "CreditGrant": """ Expires a credit grant. """ ... @class_method_variant("_cls_expire_async") async def expire_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CreditGrantExpireParams"] ) -> "CreditGrant": """ Expires a credit grant. """ return cast( "CreditGrant", await self._request_async( "post", "/v1/billing/credit_grants/{id}/expire".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list( cls, **params: Unpack["CreditGrantListParams"] ) -> ListObject["CreditGrant"]: """ Retrieve a list of credit grants. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["CreditGrantListParams"] ) -> ListObject["CreditGrant"]: """ Retrieve a list of credit grants. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["CreditGrantModifyParams"] ) -> "CreditGrant": """ Updates a credit grant. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "CreditGrant", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["CreditGrantModifyParams"] ) -> "CreditGrant": """ Updates a credit grant. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "CreditGrant", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["CreditGrantRetrieveParams"] ) -> "CreditGrant": """ Retrieves a credit grant. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["CreditGrantRetrieveParams"] ) -> "CreditGrant": """ Retrieves a credit grant. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def _cls_void_grant( cls, id: str, **params: Unpack["CreditGrantVoidGrantParams"] ) -> "CreditGrant": """ Voids a credit grant. """ return cast( "CreditGrant", cls._static_request( "post", "/v1/billing/credit_grants/{id}/void".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def void_grant( id: str, **params: Unpack["CreditGrantVoidGrantParams"] ) -> "CreditGrant": """ Voids a credit grant. """ ... @overload def void_grant( self, **params: Unpack["CreditGrantVoidGrantParams"] ) -> "CreditGrant": """ Voids a credit grant. """ ... @class_method_variant("_cls_void_grant") def void_grant( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CreditGrantVoidGrantParams"] ) -> "CreditGrant": """ Voids a credit grant. """ return cast( "CreditGrant", self._request( "post", "/v1/billing/credit_grants/{id}/void".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_void_grant_async( cls, id: str, **params: Unpack["CreditGrantVoidGrantParams"] ) -> "CreditGrant": """ Voids a credit grant. """ return cast( "CreditGrant", await cls._static_request_async( "post", "/v1/billing/credit_grants/{id}/void".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def void_grant_async( id: str, **params: Unpack["CreditGrantVoidGrantParams"] ) -> "CreditGrant": """ Voids a credit grant. """ ... @overload async def void_grant_async( self, **params: Unpack["CreditGrantVoidGrantParams"] ) -> "CreditGrant": """ Voids a credit grant. """ ... @class_method_variant("_cls_void_grant_async") async def void_grant_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CreditGrantVoidGrantParams"] ) -> "CreditGrant": """ Voids a credit grant. """ return cast( "CreditGrant", await self._request_async( "post", "/v1/billing/credit_grants/{id}/void".format( id=sanitize_id(self.get("id")) ), params=params, ), ) _inner_class_types = { "amount": Amount, "applicability_config": ApplicabilityConfig, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/billing/_credit_grant_service.py0000644000000000000000000001712015102753431017657 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.billing._credit_grant import CreditGrant from stripe.params.billing._credit_grant_create_params import ( CreditGrantCreateParams, ) from stripe.params.billing._credit_grant_expire_params import ( CreditGrantExpireParams, ) from stripe.params.billing._credit_grant_list_params import ( CreditGrantListParams, ) from stripe.params.billing._credit_grant_retrieve_params import ( CreditGrantRetrieveParams, ) from stripe.params.billing._credit_grant_update_params import ( CreditGrantUpdateParams, ) from stripe.params.billing._credit_grant_void_grant_params import ( CreditGrantVoidGrantParams, ) class CreditGrantService(StripeService): def list( self, params: Optional["CreditGrantListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[CreditGrant]": """ Retrieve a list of credit grants. """ return cast( "ListObject[CreditGrant]", self._request( "get", "/v1/billing/credit_grants", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["CreditGrantListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[CreditGrant]": """ Retrieve a list of credit grants. """ return cast( "ListObject[CreditGrant]", await self._request_async( "get", "/v1/billing/credit_grants", base_address="api", params=params, options=options, ), ) def create( self, params: "CreditGrantCreateParams", options: Optional["RequestOptions"] = None, ) -> "CreditGrant": """ Creates a credit grant. """ return cast( "CreditGrant", self._request( "post", "/v1/billing/credit_grants", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "CreditGrantCreateParams", options: Optional["RequestOptions"] = None, ) -> "CreditGrant": """ Creates a credit grant. """ return cast( "CreditGrant", await self._request_async( "post", "/v1/billing/credit_grants", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["CreditGrantRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditGrant": """ Retrieves a credit grant. """ return cast( "CreditGrant", self._request( "get", "/v1/billing/credit_grants/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["CreditGrantRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditGrant": """ Retrieves a credit grant. """ return cast( "CreditGrant", await self._request_async( "get", "/v1/billing/credit_grants/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def update( self, id: str, params: Optional["CreditGrantUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditGrant": """ Updates a credit grant. """ return cast( "CreditGrant", self._request( "post", "/v1/billing/credit_grants/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def update_async( self, id: str, params: Optional["CreditGrantUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditGrant": """ Updates a credit grant. """ return cast( "CreditGrant", await self._request_async( "post", "/v1/billing/credit_grants/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def expire( self, id: str, params: Optional["CreditGrantExpireParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditGrant": """ Expires a credit grant. """ return cast( "CreditGrant", self._request( "post", "/v1/billing/credit_grants/{id}/expire".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def expire_async( self, id: str, params: Optional["CreditGrantExpireParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditGrant": """ Expires a credit grant. """ return cast( "CreditGrant", await self._request_async( "post", "/v1/billing/credit_grants/{id}/expire".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def void_grant( self, id: str, params: Optional["CreditGrantVoidGrantParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditGrant": """ Voids a credit grant. """ return cast( "CreditGrant", self._request( "post", "/v1/billing/credit_grants/{id}/void".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def void_grant_async( self, id: str, params: Optional["CreditGrantVoidGrantParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditGrant": """ Voids a credit grant. """ return cast( "CreditGrant", await self._request_async( "post", "/v1/billing/credit_grants/{id}/void".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/billing/_meter.py0000644000000000000000000003614015102753431014611 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._nested_resource_class_methods import nested_resource_class_methods from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.billing._meter_event_summary import MeterEventSummary from stripe.params.billing._meter_create_params import MeterCreateParams from stripe.params.billing._meter_deactivate_params import ( MeterDeactivateParams, ) from stripe.params.billing._meter_list_event_summaries_params import ( MeterListEventSummariesParams, ) from stripe.params.billing._meter_list_params import MeterListParams from stripe.params.billing._meter_modify_params import MeterModifyParams from stripe.params.billing._meter_reactivate_params import ( MeterReactivateParams, ) from stripe.params.billing._meter_retrieve_params import ( MeterRetrieveParams, ) @nested_resource_class_methods("event_summary") class Meter( CreateableAPIResource["Meter"], ListableAPIResource["Meter"], UpdateableAPIResource["Meter"], ): """ Meters specify how to aggregate meter events over a billing period. Meter events represent the actions that customers take in your system. Meters attach to prices and form the basis of the bill. Related guide: [Usage based billing](https://docs.stripe.com/billing/subscriptions/usage-based) """ OBJECT_NAME: ClassVar[Literal["billing.meter"]] = "billing.meter" class CustomerMapping(StripeObject): event_payload_key: str """ The key in the meter event payload to use for mapping the event to a customer. """ type: Literal["by_id"] """ The method for mapping a meter event to a customer. """ class DefaultAggregation(StripeObject): formula: Literal["count", "last", "sum"] """ Specifies how events are aggregated. """ class StatusTransitions(StripeObject): deactivated_at: Optional[int] """ The time the meter was deactivated, if any. Measured in seconds since Unix epoch. """ class ValueSettings(StripeObject): event_payload_key: str """ The key in the meter event payload to use as the value for this meter. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ customer_mapping: CustomerMapping default_aggregation: DefaultAggregation display_name: str """ The meter's name. """ event_name: str """ The name of the meter event to record usage for. Corresponds with the `event_name` field on meter events. """ event_time_window: Optional[Literal["day", "hour"]] """ The time window which meter events have been pre-aggregated for, if any. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["billing.meter"] """ String representing the object's type. Objects of the same type share the same value. """ status: Literal["active", "inactive"] """ The meter's status. """ status_transitions: StatusTransitions updated: int """ Time at which the object was last updated. Measured in seconds since the Unix epoch. """ value_settings: ValueSettings @classmethod def create(cls, **params: Unpack["MeterCreateParams"]) -> "Meter": """ Creates a billing meter. """ return cast( "Meter", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["MeterCreateParams"] ) -> "Meter": """ Creates a billing meter. """ return cast( "Meter", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_deactivate( cls, id: str, **params: Unpack["MeterDeactivateParams"] ) -> "Meter": """ When a meter is deactivated, no more meter events will be accepted for this meter. You can't attach a deactivated meter to a price. """ return cast( "Meter", cls._static_request( "post", "/v1/billing/meters/{id}/deactivate".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def deactivate( id: str, **params: Unpack["MeterDeactivateParams"] ) -> "Meter": """ When a meter is deactivated, no more meter events will be accepted for this meter. You can't attach a deactivated meter to a price. """ ... @overload def deactivate(self, **params: Unpack["MeterDeactivateParams"]) -> "Meter": """ When a meter is deactivated, no more meter events will be accepted for this meter. You can't attach a deactivated meter to a price. """ ... @class_method_variant("_cls_deactivate") def deactivate( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["MeterDeactivateParams"] ) -> "Meter": """ When a meter is deactivated, no more meter events will be accepted for this meter. You can't attach a deactivated meter to a price. """ return cast( "Meter", self._request( "post", "/v1/billing/meters/{id}/deactivate".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_deactivate_async( cls, id: str, **params: Unpack["MeterDeactivateParams"] ) -> "Meter": """ When a meter is deactivated, no more meter events will be accepted for this meter. You can't attach a deactivated meter to a price. """ return cast( "Meter", await cls._static_request_async( "post", "/v1/billing/meters/{id}/deactivate".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def deactivate_async( id: str, **params: Unpack["MeterDeactivateParams"] ) -> "Meter": """ When a meter is deactivated, no more meter events will be accepted for this meter. You can't attach a deactivated meter to a price. """ ... @overload async def deactivate_async( self, **params: Unpack["MeterDeactivateParams"] ) -> "Meter": """ When a meter is deactivated, no more meter events will be accepted for this meter. You can't attach a deactivated meter to a price. """ ... @class_method_variant("_cls_deactivate_async") async def deactivate_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["MeterDeactivateParams"] ) -> "Meter": """ When a meter is deactivated, no more meter events will be accepted for this meter. You can't attach a deactivated meter to a price. """ return cast( "Meter", await self._request_async( "post", "/v1/billing/meters/{id}/deactivate".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list(cls, **params: Unpack["MeterListParams"]) -> ListObject["Meter"]: """ Retrieve a list of billing meters. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["MeterListParams"] ) -> ListObject["Meter"]: """ Retrieve a list of billing meters. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify(cls, id: str, **params: Unpack["MeterModifyParams"]) -> "Meter": """ Updates a billing meter. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Meter", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["MeterModifyParams"] ) -> "Meter": """ Updates a billing meter. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Meter", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def _cls_reactivate( cls, id: str, **params: Unpack["MeterReactivateParams"] ) -> "Meter": """ When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price. """ return cast( "Meter", cls._static_request( "post", "/v1/billing/meters/{id}/reactivate".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def reactivate( id: str, **params: Unpack["MeterReactivateParams"] ) -> "Meter": """ When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price. """ ... @overload def reactivate(self, **params: Unpack["MeterReactivateParams"]) -> "Meter": """ When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price. """ ... @class_method_variant("_cls_reactivate") def reactivate( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["MeterReactivateParams"] ) -> "Meter": """ When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price. """ return cast( "Meter", self._request( "post", "/v1/billing/meters/{id}/reactivate".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_reactivate_async( cls, id: str, **params: Unpack["MeterReactivateParams"] ) -> "Meter": """ When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price. """ return cast( "Meter", await cls._static_request_async( "post", "/v1/billing/meters/{id}/reactivate".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def reactivate_async( id: str, **params: Unpack["MeterReactivateParams"] ) -> "Meter": """ When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price. """ ... @overload async def reactivate_async( self, **params: Unpack["MeterReactivateParams"] ) -> "Meter": """ When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price. """ ... @class_method_variant("_cls_reactivate_async") async def reactivate_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["MeterReactivateParams"] ) -> "Meter": """ When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price. """ return cast( "Meter", await self._request_async( "post", "/v1/billing/meters/{id}/reactivate".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["MeterRetrieveParams"] ) -> "Meter": """ Retrieves a billing meter given an ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["MeterRetrieveParams"] ) -> "Meter": """ Retrieves a billing meter given an ID. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def list_event_summaries( cls, id: str, **params: Unpack["MeterListEventSummariesParams"] ) -> ListObject["MeterEventSummary"]: """ Retrieve a list of billing meter event summaries. """ return cast( ListObject["MeterEventSummary"], cls._static_request( "get", "/v1/billing/meters/{id}/event_summaries".format( id=sanitize_id(id) ), params=params, ), ) @classmethod async def list_event_summaries_async( cls, id: str, **params: Unpack["MeterListEventSummariesParams"] ) -> ListObject["MeterEventSummary"]: """ Retrieve a list of billing meter event summaries. """ return cast( ListObject["MeterEventSummary"], await cls._static_request_async( "get", "/v1/billing/meters/{id}/event_summaries".format( id=sanitize_id(id) ), params=params, ), ) _inner_class_types = { "customer_mapping": CustomerMapping, "default_aggregation": DefaultAggregation, "status_transitions": StatusTransitions, "value_settings": ValueSettings, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/billing/_meter_event.py0000644000000000000000000000520315102753431016006 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from typing import ClassVar, Dict, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.billing._meter_event_create_params import ( MeterEventCreateParams, ) class MeterEvent(CreateableAPIResource["MeterEvent"]): """ Meter events represent actions that customers take in your system. You can use meter events to bill a customer based on their usage. Meter events are associated with billing meters, which define both the contents of the event's payload and how to aggregate those events. """ OBJECT_NAME: ClassVar[Literal["billing.meter_event"]] = ( "billing.meter_event" ) created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ event_name: str """ The name of the meter event. Corresponds with the `event_name` field on a meter. """ identifier: str """ A unique identifier for the event. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["billing.meter_event"] """ String representing the object's type. Objects of the same type share the same value. """ payload: Dict[str, str] """ The payload of the event. This contains 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](https://stripe.com/docs/billing/subscriptions/usage-based/recording-usage#payload-key-overrides). """ timestamp: int """ The timestamp passed in when creating the event. Measured in seconds since the Unix epoch. """ @classmethod def create( cls, **params: Unpack["MeterEventCreateParams"] ) -> "MeterEvent": """ Creates a billing meter event. """ return cast( "MeterEvent", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["MeterEventCreateParams"] ) -> "MeterEvent": """ Creates a billing meter event. """ return cast( "MeterEvent", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/billing/_meter_event_adjustment.py0000644000000000000000000000520515102753431020246 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.billing._meter_event_adjustment_create_params import ( MeterEventAdjustmentCreateParams, ) class MeterEventAdjustment(CreateableAPIResource["MeterEventAdjustment"]): """ A billing meter event adjustment is a resource that allows you to cancel a meter event. For example, you might create a billing meter event adjustment to cancel a meter event that was created in error or attached to the wrong customer. """ OBJECT_NAME: ClassVar[Literal["billing.meter_event_adjustment"]] = ( "billing.meter_event_adjustment" ) class Cancel(StripeObject): identifier: Optional[str] """ Unique identifier for the event. """ cancel: Optional[Cancel] """ Specifies which event to cancel. """ event_name: str """ The name of the meter event. Corresponds with the `event_name` field on a meter. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["billing.meter_event_adjustment"] """ String representing the object's type. Objects of the same type share the same value. """ status: Literal["complete", "pending"] """ The meter event adjustment's status. """ type: Literal["cancel"] """ Specifies whether to cancel a single event or a range of events for a time period. Time period cancellation is not supported yet. """ @classmethod def create( cls, **params: Unpack["MeterEventAdjustmentCreateParams"] ) -> "MeterEventAdjustment": """ Creates a billing meter event adjustment. """ return cast( "MeterEventAdjustment", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["MeterEventAdjustmentCreateParams"] ) -> "MeterEventAdjustment": """ Creates a billing meter event adjustment. """ return cast( "MeterEventAdjustment", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) _inner_class_types = {"cancel": Cancel} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.335062 stripe-13.2.0/stripe/billing/_meter_event_adjustment_service.py0000644000000000000000000000310115102753431021757 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.billing._meter_event_adjustment import MeterEventAdjustment from stripe.params.billing._meter_event_adjustment_create_params import ( MeterEventAdjustmentCreateParams, ) class MeterEventAdjustmentService(StripeService): def create( self, params: "MeterEventAdjustmentCreateParams", options: Optional["RequestOptions"] = None, ) -> "MeterEventAdjustment": """ Creates a billing meter event adjustment. """ return cast( "MeterEventAdjustment", self._request( "post", "/v1/billing/meter_event_adjustments", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "MeterEventAdjustmentCreateParams", options: Optional["RequestOptions"] = None, ) -> "MeterEventAdjustment": """ Creates a billing meter event adjustment. """ return cast( "MeterEventAdjustment", await self._request_async( "post", "/v1/billing/meter_event_adjustments", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.336062 stripe-13.2.0/stripe/billing/_meter_event_service.py0000644000000000000000000000264515102753431017535 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.billing._meter_event import MeterEvent from stripe.params.billing._meter_event_create_params import ( MeterEventCreateParams, ) class MeterEventService(StripeService): def create( self, params: "MeterEventCreateParams", options: Optional["RequestOptions"] = None, ) -> "MeterEvent": """ Creates a billing meter event. """ return cast( "MeterEvent", self._request( "post", "/v1/billing/meter_events", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "MeterEventCreateParams", options: Optional["RequestOptions"] = None, ) -> "MeterEvent": """ Creates a billing meter event. """ return cast( "MeterEvent", await self._request_async( "post", "/v1/billing/meter_events", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.336062 stripe-13.2.0/stripe/billing/_meter_event_summary.py0000644000000000000000000000313415102753431017564 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar from typing_extensions import Literal class MeterEventSummary(StripeObject): """ A billing meter event summary represents an aggregated view of a customer's billing meter events within a specified timeframe. It indicates how much usage was accrued by a customer for that period. Note: Meters events are aggregated asynchronously so the meter event summaries provide an eventually consistent view of the reported usage. """ OBJECT_NAME: ClassVar[Literal["billing.meter_event_summary"]] = ( "billing.meter_event_summary" ) aggregated_value: float """ Aggregated value of all the events within `start_time` (inclusive) and `end_time` (inclusive). The aggregation strategy is defined on meter via `default_aggregation`. """ end_time: int """ End timestamp for this event summary (exclusive). Must be aligned with minute boundaries. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ meter: str """ The meter associated with this event summary. """ object: Literal["billing.meter_event_summary"] """ String representing the object's type. Objects of the same type share the same value. """ start_time: int """ Start timestamp for this event summary (inclusive). Must be aligned with minute boundaries. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.336062 stripe-13.2.0/stripe/billing/_meter_event_summary_service.py0000644000000000000000000000352415102753431021307 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.billing._meter_event_summary import MeterEventSummary from stripe.params.billing._meter_event_summary_list_params import ( MeterEventSummaryListParams, ) class MeterEventSummaryService(StripeService): def list( self, id: str, params: "MeterEventSummaryListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[MeterEventSummary]": """ Retrieve a list of billing meter event summaries. """ return cast( "ListObject[MeterEventSummary]", self._request( "get", "/v1/billing/meters/{id}/event_summaries".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def list_async( self, id: str, params: "MeterEventSummaryListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[MeterEventSummary]": """ Retrieve a list of billing meter event summaries. """ return cast( "ListObject[MeterEventSummary]", await self._request_async( "get", "/v1/billing/meters/{id}/event_summaries".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.336062 stripe-13.2.0/stripe/billing/_meter_service.py0000644000000000000000000002066015102753431016331 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.billing._meter import Meter from stripe.billing._meter_event_summary_service import ( MeterEventSummaryService, ) from stripe.params.billing._meter_create_params import MeterCreateParams from stripe.params.billing._meter_deactivate_params import ( MeterDeactivateParams, ) from stripe.params.billing._meter_list_params import MeterListParams from stripe.params.billing._meter_reactivate_params import ( MeterReactivateParams, ) from stripe.params.billing._meter_retrieve_params import ( MeterRetrieveParams, ) from stripe.params.billing._meter_update_params import MeterUpdateParams _subservices = { "event_summaries": [ "stripe.billing._meter_event_summary_service", "MeterEventSummaryService", ], } class MeterService(StripeService): event_summaries: "MeterEventSummaryService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def list( self, params: Optional["MeterListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Meter]": """ Retrieve a list of billing meters. """ return cast( "ListObject[Meter]", self._request( "get", "/v1/billing/meters", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["MeterListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Meter]": """ Retrieve a list of billing meters. """ return cast( "ListObject[Meter]", await self._request_async( "get", "/v1/billing/meters", base_address="api", params=params, options=options, ), ) def create( self, params: "MeterCreateParams", options: Optional["RequestOptions"] = None, ) -> "Meter": """ Creates a billing meter. """ return cast( "Meter", self._request( "post", "/v1/billing/meters", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "MeterCreateParams", options: Optional["RequestOptions"] = None, ) -> "Meter": """ Creates a billing meter. """ return cast( "Meter", await self._request_async( "post", "/v1/billing/meters", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["MeterRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Meter": """ Retrieves a billing meter given an ID. """ return cast( "Meter", self._request( "get", "/v1/billing/meters/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["MeterRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Meter": """ Retrieves a billing meter given an ID. """ return cast( "Meter", await self._request_async( "get", "/v1/billing/meters/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def update( self, id: str, params: Optional["MeterUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Meter": """ Updates a billing meter. """ return cast( "Meter", self._request( "post", "/v1/billing/meters/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def update_async( self, id: str, params: Optional["MeterUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Meter": """ Updates a billing meter. """ return cast( "Meter", await self._request_async( "post", "/v1/billing/meters/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def deactivate( self, id: str, params: Optional["MeterDeactivateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Meter": """ When a meter is deactivated, no more meter events will be accepted for this meter. You can't attach a deactivated meter to a price. """ return cast( "Meter", self._request( "post", "/v1/billing/meters/{id}/deactivate".format( id=sanitize_id(id) ), base_address="api", params=params, options=options, ), ) async def deactivate_async( self, id: str, params: Optional["MeterDeactivateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Meter": """ When a meter is deactivated, no more meter events will be accepted for this meter. You can't attach a deactivated meter to a price. """ return cast( "Meter", await self._request_async( "post", "/v1/billing/meters/{id}/deactivate".format( id=sanitize_id(id) ), base_address="api", params=params, options=options, ), ) def reactivate( self, id: str, params: Optional["MeterReactivateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Meter": """ When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price. """ return cast( "Meter", self._request( "post", "/v1/billing/meters/{id}/reactivate".format( id=sanitize_id(id) ), base_address="api", params=params, options=options, ), ) async def reactivate_async( self, id: str, params: Optional["MeterReactivateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Meter": """ When a meter is reactivated, events for this meter can be accepted and you can attach the meter to a price. """ return cast( "Meter", await self._request_async( "post", "/v1/billing/meters/{id}/reactivate".format( id=sanitize_id(id) ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3370621 stripe-13.2.0/stripe/billing_portal/__init__.py0000644000000000000000000000241415102753431016453 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.billing_portal._configuration import ( Configuration as Configuration, ) from stripe.billing_portal._configuration_service import ( ConfigurationService as ConfigurationService, ) from stripe.billing_portal._session import Session as Session from stripe.billing_portal._session_service import ( SessionService as SessionService, ) # name -> (import_target, is_submodule) _import_map = { "Configuration": ("stripe.billing_portal._configuration", False), "ConfigurationService": ( "stripe.billing_portal._configuration_service", False, ), "Session": ("stripe.billing_portal._session", False), "SessionService": ("stripe.billing_portal._session_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3370621 stripe-13.2.0/stripe/billing_portal/_configuration.py0000644000000000000000000003361015102753431017724 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, Dict, List, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._application import Application from stripe.params.billing_portal._configuration_create_params import ( ConfigurationCreateParams, ) from stripe.params.billing_portal._configuration_list_params import ( ConfigurationListParams, ) from stripe.params.billing_portal._configuration_modify_params import ( ConfigurationModifyParams, ) from stripe.params.billing_portal._configuration_retrieve_params import ( ConfigurationRetrieveParams, ) class Configuration( CreateableAPIResource["Configuration"], ListableAPIResource["Configuration"], UpdateableAPIResource["Configuration"], ): """ A portal configuration describes the functionality and behavior you embed in a portal session. Related guide: [Configure the customer portal](https://docs.stripe.com/customer-management/configure-portal). """ OBJECT_NAME: ClassVar[Literal["billing_portal.configuration"]] = ( "billing_portal.configuration" ) class BusinessProfile(StripeObject): headline: Optional[str] """ The messaging shown to customers in the portal. """ privacy_policy_url: Optional[str] """ A link to the business's publicly available privacy policy. """ terms_of_service_url: Optional[str] """ A link to the business's publicly available terms of service. """ class Features(StripeObject): class CustomerUpdate(StripeObject): allowed_updates: List[ Literal[ "address", "email", "name", "phone", "shipping", "tax_id" ] ] """ The types of customer updates that are supported. When empty, customers are not updateable. """ enabled: bool """ Whether the feature is enabled. """ class InvoiceHistory(StripeObject): enabled: bool """ Whether the feature is enabled. """ class PaymentMethodUpdate(StripeObject): enabled: bool """ Whether the feature is enabled. """ class SubscriptionCancel(StripeObject): class CancellationReason(StripeObject): enabled: bool """ Whether the feature is enabled. """ options: List[ Literal[ "customer_service", "low_quality", "missing_features", "other", "switched_service", "too_complex", "too_expensive", "unused", ] ] """ Which cancellation reasons will be given as options to the customer. """ cancellation_reason: CancellationReason enabled: bool """ Whether the feature is enabled. """ mode: Literal["at_period_end", "immediately"] """ Whether to cancel subscriptions immediately or at the end of the billing period. """ proration_behavior: Literal[ "always_invoice", "create_prorations", "none" ] """ Whether to create prorations when canceling subscriptions. Possible values are `none` and `create_prorations`. """ _inner_class_types = {"cancellation_reason": CancellationReason} class SubscriptionUpdate(StripeObject): class Product(StripeObject): class AdjustableQuantity(StripeObject): enabled: bool """ If true, the quantity can be adjusted to any non-negative integer. """ maximum: Optional[int] """ The maximum quantity that can be set for the product. """ minimum: int """ The minimum quantity that can be set for the product. """ adjustable_quantity: AdjustableQuantity prices: List[str] """ The list of price IDs which, when subscribed to, a subscription can be updated. """ product: str """ The product ID. """ _inner_class_types = { "adjustable_quantity": AdjustableQuantity } class ScheduleAtPeriodEnd(StripeObject): class Condition(StripeObject): type: Literal[ "decreasing_item_amount", "shortening_interval" ] """ The type of condition. """ conditions: List[Condition] """ List of conditions. When any condition is true, an update will be scheduled at the end of the current period. """ _inner_class_types = {"conditions": Condition} default_allowed_updates: List[ Literal["price", "promotion_code", "quantity"] ] """ The types of subscription updates that are supported for items listed in the `products` attribute. When empty, subscriptions are not updateable. """ enabled: bool """ Whether the feature is enabled. """ products: Optional[List[Product]] """ The list of up to 10 products that support subscription updates. """ proration_behavior: Literal[ "always_invoice", "create_prorations", "none" ] """ 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. """ schedule_at_period_end: ScheduleAtPeriodEnd trial_update_behavior: Literal["continue_trial", "end_trial"] """ Determines how handle updates to trialing subscriptions. Valid values are `end_trial` and `continue_trial`. Defaults to a value of `end_trial` if you don't set it during creation. """ _inner_class_types = { "products": Product, "schedule_at_period_end": ScheduleAtPeriodEnd, } customer_update: CustomerUpdate invoice_history: InvoiceHistory payment_method_update: PaymentMethodUpdate subscription_cancel: SubscriptionCancel subscription_update: SubscriptionUpdate _inner_class_types = { "customer_update": CustomerUpdate, "invoice_history": InvoiceHistory, "payment_method_update": PaymentMethodUpdate, "subscription_cancel": SubscriptionCancel, "subscription_update": SubscriptionUpdate, } class LoginPage(StripeObject): enabled: bool """ If `true`, a shareable `url` will be generated that will take your customers to a hosted login page for the customer portal. If `false`, the previously generated `url`, if any, will be deactivated. """ url: Optional[str] """ A shareable URL to the hosted portal login page. Your customers will be able to log in with their [email](https://stripe.com/docs/api/customers/object#customer_object-email) and receive a link to their customer portal. """ active: bool """ Whether the configuration is active and can be used to create portal sessions. """ application: Optional[ExpandableField["Application"]] """ ID of the Connect Application that created the configuration. """ business_profile: BusinessProfile created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ default_return_url: Optional[str] """ The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session. """ features: Features id: str """ Unique identifier for the object. """ is_default: bool """ Whether the configuration is the default. If `true`, this configuration can be managed in the Dashboard and portal sessions will use this configuration unless it is overriden when creating the session. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ login_page: LoginPage 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. """ name: Optional[str] """ The name of the configuration. """ object: Literal["billing_portal.configuration"] """ String representing the object's type. Objects of the same type share the same value. """ updated: int """ Time at which the object was last updated. Measured in seconds since the Unix epoch. """ @classmethod def create( cls, **params: Unpack["ConfigurationCreateParams"] ) -> "Configuration": """ Creates a configuration that describes the functionality and behavior of a PortalSession """ return cast( "Configuration", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["ConfigurationCreateParams"] ) -> "Configuration": """ Creates a configuration that describes the functionality and behavior of a PortalSession """ return cast( "Configuration", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["ConfigurationListParams"] ) -> ListObject["Configuration"]: """ Returns a list of configurations that describe the functionality of the customer portal. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ConfigurationListParams"] ) -> ListObject["Configuration"]: """ Returns a list of configurations that describe the functionality of the customer portal. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["ConfigurationModifyParams"] ) -> "Configuration": """ Updates a configuration that describes the functionality of the customer portal. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Configuration", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["ConfigurationModifyParams"] ) -> "Configuration": """ Updates a configuration that describes the functionality of the customer portal. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Configuration", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["ConfigurationRetrieveParams"] ) -> "Configuration": """ Retrieves a configuration that describes the functionality of the customer portal. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ConfigurationRetrieveParams"] ) -> "Configuration": """ Retrieves a configuration that describes the functionality of the customer portal. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "business_profile": BusinessProfile, "features": Features, "login_page": LoginPage, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3370621 stripe-13.2.0/stripe/billing_portal/_configuration_service.py0000644000000000000000000001372515102753431021451 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.billing_portal._configuration import Configuration from stripe.params.billing_portal._configuration_create_params import ( ConfigurationCreateParams, ) from stripe.params.billing_portal._configuration_list_params import ( ConfigurationListParams, ) from stripe.params.billing_portal._configuration_retrieve_params import ( ConfigurationRetrieveParams, ) from stripe.params.billing_portal._configuration_update_params import ( ConfigurationUpdateParams, ) class ConfigurationService(StripeService): def list( self, params: Optional["ConfigurationListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Configuration]": """ Returns a list of configurations that describe the functionality of the customer portal. """ return cast( "ListObject[Configuration]", self._request( "get", "/v1/billing_portal/configurations", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["ConfigurationListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Configuration]": """ Returns a list of configurations that describe the functionality of the customer portal. """ return cast( "ListObject[Configuration]", await self._request_async( "get", "/v1/billing_portal/configurations", base_address="api", params=params, options=options, ), ) def create( self, params: "ConfigurationCreateParams", options: Optional["RequestOptions"] = None, ) -> "Configuration": """ Creates a configuration that describes the functionality and behavior of a PortalSession """ return cast( "Configuration", self._request( "post", "/v1/billing_portal/configurations", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "ConfigurationCreateParams", options: Optional["RequestOptions"] = None, ) -> "Configuration": """ Creates a configuration that describes the functionality and behavior of a PortalSession """ return cast( "Configuration", await self._request_async( "post", "/v1/billing_portal/configurations", base_address="api", params=params, options=options, ), ) def retrieve( self, configuration: str, params: Optional["ConfigurationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Configuration": """ Retrieves a configuration that describes the functionality of the customer portal. """ return cast( "Configuration", self._request( "get", "/v1/billing_portal/configurations/{configuration}".format( configuration=sanitize_id(configuration), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, configuration: str, params: Optional["ConfigurationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Configuration": """ Retrieves a configuration that describes the functionality of the customer portal. """ return cast( "Configuration", await self._request_async( "get", "/v1/billing_portal/configurations/{configuration}".format( configuration=sanitize_id(configuration), ), base_address="api", params=params, options=options, ), ) def update( self, configuration: str, params: Optional["ConfigurationUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Configuration": """ Updates a configuration that describes the functionality of the customer portal. """ return cast( "Configuration", self._request( "post", "/v1/billing_portal/configurations/{configuration}".format( configuration=sanitize_id(configuration), ), base_address="api", params=params, options=options, ), ) async def update_async( self, configuration: str, params: Optional["ConfigurationUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Configuration": """ Updates a configuration that describes the functionality of the customer portal. """ return cast( "Configuration", await self._request_async( "post", "/v1/billing_portal/configurations/{configuration}".format( configuration=sanitize_id(configuration), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3370621 stripe-13.2.0/stripe/billing_portal/_session.py0000644000000000000000000002413315102753431016540 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._stripe_object import StripeObject from typing import ClassVar, List, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.billing_portal._configuration import Configuration from stripe.params.billing_portal._session_create_params import ( SessionCreateParams, ) class Session(CreateableAPIResource["Session"]): """ The Billing customer portal is a Stripe-hosted UI for subscription and billing management. A portal configuration describes the functionality and features that you want to provide to your customers through the portal. A portal session describes the instantiation of the customer portal for a particular customer. By visiting the session's URL, the customer can manage their subscriptions and billing details. For security reasons, sessions are short-lived and will expire if the customer does not visit the URL. Create sessions on-demand when customers intend to manage their subscriptions and billing details. Related guide: [Customer management](https://docs.stripe.com/customer-management) """ OBJECT_NAME: ClassVar[Literal["billing_portal.session"]] = ( "billing_portal.session" ) class Flow(StripeObject): class AfterCompletion(StripeObject): class HostedConfirmation(StripeObject): custom_message: Optional[str] """ A custom message to display to the customer after the flow is completed. """ class Redirect(StripeObject): return_url: str """ The URL the customer will be redirected to after the flow is completed. """ hosted_confirmation: Optional[HostedConfirmation] """ Configuration when `after_completion.type=hosted_confirmation`. """ redirect: Optional[Redirect] """ Configuration when `after_completion.type=redirect`. """ type: Literal["hosted_confirmation", "portal_homepage", "redirect"] """ The specified type of behavior after the flow is completed. """ _inner_class_types = { "hosted_confirmation": HostedConfirmation, "redirect": Redirect, } class SubscriptionCancel(StripeObject): class Retention(StripeObject): class CouponOffer(StripeObject): coupon: str """ The ID of the coupon to be offered. """ coupon_offer: Optional[CouponOffer] """ Configuration when `retention.type=coupon_offer`. """ type: Literal["coupon_offer"] """ Type of retention strategy that will be used. """ _inner_class_types = {"coupon_offer": CouponOffer} retention: Optional[Retention] """ Specify a retention strategy to be used in the cancellation flow. """ subscription: str """ The ID of the subscription to be canceled. """ _inner_class_types = {"retention": Retention} class SubscriptionUpdate(StripeObject): subscription: str """ The ID of the subscription to be updated. """ class SubscriptionUpdateConfirm(StripeObject): class Discount(StripeObject): coupon: Optional[str] """ The ID of the coupon to apply to this subscription update. """ promotion_code: Optional[str] """ The ID of a promotion code to apply to this subscription update. """ class Item(StripeObject): id: Optional[str] """ The ID of the [subscription item](https://stripe.com/docs/api/subscriptions/object#subscription_object-items-data-id) to be updated. """ price: Optional[str] """ The price the customer should subscribe to through this flow. The price must also be included in the configuration's [`features.subscription_update.products`](https://stripe.com/docs/api/customer_portal/configuration#portal_configuration_object-features-subscription_update-products). """ quantity: Optional[int] """ [Quantity](https://stripe.com/docs/subscriptions/quantities) for this item that the customer should subscribe to through this flow. """ discounts: Optional[List[Discount]] """ The coupon or promotion code to apply to this subscription update. """ items: List[Item] """ The [subscription item](https://stripe.com/docs/api/subscription_items) to be updated through this flow. Currently, only up to one may be specified and subscriptions with multiple items are not updatable. """ subscription: str """ The ID of the subscription to be updated. """ _inner_class_types = {"discounts": Discount, "items": Item} after_completion: AfterCompletion subscription_cancel: Optional[SubscriptionCancel] """ Configuration when `flow.type=subscription_cancel`. """ subscription_update: Optional[SubscriptionUpdate] """ Configuration when `flow.type=subscription_update`. """ subscription_update_confirm: Optional[SubscriptionUpdateConfirm] """ Configuration when `flow.type=subscription_update_confirm`. """ type: Literal[ "payment_method_update", "subscription_cancel", "subscription_update", "subscription_update_confirm", ] """ Type of flow that the customer will go through. """ _inner_class_types = { "after_completion": AfterCompletion, "subscription_cancel": SubscriptionCancel, "subscription_update": SubscriptionUpdate, "subscription_update_confirm": SubscriptionUpdateConfirm, } configuration: ExpandableField["Configuration"] """ The configuration used by this session, describing the features available. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ customer: str """ The ID of the customer for this session. """ flow: Optional[Flow] """ Information about a specific flow for the customer to go through. See the [docs](https://stripe.com/docs/customer-management/portal-deep-links) to learn more about using customer portal deep links and flows. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ locale: Optional[ Literal[ "auto", "bg", "cs", "da", "de", "el", "en", "en-AU", "en-CA", "en-GB", "en-IE", "en-IN", "en-NZ", "en-SG", "es", "es-419", "et", "fi", "fil", "fr", "fr-CA", "hr", "hu", "id", "it", "ja", "ko", "lt", "lv", "ms", "mt", "nb", "nl", "pl", "pt", "pt-BR", "ro", "ru", "sk", "sl", "sv", "th", "tr", "vi", "zh", "zh-HK", "zh-TW", ] ] """ The IETF language tag of the locale Customer Portal is displayed in. If blank or auto, the customer's `preferred_locales` or browser's locale is used. """ object: Literal["billing_portal.session"] """ String representing the object's type. Objects of the same type share the same value. """ on_behalf_of: Optional[str] """ The account for which the session was created on behalf of. When specified, only subscriptions and invoices with this `on_behalf_of` account appear in the portal. For more information, see the [docs](https://stripe.com/docs/connect/separate-charges-and-transfers#settlement-merchant). Use the [Accounts API](https://stripe.com/docs/api/accounts/object#account_object-settings-branding) to modify the `on_behalf_of` account's branding settings, which the portal displays. """ return_url: Optional[str] """ The URL to redirect customers to when they click on the portal's link to return to your website. """ url: str """ The short-lived URL of the session that gives customers access to the customer portal. """ @classmethod def create(cls, **params: Unpack["SessionCreateParams"]) -> "Session": """ Creates a session of the customer portal. """ return cast( "Session", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["SessionCreateParams"] ) -> "Session": """ Creates a session of the customer portal. """ return cast( "Session", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) _inner_class_types = {"flow": Flow} ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3370621 stripe-13.2.0/stripe/billing_portal/_session_service.py0000644000000000000000000000265415102753431020264 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.billing_portal._session import Session from stripe.params.billing_portal._session_create_params import ( SessionCreateParams, ) class SessionService(StripeService): def create( self, params: "SessionCreateParams", options: Optional["RequestOptions"] = None, ) -> "Session": """ Creates a session of the customer portal. """ return cast( "Session", self._request( "post", "/v1/billing_portal/sessions", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "SessionCreateParams", options: Optional["RequestOptions"] = None, ) -> "Session": """ Creates a session of the customer portal. """ return cast( "Session", await self._request_async( "post", "/v1/billing_portal/sessions", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3370621 stripe-13.2.0/stripe/checkout/__init__.py0000644000000000000000000000211315102753431015253 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.checkout._session import Session as Session from stripe.checkout._session_line_item_service import ( SessionLineItemService as SessionLineItemService, ) from stripe.checkout._session_service import ( SessionService as SessionService, ) # name -> (import_target, is_submodule) _import_map = { "Session": ("stripe.checkout._session", False), "SessionLineItemService": ( "stripe.checkout._session_line_item_service", False, ), "SessionService": ("stripe.checkout._session_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3370621 stripe-13.2.0/stripe/checkout/_session.py0000644000000000000000000040014415102753431015344 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account from stripe._coupon import Coupon from stripe._customer import Customer from stripe._discount import Discount as DiscountResource from stripe._invoice import Invoice from stripe._line_item import LineItem from stripe._payment_intent import PaymentIntent from stripe._payment_link import PaymentLink from stripe._promotion_code import PromotionCode from stripe._setup_intent import SetupIntent from stripe._shipping_rate import ShippingRate from stripe._subscription import Subscription from stripe._tax_id import TaxId as TaxIdResource from stripe._tax_rate import TaxRate from stripe.params.checkout._session_create_params import ( SessionCreateParams, ) from stripe.params.checkout._session_expire_params import ( SessionExpireParams, ) from stripe.params.checkout._session_list_line_items_params import ( SessionListLineItemsParams, ) from stripe.params.checkout._session_list_params import SessionListParams from stripe.params.checkout._session_modify_params import ( SessionModifyParams, ) from stripe.params.checkout._session_retrieve_params import ( SessionRetrieveParams, ) class Session( CreateableAPIResource["Session"], ListableAPIResource["Session"], UpdateableAPIResource["Session"], ): """ A Checkout Session represents your customer's session as they pay for one-time purchases or subscriptions through [Checkout](https://stripe.com/docs/payments/checkout) or [Payment Links](https://stripe.com/docs/payments/payment-links). We recommend creating a new Session each time your customer attempts to pay. Once payment is successful, the Checkout Session will contain a reference to the [Customer](https://stripe.com/docs/api/customers), and either the successful [PaymentIntent](https://stripe.com/docs/api/payment_intents) or an active [Subscription](https://stripe.com/docs/api/subscriptions). You can create a Checkout Session on your server and redirect to its URL to begin Checkout. Related guide: [Checkout quickstart](https://stripe.com/docs/checkout/quickstart) """ OBJECT_NAME: ClassVar[Literal["checkout.session"]] = "checkout.session" class AdaptivePricing(StripeObject): enabled: bool """ If enabled, Adaptive Pricing is available on [eligible sessions](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing?payment-ui=stripe-hosted#restrictions). """ class AfterExpiration(StripeObject): class Recovery(StripeObject): allow_promotion_codes: bool """ Enables user redeemable promotion codes on the recovered Checkout Sessions. Defaults to `false` """ enabled: bool """ If `true`, a recovery url will be generated to recover this Checkout Session if it expires before a transaction is completed. It will be attached to the Checkout Session object upon expiration. """ expires_at: Optional[int] """ The timestamp at which the recovery URL will expire. """ url: Optional[str] """ URL that creates a new Checkout Session when clicked that is a copy of this expired Checkout Session """ recovery: Optional[Recovery] """ When set, configuration used to recover the Checkout Session on expiry. """ _inner_class_types = {"recovery": Recovery} class AutomaticTax(StripeObject): class Liability(StripeObject): account: Optional[ExpandableField["Account"]] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced. """ enabled: bool """ Indicates whether automatic tax is enabled for the session """ liability: Optional[Liability] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ provider: Optional[str] """ The tax provider powering automatic tax. """ status: Optional[ Literal["complete", "failed", "requires_location_inputs"] ] """ The status of the most recent automated tax calculation for this session. """ _inner_class_types = {"liability": Liability} class BrandingSettings(StripeObject): class Icon(StripeObject): file: Optional[str] """ The ID of a [File upload](https://stripe.com/docs/api/files) representing the icon. Purpose must be `business_icon`. Required if `type` is `file` and disallowed otherwise. """ type: Literal["file", "url"] """ The type of image for the icon. Must be one of `file` or `url`. """ url: Optional[str] """ The URL of the image. Present when `type` is `url`. """ class Logo(StripeObject): file: Optional[str] """ The ID of a [File upload](https://stripe.com/docs/api/files) representing the logo. Purpose must be `business_logo`. Required if `type` is `file` and disallowed otherwise. """ type: Literal["file", "url"] """ The type of image for the logo. Must be one of `file` or `url`. """ url: Optional[str] """ The URL of the image. Present when `type` is `url`. """ background_color: str """ A hex color value starting with `#` representing the background color for the Checkout Session. """ border_style: Literal["pill", "rectangular", "rounded"] """ The border style for the Checkout Session. Must be one of `rounded`, `rectangular`, or `pill`. """ button_color: str """ A hex color value starting with `#` representing the button color for the Checkout Session. """ display_name: str """ The display name shown on the Checkout Session. """ font_family: str """ The font family for the Checkout Session. Must be one of the [supported font families](https://docs.stripe.com/payments/checkout/customization/appearance?payment-ui=stripe-hosted#font-compatibility). """ icon: Optional[Icon] """ The icon for the Checkout Session. You cannot set both `logo` and `icon`. """ logo: Optional[Logo] """ The logo for the Checkout Session. You cannot set both `logo` and `icon`. """ _inner_class_types = {"icon": Icon, "logo": Logo} class CollectedInformation(StripeObject): class ShippingDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Address name: str """ Customer name. """ _inner_class_types = {"address": Address} business_name: Optional[str] """ Customer's business name for this Checkout Session """ individual_name: Optional[str] """ Customer's individual name for this Checkout Session """ shipping_details: Optional[ShippingDetails] """ Shipping information for this Checkout Session. """ _inner_class_types = {"shipping_details": ShippingDetails} class Consent(StripeObject): promotions: Optional[Literal["opt_in", "opt_out"]] """ If `opt_in`, the customer consents to receiving promotional communications from the merchant about this Checkout Session. """ terms_of_service: Optional[Literal["accepted"]] """ If `accepted`, the customer in this Checkout Session has agreed to the merchant's terms of service. """ class ConsentCollection(StripeObject): class PaymentMethodReuseAgreement(StripeObject): position: Literal["auto", "hidden"] """ Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's defaults will be used. When set to `hidden`, the payment method reuse agreement text will always be hidden in the UI. """ payment_method_reuse_agreement: Optional[PaymentMethodReuseAgreement] """ If set to `hidden`, it will hide legal text related to the reuse of a payment method. """ promotions: Optional[Literal["auto", "none"]] """ If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout Session will determine whether to display an option to opt into promotional communication from the merchant depending on the customer's locale. Only available to US merchants. """ terms_of_service: Optional[Literal["none", "required"]] """ If set to `required`, it requires customers to accept the terms of service before being able to pay. """ _inner_class_types = { "payment_method_reuse_agreement": PaymentMethodReuseAgreement, } class CurrencyConversion(StripeObject): amount_subtotal: int """ Total of all items in source currency before discounts or taxes are applied. """ amount_total: int """ Total of all items in source currency after discounts and taxes are applied. """ fx_rate: str """ Exchange rate used to convert source currency amounts to customer currency amounts """ source_currency: str """ Creation currency of the CheckoutSession before localization """ class CustomField(StripeObject): class Dropdown(StripeObject): class Option(StripeObject): label: str """ The label for the option, displayed to the customer. Up to 100 characters. """ value: str """ The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters. """ default_value: Optional[str] """ The value that will pre-fill on the payment page. """ options: List[Option] """ The options available for the customer to select. Up to 200 options allowed. """ value: Optional[str] """ The option selected by the customer. This will be the `value` for the option. """ _inner_class_types = {"options": Option} class Label(StripeObject): custom: Optional[str] """ Custom text for the label, displayed to the customer. Up to 50 characters. """ type: Literal["custom"] """ The type of the label. """ class Numeric(StripeObject): default_value: Optional[str] """ The value that will pre-fill the field on the payment page. """ maximum_length: Optional[int] """ The maximum character length constraint for the customer's input. """ minimum_length: Optional[int] """ The minimum character length requirement for the customer's input. """ value: Optional[str] """ The value entered by the customer, containing only digits. """ class Text(StripeObject): default_value: Optional[str] """ The value that will pre-fill the field on the payment page. """ maximum_length: Optional[int] """ The maximum character length constraint for the customer's input. """ minimum_length: Optional[int] """ The minimum character length requirement for the customer's input. """ value: Optional[str] """ The value entered by the customer. """ dropdown: Optional[Dropdown] key: str """ String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters. """ label: Label numeric: Optional[Numeric] optional: bool """ Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. """ text: Optional[Text] type: Literal["dropdown", "numeric", "text"] """ The type of the field. """ _inner_class_types = { "dropdown": Dropdown, "label": Label, "numeric": Numeric, "text": Text, } class CustomText(StripeObject): class AfterSubmit(StripeObject): message: str """ Text may be up to 1200 characters in length. """ class ShippingAddress(StripeObject): message: str """ Text may be up to 1200 characters in length. """ class Submit(StripeObject): message: str """ Text may be up to 1200 characters in length. """ class TermsOfServiceAcceptance(StripeObject): message: str """ Text may be up to 1200 characters in length. """ after_submit: Optional[AfterSubmit] """ Custom text that should be displayed after the payment confirmation button. """ shipping_address: Optional[ShippingAddress] """ Custom text that should be displayed alongside shipping address collection. """ submit: Optional[Submit] """ Custom text that should be displayed alongside the payment confirmation button. """ terms_of_service_acceptance: Optional[TermsOfServiceAcceptance] """ Custom text that should be displayed in place of the default terms of service agreement text. """ _inner_class_types = { "after_submit": AfterSubmit, "shipping_address": ShippingAddress, "submit": Submit, "terms_of_service_acceptance": TermsOfServiceAcceptance, } class CustomerDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class TaxId(StripeObject): type: Literal[ "ad_nrt", "ae_trn", "al_tin", "am_tin", "ao_tin", "ar_cuit", "au_abn", "au_arn", "aw_tin", "az_tin", "ba_tin", "bb_tin", "bd_bin", "bf_ifu", "bg_uic", "bh_vat", "bj_ifu", "bo_tin", "br_cnpj", "br_cpf", "bs_tin", "by_tin", "ca_bn", "ca_gst_hst", "ca_pst_bc", "ca_pst_mb", "ca_pst_sk", "ca_qst", "cd_nif", "ch_uid", "ch_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", "de_stn", "do_rcn", "ec_ruc", "eg_tin", "es_cif", "et_tin", "eu_oss_vat", "eu_vat", "gb_vat", "ge_vat", "gn_nif", "hk_br", "hr_oib", "hu_tin", "id_npwp", "il_vat", "in_gst", "is_vat", "jp_cn", "jp_rn", "jp_trn", "ke_pin", "kg_tin", "kh_tin", "kr_brn", "kz_bin", "la_tin", "li_uid", "li_vat", "ma_vat", "md_vat", "me_pib", "mk_vat", "mr_nif", "mx_rfc", "my_frp", "my_itn", "my_sst", "ng_tin", "no_vat", "no_voec", "np_pan", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "ro_tin", "rs_pib", "ru_inn", "ru_kpp", "sa_vat", "sg_gst", "sg_uen", "si_tin", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", "tw_vat", "tz_vat", "ua_vat", "ug_tin", "unknown", "us_ein", "uy_ruc", "uz_tin", "uz_vat", "ve_rif", "vn_tin", "za_vat", "zm_tin", "zw_tin", ] """ The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `hr_oib`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `no_voec`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, `al_tin`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, `tz_vat`, `uz_vat`, `uz_tin`, `md_vat`, `ma_vat`, `by_tin`, `ao_tin`, `bs_tin`, `bb_tin`, `cd_nif`, `mr_nif`, `me_pib`, `zw_tin`, `ba_tin`, `gn_nif`, `mk_vat`, `sr_fin`, `sn_ninea`, `am_tin`, `np_pan`, `tj_tin`, `ug_tin`, `zm_tin`, `kh_tin`, `aw_tin`, `az_tin`, `bd_bin`, `bj_ifu`, `et_tin`, `kg_tin`, `la_tin`, `cm_niu`, `cv_nif`, `bf_ifu`, or `unknown` """ value: Optional[str] """ The value of the tax ID. """ address: Optional[Address] """ The customer's address after a completed Checkout Session. Note: This property is populated only for sessions on or after March 30, 2022. """ business_name: Optional[str] """ The customer's business name after a completed Checkout Session. """ email: Optional[str] """ The email associated with the Customer, if one exists, on the Checkout Session after a completed Checkout Session or at time of session expiry. Otherwise, if the customer has consented to promotional content, this value is the most recent valid email provided by the customer on the Checkout form. """ individual_name: Optional[str] """ The customer's individual name after a completed Checkout Session. """ name: Optional[str] """ The customer's name after a completed Checkout Session. Note: This property is populated only for sessions on or after March 30, 2022. """ phone: Optional[str] """ The customer's phone number after a completed Checkout Session. """ tax_exempt: Optional[Literal["exempt", "none", "reverse"]] """ The customer's tax exempt status after a completed Checkout Session. """ tax_ids: Optional[List[TaxId]] """ The customer's tax IDs after a completed Checkout Session. """ _inner_class_types = {"address": Address, "tax_ids": TaxId} class Discount(StripeObject): coupon: Optional[ExpandableField["Coupon"]] """ Coupon attached to the Checkout Session. """ promotion_code: Optional[ExpandableField["PromotionCode"]] """ Promotion code attached to the Checkout Session. """ class InvoiceCreation(StripeObject): class InvoiceData(StripeObject): class CustomField(StripeObject): name: str """ The name of the custom field. """ value: str """ The value of the custom field. """ class Issuer(StripeObject): account: Optional[ExpandableField["Account"]] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced. """ class RenderingOptions(StripeObject): amount_tax_display: Optional[str] """ How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. """ template: Optional[str] """ ID of the invoice rendering template to be used for the generated invoice. """ account_tax_ids: Optional[List[ExpandableField["TaxIdResource"]]] """ The account tax IDs associated with the invoice. """ custom_fields: Optional[List[CustomField]] """ Custom fields displayed on the invoice. """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ footer: Optional[str] """ Footer displayed on the invoice. """ issuer: Optional[Issuer] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ 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. """ rendering_options: Optional[RenderingOptions] """ Options for invoice PDF rendering. """ _inner_class_types = { "custom_fields": CustomField, "issuer": Issuer, "rendering_options": RenderingOptions, } enabled: bool """ Indicates whether invoice creation is enabled for the Checkout Session. """ invoice_data: InvoiceData _inner_class_types = {"invoice_data": InvoiceData} class NameCollection(StripeObject): class Business(StripeObject): enabled: bool """ Indicates whether business name collection is enabled for the session """ optional: bool """ Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. """ class Individual(StripeObject): enabled: bool """ Indicates whether individual name collection is enabled for the session """ optional: bool """ Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. """ business: Optional[Business] individual: Optional[Individual] _inner_class_types = {"business": Business, "individual": Individual} class OptionalItem(StripeObject): class AdjustableQuantity(StripeObject): enabled: bool """ Set to true if the quantity can be adjusted to any non-negative integer. """ maximum: Optional[int] """ The maximum quantity of this item the customer can purchase. By default this value is 99. You can specify a value up to 999999. """ minimum: Optional[int] """ The minimum quantity of this item the customer must purchase, if they choose to purchase it. Because this item is optional, the customer will always be able to remove it from their order, even if the `minimum` configured here is greater than 0. By default this value is 0. """ adjustable_quantity: Optional[AdjustableQuantity] price: str quantity: int _inner_class_types = {"adjustable_quantity": AdjustableQuantity} class PaymentMethodConfigurationDetails(StripeObject): id: str """ ID of the payment method configuration used. """ parent: Optional[str] """ ID of the parent payment method configuration used. """ class PaymentMethodOptions(StripeObject): class AcssDebit(StripeObject): class MandateOptions(StripeObject): custom_mandate_url: Optional[str] """ A URL for custom mandate text """ default_for: Optional[List[Literal["invoice", "subscription"]]] """ List of Stripe products where this mandate can be selected automatically. Returned when the Session is in `setup` mode. """ interval_description: Optional[str] """ Description of the interval. Only required if the 'payment_schedule' parameter is 'interval' or 'combined'. """ payment_schedule: Optional[ Literal["combined", "interval", "sporadic"] ] """ Payment schedule for the mandate. """ transaction_type: Optional[Literal["business", "personal"]] """ Transaction type of the mandate. """ currency: Optional[Literal["cad", "usd"]] """ Currency supported by the bank account. Returned when the Session is in `setup` mode. """ mandate_options: Optional[MandateOptions] setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: Optional[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ verification_method: Optional[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ _inner_class_types = {"mandate_options": MandateOptions} class Affirm(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class AfterpayClearpay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Alipay(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Alma(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ class AmazonPay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class AuBecsDebit(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: Optional[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class BacsDebit(StripeObject): class MandateOptions(StripeObject): reference_prefix: Optional[str] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'. """ mandate_options: Optional[MandateOptions] setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: Optional[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ _inner_class_types = {"mandate_options": MandateOptions} class Bancontact(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Billie(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ class Boleto(StripeObject): expires_after_days: int """ The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto voucher will expire on Wednesday at 23:59 America/Sao_Paulo time. """ setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Card(StripeObject): class Installments(StripeObject): enabled: Optional[bool] """ Indicates if installments are enabled """ class Restrictions(StripeObject): brands_blocked: Optional[ List[ Literal[ "american_express", "discover_global_network", "mastercard", "visa", ] ] ] """ Specify the card brands to block in the Checkout Session. If a customer enters or selects a card belonging to a blocked brand, they can't complete the Session. """ capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ installments: Optional[Installments] request_extended_authorization: Optional[ Literal["if_available", "never"] ] """ Request ability to [capture beyond the standard authorization validity window](https://docs.stripe.com/payments/extended-authorization) for this CheckoutSession. """ request_incremental_authorization: Optional[ Literal["if_available", "never"] ] """ Request ability to [increment the authorization](https://docs.stripe.com/payments/incremental-authorization) for this CheckoutSession. """ request_multicapture: Optional[Literal["if_available", "never"]] """ Request ability to make [multiple captures](https://docs.stripe.com/payments/multicapture) for this CheckoutSession. """ request_overcapture: Optional[Literal["if_available", "never"]] """ Request ability to [overcapture](https://docs.stripe.com/payments/overcapture) for this CheckoutSession. """ request_three_d_secure: Literal["any", "automatic", "challenge"] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ restrictions: Optional[Restrictions] setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ statement_descriptor_suffix_kana: Optional[str] """ Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that's set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters. """ statement_descriptor_suffix_kanji: Optional[str] """ Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that's set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters. """ _inner_class_types = { "installments": Installments, "restrictions": Restrictions, } class Cashapp(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class CustomerBalance(StripeObject): class BankTransfer(StripeObject): class EuBankTransfer(StripeObject): country: Literal["BE", "DE", "ES", "FR", "IE", "NL"] """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ eu_bank_transfer: Optional[EuBankTransfer] requested_address_types: Optional[ List[ Literal[ "aba", "iban", "sepa", "sort_code", "spei", "swift", "zengin", ] ] ] """ List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned. Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`. """ type: Optional[ Literal[ "eu_bank_transfer", "gb_bank_transfer", "jp_bank_transfer", "mx_bank_transfer", "us_bank_transfer", ] ] """ The bank transfer type that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. """ _inner_class_types = {"eu_bank_transfer": EuBankTransfer} bank_transfer: Optional[BankTransfer] funding_type: Optional[Literal["bank_transfer"]] """ The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ _inner_class_types = {"bank_transfer": BankTransfer} class Eps(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Fpx(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Giropay(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Grabpay(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Ideal(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class KakaoPay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Klarna(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Konbini(StripeObject): expires_after_days: Optional[int] """ The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class KrCard(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Link(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Mobilepay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Multibanco(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class NaverPay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Oxxo(StripeObject): expires_after_days: int """ The number of calendar days before an OXXO invoice expires. For example, if you create an OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class P24(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Payco(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ class Paynow(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Paypal(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ preferred_locale: Optional[str] """ Preferred locale of the PayPal checkout page that the customer is redirected to. """ reference: Optional[str] """ A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Pix(StripeObject): amount_includes_iof: Optional[Literal["always", "never"]] """ Determines if the amount includes the IOF tax. """ expires_after_seconds: Optional[int] """ The number of seconds after which Pix payment will expire. """ setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class RevolutPay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: Optional[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SamsungPay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ class Satispay(StripeObject): capture_method: Optional[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ class SepaDebit(StripeObject): class MandateOptions(StripeObject): reference_prefix: Optional[str] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'. """ mandate_options: Optional[MandateOptions] setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: Optional[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ _inner_class_types = {"mandate_options": MandateOptions} class Sofort(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class Swish(StripeObject): reference: Optional[str] """ The order reference that will be displayed to customers in the Swish application. Defaults to the `id` of the Payment Intent. """ class Twint(StripeObject): setup_future_usage: Optional[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class UsBankAccount(StripeObject): class FinancialConnections(StripeObject): class Filters(StripeObject): account_subcategories: Optional[ List[Literal["checking", "savings"]] ] """ The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`. """ filters: Optional[Filters] permissions: Optional[ List[ Literal[ "balances", "ownership", "payment_method", "transactions", ] ] ] """ The list of permissions to request. The `payment_method` permission must be included. """ prefetch: Optional[ List[Literal["balances", "ownership", "transactions"]] ] """ Data features requested to be retrieved upon account creation. """ return_url: Optional[str] """ For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. """ _inner_class_types = {"filters": Filters} financial_connections: Optional[FinancialConnections] setup_future_usage: Optional[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: Optional[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ verification_method: Optional[Literal["automatic", "instant"]] """ Bank account verification method. """ _inner_class_types = { "financial_connections": FinancialConnections } acss_debit: Optional[AcssDebit] affirm: Optional[Affirm] afterpay_clearpay: Optional[AfterpayClearpay] alipay: Optional[Alipay] alma: Optional[Alma] amazon_pay: Optional[AmazonPay] au_becs_debit: Optional[AuBecsDebit] bacs_debit: Optional[BacsDebit] bancontact: Optional[Bancontact] billie: Optional[Billie] boleto: Optional[Boleto] card: Optional[Card] cashapp: Optional[Cashapp] customer_balance: Optional[CustomerBalance] eps: Optional[Eps] fpx: Optional[Fpx] giropay: Optional[Giropay] grabpay: Optional[Grabpay] ideal: Optional[Ideal] kakao_pay: Optional[KakaoPay] klarna: Optional[Klarna] konbini: Optional[Konbini] kr_card: Optional[KrCard] link: Optional[Link] mobilepay: Optional[Mobilepay] multibanco: Optional[Multibanco] naver_pay: Optional[NaverPay] oxxo: Optional[Oxxo] p24: Optional[P24] payco: Optional[Payco] paynow: Optional[Paynow] paypal: Optional[Paypal] pix: Optional[Pix] revolut_pay: Optional[RevolutPay] samsung_pay: Optional[SamsungPay] satispay: Optional[Satispay] sepa_debit: Optional[SepaDebit] sofort: Optional[Sofort] swish: Optional[Swish] twint: Optional[Twint] us_bank_account: Optional[UsBankAccount] _inner_class_types = { "acss_debit": AcssDebit, "affirm": Affirm, "afterpay_clearpay": AfterpayClearpay, "alipay": Alipay, "alma": Alma, "amazon_pay": AmazonPay, "au_becs_debit": AuBecsDebit, "bacs_debit": BacsDebit, "bancontact": Bancontact, "billie": Billie, "boleto": Boleto, "card": Card, "cashapp": Cashapp, "customer_balance": CustomerBalance, "eps": Eps, "fpx": Fpx, "giropay": Giropay, "grabpay": Grabpay, "ideal": Ideal, "kakao_pay": KakaoPay, "klarna": Klarna, "konbini": Konbini, "kr_card": KrCard, "link": Link, "mobilepay": Mobilepay, "multibanco": Multibanco, "naver_pay": NaverPay, "oxxo": Oxxo, "p24": P24, "payco": Payco, "paynow": Paynow, "paypal": Paypal, "pix": Pix, "revolut_pay": RevolutPay, "samsung_pay": SamsungPay, "satispay": Satispay, "sepa_debit": SepaDebit, "sofort": Sofort, "swish": Swish, "twint": Twint, "us_bank_account": UsBankAccount, } class Permissions(StripeObject): update_shipping_details: Optional[ Literal["client_only", "server_only"] ] """ Determines which entity is allowed to update the shipping details. Default is `client_only`. Stripe Checkout client will automatically update the shipping details. If set to `server_only`, only your server is allowed to update the shipping details. When set to `server_only`, you must add the onShippingDetailsChange event handler when initializing the Stripe Checkout client and manually update the shipping details from your server using the Stripe API. """ class PhoneNumberCollection(StripeObject): enabled: bool """ Indicates whether phone number collection is enabled for the session """ class PresentmentDetails(StripeObject): presentment_amount: int """ Amount intended to be collected by this payment, denominated in `presentment_currency`. """ presentment_currency: str """ Currency presented to the customer during payment. """ class SavedPaymentMethodOptions(StripeObject): allow_redisplay_filters: Optional[ List[Literal["always", "limited", "unspecified"]] ] """ Uses the `allow_redisplay` value of each saved payment method to filter the set presented to a returning customer. By default, only saved payment methods with 'allow_redisplay: ‘always' are shown in Checkout. """ payment_method_remove: Optional[Literal["disabled", "enabled"]] """ Enable customers to choose if they wish to remove their saved payment methods. Disabled by default. """ payment_method_save: Optional[Literal["disabled", "enabled"]] """ Enable customers to choose if they wish to save their payment method for future use. Disabled by default. """ class ShippingAddressCollection(StripeObject): allowed_countries: List[ Literal[ "AC", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CV", "CW", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MK", "ML", "MM", "MN", "MO", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SZ", "TA", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VN", "VU", "WF", "WS", "XK", "YE", "YT", "ZA", "ZM", "ZW", "ZZ", ] ] """ An array of two-letter ISO country codes representing which countries Checkout should provide as options for shipping locations. Unsupported country codes: `AS, CX, CC, CU, HM, IR, KP, MH, FM, NF, MP, PW, SY, UM, VI`. """ class ShippingCost(StripeObject): class Tax(StripeObject): amount: int """ Amount of tax applied for this rate. """ rate: "TaxRate" """ Tax rates can be applied to [invoices](https://docs.stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://docs.stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://docs.stripe.com/payments/checkout/use-manual-tax-rates) to collect tax. Related guide: [Tax rates](https://docs.stripe.com/billing/taxes/tax-rates) """ taxability_reason: Optional[ Literal[ "customer_exempt", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] ] """ The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. """ taxable_amount: Optional[int] """ The amount on which tax is calculated, in cents (or local equivalent). """ amount_subtotal: int """ Total shipping cost before any discounts or taxes are applied. """ amount_tax: int """ Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0. """ amount_total: int """ Total shipping cost after discounts and taxes are applied. """ shipping_rate: Optional[ExpandableField["ShippingRate"]] """ The ID of the ShippingRate for this order. """ taxes: Optional[List[Tax]] """ The taxes applied to the shipping rate. """ _inner_class_types = {"taxes": Tax} class ShippingOption(StripeObject): shipping_amount: int """ A non-negative integer in cents representing how much to charge. """ shipping_rate: ExpandableField["ShippingRate"] """ The shipping rate. """ class TaxIdCollection(StripeObject): enabled: bool """ Indicates whether tax ID collection is enabled for the session """ required: Literal["if_supported", "never"] """ Indicates whether a tax ID is required on the payment page """ class TotalDetails(StripeObject): class Breakdown(StripeObject): class Discount(StripeObject): amount: int """ The amount discounted. """ discount: "DiscountResource" """ A discount represents the actual application of a [coupon](https://stripe.com/docs/api#coupons) or [promotion code](https://stripe.com/docs/api#promotion_codes). It contains information about when the discount began, when it will end, and what it is applied to. Related guide: [Applying discounts to subscriptions](https://stripe.com/docs/billing/subscriptions/discounts) """ class Tax(StripeObject): amount: int """ Amount of tax applied for this rate. """ rate: "TaxRate" """ Tax rates can be applied to [invoices](https://docs.stripe.com/invoicing/taxes/tax-rates), [subscriptions](https://docs.stripe.com/billing/taxes/tax-rates) and [Checkout Sessions](https://docs.stripe.com/payments/checkout/use-manual-tax-rates) to collect tax. Related guide: [Tax rates](https://docs.stripe.com/billing/taxes/tax-rates) """ taxability_reason: Optional[ Literal[ "customer_exempt", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] ] """ The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. """ taxable_amount: Optional[int] """ The amount on which tax is calculated, in cents (or local equivalent). """ discounts: List[Discount] """ The aggregated discounts. """ taxes: List[Tax] """ The aggregated tax amounts by rate. """ _inner_class_types = {"discounts": Discount, "taxes": Tax} amount_discount: int """ This is the sum of all the discounts. """ amount_shipping: Optional[int] """ This is the sum of all the shipping amounts. """ amount_tax: int """ This is the sum of all the tax amounts. """ breakdown: Optional[Breakdown] _inner_class_types = {"breakdown": Breakdown} class WalletOptions(StripeObject): class Link(StripeObject): display: Optional[Literal["auto", "never"]] """ Describes whether Checkout should display Link. Defaults to `auto`. """ link: Optional[Link] _inner_class_types = {"link": Link} adaptive_pricing: Optional[AdaptivePricing] """ Settings for price localization with [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing). """ after_expiration: Optional[AfterExpiration] """ When set, provides configuration for actions to take if this Checkout Session expires. """ allow_promotion_codes: Optional[bool] """ Enables user redeemable promotion codes. """ amount_subtotal: Optional[int] """ Total of all items before discounts or taxes are applied. """ amount_total: Optional[int] """ Total of all items after discounts and taxes are applied. """ automatic_tax: AutomaticTax billing_address_collection: Optional[Literal["auto", "required"]] """ Describes whether Checkout should collect the customer's billing address. Defaults to `auto`. """ branding_settings: Optional[BrandingSettings] cancel_url: Optional[str] """ If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. """ client_reference_id: Optional[str] """ A unique string to reference the Checkout Session. This can be a customer ID, a cart ID, or similar, and can be used to reconcile the Session with your internal systems. """ client_secret: Optional[str] """ The client secret of your Checkout Session. Applies to Checkout Sessions with `ui_mode: embedded` or `ui_mode: custom`. For `ui_mode: embedded`, the client secret is to be used when initializing Stripe.js embedded checkout. For `ui_mode: custom`, use the client secret with [initCheckout](https://stripe.com/docs/js/custom_checkout/init) on your front end. """ collected_information: Optional[CollectedInformation] """ Information about the customer collected within the Checkout Session. """ consent: Optional[Consent] """ Results of `consent_collection` for this session. """ consent_collection: Optional[ConsentCollection] """ When set, provides configuration for the Checkout Session to gather active consent from customers. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: Optional[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ currency_conversion: Optional[CurrencyConversion] """ Currency conversion details for [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing) sessions created before 2025-03-31. """ custom_fields: List[CustomField] """ Collect additional information from your customer using custom fields. Up to 3 fields are supported. """ custom_text: CustomText customer: Optional[ExpandableField["Customer"]] """ The ID of the customer for this Session. For Checkout Sessions in `subscription` mode or Checkout Sessions with `customer_creation` set as `always` in `payment` mode, Checkout will create a new customer object based on information provided during the payment flow unless an existing customer was provided when the Session was created. """ customer_creation: Optional[Literal["always", "if_required"]] """ Configure whether a Checkout Session creates a Customer when the Checkout Session completes. """ customer_details: Optional[CustomerDetails] """ The customer details including the customer's tax exempt status and the customer's tax IDs. Customer's address details are not present on Sessions in `setup` mode. """ customer_email: Optional[str] """ If provided, this value will be used when the Customer object is created. If not provided, customers will be asked to enter their email address. Use this parameter to prefill customer data if you already have an email on file. To access information about the customer once the payment flow is complete, use the `customer` attribute. """ discounts: Optional[List[Discount]] """ List of coupons and promotion codes attached to the Checkout Session. """ excluded_payment_method_types: Optional[List[str]] """ A list of the types of payment methods (e.g., `card`) that should be excluded from this Checkout Session. This should only be used when payment methods for this Checkout Session are managed through the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). """ expires_at: int """ The timestamp at which the Checkout Session will expire. """ id: str """ Unique identifier for the object. """ invoice: Optional[ExpandableField["Invoice"]] """ ID of the invoice created by the Checkout Session, if it exists. """ invoice_creation: Optional[InvoiceCreation] """ Details on the state of invoice creation for the Checkout Session. """ line_items: Optional[ListObject["LineItem"]] """ The line items purchased by the customer. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ locale: Optional[ Literal[ "auto", "bg", "cs", "da", "de", "el", "en", "en-GB", "es", "es-419", "et", "fi", "fil", "fr", "fr-CA", "hr", "hu", "id", "it", "ja", "ko", "lt", "lv", "ms", "mt", "nb", "nl", "pl", "pt", "pt-BR", "ro", "ru", "sk", "sl", "sv", "th", "tr", "vi", "zh", "zh-HK", "zh-TW", ] ] """ The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used. """ 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. """ mode: Literal["payment", "setup", "subscription"] """ The mode of the Checkout Session. """ name_collection: Optional[NameCollection] object: Literal["checkout.session"] """ String representing the object's type. Objects of the same type share the same value. """ optional_items: Optional[List[OptionalItem]] """ The optional items presented to the customer at checkout. """ origin_context: Optional[Literal["mobile_app", "web"]] """ Where the user is coming from. This informs the optimizations that are applied to the session. """ payment_intent: Optional[ExpandableField["PaymentIntent"]] """ The ID of the PaymentIntent for Checkout Sessions in `payment` mode. You can't confirm or cancel the PaymentIntent for a Checkout Session. To cancel, [expire the Checkout Session](https://stripe.com/docs/api/checkout/sessions/expire) instead. """ payment_link: Optional[ExpandableField["PaymentLink"]] """ The ID of the Payment Link that created this Session. """ payment_method_collection: Optional[Literal["always", "if_required"]] """ Configure whether a Checkout Session should collect a payment method. Defaults to `always`. """ payment_method_configuration_details: Optional[ PaymentMethodConfigurationDetails ] """ Information about the payment method configuration used for this Checkout session if using dynamic payment methods. """ payment_method_options: Optional[PaymentMethodOptions] """ Payment-method-specific configuration for the PaymentIntent or SetupIntent of this CheckoutSession. """ payment_method_types: List[str] """ A list of the types of payment methods (e.g. card) this Checkout Session is allowed to accept. """ payment_status: Literal["no_payment_required", "paid", "unpaid"] """ The payment status of the Checkout Session, one of `paid`, `unpaid`, or `no_payment_required`. You can use this value to decide when to fulfill your customer's order. """ permissions: Optional[Permissions] """ This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object. For specific permissions, please refer to their dedicated subsections, such as `permissions.update_shipping_details`. """ phone_number_collection: Optional[PhoneNumberCollection] presentment_details: Optional[PresentmentDetails] recovered_from: Optional[str] """ The ID of the original expired Checkout Session that triggered the recovery flow. """ redirect_on_completion: Optional[Literal["always", "if_required", "never"]] """ This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://stripe.com/docs/payments/checkout/custom-success-page?payment-ui=embedded-form) of embedded sessions. Defaults to `always`. """ return_url: Optional[str] """ Applies to Checkout Sessions with `ui_mode: embedded` or `ui_mode: custom`. The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. """ saved_payment_method_options: Optional[SavedPaymentMethodOptions] """ Controls saved payment method settings for the session. Only available in `payment` and `subscription` mode. """ setup_intent: Optional[ExpandableField["SetupIntent"]] """ The ID of the SetupIntent for Checkout Sessions in `setup` mode. You can't confirm or cancel the SetupIntent for a Checkout Session. To cancel, [expire the Checkout Session](https://stripe.com/docs/api/checkout/sessions/expire) instead. """ shipping_address_collection: Optional[ShippingAddressCollection] """ When set, provides configuration for Checkout to collect a shipping address from a customer. """ shipping_cost: Optional[ShippingCost] """ The details of the customer cost of shipping, including the customer chosen ShippingRate. """ shipping_options: List[ShippingOption] """ The shipping rate options applied to this Session. """ status: Optional[Literal["complete", "expired", "open"]] """ The status of the Checkout Session, one of `open`, `complete`, or `expired`. """ submit_type: Optional[ Literal["auto", "book", "donate", "pay", "subscribe"] ] """ Describes the type of transaction being performed by Checkout in order to customize relevant text on the page, such as the submit button. `submit_type` can only be specified on Checkout Sessions in `payment` mode. If blank or `auto`, `pay` is used. """ subscription: Optional[ExpandableField["Subscription"]] """ The ID of the [Subscription](https://stripe.com/docs/api/subscriptions) for Checkout Sessions in `subscription` mode. """ success_url: Optional[str] """ The URL the customer will be directed to after the payment or subscription creation is successful. """ tax_id_collection: Optional[TaxIdCollection] total_details: Optional[TotalDetails] """ Tax and discount details for the computed total amount. """ ui_mode: Optional[Literal["custom", "embedded", "hosted"]] """ The UI mode of the Session. Defaults to `hosted`. """ url: Optional[str] """ The URL to the Checkout Session. Applies to Checkout Sessions with `ui_mode: hosted`. Redirect customers to this URL to take them to Checkout. If you're using [Custom Domains](https://stripe.com/docs/payments/checkout/custom-domains), the URL will use your subdomain. Otherwise, it'll use `checkout.stripe.com.` This value is only present when the session is active. """ wallet_options: Optional[WalletOptions] """ Wallet-specific configuration for this Checkout Session. """ @classmethod def create(cls, **params: Unpack["SessionCreateParams"]) -> "Session": """ Creates a Checkout Session object. """ return cast( "Session", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["SessionCreateParams"] ) -> "Session": """ Creates a Checkout Session object. """ return cast( "Session", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_expire( cls, session: str, **params: Unpack["SessionExpireParams"] ) -> "Session": """ A Checkout Session can be expired when it is in one of these statuses: open After it expires, a customer can't complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired. """ return cast( "Session", cls._static_request( "post", "/v1/checkout/sessions/{session}/expire".format( session=sanitize_id(session) ), params=params, ), ) @overload @staticmethod def expire( session: str, **params: Unpack["SessionExpireParams"] ) -> "Session": """ A Checkout Session can be expired when it is in one of these statuses: open After it expires, a customer can't complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired. """ ... @overload def expire(self, **params: Unpack["SessionExpireParams"]) -> "Session": """ A Checkout Session can be expired when it is in one of these statuses: open After it expires, a customer can't complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired. """ ... @class_method_variant("_cls_expire") def expire( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SessionExpireParams"] ) -> "Session": """ A Checkout Session can be expired when it is in one of these statuses: open After it expires, a customer can't complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired. """ return cast( "Session", self._request( "post", "/v1/checkout/sessions/{session}/expire".format( session=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_expire_async( cls, session: str, **params: Unpack["SessionExpireParams"] ) -> "Session": """ A Checkout Session can be expired when it is in one of these statuses: open After it expires, a customer can't complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired. """ return cast( "Session", await cls._static_request_async( "post", "/v1/checkout/sessions/{session}/expire".format( session=sanitize_id(session) ), params=params, ), ) @overload @staticmethod async def expire_async( session: str, **params: Unpack["SessionExpireParams"] ) -> "Session": """ A Checkout Session can be expired when it is in one of these statuses: open After it expires, a customer can't complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired. """ ... @overload async def expire_async( self, **params: Unpack["SessionExpireParams"] ) -> "Session": """ A Checkout Session can be expired when it is in one of these statuses: open After it expires, a customer can't complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired. """ ... @class_method_variant("_cls_expire_async") async def expire_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SessionExpireParams"] ) -> "Session": """ A Checkout Session can be expired when it is in one of these statuses: open After it expires, a customer can't complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired. """ return cast( "Session", await self._request_async( "post", "/v1/checkout/sessions/{session}/expire".format( session=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list( cls, **params: Unpack["SessionListParams"] ) -> ListObject["Session"]: """ Returns a list of Checkout Sessions. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["SessionListParams"] ) -> ListObject["Session"]: """ Returns a list of Checkout Sessions. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def _cls_list_line_items( cls, session: str, **params: Unpack["SessionListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["LineItem"], cls._static_request( "get", "/v1/checkout/sessions/{session}/line_items".format( session=sanitize_id(session) ), params=params, ), ) @overload @staticmethod def list_line_items( session: str, **params: Unpack["SessionListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ ... @overload def list_line_items( self, **params: Unpack["SessionListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ ... @class_method_variant("_cls_list_line_items") def list_line_items( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SessionListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["LineItem"], self._request( "get", "/v1/checkout/sessions/{session}/line_items".format( session=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_list_line_items_async( cls, session: str, **params: Unpack["SessionListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["LineItem"], await cls._static_request_async( "get", "/v1/checkout/sessions/{session}/line_items".format( session=sanitize_id(session) ), params=params, ), ) @overload @staticmethod async def list_line_items_async( session: str, **params: Unpack["SessionListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ ... @overload async def list_line_items_async( self, **params: Unpack["SessionListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ ... @class_method_variant("_cls_list_line_items_async") async def list_line_items_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["SessionListLineItemsParams"] ) -> ListObject["LineItem"]: """ When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( ListObject["LineItem"], await self._request_async( "get", "/v1/checkout/sessions/{session}/line_items".format( session=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def modify( cls, id: str, **params: Unpack["SessionModifyParams"] ) -> "Session": """ Updates a Checkout Session object. Related guide: [Dynamically update Checkout](https://docs.stripe.com/payments/checkout/dynamic-updates) """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Session", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["SessionModifyParams"] ) -> "Session": """ Updates a Checkout Session object. Related guide: [Dynamically update Checkout](https://docs.stripe.com/payments/checkout/dynamic-updates) """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Session", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["SessionRetrieveParams"] ) -> "Session": """ Retrieves a Checkout Session object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["SessionRetrieveParams"] ) -> "Session": """ Retrieves a Checkout Session object. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "adaptive_pricing": AdaptivePricing, "after_expiration": AfterExpiration, "automatic_tax": AutomaticTax, "branding_settings": BrandingSettings, "collected_information": CollectedInformation, "consent": Consent, "consent_collection": ConsentCollection, "currency_conversion": CurrencyConversion, "custom_fields": CustomField, "custom_text": CustomText, "customer_details": CustomerDetails, "discounts": Discount, "invoice_creation": InvoiceCreation, "name_collection": NameCollection, "optional_items": OptionalItem, "payment_method_configuration_details": PaymentMethodConfigurationDetails, "payment_method_options": PaymentMethodOptions, "permissions": Permissions, "phone_number_collection": PhoneNumberCollection, "presentment_details": PresentmentDetails, "saved_payment_method_options": SavedPaymentMethodOptions, "shipping_address_collection": ShippingAddressCollection, "shipping_cost": ShippingCost, "shipping_options": ShippingOption, "tax_id_collection": TaxIdCollection, "total_details": TotalDetails, "wallet_options": WalletOptions, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3370621 stripe-13.2.0/stripe/checkout/_session_line_item_service.py0000644000000000000000000000421615102753431021111 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._line_item import LineItem from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.checkout._session_line_item_list_params import ( SessionLineItemListParams, ) class SessionLineItemService(StripeService): def list( self, session: str, params: Optional["SessionLineItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[LineItem]": """ When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( "ListObject[LineItem]", self._request( "get", "/v1/checkout/sessions/{session}/line_items".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) async def list_async( self, session: str, params: Optional["SessionLineItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[LineItem]": """ When retrieving a Checkout Session, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items. """ return cast( "ListObject[LineItem]", await self._request_async( "get", "/v1/checkout/sessions/{session}/line_items".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.338062 stripe-13.2.0/stripe/checkout/_session_service.py0000644000000000000000000001763615102753431017076 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.checkout._session import Session from stripe.checkout._session_line_item_service import ( SessionLineItemService, ) from stripe.params.checkout._session_create_params import ( SessionCreateParams, ) from stripe.params.checkout._session_expire_params import ( SessionExpireParams, ) from stripe.params.checkout._session_list_params import SessionListParams from stripe.params.checkout._session_retrieve_params import ( SessionRetrieveParams, ) from stripe.params.checkout._session_update_params import ( SessionUpdateParams, ) _subservices = { "line_items": [ "stripe.checkout._session_line_item_service", "SessionLineItemService", ], } class SessionService(StripeService): line_items: "SessionLineItemService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def list( self, params: Optional["SessionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Session]": """ Returns a list of Checkout Sessions. """ return cast( "ListObject[Session]", self._request( "get", "/v1/checkout/sessions", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["SessionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Session]": """ Returns a list of Checkout Sessions. """ return cast( "ListObject[Session]", await self._request_async( "get", "/v1/checkout/sessions", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["SessionCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Session": """ Creates a Checkout Session object. """ return cast( "Session", self._request( "post", "/v1/checkout/sessions", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["SessionCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Session": """ Creates a Checkout Session object. """ return cast( "Session", await self._request_async( "post", "/v1/checkout/sessions", base_address="api", params=params, options=options, ), ) def retrieve( self, session: str, params: Optional["SessionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Session": """ Retrieves a Checkout Session object. """ return cast( "Session", self._request( "get", "/v1/checkout/sessions/{session}".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, session: str, params: Optional["SessionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Session": """ Retrieves a Checkout Session object. """ return cast( "Session", await self._request_async( "get", "/v1/checkout/sessions/{session}".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) def update( self, session: str, params: Optional["SessionUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Session": """ Updates a Checkout Session object. Related guide: [Dynamically update Checkout](https://docs.stripe.com/payments/checkout/dynamic-updates) """ return cast( "Session", self._request( "post", "/v1/checkout/sessions/{session}".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) async def update_async( self, session: str, params: Optional["SessionUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Session": """ Updates a Checkout Session object. Related guide: [Dynamically update Checkout](https://docs.stripe.com/payments/checkout/dynamic-updates) """ return cast( "Session", await self._request_async( "post", "/v1/checkout/sessions/{session}".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) def expire( self, session: str, params: Optional["SessionExpireParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Session": """ A Checkout Session can be expired when it is in one of these statuses: open After it expires, a customer can't complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired. """ return cast( "Session", self._request( "post", "/v1/checkout/sessions/{session}/expire".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) async def expire_async( self, session: str, params: Optional["SessionExpireParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Session": """ A Checkout Session can be expired when it is in one of these statuses: open After it expires, a customer can't complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired. """ return cast( "Session", await self._request_async( "post", "/v1/checkout/sessions/{session}/expire".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.338062 stripe-13.2.0/stripe/climate/__init__.py0000644000000000000000000000254715102753431015077 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.climate._order import Order as Order from stripe.climate._order_service import OrderService as OrderService from stripe.climate._product import Product as Product from stripe.climate._product_service import ( ProductService as ProductService, ) from stripe.climate._supplier import Supplier as Supplier from stripe.climate._supplier_service import ( SupplierService as SupplierService, ) # name -> (import_target, is_submodule) _import_map = { "Order": ("stripe.climate._order", False), "OrderService": ("stripe.climate._order_service", False), "Product": ("stripe.climate._product", False), "ProductService": ("stripe.climate._product_service", False), "Supplier": ("stripe.climate._supplier", False), "SupplierService": ("stripe.climate._supplier_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.338062 stripe-13.2.0/stripe/climate/_order.py0000644000000000000000000003610115102753431014603 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.climate._product import Product from stripe.climate._supplier import Supplier from stripe.params.climate._order_cancel_params import OrderCancelParams from stripe.params.climate._order_create_params import OrderCreateParams from stripe.params.climate._order_list_params import OrderListParams from stripe.params.climate._order_modify_params import OrderModifyParams from stripe.params.climate._order_retrieve_params import ( OrderRetrieveParams, ) class Order( CreateableAPIResource["Order"], ListableAPIResource["Order"], UpdateableAPIResource["Order"], ): """ Orders represent your intent to purchase a particular Climate product. When you create an order, the payment is deducted from your merchant balance. """ OBJECT_NAME: ClassVar[Literal["climate.order"]] = "climate.order" class Beneficiary(StripeObject): public_name: str """ Publicly displayable name for the end beneficiary of carbon removal. """ class DeliveryDetail(StripeObject): class Location(StripeObject): city: Optional[str] """ The city where the supplier is located. """ country: str """ Two-letter ISO code representing the country where the supplier is located. """ latitude: Optional[float] """ The geographic latitude where the supplier is located. """ longitude: Optional[float] """ The geographic longitude where the supplier is located. """ region: Optional[str] """ The state/county/province/region where the supplier is located. """ delivered_at: int """ Time at which the delivery occurred. Measured in seconds since the Unix epoch. """ location: Optional[Location] """ Specific location of this delivery. """ metric_tons: str """ Quantity of carbon removal supplied by this delivery. """ registry_url: Optional[str] """ Once retired, a URL to the registry entry for the tons from this delivery. """ supplier: "Supplier" """ A supplier of carbon removal. """ _inner_class_types = {"location": Location} amount_fees: int """ Total amount of [Frontier](https://frontierclimate.com/)'s service fees in the currency's smallest unit. """ amount_subtotal: int """ Total amount of the carbon removal in the currency's smallest unit. """ amount_total: int """ Total amount of the order including fees in the currency's smallest unit. """ beneficiary: Optional[Beneficiary] canceled_at: Optional[int] """ Time at which the order was canceled. Measured in seconds since the Unix epoch. """ cancellation_reason: Optional[ Literal["expired", "product_unavailable", "requested"] ] """ Reason for the cancellation of this order. """ certificate: Optional[str] """ For delivered orders, a URL to a delivery certificate for the order. """ confirmed_at: Optional[int] """ Time at which the order was confirmed. Measured in seconds since the Unix epoch. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase, representing the currency for this order. """ delayed_at: Optional[int] """ Time at which the order's expected_delivery_year was delayed. Measured in seconds since the Unix epoch. """ delivered_at: Optional[int] """ Time at which the order was delivered. Measured in seconds since the Unix epoch. """ delivery_details: List[DeliveryDetail] """ Details about the delivery of carbon removal for this order. """ expected_delivery_year: int """ The year this order is expected to be delivered. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ metric_tons: str """ Quantity of carbon removal that is included in this order. """ object: Literal["climate.order"] """ String representing the object's type. Objects of the same type share the same value. """ product: ExpandableField["Product"] """ Unique ID for the Climate `Product` this order is purchasing. """ product_substituted_at: Optional[int] """ Time at which the order's product was substituted for a different product. Measured in seconds since the Unix epoch. """ status: Literal[ "awaiting_funds", "canceled", "confirmed", "delivered", "open" ] """ The current status of this order. """ @classmethod def _cls_cancel( cls, order: str, **params: Unpack["OrderCancelParams"] ) -> "Order": """ Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe provides 90 days advance notice and refunds the amount_total. """ return cast( "Order", cls._static_request( "post", "/v1/climate/orders/{order}/cancel".format( order=sanitize_id(order) ), params=params, ), ) @overload @staticmethod def cancel(order: str, **params: Unpack["OrderCancelParams"]) -> "Order": """ Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe provides 90 days advance notice and refunds the amount_total. """ ... @overload def cancel(self, **params: Unpack["OrderCancelParams"]) -> "Order": """ Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe provides 90 days advance notice and refunds the amount_total. """ ... @class_method_variant("_cls_cancel") def cancel( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OrderCancelParams"] ) -> "Order": """ Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe provides 90 days advance notice and refunds the amount_total. """ return cast( "Order", self._request( "post", "/v1/climate/orders/{order}/cancel".format( order=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_cancel_async( cls, order: str, **params: Unpack["OrderCancelParams"] ) -> "Order": """ Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe provides 90 days advance notice and refunds the amount_total. """ return cast( "Order", await cls._static_request_async( "post", "/v1/climate/orders/{order}/cancel".format( order=sanitize_id(order) ), params=params, ), ) @overload @staticmethod async def cancel_async( order: str, **params: Unpack["OrderCancelParams"] ) -> "Order": """ Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe provides 90 days advance notice and refunds the amount_total. """ ... @overload async def cancel_async( self, **params: Unpack["OrderCancelParams"] ) -> "Order": """ Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe provides 90 days advance notice and refunds the amount_total. """ ... @class_method_variant("_cls_cancel_async") async def cancel_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OrderCancelParams"] ) -> "Order": """ Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe provides 90 days advance notice and refunds the amount_total. """ return cast( "Order", await self._request_async( "post", "/v1/climate/orders/{order}/cancel".format( order=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create(cls, **params: Unpack["OrderCreateParams"]) -> "Order": """ Creates a Climate order object for a given Climate product. The order will be processed immediately after creation and payment will be deducted your Stripe balance. """ return cast( "Order", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["OrderCreateParams"] ) -> "Order": """ Creates a Climate order object for a given Climate product. The order will be processed immediately after creation and payment will be deducted your Stripe balance. """ return cast( "Order", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list(cls, **params: Unpack["OrderListParams"]) -> ListObject["Order"]: """ Lists all Climate order objects. The orders are returned sorted by creation date, with the most recently created orders appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["OrderListParams"] ) -> ListObject["Order"]: """ Lists all Climate order objects. The orders are returned sorted by creation date, with the most recently created orders appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify(cls, id: str, **params: Unpack["OrderModifyParams"]) -> "Order": """ Updates the specified order by setting the values of the parameters passed. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Order", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["OrderModifyParams"] ) -> "Order": """ Updates the specified order by setting the values of the parameters passed. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Order", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["OrderRetrieveParams"] ) -> "Order": """ Retrieves the details of a Climate order object with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["OrderRetrieveParams"] ) -> "Order": """ Retrieves the details of a Climate order object with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "beneficiary": Beneficiary, "delivery_details": DeliveryDetail, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.338062 stripe-13.2.0/stripe/climate/_order_service.py0000644000000000000000000001655015102753431016331 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.climate._order import Order from stripe.params.climate._order_cancel_params import OrderCancelParams from stripe.params.climate._order_create_params import OrderCreateParams from stripe.params.climate._order_list_params import OrderListParams from stripe.params.climate._order_retrieve_params import ( OrderRetrieveParams, ) from stripe.params.climate._order_update_params import OrderUpdateParams class OrderService(StripeService): def list( self, params: Optional["OrderListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Order]": """ Lists all Climate order objects. The orders are returned sorted by creation date, with the most recently created orders appearing first. """ return cast( "ListObject[Order]", self._request( "get", "/v1/climate/orders", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["OrderListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Order]": """ Lists all Climate order objects. The orders are returned sorted by creation date, with the most recently created orders appearing first. """ return cast( "ListObject[Order]", await self._request_async( "get", "/v1/climate/orders", base_address="api", params=params, options=options, ), ) def create( self, params: "OrderCreateParams", options: Optional["RequestOptions"] = None, ) -> "Order": """ Creates a Climate order object for a given Climate product. The order will be processed immediately after creation and payment will be deducted your Stripe balance. """ return cast( "Order", self._request( "post", "/v1/climate/orders", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "OrderCreateParams", options: Optional["RequestOptions"] = None, ) -> "Order": """ Creates a Climate order object for a given Climate product. The order will be processed immediately after creation and payment will be deducted your Stripe balance. """ return cast( "Order", await self._request_async( "post", "/v1/climate/orders", base_address="api", params=params, options=options, ), ) def retrieve( self, order: str, params: Optional["OrderRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Order": """ Retrieves the details of a Climate order object with the given ID. """ return cast( "Order", self._request( "get", "/v1/climate/orders/{order}".format(order=sanitize_id(order)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, order: str, params: Optional["OrderRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Order": """ Retrieves the details of a Climate order object with the given ID. """ return cast( "Order", await self._request_async( "get", "/v1/climate/orders/{order}".format(order=sanitize_id(order)), base_address="api", params=params, options=options, ), ) def update( self, order: str, params: Optional["OrderUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Order": """ Updates the specified order by setting the values of the parameters passed. """ return cast( "Order", self._request( "post", "/v1/climate/orders/{order}".format(order=sanitize_id(order)), base_address="api", params=params, options=options, ), ) async def update_async( self, order: str, params: Optional["OrderUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Order": """ Updates the specified order by setting the values of the parameters passed. """ return cast( "Order", await self._request_async( "post", "/v1/climate/orders/{order}".format(order=sanitize_id(order)), base_address="api", params=params, options=options, ), ) def cancel( self, order: str, params: Optional["OrderCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Order": """ Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe provides 90 days advance notice and refunds the amount_total. """ return cast( "Order", self._request( "post", "/v1/climate/orders/{order}/cancel".format( order=sanitize_id(order), ), base_address="api", params=params, options=options, ), ) async def cancel_async( self, order: str, params: Optional["OrderCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Order": """ Cancels a Climate order. You can cancel an order within 24 hours of creation. Stripe refunds the reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe provides 90 days advance notice and refunds the amount_total. """ return cast( "Order", await self._request_async( "post", "/v1/climate/orders/{order}/cancel".format( order=sanitize_id(order), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.338062 stripe-13.2.0/stripe/climate/_product.py0000644000000000000000000001060015102753431015144 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, Dict, List, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.climate._supplier import Supplier from stripe.params.climate._product_list_params import ProductListParams from stripe.params.climate._product_retrieve_params import ( ProductRetrieveParams, ) class Product(ListableAPIResource["Product"]): """ A Climate product represents a type of carbon removal unit available for reservation. You can retrieve it to see the current price and availability. """ OBJECT_NAME: ClassVar[Literal["climate.product"]] = "climate.product" class CurrentPricesPerMetricTon(StripeObject): amount_fees: int """ Fees for one metric ton of carbon removal in the currency's smallest unit. """ amount_subtotal: int """ Subtotal for one metric ton of carbon removal (excluding fees) in the currency's smallest unit. """ amount_total: int """ Total for one metric ton of carbon removal (including fees) in the currency's smallest unit. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ current_prices_per_metric_ton: Dict[str, CurrentPricesPerMetricTon] """ Current prices for a metric ton of carbon removal in a currency's smallest unit. """ delivery_year: Optional[int] """ The year in which the carbon removal is expected to be delivered. """ id: str """ Unique identifier for the object. For convenience, Climate product IDs are human-readable strings that start with `climsku_`. See [carbon removal inventory](https://stripe.com/docs/climate/orders/carbon-removal-inventory) for a list of available carbon removal products. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ metric_tons_available: str """ The quantity of metric tons available for reservation. """ name: str """ The Climate product's name. """ object: Literal["climate.product"] """ String representing the object's type. Objects of the same type share the same value. """ suppliers: List["Supplier"] """ The carbon removal suppliers that fulfill orders for this Climate product. """ @classmethod def list( cls, **params: Unpack["ProductListParams"] ) -> ListObject["Product"]: """ Lists all available Climate product objects. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ProductListParams"] ) -> ListObject["Product"]: """ Lists all available Climate product objects. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["ProductRetrieveParams"] ) -> "Product": """ Retrieves the details of a Climate product with the given ID. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ProductRetrieveParams"] ) -> "Product": """ Retrieves the details of a Climate product with the given ID. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "current_prices_per_metric_ton": CurrentPricesPerMetricTon, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.338062 stripe-13.2.0/stripe/climate/_product_service.py0000644000000000000000000000557315102753431016701 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.climate._product import Product from stripe.params.climate._product_list_params import ProductListParams from stripe.params.climate._product_retrieve_params import ( ProductRetrieveParams, ) class ProductService(StripeService): def list( self, params: Optional["ProductListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Product]": """ Lists all available Climate product objects. """ return cast( "ListObject[Product]", self._request( "get", "/v1/climate/products", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["ProductListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Product]": """ Lists all available Climate product objects. """ return cast( "ListObject[Product]", await self._request_async( "get", "/v1/climate/products", base_address="api", params=params, options=options, ), ) def retrieve( self, product: str, params: Optional["ProductRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Product": """ Retrieves the details of a Climate product with the given ID. """ return cast( "Product", self._request( "get", "/v1/climate/products/{product}".format( product=sanitize_id(product), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, product: str, params: Optional["ProductRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Product": """ Retrieves the details of a Climate product with the given ID. """ return cast( "Product", await self._request_async( "get", "/v1/climate/products/{product}".format( product=sanitize_id(product), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.338062 stripe-13.2.0/stripe/climate/_supplier.py0000644000000000000000000000745115102753431015341 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, List, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.climate._supplier_list_params import SupplierListParams from stripe.params.climate._supplier_retrieve_params import ( SupplierRetrieveParams, ) class Supplier(ListableAPIResource["Supplier"]): """ A supplier of carbon removal. """ OBJECT_NAME: ClassVar[Literal["climate.supplier"]] = "climate.supplier" class Location(StripeObject): city: Optional[str] """ The city where the supplier is located. """ country: str """ Two-letter ISO code representing the country where the supplier is located. """ latitude: Optional[float] """ The geographic latitude where the supplier is located. """ longitude: Optional[float] """ The geographic longitude where the supplier is located. """ region: Optional[str] """ The state/county/province/region where the supplier is located. """ id: str """ Unique identifier for the object. """ info_url: str """ Link to a webpage to learn more about the supplier. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ locations: List[Location] """ The locations in which this supplier operates. """ name: str """ Name of this carbon removal supplier. """ object: Literal["climate.supplier"] """ String representing the object's type. Objects of the same type share the same value. """ removal_pathway: Literal[ "biomass_carbon_removal_and_storage", "direct_air_capture", "enhanced_weathering", ] """ The scientific pathway used for carbon removal. """ @classmethod def list( cls, **params: Unpack["SupplierListParams"] ) -> ListObject["Supplier"]: """ Lists all available Climate supplier objects. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["SupplierListParams"] ) -> ListObject["Supplier"]: """ Lists all available Climate supplier objects. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["SupplierRetrieveParams"] ) -> "Supplier": """ Retrieves a Climate supplier object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["SupplierRetrieveParams"] ) -> "Supplier": """ Retrieves a Climate supplier object. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"locations": Location} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.338062 stripe-13.2.0/stripe/climate/_supplier_service.py0000644000000000000000000000555215102753431017061 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.climate._supplier import Supplier from stripe.params.climate._supplier_list_params import SupplierListParams from stripe.params.climate._supplier_retrieve_params import ( SupplierRetrieveParams, ) class SupplierService(StripeService): def list( self, params: Optional["SupplierListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Supplier]": """ Lists all available Climate supplier objects. """ return cast( "ListObject[Supplier]", self._request( "get", "/v1/climate/suppliers", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["SupplierListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Supplier]": """ Lists all available Climate supplier objects. """ return cast( "ListObject[Supplier]", await self._request_async( "get", "/v1/climate/suppliers", base_address="api", params=params, options=options, ), ) def retrieve( self, supplier: str, params: Optional["SupplierRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Supplier": """ Retrieves a Climate supplier object. """ return cast( "Supplier", self._request( "get", "/v1/climate/suppliers/{supplier}".format( supplier=sanitize_id(supplier), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, supplier: str, params: Optional["SupplierRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Supplier": """ Retrieves a Climate supplier object. """ return cast( "Supplier", await self._request_async( "get", "/v1/climate/suppliers/{supplier}".format( supplier=sanitize_id(supplier), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.339062 stripe-13.2.0/stripe/data/ca-certificates.crt0000644000000000000000000064447015102753431016030 0ustar00## ## Bundle of CA Root Certificates ## ## Certificate data from Mozilla as of: Tue Apr 26 03:12:05 2022 GMT ## ## This is a bundle of X.509 certificates of public Certificate Authorities ## (CA). These were automatically extracted from Mozilla's root certificates ## file (certdata.txt). This file can be found in the mozilla source tree: ## https://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt ## ## It contains the certificates in PEM format and therefore ## can be directly used with curl / libcurl / php_curl, or with ## an Apache+mod_ssl webserver for SSL client authentication. ## Just configure this file as the SSLCACertificateFile. ## ## Conversion done with mk-ca-bundle.pl version 1.29. ## SHA256: 34a54d5191775c1bd37be6cfd3f09e831e072555dc3a2e51f4a2c4b0f8ada5cc ## GlobalSign Root CA ================== -----BEGIN CERTIFICATE----- MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== -----END CERTIFICATE----- Entrust.net Premium 2048 Secure Server CA ========================================= -----BEGIN CERTIFICATE----- MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE= -----END CERTIFICATE----- Baltimore CyberTrust Root ========================= -----BEGIN CERTIFICATE----- MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9 XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5 hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp -----END CERTIFICATE----- Entrust Root Certification Authority ==================================== -----BEGIN CERTIFICATE----- MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 -----END CERTIFICATE----- Comodo AAA Services root ======================== -----BEGIN CERTIFICATE----- MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm 7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z 8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C 12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== -----END CERTIFICATE----- QuoVadis Root CA 2 ================== -----BEGIN CERTIFICATE----- MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6 XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt 66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3 UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK +JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1 WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II 4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8 VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u -----END CERTIFICATE----- QuoVadis Root CA 3 ================== -----BEGIN CERTIFICATE----- MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8 nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4 ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2 Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp 8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto= -----END CERTIFICATE----- Security Communication Root CA ============================== -----BEGIN CERTIFICATE----- MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw 8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX 5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2 JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g 0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ 6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi FL39vmwLAw== -----END CERTIFICATE----- XRamp Global CA Root ==================== -----BEGIN CERTIFICATE----- MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc /Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz 8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw= -----END CERTIFICATE----- Go Daddy Class 2 CA =================== -----BEGIN CERTIFICATE----- MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv 2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32 qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b vZ8= -----END CERTIFICATE----- Starfield Class 2 CA ==================== -----BEGIN CERTIFICATE----- MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3 QBFGmh95DmK/D5fs4C8fF5Q= -----END CERTIFICATE----- DigiCert Assured ID Root CA =========================== -----BEGIN CERTIFICATE----- MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO 9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW /lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF 66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i 8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== -----END CERTIFICATE----- DigiCert Global Root CA ======================= -----BEGIN CERTIFICATE----- MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H 4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y 7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm 8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= -----END CERTIFICATE----- DigiCert High Assurance EV Root CA ================================== -----BEGIN CERTIFICATE----- MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K -----END CERTIFICATE----- SwissSign Gold CA - G2 ====================== -----BEGIN CERTIFICATE----- MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR 7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64 OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm 5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr 44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ -----END CERTIFICATE----- SwissSign Silver CA - G2 ======================== -----BEGIN CERTIFICATE----- MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3 aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG 9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644 N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm +/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH 6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5 FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P 4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L 3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx /uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u -----END CERTIFICATE----- SecureTrust CA ============== -----BEGIN CERTIFICATE----- MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b 01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR 3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= -----END CERTIFICATE----- Secure Global CA ================ -----BEGIN CERTIFICATE----- MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g 8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi 0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW -----END CERTIFICATE----- COMODO Certification Authority ============================== -----BEGIN CERTIFICATE----- MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH +7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV 4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA 1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN +8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== -----END CERTIFICATE----- Network Solutions Certificate Authority ======================================= -----BEGIN CERTIFICATE----- MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc /Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q 4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey -----END CERTIFICATE----- COMODO ECC Certification Authority ================================== -----BEGIN CERTIFICATE----- MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X 4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= -----END CERTIFICATE----- Certigna ======== -----BEGIN CERTIFICATE----- MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY 1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== -----END CERTIFICATE----- ePKI Root Certification Authority ================================= -----BEGIN CERTIFICATE----- MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX 12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= -----END CERTIFICATE----- certSIGN ROOT CA ================ -----BEGIN CERTIFICATE----- MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD 0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD -----END CERTIFICATE----- NetLock Arany (Class Gold) Főtanúsítvány ======================================== -----BEGIN CERTIFICATE----- MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu 0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw /HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= -----END CERTIFICATE----- Hongkong Post Root CA 1 ======================= -----BEGIN CERTIFICATE----- MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1 ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT c4afU9hDDl3WY4JxHYB0yvbiAmvZWg== -----END CERTIFICATE----- SecureSign RootCA11 =================== -----BEGIN CERTIFICATE----- MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1 cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01 y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061 lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I= -----END CERTIFICATE----- Microsec e-Szigno Root CA 2009 ============================== -----BEGIN CERTIFICATE----- MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG 0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm 1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi LXpUq3DDfSJlgnCW -----END CERTIFICATE----- GlobalSign Root CA - R3 ======================= -----BEGIN CERTIFICATE----- MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ 0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r kpeDMdmztcpHWD9f -----END CERTIFICATE----- Autoridad de Certificacion Firmaprofesional CIF A62634068 ========================================================= -----BEGIN CERTIFICATE----- MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY 7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx 51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi 6Et8Vcad+qMUu2WFbm5PEn4KPJ2V -----END CERTIFICATE----- Izenpe.com ========== -----BEGIN CERTIFICATE----- MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ 03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU +zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK 0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+ 0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+ SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5 aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5 nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== -----END CERTIFICATE----- Go Daddy Root Certificate Authority - G2 ======================================== -----BEGIN CERTIFICATE----- MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq 9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD +qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r 5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 -----END CERTIFICATE----- Starfield Root Certificate Authority - G2 ========================================= -----BEGIN CERTIFICATE----- MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx 4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 -----END CERTIFICATE----- Starfield Services Root Certificate Authority - G2 ================================================== -----BEGIN CERTIFICATE----- MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 -----END CERTIFICATE----- AffirmTrust Commercial ====================== -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv 0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= -----END CERTIFICATE----- AffirmTrust Networking ====================== -----BEGIN CERTIFICATE----- MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 /PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 /ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= -----END CERTIFICATE----- AffirmTrust Premium =================== -----BEGIN CERTIFICATE----- MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV 5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs +7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 /bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo +Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC 6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK +4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== -----END CERTIFICATE----- AffirmTrust Premium ECC ======================= -----BEGIN CERTIFICATE----- MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X 57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM eQ== -----END CERTIFICATE----- Certum Trusted Network CA ========================= -----BEGIN CERTIFICATE----- MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI 03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= -----END CERTIFICATE----- TWCA Root Certification Authority ================================= -----BEGIN CERTIFICATE----- MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP 4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG 9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== -----END CERTIFICATE----- Security Communication RootCA2 ============================== -----BEGIN CERTIFICATE----- MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ +T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R 3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk 3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 -----END CERTIFICATE----- Hellenic Academic and Research Institutions RootCA 2011 ======================================================= -----BEGIN CERTIFICATE----- MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI 1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa 71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u 8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH 3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/ MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8 MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD /md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N 7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4 -----END CERTIFICATE----- Actalis Authentication Root CA ============================== -----BEGIN CERTIFICATE----- MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6 zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2 oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7 hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8 EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5 jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0 JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+ Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC 4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo 2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9 vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== -----END CERTIFICATE----- Buypass Class 2 Root CA ======================= -----BEGIN CERTIFICATE----- MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1 g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn 9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b /+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0 oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN rJgWVqA= -----END CERTIFICATE----- Buypass Class 3 Root CA ======================= -----BEGIN CERTIFICATE----- MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR 5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh 7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH 2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV /afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8 ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2 KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz 6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi Cp/HuZc= -----END CERTIFICATE----- T-TeleSec GlobalRoot Class 3 ============================ -----BEGIN CERTIFICATE----- MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK 9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W 0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw== -----END CERTIFICATE----- D-TRUST Root Class 3 CA 2 2009 ============================== -----BEGIN CERTIFICATE----- MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ 4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm 2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I= -----END CERTIFICATE----- D-TRUST Root Class 3 CA 2 EV 2009 ================================= -----BEGIN CERTIFICATE----- MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T 7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60 sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35 11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+ PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv w9y4AyHqnxbxLFS1 -----END CERTIFICATE----- CA Disig Root R2 ================ -----BEGIN CERTIFICATE----- MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7 A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa 5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8 1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01 utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0 sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV 7+ZtsH8tZ/3zbBt1RqPlShfppNcL -----END CERTIFICATE----- ACCVRAIZ1 ========= -----BEGIN CERTIFICATE----- MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1 MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0 RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ 0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7 8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR 5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J 9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0 dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2 MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49 nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3 sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd 3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p EfbRD0tVNEYqi4Y7 -----END CERTIFICATE----- TWCA Global Root CA =================== -----BEGIN CERTIFICATE----- MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99 sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M 8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg /eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8 EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3 zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0= -----END CERTIFICATE----- TeliaSonera Root CA v1 ====================== -----BEGIN CERTIFICATE----- MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4 MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+ 6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA 3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3 F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7 gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx 0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2 qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6 Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= -----END CERTIFICATE----- E-Tugra Certification Authority =============================== -----BEGIN CERTIFICATE----- MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0 E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5 dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB /wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807 VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0 8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G C7TbO6Orb1wdtn7os4I07QZcJA== -----END CERTIFICATE----- T-TeleSec GlobalRoot Class 2 ============================ -----BEGIN CERTIFICATE----- MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970 2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4 r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR 3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN 9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg== -----END CERTIFICATE----- Atos TrustedRoot 2011 ===================== -----BEGIN CERTIFICATE----- MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4 MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr 54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+ DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320 HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9 61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G 3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed -----END CERTIFICATE----- QuoVadis Root CA 1 G3 ===================== -----BEGIN CERTIFICATE----- MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6 Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV 7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX 9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3 GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP +V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh 3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6 O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0 FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV hMJKzRwuJIczYOXD -----END CERTIFICATE----- QuoVadis Root CA 2 G3 ===================== -----BEGIN CERTIFICATE----- MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD 6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9 x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr O3jtZsSOeWmD3n+M -----END CERTIFICATE----- QuoVadis Root CA 3 G3 ===================== -----BEGIN CERTIFICATE----- MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286 IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe 6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3 I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7 5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX 0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2 PpxxVJkES/1Y+Zj0 -----END CERTIFICATE----- DigiCert Assured ID Root G2 =========================== -----BEGIN CERTIFICATE----- MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH 35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv 0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo IhNzbM8m9Yop5w== -----END CERTIFICATE----- DigiCert Assured ID Root G3 =========================== -----BEGIN CERTIFICATE----- MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy 1vUhZscv6pZjamVFkpUBtA== -----END CERTIFICATE----- DigiCert Global Root G2 ======================= -----BEGIN CERTIFICATE----- MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO 3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu 5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/ iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl MrY= -----END CERTIFICATE----- DigiCert Global Root G3 ======================= -----BEGIN CERTIFICATE----- MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y 3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34 VOKa5Vt8sycX -----END CERTIFICATE----- DigiCert Trusted Root G4 ======================== -----BEGIN CERTIFICATE----- MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6 MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7 f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8 oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy 7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN 5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb /UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa 5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP 82Z+ -----END CERTIFICATE----- COMODO RSA Certification Authority ================================== -----BEGIN CERTIFICATE----- MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlv biBBdXRob3JpdHkwHhcNMTAwMTE5MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMC R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR6FSS0gpWsawNJN3Fz0Rn dJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8Xpz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZ FGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+ 5eNu/Nio5JIk2kNrYrhV/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pG x8cgoLEfZd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z+pUX 2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7wqP/0uK3pN/u6uPQL OvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZahSL0896+1DSJMwBGB7FY79tOi4lu3 sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVICu9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+C GCe01a60y1Dma/RMhnEw6abfFobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5 WdYgGq/yapiqcrxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w DQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvlwFTPoCWOAvn9sKIN9SCYPBMt rFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+ nq6PK7o9mfjYcwlYRm6mnPTXJ9OV2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSg tZx8jb8uk2IntznaFxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwW sRqZCuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiKboHGhfKp pC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmckejkk9u+UJueBPSZI9FoJA zMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yLS0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHq ZJx64SIDqZxubw5lT2yHh17zbqD5daWbQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk52 7RH89elWsn2/x20Kk4yl0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7I LaZRfyHBNVOFBkpdn627G190 -----END CERTIFICATE----- USERTrust RSA Certification Authority ===================================== -----BEGIN CERTIFICATE----- MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCAEmUXNg7D2wiz 0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2j Y0K2dvKpOyuR+OJv0OwWIJAJPuLodMkYtJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFn RghRy4YUVD+8M/5+bJz/Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O +T23LLb2VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT79uq /nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6c0Plfg6lZrEpfDKE Y1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmTYo61Zs8liM2EuLE/pDkP2QKe6xJM lXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97lc6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8 yexDJtC/QV9AqURE9JnnV4eeUB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+ eLf8ZxXhyVeEHg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF MAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPFUp/L+M+ZBn8b2kMVn54CVVeW FPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KOVWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ 7l8wXEskEVX/JJpuXior7gtNn3/3ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQ Eg9zKC7F4iRO/Fjs8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM 8WcRiQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYzeSf7dNXGi FSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZXHlKYC6SQK5MNyosycdi yA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9c J2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRBVXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGw sAvgnEzDHNb842m1R0aBL6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gx Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9 -----END CERTIFICATE----- USERTrust ECC Certification Authority ===================================== -----BEGIN CERTIFICATE----- MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv biBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMC VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqfloI+d61SRvU8Za2EurxtW2 0eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinngo4N+LZfQYcTxmdwlkWOrfzCjtHDix6Ez nPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNV HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu 9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= -----END CERTIFICATE----- GlobalSign ECC Root CA - R5 =========================== -----BEGIN CERTIFICATE----- MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6 SFkc8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8kehOvRnkmS h5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7 yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3 -----END CERTIFICATE----- Staat der Nederlanden EV Root CA ================================ -----BEGIN CERTIFICATE----- MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJOTDEeMBwGA1UE CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4g RVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0yMjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5M MR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRl cmxhbmRlbiBFViBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkk SzrSM4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nCUiY4iKTW O0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3dZ//BYY1jTw+bbRcwJu+r 0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46prfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8 Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13lpJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gV XJrm0w912fxBmJc+qiXbj5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr 08C+eKxCKFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS/ZbV 0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0XcgOPvZuM5l5Tnrmd 74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH1vI4gnPah1vlPNOePqc7nvQDs/nx fRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrPpx9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNC MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwa ivsnuL8wbqg7MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u2dfOWBfoqSmu c0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHSv4ilf0X8rLiltTMMgsT7B/Zq 5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTCwPTxGfARKbalGAKb12NMcIxHowNDXLldRqAN b/9Zjr7dn3LDWyvfjFvO5QxGbJKyCqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tN f1zuacpzEPuKqf2evTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi 5Dp6Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIaGl6I6lD4 WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeLeG9QgkRQP2YGiqtDhFZK DyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGy eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg== -----END CERTIFICATE----- IdenTrust Commercial Root CA 1 ============================== -----BEGIN CERTIFICATE----- MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS b290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQwMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzES MBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENB IDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ld hNlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU+ehcCuz/ mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gpS0l4PJNgiCL8mdo2yMKi 1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1bVoE/c40yiTcdCMbXTMTEl3EASX2MN0C XZ/g1Ue9tOsbobtJSdifWwLziuQkkORiT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl 3ZBWzvurpWCdxJ35UrCLvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzy NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZKdHzV WYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHTc+XvvqDtMwt0viAg xGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hvl7yTmvmcEpB4eoCHFddydJxVdHix uuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5NiGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZI hvcNAQELBQADggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH 6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwtLRvM7Kqas6pg ghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93nAbowacYXVKV7cndJZ5t+qnt ozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmV YjzlVYA211QC//G5Xc7UI2/YRYRKW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUX feu+h1sXIFRRk0pTAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/ro kTLql1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZRHUe 2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZmUlO+KWA2yUPHGNiiskz Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R cGzM7vRX+Bi6hG6H -----END CERTIFICATE----- IdenTrust Public Sector Root CA 1 ================================= -----BEGIN CERTIFICATE----- MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv ciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcNMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJV UzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBS b290IENBIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTy P4o7ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGyRBb06tD6 Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlSbdsHyo+1W/CD80/HLaXI rcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF/YTLNiCBWS2ab21ISGHKTN9T0a9SvESf qy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoS mJxZZoY+rfGwyj4GD3vwEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFn ol57plzy9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9VGxyh LrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ2fjXctscvG29ZV/v iDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsVWaFHVCkugyhfHMKiq3IXAAaOReyL 4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gDW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8B Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMw DQYJKoZIhvcNAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A mgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9TaDKQGXSc3z1i9kKlT/YPyNt GtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8GlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFt m6/n6J91eEyrRjuazr8FGF1NFTwWmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMx NRF4eKLg6TCMf4DfWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4 Mhn5+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJtshquDDI ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/lLQzfcaFpPz+vC ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ 3Wl9af0AVqW3rLatt8o+Ae+c -----END CERTIFICATE----- Entrust Root Certification Authority - G2 ========================================= -----BEGIN CERTIFICATE----- MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP /vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6 0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+ vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO e4pIb4tF9g== -----END CERTIFICATE----- Entrust Root Certification Authority - EC1 ========================================== -----BEGIN CERTIFICATE----- MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef 9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8 kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G -----END CERTIFICATE----- CFCA EV ROOT ============ -----BEGIN CERTIFICATE----- MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB IEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkxMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEw MC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQD DAxDRkNBIEVWIFJPT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnV BU03sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpLTIpTUnrD 7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy5J35DN uF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp7hZZLDRJGqgG16iI0gNyejLi6mhNbiyW ZXvKWfry4t3uMCz7zEasxGPrb382KzRzEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7 xzbh72fROdOXW3NiGUgthxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9f py25IGvPa931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqotaK8K gWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNgTnYGmE69g60dWIol hdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfVPKPtl8MeNPo4+QgO48BdK4PRVmrJ tqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hvcWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAf BgNVHSMEGDAWgBTj/i39KNALtbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB /wQEAwIBBjAdBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObTej/tUxPQ4i9q ecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdLjOztUmCypAbqTuv0axn96/Ua 4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBSESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sG E5uPhnEFtC+NiWYzKXZUmhH4J/qyP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfX BDrDMlI1Dlb4pd19xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjn aH9dCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN5mydLIhy PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su -----END CERTIFICATE----- OISTE WISeKey Global Root GB CA =============================== -----BEGIN CERTIFICATE----- MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQG EwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAw MzJaFw0zOTEyMDExNTEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYD VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds b2JhbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKtaX scriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGxWuR51jIjK+FTzJlFXHtP rby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk 9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNku7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4o Qnc/nSMbsrY9gBQHTC5P99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg GUpuuy9rM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB /zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZI hvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrghcViXfa43FK8+5/ea4n32cZiZBKpD dHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0 VQreUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= -----END CERTIFICATE----- SZAFIR ROOT CA2 =============== -----BEGIN CERTIFICATE----- MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQELBQAwUTELMAkG A1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6ZW5pb3dhIFMuQS4xGDAWBgNV BAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkwNzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJ BgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYD VQQDDA9TWkFGSVIgUk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5Q qEvNQLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT3PSQ1hNK DJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw3gAeqDRHu5rr/gsUvTaE 2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr63fE9biCloBK0TXC5ztdyO4mTp4CEHCdJ ckm1/zuVnsHMyAHs6A6KCpbns6aH5db5BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwi ieDhZNRnvDF5YTy7ykHNXGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P AQH/BAQDAgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsFAAOC AQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw8PRBEew/R40/cof5 O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOGnXkZ7/e7DDWQw4rtTw/1zBLZpD67 oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCPoky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul 4+vJhaAlIDf7js4MNIThPIGyd05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6 +/NNIxuZMzSgLvWpCz/UXeHPhJ/iGcJfitYgHuNztw== -----END CERTIFICATE----- Certum Trusted Network CA 2 =========================== -----BEGIN CERTIFICATE----- MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UE BhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1 bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29y ayBDQSAyMCIYDzIwMTExMDA2MDgzOTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQ TDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENl cnRpZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENB IDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWADGSdhhuWZGc/IjoedQF9 7/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+o CgCXhVqqndwpyeI1B+twTUrWwbNWuKFBOJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40b Rr5HMNUuctHFY9rnY3lEfktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2p uTRZCr+ESv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1mo130 GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02isx7QBlrd9pPPV3WZ 9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOWOZV7bIBaTxNyxtd9KXpEulKkKtVB Rgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgezTv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pye hizKV/Ma5ciSixqClnrDvFASadgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vM BhBgu4M1t15n3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZI hvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQF/xlhMcQSZDe28cmk4gmb3DW Al45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTfCVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuA L55MYIR4PSFk1vtBHxgP58l1cb29XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMo clm2q8KMZiYcdywmdjWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tM pkT/WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jbAoJnwTnb w3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksqP/ujmv5zMnHCnsZy4Ypo J/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Kob7a6bINDd82Kkhehnlt4Fj1F4jNy3eFm ypnTycUm/Q1oBEauttmbjL4ZvrHG8hnjXALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLX is7VmFxWlgPF7ncGNf/P5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7 zAYspsbiDrW5viSP -----END CERTIFICATE----- Hellenic Academic and Research Institutions RootCA 2015 ======================================================= -----BEGIN CERTIFICATE----- MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcT BkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0 aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl YXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAx MTIxWjCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMg QWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNV BAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIw MTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDC+Kk/G4n8PDwEXT2QNrCROnk8Zlrv bTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+eh iGsxr/CL0BgzuNtFajT0AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+ 6PAQZe104S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06CojXd FPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV9Cz82XBST3i4vTwr i5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrDgfgXy5I2XdGj2HUb4Ysn6npIQf1F GQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2 fu/Z8VFRfS0myGlZYeCsargqNhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9mu iNX6hME6wGkoLfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVdctA4GGqd83EkVAswDQYJKoZI hvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0IXtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+ D1hYc2Ryx+hFjtyp8iY/xnmMsVMIM4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrM d/K4kPFox/la/vot9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+y d+2VZ5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/eaj8GsGsVn 82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnhX9izjFk0WaSrT2y7Hxjb davYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQl033DlZdwJVqwjbDG2jJ9SrcR5q+ss7F Jej6A7na+RZukYT1HCjI/CbM1xyQVqdfbzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVt J94Cj8rDtSvK6evIIVM4pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGa JI7ZjnHKe7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0vm9q p/UsQu0yrbYhnr68 -----END CERTIFICATE----- Hellenic Academic and Research Institutions ECC RootCA 2015 =========================================================== -----BEGIN CERTIFICATE----- MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0 aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u cyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj aCBJbnN0aXR1dGlvbnMgRUNDIFJvb3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEw MzcxMlowgaoxCzAJBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmlj IEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUQwQgYD VQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIEVDQyBSb290 Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKgQehLgoRc4vgxEZmGZE4JJS+dQS8KrjVP dJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJajq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoK Vlp8aQuqgAkkbH7BRqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O BBYEFLQiC4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaeplSTA GiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJCA3sS61kFyjn dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR -----END CERTIFICATE----- ISRG Root X1 ============ -----BEGIN CERTIFICATE----- MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAwTzELMAkGA1UE BhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUwEwYDVQQD EwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQG EwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMT DElTUkcgUm9vdCBYMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54r Vygch77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+0TM8ukj1 3Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6UA5/TR5d8mUgjU+g4rk8K b4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sWT8KOEUt+zwvo/7V3LvSye0rgTBIlDHCN Aymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyHB5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ 4Q7e2RCOFvu396j3x+UCB5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf 1b0SHzUvKBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWnOlFu hjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTnjh8BCNAw1FtxNrQH usEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbwqHyGO0aoSCqI3Haadr8faqU9GY/r OPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CIrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4G A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY 9umbbjANBgkqhkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ3BebYhtF8GaV 0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KKNFtY2PwByVS5uCbMiogziUwt hDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJw TdwJx4nLCgdNbOhdjsnvzqvHu7UrTkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nx e5AW0wdeRlN8NwdCjNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZA JzVcoyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq4RgqsahD YVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPAmRGunUHBcnWEvgJBQl9n JEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57demyPxgcYxn/eR44/KJ4EBs+lVDR3veyJ m+kXQ99b21/+jh5Xos1AnX5iItreGCc= -----END CERTIFICATE----- AC RAIZ FNMT-RCM ================ -----BEGIN CERTIFICATE----- MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYT AkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0wODEw MjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJD TTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC ggIBALpxgHpMhm5/yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcf qQgfBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAzWHFctPVr btQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaEAUwED653cXeuYL j2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z374jNUUeAlz+taibmSXaXvMiwzn15Cou 08YfxGyqxRxqAQVKL9LFwag0Jl1mpdICIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mw WsXmo8RZZUc1g16p6DULmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnT tOmlcYF7wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peSMKGJ 47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2ZSysV4999AeU14EC ll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMetUqIJ5G+GR4of6ygnXYMgrwTJbFaa i0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE FPd9xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1o dHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1RXxlDPiyN8+s D8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4E7pWYjJ2cJ j+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrT Qfv6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW +YJF1DngoABd15jmfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7 Ixjp6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp1txyM/1d 8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiABdcPUXmsEKvU7ANm 5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wokRqEIr9baRRmW1FMdW4R58MD3R++Lj8UG rp1MYp3/RgT408m2ECVAdf4WqslKYIYvuu8wd+RU4riEmViAqhOLUTpPSPaLtrM= -----END CERTIFICATE----- Amazon Root CA 1 ================ -----BEGIN CERTIFICATE----- MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsFADA5MQswCQYD VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1 MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC ggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgH FzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ gLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0t dHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcce VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB /zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3 DQEBCwUAA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5PM CCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+gDS63pYaACbvXy 8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa 2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2 xJNDd2ZhwLnoQdeXeGADbkpyrqXRfboQnoZsG4q5WTP468SQvvG5 -----END CERTIFICATE----- Amazon Root CA 2 ================ -----BEGIN CERTIFICATE----- MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwFADA5MQswCQYD VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAyMB4XDTE1 MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC ggIBAK2Wny2cSkxKgXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4 kHbZW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg1dKmSYXp N+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K8nu+NQWpEjTj82R0Yiw9 AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvd fLC6HM783k81ds8P+HgfajZRRidhW+mez/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAEx kv8LV/SasrlX6avvDXbR8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSS btqDT6ZjmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz7Mt0 Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6+XUyo05f7O0oYtlN c/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI0u1ufm8/0i2BWSlmy5A5lREedCf+ 3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSw DPBMMPQFWAJI/TPlUq9LhONmUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oA A7CXDpO8Wqj2LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY +gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kSk5Nrp+gvU5LE YFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl7uxMMne0nxrpS10gxdr9HIcW xkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygmbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQ gj9sAq+uEjonljYE1x2igGOpm/HlurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbW aQbLU8uz/mtBzUF+fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoV Yh63n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE76KlXIx3 KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H9jVlpNMKVv/1F2Rs76gi JUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT4PsJYGw= -----END CERTIFICATE----- Amazon Root CA 3 ================ -----BEGIN CERTIFICATE----- MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5MQswCQYDVQQG EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAzMB4XDTE1MDUy NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZB f8ANm+gBG1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjr Zt6jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp43 rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkrBqWTrBqYaGFy+uGh0Psc eGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteMYyRIHN8wfdVoOw== -----END CERTIFICATE----- Amazon Root CA 4 ================ -----BEGIN CERTIFICATE----- MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5MQswCQYDVQQG EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSA0MB4XDTE1MDUy NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN /sGKe0uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri 83BkM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1 AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA== -----END CERTIFICATE----- TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 ============================================= -----BEGIN CERTIFICATE----- MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIxGDAWBgNVBAcT D0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxpbXNlbCB2ZSBUZWtub2xvamlr IEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0wKwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24g TWVya2V6aSAtIEthbXUgU00xNjA0BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRp ZmlrYXNpIC0gU3VydW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYD VQQGEwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXllIEJpbGlt c2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklUQUsxLTArBgNVBAsTJEth bXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBTTTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11 IFNNIFNTTCBLb2sgU2VydGlmaWthc2kgLSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAr3UwM6q7a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y8 6Ij5iySrLqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INrN3wc wv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2XYacQuFWQfw4tJzh0 3+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/iSIzL+aFCr2lqBs23tPcLG07xxO9 WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4fAJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQU ZT/HiobGPN08VFw1+DrtUgxHV8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJ KoZIhvcNAQELBQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPfIPP54+M638yc lNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4lzwDGrpDxpa5RXI4s6ehlj2R e37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0j q5Rm+K37DwhuJi1/FwcJsoz7UMCflo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= -----END CERTIFICATE----- GDCA TrustAUTH R5 ROOT ====================== -----BEGIN CERTIFICATE----- MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCQ04xMjAw BgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8wHQYDVQQD DBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVow YjELMAkGA1UEBhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0B AQEFAAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJjDp6L3TQs AlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBjTnnEt1u9ol2x8kECK62p OqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+uKU49tm7srsHwJ5uu4/Ts765/94Y9cnrr pftZTqfrlYwiOXnhLQiPzLyRuEH3FMEjqcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ 9Cy5WmYqsBebnh52nUpmMUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQ xXABZG12ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloPzgsM R6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3GkL30SgLdTMEZeS1SZ D2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeCjGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4 oR24qoAATILnsn8JuLwwoC8N9VKejveSswoAHQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx 9hoh49pwBiFYFIeFd3mqgnkCAwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlR MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZmDRd9FBUb1Ov9 H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5COmSdI31R9KrO9b7eGZONn35 6ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ryL3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd +PwyvzeG5LuOmCd+uh8W4XAR8gPfJWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQ HtZa37dG/OaG+svgIHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBD F8Io2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV09tL7ECQ 8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQXR4EzzffHqhmsYzmIGrv /EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrqT8p+ck0LcIymSLumoRT2+1hEmRSuqguT aaApJUqlyyvdimYHFngVV3Eb7PVHhPOeMTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== -----END CERTIFICATE----- TrustCor RootCert CA-1 ====================== -----BEGIN CERTIFICATE----- MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYDVQQGEwJQQTEP MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp dHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkx MjMxMTcyMzE2WjCBpDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFu YW1hIENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUGA1UECwwe VHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZUcnVzdENvciBSb290Q2Vy dCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv463leLCJhJrMxnHQFgKq1mq jQCj/IDHUHuO1CAmujIS2CNUSSUQIpidRtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4 pQa81QBeCQryJ3pS/C3Vseq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0 JEsq1pme9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CVEY4h gLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorWhnAbJN7+KIor0Gqw /Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/DeOxCbeKyKsZn3MzUOcwHwYDVR0j BBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC AYYwDQYJKoZIhvcNAQELBQADggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5 mDo4Nvu7Zp5I/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZyonnMlo2HD6C qFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djtsL1Ac59v2Z3kf9YKVmgenFK+P 3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdNzl/HHk484IkzlQsPpTLWPFp5LBk= -----END CERTIFICATE----- TrustCor RootCert CA-2 ====================== -----BEGIN CERTIFICATE----- MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNVBAYTAlBBMQ8w DQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQwIgYDVQQKDBtUcnVzdENvciBT eXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0 eTEfMB0GA1UEAwwWVHJ1c3RDb3IgUm9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEy MzExNzI2MzlaMIGkMQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5h bWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0 IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnIG7CKqJiJJWQdsg4foDSq8Gb ZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9Nk RvRUqdw6VC0xK5mC8tkq1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1 oYxOdqHp2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nKDOOb XUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hapeaz6LMvYHL1cEksr1 /p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF3wP+TfSvPd9cW436cOGlfifHhi5q jxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQP eSghYA2FFn3XVDjxklb9tTNMg9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+Ctg rKAmrhQhJ8Z3mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh 8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAdBgNVHQ4EFgQU 2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6UnrybPZx9mCAZ5YwwYrIwDwYD VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/h Osh80QA9z+LqBrWyOrsGS2h60COXdKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnp kpfbsEZC89NiqpX+MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv 2wnL/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RXCI/hOWB3 S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYaZH9bDTMJBzN7Bj8RpFxw PIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dv DDqPys/cA8GiCcjl/YBeyGBCARsaU1q7N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYU RpFHmygk71dSTlxCnKr3Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANE xdqtvArBAs8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp5KeX RKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu1uwJ -----END CERTIFICATE----- TrustCor ECA-1 ============== -----BEGIN CERTIFICATE----- MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYDVQQGEwJQQTEP MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp dHkxFzAVBgNVBAMMDlRydXN0Q29yIEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3Mjgw N1owgZwxCzAJBgNVBAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5 MSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29y IENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3IgRUNBLTEwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb3w9U73NjKYKtR8aja+3+XzP4Q1HpGjOR MRegdMTUpwHmspI+ap3tDvl0mEDTPwOABoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23 xFUfJ3zSCNV2HykVh0A53ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmc p0yJF4OuowReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/wZ0+ fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZFZtS6mFjBAgMBAAGj YzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAfBgNVHSMEGDAWgBREnkj1zG1I1KBL f/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF AAOCAQEABT41XBVwm8nHc2FvcivUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u /ukZMjgDfxT2AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50soIipX1TH0Xs J5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BIWJZpTdwHjFGTot+fDz2LYLSC jaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1WitJ/X5g== -----END CERTIFICATE----- SSL.com Root Certification Authority RSA ======================================== -----BEGIN CERTIFICATE----- MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxDjAM BgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24x MTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYw MjEyMTczOTM5WhcNNDEwMjEyMTczOTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NM LmNvbSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcNAQEBBQAD ggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2RxFdHaxh3a3by/ZPkPQ/C Fp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aXqhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8 P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcCC52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/ge oeOy3ZExqysdBP+lSgQ36YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkp k8zruFvh/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrFYD3Z fBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93EJNyAKoFBbZQ+yODJ gUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVcUS4cK38acijnALXRdMbX5J+tB5O2 UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi8 1xtZPCvM8hnIk2snYxnP/Okm+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4s bE6x/c+cCbqiM+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4GA1UdDwEB/wQE AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGVcpNxJK1ok1iOMq8bs3AD/CUr dIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBcHadm47GUBwwyOabqG7B52B2ccETjit3E+ZUf ijhDPwGFpUenPUayvOUiaPd7nNgsPgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAsl u1OJD7OAUN5F7kR/q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjq erQ0cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jra6x+3uxj MxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90IH37hVZkLId6Tngr75qNJ vTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/YK9f1JmzJBjSWFupwWRoyeXkLtoh/D1JI Pb9s2KJELtFOt3JY04kTlf5Eq/jXixtunLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406y wKBjYZC6VWg3dGq2ktufoYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NI WuuA8ShYIc2wBlX7Jz9TkHCpBB5XJ7k= -----END CERTIFICATE----- SSL.com Root Certification Authority ECC ======================================== -----BEGIN CERTIFICATE----- MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMCVVMxDjAMBgNV BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xMTAv BgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEy MTgxNDAzWhcNNDEwMjEyMTgxNDAzWjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAO BgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuBBAAiA2IA BEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI7Z4INcgn64mMU1jrYor+ 8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPgCemB+vNH06NjMGEwHQYDVR0OBBYEFILR hXMw5zUE044CkvvlpNHEIejNMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTT jgKS++Wk0cQh6M0wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCW e+0F+S8Tkdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+gA0z 5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl -----END CERTIFICATE----- SSL.com EV Root Certification Authority RSA R2 ============================================== -----BEGIN CERTIFICATE----- MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAlVTMQ4w DAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9u MTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy MB4XDTE3MDUzMTE4MTQzN1oXDTQyMDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQI DAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYD VQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMIICIjAN BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvqM0fNTPl9fb69LT3w23jh hqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssufOePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7w cXHswxzpY6IXFJ3vG2fThVUCAtZJycxa4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTO Zw+oz12WGQvE43LrrdF9HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+ B6KjBSYRaZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcAb9Zh CBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQGp8hLH94t2S42Oim 9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQVPWKchjgGAGYS5Fl2WlPAApiiECto RHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMOpgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+Slm JuwgUHfbSguPvuUCYHBBXtSuUDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48 +qvWBkofZ6aYMBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa49QaAJadz20Zp qJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBWs47LCp1Jjr+kxJG7ZhcFUZh1 ++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nx Y/hoLVUE0fKNsKTPvDxeH3jnpaAgcLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2G guDKBAdRUNf/ktUM79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDz OFSz/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXtll9ldDz7 CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEmKf7GUmG6sXP/wwyc5Wxq lD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKKQbNmC1r7fSOl8hqw/96bg5Qu0T/fkreR rwU7ZcegbLHNYhLDkBvjJc40vG93drEQw/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1 hlMYegouCRw2n5H9gooiS9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX 9hwJ1C07mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== -----END CERTIFICATE----- SSL.com EV Root Certification Authority ECC =========================================== -----BEGIN CERTIFICATE----- MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMCVVMxDjAMBgNV BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xNDAy BgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYw MjEyMTgxNTIzWhcNNDEwMjEyMTgxNTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NM LmNvbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB BAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMAVIbc/R/fALhBYlzccBYy 3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1KthkuWnBaBu2+8KGwytAJKaNjMGEwHQYDVR0O BBYEFFvKXuXe0oGqzagtZFG22XKbl+ZPMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe 5d7SgarNqC1kUbbZcpuX5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJ N+vp1RPZytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZgh5Mm m7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== -----END CERTIFICATE----- GlobalSign Root CA - R6 ======================= -----BEGIN CERTIFICATE----- MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEgMB4GA1UECxMX R2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds b2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQxMjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9i YWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFs U2lnbjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQss grRIxutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1kZguSgMpE 3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxDaNc9PIrFsmbVkJq3MQbF vuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJwLnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqM PKq0pPbzlUoSB239jLKJz9CgYXfIWHSw1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+ azayOeSsJDa38O+2HBNXk7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05O WgtH8wY2SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/hbguy CLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4nWUx2OVvq+aWh2IMP 0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpYrZxCRXluDocZXFSxZba/jJvcE+kN b7gu3GduyYsRtYQUigAZcIN5kZeR1BonvzceMgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQE AwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNV HSMEGDAWgBSubAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGtIxg93eFyRJa0 lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr6155wsTLxDKZmOMNOsIeDjHfrY BzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLjvUYAGm0CuiVdjaExUd1URhxN25mW7xocBFym Fe944Hn+Xds+qkxV/ZoVqW/hpvvfcDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr 3TsTjxKM4kEaSHpzoHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB1 0jZpnOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfspA9MRf/T uTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+vJJUEeKgDu+6B5dpffItK oZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+t JDfLRVpOoERIyNiwmcUVhAn21klJwGW45hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= -----END CERTIFICATE----- OISTE WISeKey Global Root GC CA =============================== -----BEGIN CERTIFICATE----- MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQswCQYDVQQGEwJD SDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEo MCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRa Fw00MjA1MDkwOTU4MzNaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQL ExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh bCBSb290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4nieUqjFqdr VCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4Wp2OQ0jnUsYd4XxiWD1Ab NTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd BgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7TrYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0E AwMDaAAwZQIwJsdpW9zV57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtk AjEA2zQgMgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9 -----END CERTIFICATE----- UCA Global G2 Root ================== -----BEGIN CERTIFICATE----- MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQG EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBHbG9iYWwgRzIgUm9vdDAeFw0x NjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0xCzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlU cnVzdDEbMBkGA1UEAwwSVUNBIEdsb2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A MIICCgKCAgEAxeYrb3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmT oni9kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzmVHqUwCoV 8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/RVogvGjqNO7uCEeBHANBS h6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDcC/Vkw85DvG1xudLeJ1uK6NjGruFZfc8o LTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIjtm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/ R+zvWr9LesGtOxdQXGLYD0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBe KW4bHAyvj5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6DlNaBa 4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6iIis7nCs+dwp4wwc OxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznPO6Q0ibd5Ei9Hxeepl2n8pndntd97 8XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O BBYEFIHEjMz15DD/pQwIX4wVZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo 5sOASD0Ee/ojL3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl1qnN3e92mI0A Ds0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oUb3n09tDh05S60FdRvScFDcH9 yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LVPtateJLbXDzz2K36uGt/xDYotgIVilQsnLAX c47QN6MUPJiVAAwpBVueSUmxX8fjy88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHo jhJi6IjMtX9Gl8CbEGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZk bxqgDMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI+Vg7RE+x ygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGyYiGqhkCyLmTTX8jjfhFn RR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bXUB+K+wb1whnw0A== -----END CERTIFICATE----- UCA Extended Validation Root ============================ -----BEGIN CERTIFICATE----- MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQG EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9u IFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMxMDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8G A1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIi MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrs iWogD4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvSsPGP2KxF Rv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aopO2z6+I9tTcg1367r3CTu eUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dksHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR 59mzLC52LqGj3n5qiAno8geK+LLNEOfic0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH 0mK1lTnj8/FtDw5lhIpjVMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KR el7sFsLzKuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/TuDv B0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41Gsx2VYVdWf6/wFlth WG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs1+lvK9JKBZP8nm9rZ/+I8U6laUpS NwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQDfwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS 3H5aBZ8eNJr34RQwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQEL BQADggIBADaNl8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQVBcZEhrxH9cM aVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5c6sq1WnIeJEmMX3ixzDx/BR4 dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb +7lsq+KePRXBOy5nAliRn+/4Qh8st2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOW F3sGPjLtx7dCvHaj2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwi GpWOvpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2CxR9GUeOc GMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmxcmtpzyKEC2IPrNkZAJSi djzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbMfjKaiJUINlK73nZfdklJrX+9ZSCyycEr dhh2n1ax -----END CERTIFICATE----- Certigna Root CA ================ -----BEGIN CERTIFICATE----- MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UE BhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAwMiA0ODE0NjMwODEwMDAzNjEZ MBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0xMzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjda MFoxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYz MDgxMDAwMzYxGTAXBgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4IC DwAwggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sOty3tRQgX stmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9MCiBtnyN6tMbaLOQdLNyz KNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPuI9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8 JXrJhFwLrN1CTivngqIkicuQstDuI7pmTLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16 XdG+RCYyKfHx9WzMfgIhC59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq 4NYKpkDfePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3YzIoej wpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWTCo/1VTp2lc5ZmIoJ lXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1kJWumIWmbat10TWuXekG9qxf5kBdI jzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp/ /TBt2dzhauH8XwIDAQABo4IBGjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw HQYDVR0OBBYEFBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of 1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczovL3d3d3cuY2Vy dGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilodHRwOi8vY3JsLmNlcnRpZ25h LmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYraHR0cDovL2NybC5kaGlteW90aXMuY29tL2Nl cnRpZ25hcm9vdGNhLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOIt OoldaDgvUSILSo3L6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxP TGRGHVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH60BGM+RFq 7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncBlA2c5uk5jR+mUYyZDDl3 4bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdio2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd 8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS 6Cvu5zHbugRqh5jnxV/vfaci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaY tlu3zM63Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayhjWZS aX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw3kAP+HwV96LOPNde E4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0= -----END CERTIFICATE----- emSign Root CA - G1 =================== -----BEGIN CERTIFICATE----- MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYDVQQGEwJJTjET MBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRl ZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBHMTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgx ODMwMDBaMGcxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVk aHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIB IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQzf2N4aLTN LnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO8oG0x5ZOrRkVUkr+PHB1 cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aqd7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHW DV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhMtTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ 6DqS0hdW5TUaQBw+jSztOd9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrH hQIDAQABo0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQDAgEG MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31xPaOfG1vR2vjTnGs2 vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjMwiI/aTvFthUvozXGaCocV685743Q NcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6dGNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q +Mri/Tm3R7nrft8EI6/6nAYH6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeih U80Bv2noWgbyRQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx iN66zB+Afko= -----END CERTIFICATE----- emSign ECC Root CA - G3 ======================= -----BEGIN CERTIFICATE----- MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQGEwJJTjETMBEG A1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEg MB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4 MTgzMDAwWjBrMQswCQYDVQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11 ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g RzMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0WXTsuwYc 58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xySfvalY8L1X44uT6EYGQIr MgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuBzhccLikenEhjQjAOBgNVHQ8BAf8EBAMC AQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+D CBeQyh+KTOgNG3qxrdWBCUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7 jHvrZQnD+JbNR6iC8hZVdyR+EhCVBCyj -----END CERTIFICATE----- emSign Root CA - C1 =================== -----BEGIN CERTIFICATE----- MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkGA1UEBhMCVVMx EzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNp Z24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UE BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQD ExNlbVNpZ24gUm9vdCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+up ufGZBczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZHdPIWoU/ Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH3DspVpNqs8FqOp099cGX OFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvHGPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4V I5b2P/AgNBbeCsbEBEV5f6f9vtKppa+cxSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleooms lMuoaJuvimUnzYnu3Yy1aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+ XJGFehiqTbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQAD ggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87/kOXSTKZEhVb3xEp /6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4kqNPEjE2NuLe/gDEo2APJ62gsIq1 NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrGYQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9 wC68AivTxEDkigcxHpvOJpkT+xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQ BmIMMMAVSKeoWXzhriKi4gp6D/piq1JM4fHfyr6DDUI= -----END CERTIFICATE----- emSign ECC Root CA - C3 ======================= -----BEGIN CERTIFICATE----- MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQGEwJVUzETMBEG A1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMxIDAeBgNVBAMTF2VtU2lnbiBF Q0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UE BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQD ExdlbVNpZ24gRUNDIFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd 6bciMK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4OjavtisIGJAnB9 SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0OBBYEFPtaSNCAIEDyqOkA B2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMDA2gA MGUCMQC02C8Cif22TGK6Q04ThHK1rt0c3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwU ZOR8loMRnLDRWmFLpg9J0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ== -----END CERTIFICATE----- Hongkong Post Root CA 3 ======================= -----BEGIN CERTIFICATE----- MIIFzzCCA7egAwIBAgIUCBZfikyl7ADJk0DfxMauI7gcWqQwDQYJKoZIhvcNAQELBQAwbzELMAkG A1UEBhMCSEsxEjAQBgNVBAgTCUhvbmcgS29uZzESMBAGA1UEBxMJSG9uZyBLb25nMRYwFAYDVQQK Ew1Ib25na29uZyBQb3N0MSAwHgYDVQQDExdIb25na29uZyBQb3N0IFJvb3QgQ0EgMzAeFw0xNzA2 MDMwMjI5NDZaFw00MjA2MDMwMjI5NDZaMG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtv bmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMX SG9uZ2tvbmcgUG9zdCBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz iNfqzg8gTr7m1gNt7ln8wlffKWihgw4+aMdoWJwcYEuJQwy51BWy7sFOdem1p+/l6TWZ5Mwc50tf jTMwIDNT2aa71T4Tjukfh0mtUC1Qyhi+AViiE3CWu4mIVoBc+L0sPOFMV4i707mV78vH9toxdCim 5lSJ9UExyuUmGs2C4HDaOym71QP1mbpV9WTRYA6ziUm4ii8F0oRFKHyPaFASePwLtVPLwpgchKOe sL4jpNrcyCse2m5FHomY2vkALgbpDDtw1VAliJnLzXNg99X/NWfFobxeq81KuEXryGgeDQ0URhLj 0mRiikKYvLTGCAj4/ahMZJx2Ab0vqWwzD9g/KLg8aQFChn5pwckGyuV6RmXpwtZQQS4/t+TtbNe/ JgERohYpSms0BpDsE9K2+2p20jzt8NYt3eEV7KObLyzJPivkaTv/ciWxNoZbx39ri1UbSsUgYT2u y1DhCDq+sI9jQVMwCFk8mB13umOResoQUGC/8Ne8lYePl8X+l2oBlKN8W4UdKjk60FSh0Tlxnf0h +bV78OLgAo9uliQlLKAeLKjEiafv7ZkGL7YKTE/bosw3Gq9HhS2KX8Q0NEwA/RiTZxPRN+ZItIsG xVd7GYYKecsAyVKvQv83j+GjHno9UKtjBucVtT+2RTeUN7F+8kjDf8V1/peNRY8apxpyKBpADwID AQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQXnc0e i9Y5K3DTXNSguB+wAPzFYTAdBgNVHQ4EFgQUF53NHovWOStw01zUoLgfsAD8xWEwDQYJKoZIhvcN AQELBQADggIBAFbVe27mIgHSQpsY1Q7XZiNc4/6gx5LS6ZStS6LG7BJ8dNVI0lkUmcDrudHr9Egw W62nV3OZqdPlt9EuWSRY3GguLmLYauRwCy0gUCCkMpXRAJi70/33MvJJrsZ64Ee+bs7Lo3I6LWld y8joRTnU+kLBEUx3XZL7av9YROXrgZ6voJmtvqkBZss4HTzfQx/0TW60uhdG/H39h4F5ag0zD/ov +BS5gLNdTaqX4fnkGMX41TiMJjz98iji7lpJiCzfeT2OnpA8vUFKOt1b9pq0zj8lMH8yfaIDlNDc eqFS3m6TjRgm/VWsvY+b0s+v54Ysyx8Jb6NvqYTUc79NoXQbTiNg8swOqn+knEwlqLJmOzj/2ZQw 9nKEvmhVEA/GcywWaZMH/rFF7buiVWqw2rVKAiUnhde3t4ZEFolsgCs+l6mc1X5VTMbeRRAc6uk7 nwNT7u56AQIWeNTowr5GdogTPyK7SBIdUgC0An4hGh6cJfTzPV4e0hz5sy229zdcxsshTrD3mUcY hcErulWuBurQB7Lcq9CClnXO0lD+mefPL5/ndtFhKvshuzHQqp9HpLIiyhY6UFfEW0NnxWViA0kB 60PZ2Pierc+xYw5F9KBaLJstxabArahH9CdMOA0uG0k7UvToiIMrVCjU8jVStDKDYmlkDJGcn5fq dBb9HxEGmpv0 -----END CERTIFICATE----- Entrust Root Certification Authority - G4 ========================================= -----BEGIN CERTIFICATE----- MIIGSzCCBDOgAwIBAgIRANm1Q3+vqTkPAAAAAFVlrVgwDQYJKoZIhvcNAQELBQAwgb4xCzAJBgNV BAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3Qu bmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1 dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1 dGhvcml0eSAtIEc0MB4XDTE1MDUyNzExMTExNloXDTM3MTIyNzExNDExNlowgb4xCzAJBgNVBAYT AlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhv cml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eSAtIEc0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsewsQu7i0TD/pZJH4i3D umSXbcr3DbVZwbPLqGgZ2K+EbTBwXX7zLtJTmeH+H17ZSK9dE43b/2MzTdMAArzE+NEGCJR5WIoV 3imz/f3ET+iq4qA7ec2/a0My3dl0ELn39GjUu9CH1apLiipvKgS1sqbHoHrmSKvS0VnM1n4j5pds 8ELl3FFLFUHtSUrJ3hCX1nbB76W1NhSXNdh4IjVS70O92yfbYVaCNNzLiGAMC1rlLAHGVK/XqsEQ e9IFWrhAnoanw5CGAlZSCXqc0ieCU0plUmr1POeo8pyvi73TDtTUXm6Hnmo9RR3RXRv06QqsYJn7 ibT/mCzPfB3pAqoEmh643IhuJbNsZvc8kPNXwbMv9W3y+8qh+CmdRouzavbmZwe+LGcKKh9asj5X xNMhIWNlUpEbsZmOeX7m640A2Vqq6nPopIICR5b+W45UYaPrL0swsIsjdXJ8ITzI9vF01Bx7owVV 7rtNOzK+mndmnqxpkCIHH2E6lr7lmk/MBTwoWdPBDFSoWWG9yHJM6Nyfh3+9nEg2XpWjDrk4JFX8 dWbrAuMINClKxuMrLzOg2qOGpRKX/YAr2hRC45K9PvJdXmd0LhyIRyk0X+IyqJwlN4y6mACXi0mW Hv0liqzc2thddG5msP9E36EYxr5ILzeUePiVSj9/E15dWf10hkNjc0kCAwEAAaNCMEAwDwYDVR0T AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJ84xFYjwznooHFs6FRM5Og6sb9n MA0GCSqGSIb3DQEBCwUAA4ICAQAS5UKme4sPDORGpbZgQIeMJX6tuGguW8ZAdjwD+MlZ9POrYs4Q jbRaZIxowLByQzTSGwv2LFPSypBLhmb8qoMi9IsabyZIrHZ3CL/FmFz0Jomee8O5ZDIBf9PD3Vht 7LGrhFV0d4QEJ1JrhkzO3bll/9bGXp+aEJlLdWr+aumXIOTkdnrG0CSqkM0gkLpHZPt/B7NTeLUK YvJzQ85BK4FqLoUWlFPUa19yIqtRLULVAJyZv967lDtX/Zr1hstWO1uIAeV8KEsD+UmDfLJ/fOPt jqF/YFOOVZ1QNBIPt5d7bIdKROf1beyAN/BYGW5KaHbwH5Lk6rWS02FREAutp9lfx1/cH6NcjKF+ m7ee01ZvZl4HliDtC3T7Zk6LERXpgUl+b7DUUH8i119lAg2m9IUe2K4GS0qn0jFmwvjO5QimpAKW RGhXxNUzzxkvFMSUHHuk2fCfDrGA4tGeEWSpiBE6doLlYsKA2KSD7ZPvfC+QsDJMlhVoSFLUmQjA JOgc47OlIQ6SwJAfzyBfyjs4x7dtOvPmRLgOMWuIjnDrnBdSqEGULoe256YSxXXfW8AKbnuk5F6G +TaU33fD6Q3AOfF5u0aOq0NZJ7cguyPpVkAh7DE9ZapD8j3fcEThuk0mEDuYn/PIjhs4ViFqUZPT kcpG2om3PVODLAgfi49T3f+sHw== -----END CERTIFICATE----- Microsoft ECC Root Certificate Authority 2017 ============================================= -----BEGIN CERTIFICATE----- MIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNyb3NvZnQgRUND IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwHhcNMTkxMjE4MjMwNjQ1WhcNNDIwNzE4 MjMxNjA0WjBlMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYw NAYDVQQDEy1NaWNyb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwdjAQ BgcqhkjOPQIBBgUrgQQAIgNiAATUvD0CQnVBEyPNgASGAlEvaqiBYgtlzPbKnR5vSmZRogPZnZH6 thaxjG7efM3beaYvzrvOcS/lpaso7GMEZpn4+vKTEAXhgShC48Zo9OYbhGBKia/teQ87zvH2RPUB eMCjVDBSMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTIy5lycFIM +Oa+sgRXKSrPQhDtNTAQBgkrBgEEAYI3FQEEAwIBADAKBggqhkjOPQQDAwNoADBlAjBY8k3qDPlf Xu5gKcs68tvWMoQZP3zVL8KxzJOuULsJMsbG7X7JNpQS5GiFBqIb0C8CMQCZ6Ra0DvpWSNSkMBaR eNtUjGUBiudQZsIxtzm6uBoiB078a1QWIP8rtedMDE2mT3M= -----END CERTIFICATE----- Microsoft RSA Root Certificate Authority 2017 ============================================= -----BEGIN CERTIFICATE----- MIIFqDCCA5CgAwIBAgIQHtOXCV/YtLNHcB6qvn9FszANBgkqhkiG9w0BAQwFADBlMQswCQYDVQQG EwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNyb3NvZnQg UlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwHhcNMTkxMjE4MjI1MTIyWhcNNDIw NzE4MjMwMDIzWjBlMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u MTYwNAYDVQQDEy1NaWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcw ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKW76UM4wplZEWCpW9R2LBifOZNt9GkMml 7Xhqb0eRaPgnZ1AzHaGm++DlQ6OEAlcBXZxIQIJTELy/xztokLaCLeX0ZdDMbRnMlfl7rEqUrQ7e S0MdhweSE5CAg2Q1OQT85elss7YfUJQ4ZVBcF0a5toW1HLUX6NZFndiyJrDKxHBKrmCk3bPZ7Pw7 1VdyvD/IybLeS2v4I2wDwAW9lcfNcztmgGTjGqwu+UcF8ga2m3P1eDNbx6H7JyqhtJqRjJHTOoI+ dkC0zVJhUXAoP8XFWvLJjEm7FFtNyP9nTUwSlq31/niol4fX/V4ggNyhSyL71Imtus5Hl0dVe49F yGcohJUcaDDv70ngNXtk55iwlNpNhTs+VcQor1fznhPbRiefHqJeRIOkpcrVE7NLP8TjwuaGYaRS MLl6IE9vDzhTyzMMEyuP1pq9KsgtsRx9S1HKR9FIJ3Jdh+vVReZIZZ2vUpC6W6IYZVcSn2i51BVr lMRpIpj0M+Dt+VGOQVDJNE92kKz8OMHY4Xu54+OU4UZpyw4KUGsTuqwPN1q3ErWQgR5WrlcihtnJ 0tHXUeOrO8ZV/R4O03QK0dqq6mm4lyiPSMQH+FJDOvTKVTUssKZqwJz58oHhEmrARdlns87/I6KJ ClTUFLkqqNfs+avNJVgyeY+QW5g5xAgGwax/Dj0ApQIDAQABo1QwUjAOBgNVHQ8BAf8EBAMCAYYw DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUCctZf4aycI8awznjwNnpv7tNsiMwEAYJKwYBBAGC NxUBBAMCAQAwDQYJKoZIhvcNAQEMBQADggIBAKyvPl3CEZaJjqPnktaXFbgToqZCLgLNFgVZJ8og 6Lq46BrsTaiXVq5lQ7GPAJtSzVXNUzltYkyLDVt8LkS/gxCP81OCgMNPOsduET/m4xaRhPtthH80 dK2Jp86519efhGSSvpWhrQlTM93uCupKUY5vVau6tZRGrox/2KJQJWVggEbbMwSubLWYdFQl3JPk +ONVFT24bcMKpBLBaYVu32TxU5nhSnUgnZUP5NbcA/FZGOhHibJXWpS2qdgXKxdJ5XbLwVaZOjex /2kskZGT4d9Mozd2TaGf+G0eHdP67Pv0RR0Tbc/3WeUiJ3IrhvNXuzDtJE3cfVa7o7P4NHmJweDy AmH3pvwPuxwXC65B2Xy9J6P9LjrRk5Sxcx0ki69bIImtt2dmefU6xqaWM/5TkshGsRGRxpl/j8nW ZjEgQRCHLQzWwa80mMpkg/sTV9HB8Dx6jKXB/ZUhoHHBk2dxEuqPiAppGWSZI1b7rCoucL5mxAyE 7+WL85MB+GqQk2dLsmijtWKP6T+MejteD+eMuMZ87zf9dOLITzNy4ZQ5bb0Sr74MTnB8G2+NszKT c0QWbej09+CVgI+WXTik9KveCjCHk9hNAHFiRSdLOkKEW39lt2c0Ui2cFmuqqNh7o0JMcccMyj6D 5KbvtwEwXlGjefVwaaZBRA+GsCyRxj3qrg+E -----END CERTIFICATE----- e-Szigno Root CA 2017 ===================== -----BEGIN CERTIFICATE----- MIICQDCCAeWgAwIBAgIMAVRI7yH9l1kN9QQKMAoGCCqGSM49BAMCMHExCzAJBgNVBAYTAkhVMREw DwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUt MjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25vIFJvb3QgQ0EgMjAxNzAeFw0xNzA4MjIxMjA3MDZa Fw00MjA4MjIxMjA3MDZaMHExCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UE CgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3pp Z25vIFJvb3QgQ0EgMjAxNzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJbcPYrYsHtvxie+RJCx s1YVe45DJH0ahFnuY2iyxl6H0BVIHqiQrb1TotreOpCmYF9oMrWGQd+HWyx7xf58etqjYzBhMA8G A1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSHERUI0arBeAyxr87GyZDv vzAEwDAfBgNVHSMEGDAWgBSHERUI0arBeAyxr87GyZDvvzAEwDAKBggqhkjOPQQDAgNJADBGAiEA tVfd14pVCzbhhkT61NlojbjcI4qKDdQvfepz7L9NbKgCIQDLpbQS+ue16M9+k/zzNY9vTlp8tLxO svxyqltZ+efcMQ== -----END CERTIFICATE----- certSIGN Root CA G2 =================== -----BEGIN CERTIFICATE----- MIIFRzCCAy+gAwIBAgIJEQA0tk7GNi02MA0GCSqGSIb3DQEBCwUAMEExCzAJBgNVBAYTAlJPMRQw EgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04gUk9PVCBDQSBHMjAeFw0xNzAy MDYwOTI3MzVaFw00MjAyMDYwOTI3MzVaMEExCzAJBgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lH TiBTQTEcMBoGA1UECxMTY2VydFNJR04gUk9PVCBDQSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIP ADCCAgoCggIBAMDFdRmRfUR0dIf+DjuW3NgBFszuY5HnC2/OOwppGnzC46+CjobXXo9X69MhWf05 N0IwvlDqtg+piNguLWkh59E3GE59kdUWX2tbAMI5Qw02hVK5U2UPHULlj88F0+7cDBrZuIt4Imfk abBoxTzkbFpG583H+u/E7Eu9aqSs/cwoUe+StCmrqzWaTOTECMYmzPhpn+Sc8CnTXPnGFiWeI8Mg wT0PPzhAsP6CRDiqWhqKa2NYOLQV07YRaXseVO6MGiKscpc/I1mbySKEwQdPzH/iV8oScLumZfNp dWO9lfsbl83kqK/20U6o2YpxJM02PbyWxPFsqa7lzw1uKA2wDrXKUXt4FMMgL3/7FFXhEZn91Qqh ngLjYl/rNUssuHLoPj1PrCy7Lobio3aP5ZMqz6WryFyNSwb/EkaseMsUBzXgqd+L6a8VTxaJW732 jcZZroiFDsGJ6x9nxUWO/203Nit4ZoORUSs9/1F3dmKh7Gc+PoGD4FapUB8fepmrY7+EF3fxDTvf 95xhszWYijqy7DwaNz9+j5LP2RIUZNoQAhVB/0/E6xyjyfqZ90bp4RjZsbgyLcsUDFDYg2WD7rlc z8sFWkz6GZdr1l0T08JcVLwyc6B49fFtHsufpaafItzRUZ6CeWRgKRM+o/1Pcmqr4tTluCRVLERL iohEnMqE0yo7AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1Ud DgQWBBSCIS1mxteg4BXrzkwJd8RgnlRuAzANBgkqhkiG9w0BAQsFAAOCAgEAYN4auOfyYILVAzOB ywaK8SJJ6ejqkX/GM15oGQOGO0MBzwdw5AgeZYWR5hEit/UCI46uuR59H35s5r0l1ZUa8gWmr4UC b6741jH/JclKyMeKqdmfS0mbEVeZkkMR3rYzpMzXjWR91M08KCy0mpbqTfXERMQlqiCA2ClV9+BB /AYm/7k29UMUA2Z44RGx2iBfRgB4ACGlHgAoYXhvqAEBj500mv/0OJD7uNGzcgbJceaBxXntC6Z5 8hMLnPddDnskk7RI24Zf3lCGeOdA5jGokHZwYa+cNywRtYK3qq4kNFtyDGkNzVmf9nGvnAvRCjj5 BiKDUyUM/FHE5r7iOZULJK2v0ZXkltd0ZGtxTgI8qoXzIKNDOXZbbFD+mpwUHmUUihW9o4JFWklW atKcsWMy5WHgUyIOpwpJ6st+H6jiYoD2EEVSmAYY3qXNL3+q1Ok+CHLsIwMCPKaq2LxndD0UF/tU Sxfj03k9bWtJySgOLnRQvwzZRjoQhsmnP+mg7H/rpXdYaXHmgwo38oZJar55CJD2AhZkPuXaTH4M NMn5X7azKFGnpyuqSfqNZSlO42sTp5SjLVFteAxEy9/eCG/Oo2Sr05WE1LlSVHJ7liXMvGnjSG4N 0MedJ5qq+BOS3R7fY581qRY27Iy4g/Q9iY/NtBde17MXQRBdJ3NghVdJIgc= -----END CERTIFICATE----- Trustwave Global Certification Authority ======================================== -----BEGIN CERTIFICATE----- MIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJV UzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2 ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9u IEF1dGhvcml0eTAeFw0xNzA4MjMxOTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJV UzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2 ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9u IEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALldUShLPDeS0YLOvR29 zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0XznswuvCAAJWX/NKSqIk4cXGIDtiLK0thAf LdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4Bq stTnoApTAbqOl5F2brz81Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9o WN0EACyW80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotPJqX+ OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1lRtzuzWniTY+HKE40 Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfwhI0Vcnyh78zyiGG69Gm7DIwLdVcE uE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10coos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm +9jaJXLE9gCxInm943xZYkqcBW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqj ifLJS3tBEW1ntwiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud EwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1UdDwEB/wQEAwIB BjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W0OhUKDtkLSGm+J1WE2pIPU/H PinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfeuyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0H ZJDmHvUqoai7PF35owgLEQzxPy0QlG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla 4gt5kNdXElE1GYhBaCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5R vbbEsLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPTMaCm/zjd zyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qequ5AvzSxnI9O4fKSTx+O 856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxhVicGaeVyQYHTtgGJoC86cnn+OjC/QezH Yj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8h6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu 3R3y4G5OBVixwJAWKqQ9EEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP 29FpHOTKyeC2nOnOcXHebD8WpHk= -----END CERTIFICATE----- Trustwave Global ECC P256 Certification Authority ================================================= -----BEGIN CERTIFICATE----- MIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYDVQQGEwJVUzER MA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBI b2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZp Y2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYD VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRy dXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDI1 NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABH77bOYj 43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoNFWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqm P62jQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt 0UrrdaVKEJmzsaGLSvcwCgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjz RM4q3wghDDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7 -----END CERTIFICATE----- Trustwave Global ECC P384 Certification Authority ================================================= -----BEGIN CERTIFICATE----- MIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYDVQQGEwJVUzER MA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBI b2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZp Y2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYD VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRy dXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDM4 NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuBBAAiA2IABGvaDXU1CDFH Ba5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJj9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr /TklZvFe/oyujUF5nQlgziip04pt89ZF1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNV HQ8BAf8EBQMDBwYAMB0GA1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNn ADBkAjA3AZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsCMGcl CrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVuSw== -----END CERTIFICATE----- NAVER Global Root Certification Authority ========================================= -----BEGIN CERTIFICATE----- MIIFojCCA4qgAwIBAgIUAZQwHqIL3fXFMyqxQ0Rx+NZQTQ0wDQYJKoZIhvcNAQEMBQAwaTELMAkG A1UEBhMCS1IxJjAkBgNVBAoMHU5BVkVSIEJVU0lORVNTIFBMQVRGT1JNIENvcnAuMTIwMAYDVQQD DClOQVZFUiBHbG9iYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MTgwODU4 NDJaFw0zNzA4MTgyMzU5NTlaMGkxCzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVT UyBQTEFURk9STSBDb3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlv biBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC21PGTXLVAiQqrDZBb UGOukJR0F0Vy1ntlWilLp1agS7gvQnXp2XskWjFlqxcX0TM62RHcQDaH38dq6SZeWYp34+hInDEW +j6RscrJo+KfziFTowI2MMtSAuXaMl3Dxeb57hHHi8lEHoSTGEq0n+USZGnQJoViAbbJAh2+g1G7 XNr4rRVqmfeSVPc0W+m/6imBEtRTkZazkVrd/pBzKPswRrXKCAfHcXLJZtM0l/aM9BhK4dA9WkW2 aacp+yPOiNgSnABIqKYPszuSjXEOdMWLyEz59JuOuDxp7W87UC9Y7cSw0BwbagzivESq2M0UXZR4 Yb8ObtoqvC8MC3GmsxY/nOb5zJ9TNeIDoKAYv7vxvvTWjIcNQvcGufFt7QSUqP620wbGQGHfnZ3z VHbOUzoBppJB7ASjjw2i1QnK1sua8e9DXcCrpUHPXFNwcMmIpi3Ua2FzUCaGYQ5fG8Ir4ozVu53B A0K6lNpfqbDKzE0K70dpAy8i+/Eozr9dUGWokG2zdLAIx6yo0es+nPxdGoMuK8u180SdOqcXYZai cdNwlhVNt0xz7hlcxVs+Qf6sdWA7G2POAN3aCJBitOUt7kinaxeZVL6HSuOpXgRM6xBtVNbv8ejy YhbLgGvtPe31HzClrkvJE+2KAQHJuFFYwGY6sWZLxNUxAmLpdIQM201GLQIDAQABo0IwQDAdBgNV HQ4EFgQU0p+I36HNLL3s9TsBAZMzJ7LrYEswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMB Af8wDQYJKoZIhvcNAQEMBQADggIBADLKgLOdPVQG3dLSLvCkASELZ0jKbY7gyKoNqo0hV4/GPnrK 21HUUrPUloSlWGB/5QuOH/XcChWB5Tu2tyIvCZwTFrFsDDUIbatjcu3cvuzHV+YwIHHW1xDBE1UB jCpD5EHxzzp6U5LOogMFDTjfArsQLtk70pt6wKGm+LUx5vR1yblTmXVHIloUFcd4G7ad6Qz4G3bx hYTeodoS76TiEJd6eN4MUZeoIUCLhr0N8F5OSza7OyAfikJW4Qsav3vQIkMsRIz75Sq0bBwcupTg E34h5prCy8VCZLQelHsIJchxzIdFV4XTnyliIoNRlwAYl3dqmJLJfGBs32x9SuRwTMKeuB330DTH D8z7p/8Dvq1wkNoL3chtl1+afwkyQf3NosxabUzyqkn+Zvjp2DXrDige7kgvOtB5CTh8piKCk5XQ A76+AqAF3SAi428diDRgxuYKuQl1C/AH6GmWNcf7I4GOODm4RStDeKLRLBT/DShycpWbXgnbiUSY qqFJu3FS8r/2/yehNq+4tneI3TqkbZs0kNwUXTC/t+sX5Ie3cdCh13cV1ELX8vMxmV2b3RZtP+oG I/hGoiLtk/bdmuYqh7GYVPEi92tF4+KOdh2ajcQGjTa3FPOdVGm3jjzVpG2Tgbet9r1ke8LJaDmg kpzNNIaRkPpkUZ3+/uul9XXeifdy -----END CERTIFICATE----- AC RAIZ FNMT-RCM SERVIDORES SEGUROS =================================== -----BEGIN CERTIFICATE----- MIICbjCCAfOgAwIBAgIQYvYybOXE42hcG2LdnC6dlTAKBggqhkjOPQQDAzB4MQswCQYDVQQGEwJF UzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNlcmVzMRgwFgYDVQRhDA9WQVRFUy1RMjgy NjAwNEoxLDAqBgNVBAMMI0FDIFJBSVogRk5NVC1SQ00gU0VSVklET1JFUyBTRUdVUk9TMB4XDTE4 MTIyMDA5MzczM1oXDTQzMTIyMDA5MzczM1oweDELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQt UkNNMQ4wDAYDVQQLDAVDZXJlczEYMBYGA1UEYQwPVkFURVMtUTI4MjYwMDRKMSwwKgYDVQQDDCNB QyBSQUlaIEZOTVQtUkNNIFNFUlZJRE9SRVMgU0VHVVJPUzB2MBAGByqGSM49AgEGBSuBBAAiA2IA BPa6V1PIyqvfNkpSIeSX0oNnnvBlUdBeh8dHsVnyV0ebAAKTRBdp20LHsbI6GA60XYyzZl2hNPk2 LEnb80b8s0RpRBNm/dfF/a82Tc4DTQdxz69qBdKiQ1oKUm8BA06Oi6NCMEAwDwYDVR0TAQH/BAUw AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFAG5L++/EYZg8k/QQW6rcx/n0m5JMAoGCCqG SM49BAMDA2kAMGYCMQCuSuMrQMN0EfKVrRYj3k4MGuZdpSRea0R7/DjiT8ucRRcRTBQnJlU5dUoD zBOQn5ICMQD6SmxgiHPz7riYYqnOK8LZiqZwMR2vsJRM60/G49HzYqc8/5MuB1xJAWdpEgJyv+c= -----END CERTIFICATE----- GlobalSign Root R46 =================== -----BEGIN CERTIFICATE----- MIIFWjCCA0KgAwIBAgISEdK7udcjGJ5AXwqdLdDfJWfRMA0GCSqGSIb3DQEBDAUAMEYxCzAJBgNV BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJv b3QgUjQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAX BgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBSNDYwggIi MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCsrHQy6LNl5brtQyYdpokNRbopiLKkHWPd08Es CVeJOaFV6Wc0dwxu5FUdUiXSE2te4R2pt32JMl8Nnp8semNgQB+msLZ4j5lUlghYruQGvGIFAha/ r6gjA7aUD7xubMLL1aa7DOn2wQL7Id5m3RerdELv8HQvJfTqa1VbkNud316HCkD7rRlr+/fKYIje 2sGP1q7Vf9Q8g+7XFkyDRTNrJ9CG0Bwta/OrffGFqfUo0q3v84RLHIf8E6M6cqJaESvWJ3En7YEt bWaBkoe0G1h6zD8K+kZPTXhc+CtI4wSEy132tGqzZfxCnlEmIyDLPRT5ge1lFgBPGmSXZgjPjHvj K8Cd+RTyG/FWaha/LIWFzXg4mutCagI0GIMXTpRW+LaCtfOW3T3zvn8gdz57GSNrLNRyc0NXfeD4 12lPFzYE+cCQYDdF3uYM2HSNrpyibXRdQr4G9dlkbgIQrImwTDsHTUB+JMWKmIJ5jqSngiCNI/on ccnfxkF0oE32kRbcRoxfKWMxWXEM2G/CtjJ9++ZdU6Z+Ffy7dXxd7Pj2Fxzsx2sZy/N78CsHpdls eVR2bJ0cpm4O6XkMqCNqo98bMDGfsVR7/mrLZqrcZdCinkqaByFrgY/bxFn63iLABJzjqls2k+g9 vXqhnQt2sQvHnf3PmKgGwvgqo6GDoLclcqUC4wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYD VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA1yrc4GHqMywptWU4jaWSf8FmSwwDQYJKoZIhvcNAQEM BQADggIBAHx47PYCLLtbfpIrXTncvtgdokIzTfnvpCo7RGkerNlFo048p9gkUbJUHJNOxO97k4Vg JuoJSOD1u8fpaNK7ajFxzHmuEajwmf3lH7wvqMxX63bEIaZHU1VNaL8FpO7XJqti2kM3S+LGteWy gxk6x9PbTZ4IevPuzz5i+6zoYMzRx6Fcg0XERczzF2sUyQQCPtIkpnnpHs6i58FZFZ8d4kuaPp92 CC1r2LpXFNqD6v6MVenQTqnMdzGxRBF6XLE+0xRFFRhiJBPSy03OXIPBNvIQtQ6IbbjhVp+J3pZm OUdkLG5NrmJ7v2B0GbhWrJKsFjLtrWhV/pi60zTe9Mlhww6G9kuEYO4Ne7UyWHmRVSyBQ7N0H3qq JZ4d16GLuc1CLgSkZoNNiTW2bKg2SnkheCLQQrzRQDGQob4Ez8pn7fXwgNNgyYMqIgXQBztSvwye qiv5u+YfjyW6hY0XHgL+XVAEV8/+LbzvXMAaq7afJMbfc2hIkCwU9D9SGuTSyxTDYWnP4vkYxboz nxSjBF25cfe1lNj2M8FawTSLfJvdkzrnE6JwYZ+vj+vYxXX4M2bUdGc6N3ec592kD3ZDZopD8p/7 DEJ4Y9HiD2971KE9dJeFt0g5QdYg/NA6s/rob8SKunE3vouXsXgxT7PntgMTzlSdriVZzH81Xwj3 QEUxeCp6 -----END CERTIFICATE----- GlobalSign Root E46 =================== -----BEGIN CERTIFICATE----- MIICCzCCAZGgAwIBAgISEdK7ujNu1LzmJGjFDYQdmOhDMAoGCCqGSM49BAMDMEYxCzAJBgNVBAYT AkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3Qg RTQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNV BAoTEEdsb2JhbFNpZ24gbnYtc2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBFNDYwdjAQBgcq hkjOPQIBBgUrgQQAIgNiAAScDrHPt+ieUnd1NPqlRqetMhkytAepJ8qUuwzSChDH2omwlwxwEwkB jtjqR+q+soArzfwoDdusvKSGN+1wCAB16pMLey5SnCNoIwZD7JIvU4Tb+0cUB+hflGddyXqBPCCj QjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQxCpCPtsad0kRL gLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ7Zvvi5QCkxeCmb6zniz2C5GMn0oUsfZk vLtoURMMA/cVi4RguYv/Uo7njLwcAjA8+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+ CAezNIm8BZ/3Hobui3A= -----END CERTIFICATE----- GLOBALTRUST 2020 ================ -----BEGIN CERTIFICATE----- MIIFgjCCA2qgAwIBAgILWku9WvtPilv6ZeUwDQYJKoZIhvcNAQELBQAwTTELMAkGA1UEBhMCQVQx IzAhBgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVT VCAyMDIwMB4XDTIwMDIxMDAwMDAwMFoXDTQwMDYxMDAwMDAwMFowTTELMAkGA1UEBhMCQVQxIzAh BgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVTVCAy MDIwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAri5WrRsc7/aVj6B3GyvTY4+ETUWi D59bRatZe1E0+eyLinjF3WuvvcTfk0Uev5E4C64OFudBc/jbu9G4UeDLgztzOG53ig9ZYybNpyrO VPu44sB8R85gfD+yc/LAGbaKkoc1DZAoouQVBGM+uq/ufF7MpotQsjj3QWPKzv9pj2gOlTblzLmM CcpL3TGQlsjMH/1WljTbjhzqLL6FLmPdqqmV0/0plRPwyJiT2S0WR5ARg6I6IqIoV6Lr/sCMKKCm fecqQjuCgGOlYx8ZzHyyZqjC0203b+J+BlHZRYQfEs4kUmSFC0iAToexIiIwquuuvuAC4EDosEKA A1GqtH6qRNdDYfOiaxaJSaSjpCuKAsR49GiKweR6NrFvG5Ybd0mN1MkGco/PU+PcF4UgStyYJ9OR JitHHmkHr96i5OTUawuzXnzUJIBHKWk7buis/UDr2O1xcSvy6Fgd60GXIsUf1DnQJ4+H4xj04KlG DfV0OoIu0G4skaMxXDtG6nsEEFZegB31pWXogvziB4xiRfUg3kZwhqG8k9MedKZssCz3AwyIDMvU clOGvGBG85hqwvG/Q/lwIHfKN0F5VVJjjVsSn8VoxIidrPIwq7ejMZdnrY8XD2zHc+0klGvIg5rQ mjdJBKuxFshsSUktq6HQjJLyQUp5ISXbY9e2nKd+Qmn7OmMCAwEAAaNjMGEwDwYDVR0TAQH/BAUw AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFNwuH9FhN3nkq9XVsxJxaD1qaJwiMB8GA1Ud IwQYMBaAFNwuH9FhN3nkq9XVsxJxaD1qaJwiMA0GCSqGSIb3DQEBCwUAA4ICAQCR8EICaEDuw2jA VC/f7GLDw56KoDEoqoOOpFaWEhCGVrqXctJUMHytGdUdaG/7FELYjQ7ztdGl4wJCXtzoRlgHNQIw 4Lx0SsFDKv/bGtCwr2zD/cuz9X9tAy5ZVp0tLTWMstZDFyySCstd6IwPS3BD0IL/qMy/pJTAvoe9 iuOTe8aPmxadJ2W8esVCgmxcB9CpwYhgROmYhRZf+I/KARDOJcP5YBugxZfD0yyIMaK9MOzQ0MAS 8cE54+X1+NZK3TTN+2/BT+MAi1bikvcoskJ3ciNnxz8RFbLEAwW+uxF7Cr+obuf/WEPPm2eggAe2 HcqtbepBEX4tdJP7wry+UUTF72glJ4DjyKDUEuzZpTcdN3y0kcra1LGWge9oXHYQSa9+pTeAsRxS vTOBTI/53WXZFM2KJVj04sWDpQmQ1GwUY7VA3+vA/MRYfg0UFodUJ25W5HCEuGwyEn6CMUO+1918 oa2u1qsgEu8KwxCMSZY13At1XrFP1U80DhEgB3VDRemjEdqso5nCtnkn4rnvyOL2NSl6dPrFf4IF YqYK6miyeUcGbvJXqBUzxvd4Sj1Ce2t+/vdG6tHrju+IaFvowdlxfv1k7/9nR4hYJS8+hge9+6jl gqispdNpQ80xiEmEU5LAsTkbOYMBMMTyqfrQA71yN2BWHzZ8vTmR9W0Nv3vXkg== -----END CERTIFICATE----- ANF Secure Server Root CA ========================= -----BEGIN CERTIFICATE----- MIIF7zCCA9egAwIBAgIIDdPjvGz5a7EwDQYJKoZIhvcNAQELBQAwgYQxEjAQBgNVBAUTCUc2MzI4 NzUxMDELMAkGA1UEBhMCRVMxJzAlBgNVBAoTHkFORiBBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lv bjEUMBIGA1UECxMLQU5GIENBIFJhaXoxIjAgBgNVBAMTGUFORiBTZWN1cmUgU2VydmVyIFJvb3Qg Q0EwHhcNMTkwOTA0MTAwMDM4WhcNMzkwODMwMTAwMDM4WjCBhDESMBAGA1UEBRMJRzYzMjg3NTEw MQswCQYDVQQGEwJFUzEnMCUGA1UEChMeQU5GIEF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uMRQw EgYDVQQLEwtBTkYgQ0EgUmFpejEiMCAGA1UEAxMZQU5GIFNlY3VyZSBTZXJ2ZXIgUm9vdCBDQTCC AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANvrayvmZFSVgpCjcqQZAZ2cC4Ffc0m6p6zz BE57lgvsEeBbphzOG9INgxwruJ4dfkUyYA8H6XdYfp9qyGFOtibBTI3/TO80sh9l2Ll49a2pcbnv T1gdpd50IJeh7WhM3pIXS7yr/2WanvtH2Vdy8wmhrnZEE26cLUQ5vPnHO6RYPUG9tMJJo8gN0pcv B2VSAKduyK9o7PQUlrZXH1bDOZ8rbeTzPvY1ZNoMHKGESy9LS+IsJJ1tk0DrtSOOMspvRdOoiXse zx76W0OLzc2oD2rKDF65nkeP8Nm2CgtYZRczuSPkdxl9y0oukntPLxB3sY0vaJxizOBQ+OyRp1RM VwnVdmPF6GUe7m1qzwmd+nxPrWAI/VaZDxUse6mAq4xhj0oHdkLePfTdsiQzW7i1o0TJrH93PB0j 7IKppuLIBkwC/qxcmZkLLxCKpvR/1Yd0DVlJRfbwcVw5Kda/SiOL9V8BY9KHcyi1Swr1+KuCLH5z JTIdC2MKF4EA/7Z2Xue0sUDKIbvVgFHlSFJnLNJhiQcND85Cd8BEc5xEUKDbEAotlRyBr+Qc5RQe 8TZBAQIvfXOn3kLMTOmJDVb3n5HUA8ZsyY/b2BzgQJhdZpmYgG4t/wHFzstGH6wCxkPmrqKEPMVO Hj1tyRRM4y5Bu8o5vzY8KhmqQYdOpc5LMnndkEl/AgMBAAGjYzBhMB8GA1UdIwQYMBaAFJxf0Gxj o1+TypOYCK2Mh6UsXME3MB0GA1UdDgQWBBScX9BsY6Nfk8qTmAitjIelLFzBNzAOBgNVHQ8BAf8E BAMCAYYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEATh65isagmD9uw2nAalxJ UqzLK114OMHVVISfk/CHGT0sZonrDUL8zPB1hT+L9IBdeeUXZ701guLyPI59WzbLWoAAKfLOKyzx j6ptBZNscsdW699QIyjlRRA96Gejrw5VD5AJYu9LWaL2U/HANeQvwSS9eS9OICI7/RogsKQOLHDt dD+4E5UGUcjohybKpFtqFiGS3XNgnhAY3jyB6ugYw3yJ8otQPr0R4hUDqDZ9MwFsSBXXiJCZBMXM 5gf0vPSQ7RPi6ovDj6MzD8EpTBNO2hVWcXNyglD2mjN8orGoGjR0ZVzO0eurU+AagNjqOknkJjCb 5RyKqKkVMoaZkgoQI1YS4PbOTOK7vtuNknMBZi9iPrJyJ0U27U1W45eZ/zo1PqVUSlJZS2Db7v54 EX9K3BR5YLZrZAPbFYPhor72I5dQ8AkzNqdxliXzuUJ92zg/LFis6ELhDtjTO0wugumDLmsx2d1H hk9tl5EuT+IocTUW0fJz/iUrB0ckYyfI+PbZa/wSMVYIwFNCr5zQM378BvAxRAMU8Vjq8moNqRGy g77FGr8H6lnco4g175x2MjxNBiLOFeXdntiP2t7SxDnlF4HPOEfrf4htWRvfn0IUrn7PqLBmZdo3 r5+qPeoott7VMVgWglvquxl1AnMaykgaIZOQCo6ThKd9OyMYkomgjaw= -----END CERTIFICATE----- Certum EC-384 CA ================ -----BEGIN CERTIFICATE----- MIICZTCCAeugAwIBAgIQeI8nXIESUiClBNAt3bpz9DAKBggqhkjOPQQDAzB0MQswCQYDVQQGEwJQ TDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2Vy dGlmaWNhdGlvbiBBdXRob3JpdHkxGTAXBgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwHhcNMTgwMzI2 MDcyNDU0WhcNNDMwMzI2MDcyNDU0WjB0MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERh dGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx GTAXBgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATEKI6rGFtq vm5kN2PkzeyrOvfMobgOgknXhimfoZTy42B4mIF4Bk3y7JoOV2CDn7TmFy8as10CW4kjPMIRBSqn iBMY81CE1700LCeJVf/OTOffph8oxPBUw7l8t1Ot68KjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD VR0OBBYEFI0GZnQkdjrzife81r1HfS+8EF9LMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNo ADBlAjADVS2m5hjEfO/JUG7BJw+ch69u1RsIGL2SKcHvlJF40jocVYli5RsJHrpka/F2tNQCMQC0 QoSZ/6vnnvuRlydd3LBbMHHOXjgaatkl5+r3YZJW+OraNsKHZZYuciUvf9/DE8k= -----END CERTIFICATE----- Certum Trusted Root CA ====================== -----BEGIN CERTIFICATE----- MIIFwDCCA6igAwIBAgIQHr9ZULjJgDdMBvfrVU+17TANBgkqhkiG9w0BAQ0FADB6MQswCQYDVQQG EwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0g Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHzAdBgNVBAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0Ew HhcNMTgwMzE2MTIxMDEzWhcNNDMwMzE2MTIxMDEzWjB6MQswCQYDVQQGEwJQTDEhMB8GA1UEChMY QXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBB dXRob3JpdHkxHzAdBgNVBAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEB AQUAA4ICDwAwggIKAoICAQDRLY67tzbqbTeRn06TpwXkKQMlzhyC93yZn0EGze2jusDbCSzBfN8p fktlL5On1AFrAygYo9idBcEq2EXxkd7fO9CAAozPOA/qp1x4EaTByIVcJdPTsuclzxFUl6s1wB52 HO8AU5853BSlLCIls3Jy/I2z5T4IHhQqNwuIPMqw9MjCoa68wb4pZ1Xi/K1ZXP69VyywkI3C7Te2 fJmItdUDmj0VDT06qKhF8JVOJVkdzZhpu9PMMsmN74H+rX2Ju7pgE8pllWeg8xn2A1bUatMn4qGt g/BKEiJ3HAVz4hlxQsDsdUaakFjgao4rpUYwBI4Zshfjvqm6f1bxJAPXsiEodg42MEx51UGamqi4 NboMOvJEGyCI98Ul1z3G4z5D3Yf+xOr1Uz5MZf87Sst4WmsXXw3Hw09Omiqi7VdNIuJGmj8PkTQk fVXjjJU30xrwCSss0smNtA0Aq2cpKNgB9RkEth2+dv5yXMSFytKAQd8FqKPVhJBPC/PgP5sZ0jeJ P/J7UhyM9uH3PAeXjA6iWYEMspA90+NZRu0PqafegGtaqge2Gcu8V/OXIXoMsSt0Puvap2ctTMSY njYJdmZm/Bo/6khUHL4wvYBQv3y1zgD2DGHZ5yQD4OMBgQ692IU0iL2yNqh7XAjlRICMb/gv1SHK HRzQ+8S1h9E6Tsd2tTVItQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSM+xx1 vALTn04uSNn5YFSqxLNP+jAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQENBQADggIBAEii1QAL LtA/vBzVtVRJHlpr9OTy4EA34MwUe7nJ+jW1dReTagVphZzNTxl4WxmB82M+w85bj/UvXgF2Ez8s ALnNllI5SW0ETsXpD4YN4fqzX4IS8TrOZgYkNCvozMrnadyHncI013nR03e4qllY/p0m+jiGPp2K h2RX5Rc64vmNueMzeMGQ2Ljdt4NR5MTMI9UGfOZR0800McD2RrsLrfw9EAUqO0qRJe6M1ISHgCq8 CYyqOhNf6DR5UMEQGfnTKB7U0VEwKbOukGfWHwpjscWpxkIxYxeU72nLL/qMFH3EQxiJ2fAyQOaA 4kZf5ePBAFmo+eggvIksDkc0C+pXwlM2/KfUrzHN/gLldfq5Jwn58/U7yn2fqSLLiMmq0Uc9Nneo WWRrJ8/vJ8HjJLWG965+Mk2weWjROeiQWMODvA8s1pfrzgzhIMfatz7DP78v3DSk+yshzWePS/Tj 6tQ/50+6uaWTRRxmHyH6ZF5v4HaUMst19W7l9o/HuKTMqJZ9ZPskWkoDbGs4xugDQ5r3V7mzKWmT OPQD8rv7gmsHINFSH5pkAnuYZttcTVoP0ISVoDwUQwbKytu4QTbaakRnh6+v40URFWkIsr4WOZck bxJF0WddCajJFdr60qZfE2Efv4WstK2tBZQIgx51F9NxO5NQI1mg7TyRVJ12AMXDuDjb -----END CERTIFICATE----- TunTrust Root CA ================ -----BEGIN CERTIFICATE----- MIIFszCCA5ugAwIBAgIUEwLV4kBMkkaGFmddtLu7sms+/BMwDQYJKoZIhvcNAQELBQAwYTELMAkG A1UEBhMCVE4xNzA1BgNVBAoMLkFnZW5jZSBOYXRpb25hbGUgZGUgQ2VydGlmaWNhdGlvbiBFbGVj dHJvbmlxdWUxGTAXBgNVBAMMEFR1blRydXN0IFJvb3QgQ0EwHhcNMTkwNDI2MDg1NzU2WhcNNDQw NDI2MDg1NzU2WjBhMQswCQYDVQQGEwJUTjE3MDUGA1UECgwuQWdlbmNlIE5hdGlvbmFsZSBkZSBD ZXJ0aWZpY2F0aW9uIEVsZWN0cm9uaXF1ZTEZMBcGA1UEAwwQVHVuVHJ1c3QgUm9vdCBDQTCCAiIw DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMPN0/y9BFPdDCA61YguBUtB9YOCfvdZn56eY+hz 2vYGqU8ftPkLHzmMmiDQfgbU7DTZhrx1W4eI8NLZ1KMKsmwb60ksPqxd2JQDoOw05TDENX37Jk0b bjBU2PWARZw5rZzJJQRNmpA+TkBuimvNKWfGzC3gdOgFVwpIUPp6Q9p+7FuaDmJ2/uqdHYVy7BG7 NegfJ7/Boce7SBbdVtfMTqDhuazb1YMZGoXRlJfXyqNlC/M4+QKu3fZnz8k/9YosRxqZbwUN/dAd gjH8KcwAWJeRTIAAHDOFli/LQcKLEITDCSSJH7UP2dl3RxiSlGBcx5kDPP73lad9UKGAwqmDrViW VSHbhlnUr8a83YFuB9tgYv7sEG7aaAH0gxupPqJbI9dkxt/con3YS7qC0lH4Zr8GRuR5KiY2eY8f Tpkdso8MDhz/yV3A/ZAQprE38806JG60hZC/gLkMjNWb1sjxVj8agIl6qeIbMlEsPvLfe/ZdeikZ juXIvTZxi11Mwh0/rViizz1wTaZQmCXcI/m4WEEIcb9PuISgjwBUFfyRbVinljvrS5YnzWuioYas DXxU5mZMZl+QviGaAkYt5IPCgLnPSz7ofzwB7I9ezX/SKEIBlYrilz0QIX32nRzFNKHsLA4KUiwS VXAkPcvCFDVDXSdOvsC9qnyW5/yeYa1E0wCXAgMBAAGjYzBhMB0GA1UdDgQWBBQGmpsfU33x9aTI 04Y+oXNZtPdEITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFAaamx9TffH1pMjThj6hc1m0 90QhMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAqgVutt0Vyb+zxiD2BkewhpMl 0425yAA/l/VSJ4hxyXT968pk21vvHl26v9Hr7lxpuhbI87mP0zYuQEkHDVneixCwSQXi/5E/S7fd Ao74gShczNxtr18UnH1YeA32gAm56Q6XKRm4t+v4FstVEuTGfbvE7Pi1HE4+Z7/FXxttbUcoqgRY YdZ2vyJ/0Adqp2RT8JeNnYA/u8EH22Wv5psymsNUk8QcCMNE+3tjEUPRahphanltkE8pjkcFwRJp adbGNjHh/PqAulxPxOu3Mqz4dWEX1xAZufHSCe96Qp1bWgvUxpVOKs7/B9dPfhgGiPEZtdmYu65x xBzndFlY7wyJz4sfdZMaBBSSSFCp61cpABbjNhzI+L/wM9VBD8TMPN3pM0MBkRArHtG5Xc0yGYuP jCB31yLEQtyEFpslbei0VXF/sHyz03FJuc9SpAQ/3D2gu68zngowYI7bnV2UqL1g52KAdoGDDIzM MEZJ4gzSqK/rYXHv5yJiqfdcZGyfFoxnNidF9Ql7v/YQCvGwjVRDjAS6oz/v4jXH+XTgbzRB0L9z ZVcg+ZtnemZoJE6AZb0QmQZZ8mWvuMZHu/2QeItBcy6vVR/cO5JyboTT0GFMDcx2V+IthSIVNg3r AZ3r2OvEhJn7wAzMMujjd9qDRIueVSjAi1jTkD5OGwDxFa2DK5o= -----END CERTIFICATE----- HARICA TLS RSA Root CA 2021 =========================== -----BEGIN CERTIFICATE----- MIIFpDCCA4ygAwIBAgIQOcqTHO9D88aOk8f0ZIk4fjANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQG EwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u cyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBSU0EgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTEwNTUz OFoXDTQ1MDIxMzEwNTUzN1owbDELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRl bWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgUlNB IFJvb3QgQ0EgMjAyMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIvC569lmwVnlskN JLnQDmT8zuIkGCyEf3dRywQRNrhe7Wlxp57kJQmXZ8FHws+RFjZiPTgE4VGC/6zStGndLuwRo0Xu a2s7TL+MjaQenRG56Tj5eg4MmOIjHdFOY9TnuEFE+2uva9of08WRiFukiZLRgeaMOVig1mlDqa2Y Ulhu2wr7a89o+uOkXjpFc5gH6l8Cct4MpbOfrqkdtx2z/IpZ525yZa31MJQjB/OCFks1mJxTuy/K 5FrZx40d/JiZ+yykgmvwKh+OC19xXFyuQnspiYHLA6OZyoieC0AJQTPb5lh6/a6ZcMBaD9YThnEv dmn8kN3bLW7R8pv1GmuebxWMevBLKKAiOIAkbDakO/IwkfN4E8/BPzWr8R0RI7VDIp4BkrcYAuUR 0YLbFQDMYTfBKnya4dC6s1BG7oKsnTH4+yPiAwBIcKMJJnkVU2DzOFytOOqBAGMUuTNe3QvboEUH GjMJ+E20pwKmafTCWQWIZYVWrkvL4N48fS0ayOn7H6NhStYqE613TBoYm5EPWNgGVMWX+Ko/IIqm haZ39qb8HOLubpQzKoNQhArlT4b4UEV4AIHrW2jjJo3Me1xR9BQsQL4aYB16cmEdH2MtiKrOokWQ CPxrvrNQKlr9qEgYRtaQQJKQCoReaDH46+0N0x3GfZkYVVYnZS6NRcUk7M7jAgMBAAGjQjBAMA8G A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFApII6ZgpJIKM+qTW8VX6iVNvRLuMA4GA1UdDwEB/wQE AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAPpBIqm5iFSVmewzVjIuJndftTgfvnNAUX15QvWiWkKQU EapobQk1OUAJ2vQJLDSle1mESSmXdMgHHkdt8s4cUCbjnj1AUz/3f5Z2EMVGpdAgS1D0NTsY9FVq QRtHBmg8uwkIYtlfVUKqrFOFrJVWNlar5AWMxajaH6NpvVMPxP/cyuN+8kyIhkdGGvMA9YCRotxD QpSbIPDRzbLrLFPCU3hKTwSUQZqPJzLB5UkZv/HywouoCjkxKLR9YjYsTewfM7Z+d21+UPCfDtcR j88YxeMn/ibvBZ3PzzfF0HvaO7AWhAw6k9a+F9sPPg4ZeAnHqQJyIkv3N3a6dcSFA1pj1bF1BcK5 vZStjBWZp5N99sXzqnTPBIWUmAD04vnKJGW/4GKvyMX6ssmeVkjaef2WdhW+o45WxLM0/L5H9MG0 qPzVMIho7suuyWPEdr6sOBjhXlzPrjoiUevRi7PzKzMHVIf6tLITe7pTBGIBnfHAT+7hOtSLIBD6 Alfm78ELt5BGnBkpjNxvoEppaZS3JGWg/6w/zgH7IS79aPib8qXPMThcFarmlwDB31qlpzmq6YR/ PFGoOtmUW4y/Twhx5duoXNTSpv4Ao8YWxw/ogM4cKGR0GQjTQuPOAF1/sdwTsOEFy9EgqoZ0njnn kf3/W9b3raYvAwtt41dU63ZTGI0RmLo= -----END CERTIFICATE----- HARICA TLS ECC Root CA 2021 =========================== -----BEGIN CERTIFICATE----- MIICVDCCAdugAwIBAgIQZ3SdjXfYO2rbIvT/WeK/zjAKBggqhkjOPQQDAzBsMQswCQYDVQQGEwJH UjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBD QTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBFQ0MgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTExMDExMFoX DTQ1MDIxMzExMDEwOVowbDELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWlj IGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgRUNDIFJv b3QgQ0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDgI/rGgltJ6rK9JOtDA4MM7KKrxcm1l AEeIhPyaJmuqS7psBAqIXhfyVYf8MLA04jRYVxqEU+kw2anylnTDUR9YSTHMmE5gEYd103KUkE+b ECUqqHgtvpBBWJAVcqeht6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUyRtTgRL+BNUW 0aq8mm+3oJUZbsowDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2cAMGQCMBHervjcToiwqfAi rcJRQO9gcS3ujwLEXQNwSaSS6sUUiHCm0w2wqsosQJz76YJumgIwK0eaB8bRwoF8yguWGEEbo/Qw CZ61IygNnxS2PFOiTAZpffpskcYqSUXm7LcT4Tps -----END CERTIFICATE----- Autoridad de Certificacion Firmaprofesional CIF A62634068 ========================================================= -----BEGIN CERTIFICATE----- MIIGFDCCA/ygAwIBAgIIG3Dp0v+ubHEwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCRVMxQjBA BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 MjYzNDA2ODAeFw0xNDA5MjMxNTIyMDdaFw0zNjA1MDUxNTIyMDdaMFExCzAJBgNVBAYTAkVTMUIw QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY 7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMB0GA1Ud DgQWBBRlzeurNR4APn7VdMActHNHDhpkLzASBgNVHRMBAf8ECDAGAQH/AgEBMIGmBgNVHSAEgZ4w gZswgZgGBFUdIAAwgY8wLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuZmlybWFwcm9mZXNpb25hbC5j b20vY3BzMFwGCCsGAQUFBwICMFAeTgBQAGEAcwBlAG8AIABkAGUAIABsAGEAIABCAG8AbgBhAG4A bwB2AGEAIAA0ADcAIABCAGEAcgBjAGUAbABvAG4AYQAgADAAOAAwADEANzAOBgNVHQ8BAf8EBAMC AQYwDQYJKoZIhvcNAQELBQADggIBAHSHKAIrdx9miWTtj3QuRhy7qPj4Cx2Dtjqn6EWKB7fgPiDL 4QjbEwj4KKE1soCzC1HA01aajTNFSa9J8OA9B3pFE1r/yJfY0xgsfZb43aJlQ3CTkBW6kN/oGbDb LIpgD7dvlAceHabJhfa9NPhAeGIQcDq+fUs5gakQ1JZBu/hfHAsdCPKxsIl68veg4MSPi3i1O1il I45PVf42O+AMt8oqMEEgtIDNrvx2ZnOorm7hfNoD6JQg5iKj0B+QXSBTFCZX2lSX3xZEEAEeiGaP cjiT3SC3NL7X8e5jjkd5KAb881lFJWAiMxujX6i6KtoaPc1A6ozuBRWV1aUsIC+nmCjuRfzxuIgA LI9C2lHVnOUTaHFFQ4ueCyE8S1wF3BqfmI7avSKecs2tCsvMo2ebKHTEm9caPARYpoKdrcd7b/+A lun4jWq9GJAd/0kakFI3ky88Al2CdgtR5xbHV/g4+afNmyJU72OwFW1TZQNKXkqgsqeOSQBZONXH 9IBk9W6VULgRfhVwOEqwf9DEMnDAGf/JOC0ULGb0QkTmVXYbgBVX/8Cnp6o5qtjTcNAuuuuUavpf NIbnYrX9ivAwhZTJryQCL2/W3Wf+47BVTwSYT6RBVuKT0Gro1vP7ZeDOdcQxWQzugsgMYDNKGbqE ZycPvEJdvSRUDewdcAZfpLz6IHxV -----END CERTIFICATE----- vTrus ECC Root CA ================= -----BEGIN CERTIFICATE----- MIICDzCCAZWgAwIBAgIUbmq8WapTvpg5Z6LSa6Q75m0c1towCgYIKoZIzj0EAwMwRzELMAkGA1UE BhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xGjAYBgNVBAMTEXZUcnVzIEVDQyBS b290IENBMB4XDTE4MDczMTA3MjY0NFoXDTQzMDczMTA3MjY0NFowRzELMAkGA1UEBhMCQ04xHDAa BgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xGjAYBgNVBAMTEXZUcnVzIEVDQyBSb290IENBMHYw EAYHKoZIzj0CAQYFK4EEACIDYgAEZVBKrox5lkqqHAjDo6LN/llWQXf9JpRCux3NCNtzslt188+c ToL0v/hhJoVs1oVbcnDS/dtitN9Ti72xRFhiQgnH+n9bEOf+QP3A2MMrMudwpremIFUde4BdS49n TPEQo0IwQDAdBgNVHQ4EFgQUmDnNvtiyjPeyq+GtJK97fKHbH88wDwYDVR0TAQH/BAUwAwEB/zAO BgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwMDaAAwZQIwV53dVvHH4+m4SVBrm2nDb+zDfSXkV5UT QJtS0zvzQBm8JsctBp61ezaf9SXUY2sAAjEA6dPGnlaaKsyh2j/IZivTWJwghfqrkYpwcBE4YGQL YgmRWAD5Tfs0aNoJrSEGGJTO -----END CERTIFICATE----- vTrus Root CA ============= -----BEGIN CERTIFICATE----- MIIFVjCCAz6gAwIBAgIUQ+NxE9izWRRdt86M/TX9b7wFjUUwDQYJKoZIhvcNAQELBQAwQzELMAkG A1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xFjAUBgNVBAMTDXZUcnVzIFJv b3QgQ0EwHhcNMTgwNzMxMDcyNDA1WhcNNDMwNzMxMDcyNDA1WjBDMQswCQYDVQQGEwJDTjEcMBoG A1UEChMTaVRydXNDaGluYSBDby4sTHRkLjEWMBQGA1UEAxMNdlRydXMgUm9vdCBDQTCCAiIwDQYJ KoZIhvcNAQEBBQADggIPADCCAgoCggIBAL1VfGHTuB0EYgWgrmy3cLRB6ksDXhA/kFocizuwZots SKYcIrrVQJLuM7IjWcmOvFjai57QGfIvWcaMY1q6n6MLsLOaXLoRuBLpDLvPbmyAhykUAyyNJJrI ZIO1aqwTLDPxn9wsYTwaP3BVm60AUn/PBLn+NvqcwBauYv6WTEN+VRS+GrPSbcKvdmaVayqwlHeF XgQPYh1jdfdr58tbmnDsPmcF8P4HCIDPKNsFxhQnL4Z98Cfe/+Z+M0jnCx5Y0ScrUw5XSmXX+6KA YPxMvDVTAWqXcoKv8R1w6Jz1717CbMdHflqUhSZNO7rrTOiwCcJlwp2dCZtOtZcFrPUGoPc2BX70 kLJrxLT5ZOrpGgrIDajtJ8nU57O5q4IikCc9Kuh8kO+8T/3iCiSn3mUkpF3qwHYw03dQ+A0Em5Q2 AXPKBlim0zvc+gRGE1WKyURHuFE5Gi7oNOJ5y1lKCn+8pu8fA2dqWSslYpPZUxlmPCdiKYZNpGvu /9ROutW04o5IWgAZCfEF2c6Rsffr6TlP9m8EQ5pV9T4FFL2/s1m02I4zhKOQUqqzApVg+QxMaPnu 1RcN+HFXtSXkKe5lXa/R7jwXC1pDxaWG6iSe4gUH3DRCEpHWOXSuTEGC2/KmSNGzm/MzqvOmwMVO 9fSddmPmAsYiS8GVP1BkLFTltvA8Kc9XAgMBAAGjQjBAMB0GA1UdDgQWBBRUYnBj8XWEQ1iO0RYg scasGrz2iTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOC AgEAKbqSSaet8PFww+SX8J+pJdVrnjT+5hpk9jprUrIQeBqfTNqK2uwcN1LgQkv7bHbKJAs5EhWd nxEt/Hlk3ODg9d3gV8mlsnZwUKT+twpw1aA08XXXTUm6EdGz2OyC/+sOxL9kLX1jbhd47F18iMjr jld22VkE+rxSH0Ws8HqA7Oxvdq6R2xCOBNyS36D25q5J08FsEhvMKar5CKXiNxTKsbhm7xqC5PD4 8acWabfbqWE8n/Uxy+QARsIvdLGx14HuqCaVvIivTDUHKgLKeBRtRytAVunLKmChZwOgzoy8sHJn xDHO2zTlJQNgJXtxmOTAGytfdELSS8VZCAeHvsXDf+eW2eHcKJfWjwXj9ZtOyh1QRwVTsMo554Wg icEFOwE30z9J4nfrI8iIZjs9OXYhRvHsXyO466JmdXTBQPfYaJqT4i2pLr0cox7IdMakLXogqzu4 sEb9b91fUlV1YvCXoHzXOP0l382gmxDPi7g4Xl7FtKYCNqEeXxzP4padKar9mK5S4fNBUvupLnKW nyfjqnN9+BojZns7q2WwMgFLFT49ok8MKzWixtlnEjUwzXYuFrOZnk1PTi07NEPhmg4NpGaXutIc SkwsKouLgU9xGqndXHt7CMUADTdA43x7VF8vhV929vensBxXVsFy6K2ir40zSbofitzmdHxghm+H l3s= -----END CERTIFICATE----- ISRG Root X2 ============ -----BEGIN CERTIFICATE----- MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQswCQYDVQQGEwJV UzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElT UkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVT MSkwJwYDVQQKEyBJbnRlcm5ldCBTZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNS RyBSb290IFgyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0H ttwW+1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9ItgKbppb d9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV HQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZIzj0EAwMDaAAwZQIwe3lORlCEwkSHRhtF cP9Ymd70/aTSVaYgLXTWNLxBo1BfASdWtL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5 U6VR5CmD1/iQMVtCnwr1/q4AaOeMSQ+2b1tbFfLn -----END CERTIFICATE----- HiPKI Root CA - G1 ================== -----BEGIN CERTIFICATE----- MIIFajCCA1KgAwIBAgIQLd2szmKXlKFD6LDNdmpeYDANBgkqhkiG9w0BAQsFADBPMQswCQYDVQQG EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xGzAZBgNVBAMMEkhpUEtJ IFJvb3QgQ0EgLSBHMTAeFw0xOTAyMjIwOTQ2MDRaFw0zNzEyMzExNTU5NTlaME8xCzAJBgNVBAYT AlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEbMBkGA1UEAwwSSGlQS0kg Um9vdCBDQSAtIEcxMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9B5/UnMyDHPkvRN0 o9QwqNCuS9i233VHZvR85zkEHmpwINJaR3JnVfSl6J3VHiGh8Ge6zCFovkRTv4354twvVcg3Px+k wJyz5HdcoEb+d/oaoDjq7Zpy3iu9lFc6uux55199QmQ5eiY29yTw1S+6lZgRZq2XNdZ1AYDgr/SE YYwNHl98h5ZeQa/rh+r4XfEuiAU+TCK72h8q3VJGZDnzQs7ZngyzsHeXZJzA9KMuH5UHsBffMNsA GJZMoYFL3QRtU6M9/Aes1MU3guvklQgZKILSQjqj2FPseYlgSGDIcpJQ3AOPgz+yQlda22rpEZfd hSi8MEyr48KxRURHH+CKFgeW0iEPU8DtqX7UTuybCeyvQqww1r/REEXgphaypcXTT3OUM3ECoWqj 1jOXTyFjHluP2cFeRXF3D4FdXyGarYPM+l7WjSNfGz1BryB1ZlpK9p/7qxj3ccC2HTHsOyDry+K4 9a6SsvfhhEvyovKTmiKe0xRvNlS9H15ZFblzqMF8b3ti6RZsR1pl8w4Rm0bZ/W3c1pzAtH2lsN0/ Vm+h+fbkEkj9Bn8SV7apI09bA8PgcSojt/ewsTu8mL3WmKgMa/aOEmem8rJY5AIJEzypuxC00jBF 8ez3ABHfZfjcK0NVvxaXxA/VLGGEqnKG/uY6fsI/fe78LxQ+5oXdUG+3Se0CAwEAAaNCMEAwDwYD VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ncX+l6o/vY9cdVouslGDDjYr7AwDgYDVR0PAQH/BAQD AgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBQUfB13HAE4/+qddRxosuej6ip0691x1TPOhwEmSKsxBHi 7zNKpiMdDg1H2DfHb680f0+BazVP6XKlMeJ45/dOlBhbQH3PayFUhuaVevvGyuqcSE5XCV0vrPSl tJczWNWseanMX/mF+lLFjfiRFOs6DRfQUsJ748JzjkZ4Bjgs6FzaZsT0pPBWGTMpWmWSBUdGSquE wx4noR8RkpkndZMPvDY7l1ePJlsMu5wP1G4wB9TcXzZoZjmDlicmisjEOf6aIW/Vcobpf2Lll07Q JNBAsNB1CI69aO4I1258EHBGG3zgiLKecoaZAeO/n0kZtCW+VmWuF2PlHt/o/0elv+EmBYTksMCv 5wiZqAxeJoBF1PhoL5aPruJKHJwWDBNvOIf2u8g0X5IDUXlwpt/L9ZlNec1OvFefQ05rLisY+Gpz jLrFNe85akEez3GoorKGB1s6yeHvP2UEgEcyRHCVTjFnanRbEEV16rCf0OY1/k6fi8wrkkVbbiVg hUbN0aqwdmaTd5a+g744tiROJgvM7XpWGuDpWsZkrUx6AEhEL7lAuxM+vhV4nYWBSipX3tUZQ9rb yltHhoMLP7YNdnhzeSJesYAfz77RP1YQmCuVh6EfnWQUYDksswBVLuT1sw5XxJFBAJw/6KXf6vb/ yPCtbVKoF6ubYfwSUTXkJf2vqmqGOQ== -----END CERTIFICATE----- GlobalSign ECC Root CA - R4 =========================== -----BEGIN CERTIFICATE----- MIIB3DCCAYOgAwIBAgINAgPlfvU/k/2lCSGypjAKBggqhkjOPQQDAjBQMSQwIgYDVQQLExtHbG9i YWxTaWduIEVDQyBSb290IENBIC0gUjQxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds b2JhbFNpZ24wHhcNMTIxMTEzMDAwMDAwWhcNMzgwMTE5MDMxNDA3WjBQMSQwIgYDVQQLExtHbG9i YWxTaWduIEVDQyBSb290IENBIC0gUjQxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds b2JhbFNpZ24wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAS4xnnTj2wlDp8uORkcA6SumuU5BwkW ymOxuYb4ilfBV85C+nOh92VC/x7BALJucw7/xyHlGKSq2XE/qNS5zowdo0IwQDAOBgNVHQ8BAf8E BAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVLB7rUW44kB/+wpu+74zyTyjhNUwCgYI KoZIzj0EAwIDRwAwRAIgIk90crlgr/HmnKAWBVBfw147bmF0774BxL4YSFlhgjICICadVGNA3jdg UM/I2O2dgq43mLyjj0xMqTQrbO/7lZsm -----END CERTIFICATE----- GTS Root R1 =========== -----BEGIN CERTIFICATE----- MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQGEwJV UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg UjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0G CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaM f/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7wCl7raKb0 xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjwTcLCeoiKu7rPWRnWr4+w B7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0PfyblqAj+lug8aJRT7oM6iCsVlgmy4HqMLnXW nOunVmSPlk9orj2XwoSPwLxAwAtcvfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk 9+aCEI3oncKKiPo4Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zq kUspzBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92wO1A K/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70paDPvOmbsB4om3xPX V2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrNVjzRlwW5y0vtOUucxD/SVRNuJLDW cfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0T AQH/BAUwAwEB/zAdBgNVHQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQAD ggIBAJ+qQibbC5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuyh6f88/qBVRRi ClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM47HLwEXWdyzRSjeZ2axfG34ar J45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8JZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYci NuaCp+0KueIHoI17eko8cdLiA6EfMgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5me LMFrUKTX5hgUvYU/Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJF fbdT6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ0E6yove+ 7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm2tIMPNuzjsmhDYAPexZ3 FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bbbP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3 gm3c -----END CERTIFICATE----- GTS Root R2 =========== -----BEGIN CERTIFICATE----- MIIFVzCCAz+gAwIBAgINAgPlrsWNBCUaqxElqjANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQGEwJV UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg UjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0G CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3Lv CvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY6Dlo7JUl e3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAuMC6C/Pq8tBcKSOWIm8Wb a96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7kRXuJVfeKH2JShBKzwkCX44ofR5GmdFrS +LFjKBC4swm4VndAoiaYecb+3yXuPuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7M kogwTZq9TwtImoS1mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJG r61K8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RWIr9q S34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKaG73VululycslaVNV J1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCqgc7dGtxRcw1PcOnlthYhGXmy5okL dWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0T AQH/BAUwAwEB/zAdBgNVHQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQAD ggIBAB/Kzt3HvqGf2SdMC9wXmBFqiN495nFWcrKeGk6c1SuYJF2ba3uwM4IJvd8lRuqYnrYb/oM8 0mJhwQTtzuDFycgTE1XnqGOtjHsB/ncw4c5omwX4Eu55MaBBRTUoCnGkJE+M3DyCB19m3H0Q/gxh swWV7uGugQ+o+MePTagjAiZrHYNSVc61LwDKgEDg4XSsYPWHgJ2uNmSRXbBoGOqKYcl3qJfEycel /FVL8/B/uWU9J2jQzGv6U53hkRrJXRqWbTKH7QMgyALOWr7Z6v2yTcQvG99fevX4i8buMTolUVVn jWQye+mew4K6Ki3pHrTgSAai/GevHyICc/sgCq+dVEuhzf9gR7A/Xe8bVr2XIZYtCtFenTgCR2y5 9PYjJbigapordwj6xLEokCZYCDzifqrXPW+6MYgKBesntaFJ7qBFVHvmJ2WZICGoo7z7GJa7Um8M 7YNRTOlZ4iBgxcJlkoKM8xAfDoqXvneCbT+PHV28SSe9zE8P4c52hgQjxcCMElv924SgJPFI/2R8 0L5cFtHvma3AH/vLrrw4IgYmZNralw4/KBVEqE8AyvCazM90arQ+POuV7LXTWtiBmelDGDfrs7vR WGJB82bSj6p4lVQgw1oudCvV0b4YacCs1aTPObpRhANl6WLAYv7YTVWW4tAR+kg0Eeye7QUd5MjW HYbL -----END CERTIFICATE----- GTS Root R3 =========== -----BEGIN CERTIFICATE----- MIICCTCCAY6gAwIBAgINAgPluILrIPglJ209ZjAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJVUzEi MCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMw HhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZ R29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjO PQIBBgUrgQQAIgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout 736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL24CejQjBA MA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTB8Sa6oC2uhYHP0/Eq Er24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEA9uEglRR7VKOQFhG/hMjqb2sXnh5GmCCbn9MN2azT L818+FsuVbu/3ZL3pAzcMeGiAjEA/JdmZuVDFhOD3cffL74UOO0BzrEXGhF16b0DjyZ+hOXJYKaV 11RZt+cRLInUue4X -----END CERTIFICATE----- GTS Root R4 =========== -----BEGIN CERTIFICATE----- MIICCTCCAY6gAwIBAgINAgPlwGjvYxqccpBQUjAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJVUzEi MCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQw HhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZ R29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjO PQIBBgUrgQQAIgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzu hXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvRHYqjQjBA MA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSATNbrdP9JNqPV2Py1 PsVq8JQdjDAKBggqhkjOPQQDAwNpADBmAjEA6ED/g94D9J+uHXqnLrmvT/aDHQ4thQEd0dlq7A/C r8deVl5c1RxYIigL9zC2L7F8AjEA8GE8p/SgguMh1YQdc4acLa/KNJvxn7kjNuK8YAOdgLOaVsjh 4rsUecrNIdSUtUlD -----END CERTIFICATE----- Telia Root CA v2 ================ -----BEGIN CERTIFICATE----- MIIFdDCCA1ygAwIBAgIPAWdfJ9b+euPkrL4JWwWeMA0GCSqGSIb3DQEBCwUAMEQxCzAJBgNVBAYT AkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2 MjAeFw0xODExMjkxMTU1NTRaFw00MzExMjkxMTU1NTRaMEQxCzAJBgNVBAYTAkZJMRowGAYDVQQK DBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2MjCCAiIwDQYJKoZI hvcNAQEBBQADggIPADCCAgoCggIBALLQPwe84nvQa5n44ndp586dpAO8gm2h/oFlH0wnrI4AuhZ7 6zBqAMCzdGh+sq/H1WKzej9Qyow2RCRj0jbpDIX2Q3bVTKFgcmfiKDOlyzG4OiIjNLh9vVYiQJ3q 9HsDrWj8soFPmNB06o3lfc1jw6P23pLCWBnglrvFxKk9pXSW/q/5iaq9lRdU2HhE8Qx3FZLgmEKn pNaqIJLNwaCzlrI6hEKNfdWV5Nbb6WLEWLN5xYzTNTODn3WhUidhOPFZPY5Q4L15POdslv5e2QJl tI5c0BE0312/UqeBAMN/mUWZFdUXyApT7GPzmX3MaRKGwhfwAZ6/hLzRUssbkmbOpFPlob/E2wnW 5olWK8jjfN7j/4nlNW4o6GwLI1GpJQXrSPjdscr6bAhR77cYbETKJuFzxokGgeWKrLDiKca5JLNr RBH0pUPCTEPlcDaMtjNXepUugqD0XBCzYYP2AgWGLnwtbNwDRm41k9V6lS/eINhbfpSQBGq6WT0E BXWdN6IOLj3rwaRSg/7Qa9RmjtzG6RJOHSpXqhC8fF6CfaamyfItufUXJ63RDolUK5X6wK0dmBR4 M0KGCqlztft0DbcbMBnEWg4cJ7faGND/isgFuvGqHKI3t+ZIpEYslOqodmJHixBTB0hXbOKSTbau BcvcwUpej6w9GU7C7WB1K9vBykLVAgMBAAGjYzBhMB8GA1UdIwQYMBaAFHKs5DN5qkWH9v2sHZ7W xy+G2CQ5MB0GA1UdDgQWBBRyrOQzeapFh/b9rB2e1scvhtgkOTAOBgNVHQ8BAf8EBAMCAQYwDwYD VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAoDtZpwmUPjaE0n4vOaWWl/oRrfxn83EJ 8rKJhGdEr7nv7ZbsnGTbMjBvZ5qsfl+yqwE2foH65IRe0qw24GtixX1LDoJt0nZi0f6X+J8wfBj5 tFJ3gh1229MdqfDBmgC9bXXYfef6xzijnHDoRnkDry5023X4blMMA8iZGok1GTzTyVR8qPAs5m4H eW9q4ebqkYJpCh3DflminmtGFZhb069GHWLIzoBSSRE/yQQSwxN8PzuKlts8oB4KtItUsiRnDe+C y748fdHif64W1lZYudogsYMVoe+KTTJvQS8TUoKU1xrBeKJR3Stwbbca+few4GeXVtt8YVMJAygC QMez2P2ccGrGKMOF6eLtGpOg3kuYooQ+BXcBlj37tCAPnHICehIv1aO6UXivKitEZU61/Qrowc15 h2Er3oBXRb9n8ZuRXqWk7FlIEA04x7D6w0RtBPV4UBySllva9bguulvP5fBqnUsvWHMtTy3EHD70 sz+rFQ47GUGKpMFXEmZxTPpT41frYpUJnlTd0cI8Vzy9OK2YZLe4A5pTVmBds9hCG1xLEooc6+t9 xnppxyd/pPiL8uSUZodL6ZQHCRJ5irLrdATczvREWeAWysUsWNc8e89ihmpQfTU2Zqf7N+cox9jQ raVplI/owd8k+BsHMYeB2F326CjYSlKArBPuUBQemMc= -----END CERTIFICATE----- D-TRUST BR Root CA 1 2020 ========================= -----BEGIN CERTIFICATE----- MIIC2zCCAmCgAwIBAgIQfMmPK4TX3+oPyWWa00tNljAKBggqhkjOPQQDAzBIMQswCQYDVQQGEwJE RTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRSVVNUIEJSIFJvb3QgQ0EgMSAy MDIwMB4XDTIwMDIxMTA5NDUwMFoXDTM1MDIxMTA5NDQ1OVowSDELMAkGA1UEBhMCREUxFTATBgNV BAoTDEQtVHJ1c3QgR21iSDEiMCAGA1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDEgMjAyMDB2MBAG ByqGSM49AgEGBSuBBAAiA2IABMbLxyjR+4T1mu9CFCDhQ2tuda38KwOE1HaTJddZO0Flax7mNCq7 dPYSzuht56vkPE4/RAiLzRZxy7+SmfSk1zxQVFKQhYN4lGdnoxwJGT11NIXe7WB9xwy0QVK5buXu QqOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHOREKv/VbNafAkl1bK6CKBrqx9t MA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6gPKA6hjhodHRwOi8vY3JsLmQtdHJ1c3Qu bmV0L2NybC9kLXRydXN0X2JyX3Jvb3RfY2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVj dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwQlIlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxP PUQtVHJ1c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjOPQQD AwNpADBmAjEAlJAtE/rhY/hhY+ithXhUkZy4kzg+GkHaQBZTQgjKL47xPoFWwKrY7RjEsK70Pvom AjEA8yjixtsrmfu3Ubgko6SUeho/5jbiA1czijDLgsfWFBHVdWNbFJWcHwHP2NVypw87 -----END CERTIFICATE----- D-TRUST EV Root CA 1 2020 ========================= -----BEGIN CERTIFICATE----- MIIC2zCCAmCgAwIBAgIQXwJB13qHfEwDo6yWjfv/0DAKBggqhkjOPQQDAzBIMQswCQYDVQQGEwJE RTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRSVVNUIEVWIFJvb3QgQ0EgMSAy MDIwMB4XDTIwMDIxMTEwMDAwMFoXDTM1MDIxMTA5NTk1OVowSDELMAkGA1UEBhMCREUxFTATBgNV BAoTDEQtVHJ1c3QgR21iSDEiMCAGA1UEAxMZRC1UUlVTVCBFViBSb290IENBIDEgMjAyMDB2MBAG ByqGSM49AgEGBSuBBAAiA2IABPEL3YZDIBnfl4XoIkqbz52Yv7QFJsnL46bSj8WeeHsxiamJrSc8 ZRCC/N/DnU7wMyPE0jL1HLDfMxddxfCxivnvubcUyilKwg+pf3VlSSowZ/Rk99Yad9rDwpdhQntJ raOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFH8QARY3OqQo5FD4pPfsazK2/umL MA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6gPKA6hjhodHRwOi8vY3JsLmQtdHJ1c3Qu bmV0L2NybC9kLXRydXN0X2V2X3Jvb3RfY2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVj dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwRVYlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxP PUQtVHJ1c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjOPQQD AwNpADBmAjEAyjzGKnXCXnViOTYAYFqLwZOZzNnbQTs7h5kXO9XMT8oi96CAy/m0sRtW9XLS/BnR AjEAkfcwkz8QRitxpNA7RJvAKQIFskF3UfN5Wp6OFKBOQtJbgfM0agPnIjhQW+0ZT0MW -----END CERTIFICATE----- ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.339062 stripe-13.2.0/stripe/entitlements/__init__.py0000644000000000000000000000304115102753431016162 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.entitlements._active_entitlement import ( ActiveEntitlement as ActiveEntitlement, ) from stripe.entitlements._active_entitlement_service import ( ActiveEntitlementService as ActiveEntitlementService, ) from stripe.entitlements._active_entitlement_summary import ( ActiveEntitlementSummary as ActiveEntitlementSummary, ) from stripe.entitlements._feature import Feature as Feature from stripe.entitlements._feature_service import ( FeatureService as FeatureService, ) # name -> (import_target, is_submodule) _import_map = { "ActiveEntitlement": ("stripe.entitlements._active_entitlement", False), "ActiveEntitlementService": ( "stripe.entitlements._active_entitlement_service", False, ), "ActiveEntitlementSummary": ( "stripe.entitlements._active_entitlement_summary", False, ), "Feature": ("stripe.entitlements._feature", False), "FeatureService": ("stripe.entitlements._feature_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.339062 stripe-13.2.0/stripe/entitlements/_active_entitlement.py0000644000000000000000000000636215102753431020456 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from typing import ClassVar from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.entitlements._feature import Feature from stripe.params.entitlements._active_entitlement_list_params import ( ActiveEntitlementListParams, ) from stripe.params.entitlements._active_entitlement_retrieve_params import ( ActiveEntitlementRetrieveParams, ) class ActiveEntitlement(ListableAPIResource["ActiveEntitlement"]): """ An active entitlement describes access to a feature for a customer. """ OBJECT_NAME: ClassVar[Literal["entitlements.active_entitlement"]] = ( "entitlements.active_entitlement" ) feature: ExpandableField["Feature"] """ The [Feature](https://stripe.com/docs/api/entitlements/feature) that the customer is entitled to. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ lookup_key: str """ A unique key you provide as your own system identifier. This may be up to 80 characters. """ object: Literal["entitlements.active_entitlement"] """ String representing the object's type. Objects of the same type share the same value. """ @classmethod def list( cls, **params: Unpack["ActiveEntitlementListParams"] ) -> ListObject["ActiveEntitlement"]: """ Retrieve a list of active entitlements for a customer """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ActiveEntitlementListParams"] ) -> ListObject["ActiveEntitlement"]: """ Retrieve a list of active entitlements for a customer """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["ActiveEntitlementRetrieveParams"] ) -> "ActiveEntitlement": """ Retrieve an active entitlement """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ActiveEntitlementRetrieveParams"] ) -> "ActiveEntitlement": """ Retrieve an active entitlement """ instance = cls(id, **params) await instance.refresh_async() return instance ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.339062 stripe-13.2.0/stripe/entitlements/_active_entitlement_service.py0000644000000000000000000000604615102753431022175 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.entitlements._active_entitlement import ActiveEntitlement from stripe.params.entitlements._active_entitlement_list_params import ( ActiveEntitlementListParams, ) from stripe.params.entitlements._active_entitlement_retrieve_params import ( ActiveEntitlementRetrieveParams, ) class ActiveEntitlementService(StripeService): def list( self, params: "ActiveEntitlementListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[ActiveEntitlement]": """ Retrieve a list of active entitlements for a customer """ return cast( "ListObject[ActiveEntitlement]", self._request( "get", "/v1/entitlements/active_entitlements", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "ActiveEntitlementListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[ActiveEntitlement]": """ Retrieve a list of active entitlements for a customer """ return cast( "ListObject[ActiveEntitlement]", await self._request_async( "get", "/v1/entitlements/active_entitlements", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["ActiveEntitlementRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ActiveEntitlement": """ Retrieve an active entitlement """ return cast( "ActiveEntitlement", self._request( "get", "/v1/entitlements/active_entitlements/{id}".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["ActiveEntitlementRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ActiveEntitlement": """ Retrieve an active entitlement """ return cast( "ActiveEntitlement", await self._request_async( "get", "/v1/entitlements/active_entitlements/{id}".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.339062 stripe-13.2.0/stripe/entitlements/_active_entitlement_summary.py0000644000000000000000000000211115102753431022217 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._list_object import ListObject from stripe._stripe_object import StripeObject from typing import ClassVar from typing_extensions import Literal, TYPE_CHECKING if TYPE_CHECKING: from stripe.entitlements._active_entitlement import ActiveEntitlement class ActiveEntitlementSummary(StripeObject): """ A summary of a customer's active entitlements. """ OBJECT_NAME: ClassVar[ Literal["entitlements.active_entitlement_summary"] ] = "entitlements.active_entitlement_summary" customer: str """ The customer that is entitled to this feature. """ entitlements: ListObject["ActiveEntitlement"] """ The list of entitlements this customer has. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["entitlements.active_entitlement_summary"] """ String representing the object's type. Objects of the same type share the same value. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.339062 stripe-13.2.0/stripe/entitlements/_feature.py0000644000000000000000000001262215102753431016222 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, Dict, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.entitlements._feature_create_params import ( FeatureCreateParams, ) from stripe.params.entitlements._feature_list_params import ( FeatureListParams, ) from stripe.params.entitlements._feature_modify_params import ( FeatureModifyParams, ) from stripe.params.entitlements._feature_retrieve_params import ( FeatureRetrieveParams, ) class Feature( CreateableAPIResource["Feature"], ListableAPIResource["Feature"], UpdateableAPIResource["Feature"], ): """ 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. """ OBJECT_NAME: ClassVar[Literal["entitlements.feature"]] = ( "entitlements.feature" ) active: bool """ Inactive features cannot be attached to new products and will not be returned from the features list endpoint. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ lookup_key: str """ A unique key you provide as your own system identifier. This may be up to 80 characters. """ metadata: Dict[str, str] """ Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. """ name: str """ The feature's name, for your own purpose, not meant to be displayable to the customer. """ object: Literal["entitlements.feature"] """ String representing the object's type. Objects of the same type share the same value. """ @classmethod def create(cls, **params: Unpack["FeatureCreateParams"]) -> "Feature": """ Creates a feature """ return cast( "Feature", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["FeatureCreateParams"] ) -> "Feature": """ Creates a feature """ return cast( "Feature", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["FeatureListParams"] ) -> ListObject["Feature"]: """ Retrieve a list of features """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["FeatureListParams"] ) -> ListObject["Feature"]: """ Retrieve a list of features """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["FeatureModifyParams"] ) -> "Feature": """ Update a feature's metadata or permanently deactivate it. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Feature", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["FeatureModifyParams"] ) -> "Feature": """ Update a feature's metadata or permanently deactivate it. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Feature", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["FeatureRetrieveParams"] ) -> "Feature": """ Retrieves a feature """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["FeatureRetrieveParams"] ) -> "Feature": """ Retrieves a feature """ instance = cls(id, **params) await instance.refresh_async() return instance ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.339062 stripe-13.2.0/stripe/entitlements/_feature_service.py0000644000000000000000000001167115102753431017745 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.entitlements._feature import Feature from stripe.params.entitlements._feature_create_params import ( FeatureCreateParams, ) from stripe.params.entitlements._feature_list_params import ( FeatureListParams, ) from stripe.params.entitlements._feature_retrieve_params import ( FeatureRetrieveParams, ) from stripe.params.entitlements._feature_update_params import ( FeatureUpdateParams, ) class FeatureService(StripeService): def list( self, params: Optional["FeatureListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Feature]": """ Retrieve a list of features """ return cast( "ListObject[Feature]", self._request( "get", "/v1/entitlements/features", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["FeatureListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Feature]": """ Retrieve a list of features """ return cast( "ListObject[Feature]", await self._request_async( "get", "/v1/entitlements/features", base_address="api", params=params, options=options, ), ) def create( self, params: "FeatureCreateParams", options: Optional["RequestOptions"] = None, ) -> "Feature": """ Creates a feature """ return cast( "Feature", self._request( "post", "/v1/entitlements/features", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "FeatureCreateParams", options: Optional["RequestOptions"] = None, ) -> "Feature": """ Creates a feature """ return cast( "Feature", await self._request_async( "post", "/v1/entitlements/features", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["FeatureRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Feature": """ Retrieves a feature """ return cast( "Feature", self._request( "get", "/v1/entitlements/features/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["FeatureRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Feature": """ Retrieves a feature """ return cast( "Feature", await self._request_async( "get", "/v1/entitlements/features/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def update( self, id: str, params: Optional["FeatureUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Feature": """ Update a feature's metadata or permanently deactivate it. """ return cast( "Feature", self._request( "post", "/v1/entitlements/features/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def update_async( self, id: str, params: Optional["FeatureUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Feature": """ Update a feature's metadata or permanently deactivate it. """ return cast( "Feature", await self._request_async( "post", "/v1/entitlements/features/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.339062 stripe-13.2.0/stripe/events/__init__.py0000644000000000000000000000502415102753431014756 0ustar00# -*- coding: utf-8 -*- from typing_extensions import TYPE_CHECKING from stripe.v2.core._event import ( UnknownEventNotification as UnknownEventNotification, ) # The beginning of the section generated from our OpenAPI spec from importlib import import_module if TYPE_CHECKING: from stripe.events._event_classes import ( ALL_EVENT_NOTIFICATIONS as ALL_EVENT_NOTIFICATIONS, ) from stripe.events._v1_billing_meter_error_report_triggered_event import ( V1BillingMeterErrorReportTriggeredEvent as V1BillingMeterErrorReportTriggeredEvent, V1BillingMeterErrorReportTriggeredEventNotification as V1BillingMeterErrorReportTriggeredEventNotification, ) from stripe.events._v1_billing_meter_no_meter_found_event import ( V1BillingMeterNoMeterFoundEvent as V1BillingMeterNoMeterFoundEvent, V1BillingMeterNoMeterFoundEventNotification as V1BillingMeterNoMeterFoundEventNotification, ) from stripe.events._v2_core_event_destination_ping_event import ( V2CoreEventDestinationPingEvent as V2CoreEventDestinationPingEvent, V2CoreEventDestinationPingEventNotification as V2CoreEventDestinationPingEventNotification, ) # name -> (import_target, is_submodule) _import_map = { "ALL_EVENT_NOTIFICATIONS": ("stripe.events._event_classes", False), "V1BillingMeterErrorReportTriggeredEvent": ( "stripe.events._v1_billing_meter_error_report_triggered_event", False, ), "V1BillingMeterErrorReportTriggeredEventNotification": ( "stripe.events._v1_billing_meter_error_report_triggered_event", False, ), "V1BillingMeterNoMeterFoundEvent": ( "stripe.events._v1_billing_meter_no_meter_found_event", False, ), "V1BillingMeterNoMeterFoundEventNotification": ( "stripe.events._v1_billing_meter_no_meter_found_event", False, ), "V2CoreEventDestinationPingEvent": ( "stripe.events._v2_core_event_destination_ping_event", False, ), "V2CoreEventDestinationPingEventNotification": ( "stripe.events._v2_core_event_destination_ping_event", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() # The end of the section generated from our OpenAPI spec ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.339062 stripe-13.2.0/stripe/events/_event_classes.py0000644000000000000000000000475215102753431016223 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing import Union from typing_extensions import TYPE_CHECKING from stripe.v2.core._event import UnknownEventNotification from stripe._stripe_object import StripeObject if TYPE_CHECKING: from stripe.events._v1_billing_meter_error_report_triggered_event import ( V1BillingMeterErrorReportTriggeredEventNotification, ) from stripe.events._v1_billing_meter_no_meter_found_event import ( V1BillingMeterNoMeterFoundEventNotification, ) from stripe.events._v2_core_event_destination_ping_event import ( V2CoreEventDestinationPingEventNotification, ) _V2_EVENT_CLASS_LOOKUP = { "v1.billing.meter.error_report_triggered": ( "stripe.events._v1_billing_meter_error_report_triggered_event", "V1BillingMeterErrorReportTriggeredEvent", ), "v1.billing.meter.no_meter_found": ( "stripe.events._v1_billing_meter_no_meter_found_event", "V1BillingMeterNoMeterFoundEvent", ), "v2.core.event_destination.ping": ( "stripe.events._v2_core_event_destination_ping_event", "V2CoreEventDestinationPingEvent", ), } def get_v2_event_class(type_: str): if type_ not in _V2_EVENT_CLASS_LOOKUP: return StripeObject import_path, class_name = _V2_EVENT_CLASS_LOOKUP[type_] return getattr( import_module(import_path), class_name, ) _V2_EVENT_NOTIFICATION_CLASS_LOOKUP = { "v1.billing.meter.error_report_triggered": ( "stripe.events._v1_billing_meter_error_report_triggered_event", "V1BillingMeterErrorReportTriggeredEventNotification", ), "v1.billing.meter.no_meter_found": ( "stripe.events._v1_billing_meter_no_meter_found_event", "V1BillingMeterNoMeterFoundEventNotification", ), "v2.core.event_destination.ping": ( "stripe.events._v2_core_event_destination_ping_event", "V2CoreEventDestinationPingEventNotification", ), } def get_v2_event_notification_class(type_: str): if type_ not in _V2_EVENT_NOTIFICATION_CLASS_LOOKUP: return UnknownEventNotification import_path, class_name = _V2_EVENT_NOTIFICATION_CLASS_LOOKUP[type_] return getattr( import_module(import_path), class_name, ) ALL_EVENT_NOTIFICATIONS = Union[ "V1BillingMeterErrorReportTriggeredEventNotification", "V1BillingMeterNoMeterFoundEventNotification", "V2CoreEventDestinationPingEventNotification", ] ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.339062 stripe-13.2.0/stripe/events/_v1_billing_meter_error_report_triggered_event.py0000644000000000000000000001526415102753431024650 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._api_mode import ApiMode from stripe._stripe_object import StripeObject from stripe._stripe_response import StripeResponse from stripe._util import get_api_mode from stripe.v2.core._event import Event, EventNotification, RelatedObject from typing import Any, Dict, List, Optional, cast from typing_extensions import Literal, TYPE_CHECKING, override if TYPE_CHECKING: from stripe._api_requestor import _APIRequestor from stripe._stripe_client import StripeClient from stripe.billing._meter import Meter class V1BillingMeterErrorReportTriggeredEventNotification(EventNotification): LOOKUP_TYPE = "v1.billing.meter.error_report_triggered" type: Literal["v1.billing.meter.error_report_triggered"] related_object: RelatedObject def __init__( self, parsed_body: Dict[str, Any], client: "StripeClient" ) -> None: super().__init__( parsed_body, client, ) self.related_object = RelatedObject(parsed_body["related_object"]) @override def fetch_event(self) -> "V1BillingMeterErrorReportTriggeredEvent": return cast( "V1BillingMeterErrorReportTriggeredEvent", super().fetch_event(), ) def fetch_related_object(self) -> "Meter": response = self._client.raw_request( "get", self.related_object.url, stripe_context=self.context, usage=["fetch_related_object"], ) return cast( "Meter", self._client.deserialize( response, api_mode=get_api_mode(self.related_object.url), ), ) @override async def fetch_event_async( self, ) -> "V1BillingMeterErrorReportTriggeredEvent": return cast( "V1BillingMeterErrorReportTriggeredEvent", await super().fetch_event_async(), ) async def fetch_related_object_async(self) -> "Meter": response = await self._client.raw_request_async( "get", self.related_object.url, stripe_context=self.context, usage=["fetch_related_object"], ) return cast( "Meter", self._client.deserialize( response, api_mode=get_api_mode(self.related_object.url), ), ) class V1BillingMeterErrorReportTriggeredEvent(Event): LOOKUP_TYPE = "v1.billing.meter.error_report_triggered" type: Literal["v1.billing.meter.error_report_triggered"] class V1BillingMeterErrorReportTriggeredEventData(StripeObject): class Reason(StripeObject): class ErrorType(StripeObject): class SampleError(StripeObject): class Request(StripeObject): identifier: str """ The request idempotency key. """ error_message: str """ The error message. """ request: Request """ The request causes the error. """ _inner_class_types = {"request": Request} code: Literal[ "archived_meter", "meter_event_customer_not_found", "meter_event_dimension_count_too_high", "meter_event_invalid_value", "meter_event_no_customer_defined", "missing_dimension_payload_keys", "no_meter", "timestamp_in_future", "timestamp_too_far_in_past", ] """ Open Enum. """ error_count: int """ The number of errors of this type. """ sample_errors: List[SampleError] """ A list of sample errors of this type. """ _inner_class_types = {"sample_errors": SampleError} error_count: int """ The total error count within this window. """ error_types: List[ErrorType] """ The error details. """ _inner_class_types = {"error_types": ErrorType} developer_message_summary: str """ Extra field included in the event's `data` when fetched from /v2/events. """ reason: Reason """ This contains information about why meter error happens. """ validation_end: str """ The end of the window that is encapsulated by this summary. """ validation_start: str """ The start of the window that is encapsulated by this summary. """ _inner_class_types = {"reason": Reason} data: V1BillingMeterErrorReportTriggeredEventData """ Data for the v1.billing.meter.error_report_triggered event """ @classmethod def _construct_from( cls, *, values: Dict[str, Any], last_response: Optional[StripeResponse] = None, requestor: "_APIRequestor", api_mode: ApiMode, ) -> "V1BillingMeterErrorReportTriggeredEvent": evt = super()._construct_from( values=values, last_response=last_response, requestor=requestor, api_mode=api_mode, ) if hasattr(evt, "data"): evt.data = V1BillingMeterErrorReportTriggeredEvent.V1BillingMeterErrorReportTriggeredEventData._construct_from( values=evt.data, last_response=last_response, requestor=requestor, api_mode=api_mode, ) return evt class RelatedObject(StripeObject): id: str """ Unique identifier for the object relevant to the event. """ type: str """ Type of the object relevant to the event. """ url: str """ URL to retrieve the resource. """ related_object: RelatedObject """ Object containing the reference to API resource relevant to the event """ def fetch_related_object(self) -> "Meter": """ Retrieves the related object from the API. Makes an API request on every call. """ return cast( "Meter", self._requestor.request( "get", self.related_object.url, base_address="api", options={"stripe_context": self.context}, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/events/_v1_billing_meter_no_meter_found_event.py0000644000000000000000000001061415102753431023065 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._api_mode import ApiMode from stripe._stripe_object import StripeObject from stripe._stripe_response import StripeResponse from stripe.v2.core._event import Event, EventNotification from typing import Any, Dict, List, Optional, cast from typing_extensions import Literal, TYPE_CHECKING, override if TYPE_CHECKING: from stripe._api_requestor import _APIRequestor class V1BillingMeterNoMeterFoundEventNotification(EventNotification): LOOKUP_TYPE = "v1.billing.meter.no_meter_found" type: Literal["v1.billing.meter.no_meter_found"] @override def fetch_event(self) -> "V1BillingMeterNoMeterFoundEvent": return cast( "V1BillingMeterNoMeterFoundEvent", super().fetch_event(), ) @override async def fetch_event_async(self) -> "V1BillingMeterNoMeterFoundEvent": return cast( "V1BillingMeterNoMeterFoundEvent", await super().fetch_event_async(), ) class V1BillingMeterNoMeterFoundEvent(Event): LOOKUP_TYPE = "v1.billing.meter.no_meter_found" type: Literal["v1.billing.meter.no_meter_found"] class V1BillingMeterNoMeterFoundEventData(StripeObject): class Reason(StripeObject): class ErrorType(StripeObject): class SampleError(StripeObject): class Request(StripeObject): identifier: str """ The request idempotency key. """ error_message: str """ The error message. """ request: Request """ The request causes the error. """ _inner_class_types = {"request": Request} code: Literal[ "archived_meter", "meter_event_customer_not_found", "meter_event_dimension_count_too_high", "meter_event_invalid_value", "meter_event_no_customer_defined", "missing_dimension_payload_keys", "no_meter", "timestamp_in_future", "timestamp_too_far_in_past", ] """ Open Enum. """ error_count: int """ The number of errors of this type. """ sample_errors: List[SampleError] """ A list of sample errors of this type. """ _inner_class_types = {"sample_errors": SampleError} error_count: int """ The total error count within this window. """ error_types: List[ErrorType] """ The error details. """ _inner_class_types = {"error_types": ErrorType} developer_message_summary: str """ Extra field included in the event's `data` when fetched from /v2/events. """ reason: Reason """ This contains information about why meter error happens. """ validation_end: str """ The end of the window that is encapsulated by this summary. """ validation_start: str """ The start of the window that is encapsulated by this summary. """ _inner_class_types = {"reason": Reason} data: V1BillingMeterNoMeterFoundEventData """ Data for the v1.billing.meter.no_meter_found event """ @classmethod def _construct_from( cls, *, values: Dict[str, Any], last_response: Optional[StripeResponse] = None, requestor: "_APIRequestor", api_mode: ApiMode, ) -> "V1BillingMeterNoMeterFoundEvent": evt = super()._construct_from( values=values, last_response=last_response, requestor=requestor, api_mode=api_mode, ) if hasattr(evt, "data"): evt.data = V1BillingMeterNoMeterFoundEvent.V1BillingMeterNoMeterFoundEventData._construct_from( values=evt.data, last_response=last_response, requestor=requestor, api_mode=api_mode, ) return evt ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/events/_v2_core_event_destination_ping_event.py0000644000000000000000000000635615102753431022746 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from stripe._util import get_api_mode from stripe.v2.core._event import Event, EventNotification, RelatedObject from typing import Any, Dict, cast from typing_extensions import Literal, TYPE_CHECKING, override if TYPE_CHECKING: from stripe._stripe_client import StripeClient from stripe.v2.core._event_destination import EventDestination class V2CoreEventDestinationPingEventNotification(EventNotification): LOOKUP_TYPE = "v2.core.event_destination.ping" type: Literal["v2.core.event_destination.ping"] related_object: RelatedObject def __init__( self, parsed_body: Dict[str, Any], client: "StripeClient" ) -> None: super().__init__( parsed_body, client, ) self.related_object = RelatedObject(parsed_body["related_object"]) @override def fetch_event(self) -> "V2CoreEventDestinationPingEvent": return cast( "V2CoreEventDestinationPingEvent", super().fetch_event(), ) def fetch_related_object(self) -> "EventDestination": response = self._client.raw_request( "get", self.related_object.url, stripe_context=self.context, usage=["fetch_related_object"], ) return cast( "EventDestination", self._client.deserialize( response, api_mode=get_api_mode(self.related_object.url), ), ) @override async def fetch_event_async(self) -> "V2CoreEventDestinationPingEvent": return cast( "V2CoreEventDestinationPingEvent", await super().fetch_event_async(), ) async def fetch_related_object_async(self) -> "EventDestination": response = await self._client.raw_request_async( "get", self.related_object.url, stripe_context=self.context, usage=["fetch_related_object"], ) return cast( "EventDestination", self._client.deserialize( response, api_mode=get_api_mode(self.related_object.url), ), ) class V2CoreEventDestinationPingEvent(Event): LOOKUP_TYPE = "v2.core.event_destination.ping" type: Literal["v2.core.event_destination.ping"] class RelatedObject(StripeObject): id: str """ Unique identifier for the object relevant to the event. """ type: str """ Type of the object relevant to the event. """ url: str """ URL to retrieve the resource. """ related_object: RelatedObject """ Object containing the reference to API resource relevant to the event """ def fetch_related_object(self) -> "EventDestination": """ Retrieves the related object from the API. Makes an API request on every call. """ return cast( "EventDestination", self._requestor.request( "get", self.related_object.url, base_address="api", options={"stripe_context": self.context}, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/financial_connections/__init__.py0000644000000000000000000000440315102753431020000 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.financial_connections._account import Account as Account from stripe.financial_connections._account_owner import ( AccountOwner as AccountOwner, ) from stripe.financial_connections._account_owner_service import ( AccountOwnerService as AccountOwnerService, ) from stripe.financial_connections._account_ownership import ( AccountOwnership as AccountOwnership, ) from stripe.financial_connections._account_service import ( AccountService as AccountService, ) from stripe.financial_connections._session import Session as Session from stripe.financial_connections._session_service import ( SessionService as SessionService, ) from stripe.financial_connections._transaction import ( Transaction as Transaction, ) from stripe.financial_connections._transaction_service import ( TransactionService as TransactionService, ) # name -> (import_target, is_submodule) _import_map = { "Account": ("stripe.financial_connections._account", False), "AccountOwner": ("stripe.financial_connections._account_owner", False), "AccountOwnerService": ( "stripe.financial_connections._account_owner_service", False, ), "AccountOwnership": ( "stripe.financial_connections._account_ownership", False, ), "AccountService": ("stripe.financial_connections._account_service", False), "Session": ("stripe.financial_connections._session", False), "SessionService": ("stripe.financial_connections._session_service", False), "Transaction": ("stripe.financial_connections._transaction", False), "TransactionService": ( "stripe.financial_connections._transaction_service", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/financial_connections/_account.py0000644000000000000000000007154315102753431020045 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account as AccountResource from stripe._customer import Customer from stripe.financial_connections._account_owner import AccountOwner from stripe.financial_connections._account_ownership import ( AccountOwnership, ) from stripe.params.financial_connections._account_disconnect_params import ( AccountDisconnectParams, ) from stripe.params.financial_connections._account_list_owners_params import ( AccountListOwnersParams, ) from stripe.params.financial_connections._account_list_params import ( AccountListParams, ) from stripe.params.financial_connections._account_refresh_account_params import ( AccountRefreshAccountParams, ) from stripe.params.financial_connections._account_retrieve_params import ( AccountRetrieveParams, ) from stripe.params.financial_connections._account_subscribe_params import ( AccountSubscribeParams, ) from stripe.params.financial_connections._account_unsubscribe_params import ( AccountUnsubscribeParams, ) class Account(ListableAPIResource["Account"]): """ A Financial Connections Account represents an account that exists outside of Stripe, to which you have been granted some degree of access. """ OBJECT_NAME: ClassVar[Literal["financial_connections.account"]] = ( "financial_connections.account" ) class AccountHolder(StripeObject): account: Optional[ExpandableField["AccountResource"]] """ The ID of the Stripe account this account belongs to. Should only be present if `account_holder.type` is `account`. """ customer: Optional[ExpandableField["Customer"]] """ ID of the Stripe customer this account belongs to. Present if and only if `account_holder.type` is `customer`. """ type: Literal["account", "customer"] """ Type of account holder that this account belongs to. """ class Balance(StripeObject): class Cash(StripeObject): available: Optional[Dict[str, int]] """ The funds available to the account holder. Typically this is the current balance after subtracting any outbound pending transactions and adding any inbound pending transactions. Each key is a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder. """ class Credit(StripeObject): used: Optional[Dict[str, int]] """ The credit that has been used by the account holder. Each key is a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder. """ as_of: int """ The time that the external institution calculated this balance. Measured in seconds since the Unix epoch. """ cash: Optional[Cash] credit: Optional[Credit] current: Dict[str, int] """ The balances owed to (or by) the account holder, before subtracting any outbound pending transactions or adding any inbound pending transactions. Each key is a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Each value is a integer amount. A positive amount indicates money owed to the account holder. A negative amount indicates money owed by the account holder. """ type: Literal["cash", "credit"] """ The `type` of the balance. An additional hash is included on the balance with a name matching this value. """ _inner_class_types = {"cash": Cash, "credit": Credit} class BalanceRefresh(StripeObject): last_attempted_at: int """ The time at which the last refresh attempt was initiated. Measured in seconds since the Unix epoch. """ next_refresh_available_at: Optional[int] """ Time at which the next balance refresh can be initiated. This value will be `null` when `status` is `pending`. Measured in seconds since the Unix epoch. """ status: Literal["failed", "pending", "succeeded"] """ The status of the last refresh attempt. """ class OwnershipRefresh(StripeObject): last_attempted_at: int """ The time at which the last refresh attempt was initiated. Measured in seconds since the Unix epoch. """ next_refresh_available_at: Optional[int] """ Time at which the next ownership refresh can be initiated. This value will be `null` when `status` is `pending`. Measured in seconds since the Unix epoch. """ status: Literal["failed", "pending", "succeeded"] """ The status of the last refresh attempt. """ class TransactionRefresh(StripeObject): id: str """ Unique identifier for the object. """ last_attempted_at: int """ The time at which the last refresh attempt was initiated. Measured in seconds since the Unix epoch. """ next_refresh_available_at: Optional[int] """ Time at which the next transaction refresh can be initiated. This value will be `null` when `status` is `pending`. Measured in seconds since the Unix epoch. """ status: Literal["failed", "pending", "succeeded"] """ The status of the last refresh attempt. """ account_holder: Optional[AccountHolder] """ The account holder that this account belongs to. """ balance: Optional[Balance] """ The most recent information about the account's balance. """ balance_refresh: Optional[BalanceRefresh] """ The state of the most recent attempt to refresh the account balance. """ category: Literal["cash", "credit", "investment", "other"] """ The type of the account. Account category is further divided in `subcategory`. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ display_name: Optional[str] """ A human-readable name that has been assigned to this account, either by the account holder or by the institution. """ id: str """ Unique identifier for the object. """ institution_name: str """ The name of the institution that holds this account. """ last4: Optional[str] """ The last 4 digits of the account number. If present, this will be 4 numeric characters. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["financial_connections.account"] """ String representing the object's type. Objects of the same type share the same value. """ ownership: Optional[ExpandableField["AccountOwnership"]] """ The most recent information about the account's owners. """ ownership_refresh: Optional[OwnershipRefresh] """ The state of the most recent attempt to refresh the account owners. """ permissions: Optional[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions granted by this account. """ status: Literal["active", "disconnected", "inactive"] """ The status of the link to the account. """ subcategory: Literal[ "checking", "credit_card", "line_of_credit", "mortgage", "other", "savings", ] """ If `category` is `cash`, one of: - `checking` - `savings` - `other` If `category` is `credit`, one of: - `mortgage` - `line_of_credit` - `credit_card` - `other` If `category` is `investment` or `other`, this will be `other`. """ subscriptions: Optional[List[Literal["transactions"]]] """ The list of data refresh subscriptions requested on this account. """ supported_payment_method_types: List[Literal["link", "us_bank_account"]] """ The [PaymentMethod type](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type)(s) that can be created from this account. """ transaction_refresh: Optional[TransactionRefresh] """ The state of the most recent attempt to refresh the account transactions. """ @classmethod def _cls_disconnect( cls, account: str, **params: Unpack["AccountDisconnectParams"] ) -> "Account": """ Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions). """ return cast( "Account", cls._static_request( "post", "/v1/financial_connections/accounts/{account}/disconnect".format( account=sanitize_id(account) ), params=params, ), ) @overload @staticmethod def disconnect( account: str, **params: Unpack["AccountDisconnectParams"] ) -> "Account": """ Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions). """ ... @overload def disconnect( self, **params: Unpack["AccountDisconnectParams"] ) -> "Account": """ Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions). """ ... @class_method_variant("_cls_disconnect") def disconnect( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountDisconnectParams"] ) -> "Account": """ Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions). """ return cast( "Account", self._request( "post", "/v1/financial_connections/accounts/{account}/disconnect".format( account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_disconnect_async( cls, account: str, **params: Unpack["AccountDisconnectParams"] ) -> "Account": """ Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions). """ return cast( "Account", await cls._static_request_async( "post", "/v1/financial_connections/accounts/{account}/disconnect".format( account=sanitize_id(account) ), params=params, ), ) @overload @staticmethod async def disconnect_async( account: str, **params: Unpack["AccountDisconnectParams"] ) -> "Account": """ Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions). """ ... @overload async def disconnect_async( self, **params: Unpack["AccountDisconnectParams"] ) -> "Account": """ Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions). """ ... @class_method_variant("_cls_disconnect_async") async def disconnect_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountDisconnectParams"] ) -> "Account": """ Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions). """ return cast( "Account", await self._request_async( "post", "/v1/financial_connections/accounts/{account}/disconnect".format( account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list( cls, **params: Unpack["AccountListParams"] ) -> ListObject["Account"]: """ Returns a list of Financial Connections Account objects. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["AccountListParams"] ) -> ListObject["Account"]: """ Returns a list of Financial Connections Account objects. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def _cls_list_owners( cls, account: str, **params: Unpack["AccountListOwnersParams"] ) -> ListObject["AccountOwner"]: """ Lists all owners for a given Account """ return cast( ListObject["AccountOwner"], cls._static_request( "get", "/v1/financial_connections/accounts/{account}/owners".format( account=sanitize_id(account) ), params=params, ), ) @overload @staticmethod def list_owners( account: str, **params: Unpack["AccountListOwnersParams"] ) -> ListObject["AccountOwner"]: """ Lists all owners for a given Account """ ... @overload def list_owners( self, **params: Unpack["AccountListOwnersParams"] ) -> ListObject["AccountOwner"]: """ Lists all owners for a given Account """ ... @class_method_variant("_cls_list_owners") def list_owners( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountListOwnersParams"] ) -> ListObject["AccountOwner"]: """ Lists all owners for a given Account """ return cast( ListObject["AccountOwner"], self._request( "get", "/v1/financial_connections/accounts/{account}/owners".format( account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_list_owners_async( cls, account: str, **params: Unpack["AccountListOwnersParams"] ) -> ListObject["AccountOwner"]: """ Lists all owners for a given Account """ return cast( ListObject["AccountOwner"], await cls._static_request_async( "get", "/v1/financial_connections/accounts/{account}/owners".format( account=sanitize_id(account) ), params=params, ), ) @overload @staticmethod async def list_owners_async( account: str, **params: Unpack["AccountListOwnersParams"] ) -> ListObject["AccountOwner"]: """ Lists all owners for a given Account """ ... @overload async def list_owners_async( self, **params: Unpack["AccountListOwnersParams"] ) -> ListObject["AccountOwner"]: """ Lists all owners for a given Account """ ... @class_method_variant("_cls_list_owners_async") async def list_owners_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountListOwnersParams"] ) -> ListObject["AccountOwner"]: """ Lists all owners for a given Account """ return cast( ListObject["AccountOwner"], await self._request_async( "get", "/v1/financial_connections/accounts/{account}/owners".format( account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_refresh_account( cls, account: str, **params: Unpack["AccountRefreshAccountParams"] ) -> "Account": """ Refreshes the data associated with a Financial Connections Account. """ return cast( "Account", cls._static_request( "post", "/v1/financial_connections/accounts/{account}/refresh".format( account=sanitize_id(account) ), params=params, ), ) @overload @staticmethod def refresh_account( account: str, **params: Unpack["AccountRefreshAccountParams"] ) -> "Account": """ Refreshes the data associated with a Financial Connections Account. """ ... @overload def refresh_account( self, **params: Unpack["AccountRefreshAccountParams"] ) -> "Account": """ Refreshes the data associated with a Financial Connections Account. """ ... @class_method_variant("_cls_refresh_account") def refresh_account( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountRefreshAccountParams"] ) -> "Account": """ Refreshes the data associated with a Financial Connections Account. """ return cast( "Account", self._request( "post", "/v1/financial_connections/accounts/{account}/refresh".format( account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_refresh_account_async( cls, account: str, **params: Unpack["AccountRefreshAccountParams"] ) -> "Account": """ Refreshes the data associated with a Financial Connections Account. """ return cast( "Account", await cls._static_request_async( "post", "/v1/financial_connections/accounts/{account}/refresh".format( account=sanitize_id(account) ), params=params, ), ) @overload @staticmethod async def refresh_account_async( account: str, **params: Unpack["AccountRefreshAccountParams"] ) -> "Account": """ Refreshes the data associated with a Financial Connections Account. """ ... @overload async def refresh_account_async( self, **params: Unpack["AccountRefreshAccountParams"] ) -> "Account": """ Refreshes the data associated with a Financial Connections Account. """ ... @class_method_variant("_cls_refresh_account_async") async def refresh_account_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountRefreshAccountParams"] ) -> "Account": """ Refreshes the data associated with a Financial Connections Account. """ return cast( "Account", await self._request_async( "post", "/v1/financial_connections/accounts/{account}/refresh".format( account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["AccountRetrieveParams"] ) -> "Account": """ Retrieves the details of an Financial Connections Account. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["AccountRetrieveParams"] ) -> "Account": """ Retrieves the details of an Financial Connections Account. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def _cls_subscribe( cls, account: str, **params: Unpack["AccountSubscribeParams"] ) -> "Account": """ Subscribes to periodic refreshes of data associated with a Financial Connections Account. When the account status is active, data is typically refreshed once a day. """ return cast( "Account", cls._static_request( "post", "/v1/financial_connections/accounts/{account}/subscribe".format( account=sanitize_id(account) ), params=params, ), ) @overload @staticmethod def subscribe( account: str, **params: Unpack["AccountSubscribeParams"] ) -> "Account": """ Subscribes to periodic refreshes of data associated with a Financial Connections Account. When the account status is active, data is typically refreshed once a day. """ ... @overload def subscribe( self, **params: Unpack["AccountSubscribeParams"] ) -> "Account": """ Subscribes to periodic refreshes of data associated with a Financial Connections Account. When the account status is active, data is typically refreshed once a day. """ ... @class_method_variant("_cls_subscribe") def subscribe( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountSubscribeParams"] ) -> "Account": """ Subscribes to periodic refreshes of data associated with a Financial Connections Account. When the account status is active, data is typically refreshed once a day. """ return cast( "Account", self._request( "post", "/v1/financial_connections/accounts/{account}/subscribe".format( account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_subscribe_async( cls, account: str, **params: Unpack["AccountSubscribeParams"] ) -> "Account": """ Subscribes to periodic refreshes of data associated with a Financial Connections Account. When the account status is active, data is typically refreshed once a day. """ return cast( "Account", await cls._static_request_async( "post", "/v1/financial_connections/accounts/{account}/subscribe".format( account=sanitize_id(account) ), params=params, ), ) @overload @staticmethod async def subscribe_async( account: str, **params: Unpack["AccountSubscribeParams"] ) -> "Account": """ Subscribes to periodic refreshes of data associated with a Financial Connections Account. When the account status is active, data is typically refreshed once a day. """ ... @overload async def subscribe_async( self, **params: Unpack["AccountSubscribeParams"] ) -> "Account": """ Subscribes to periodic refreshes of data associated with a Financial Connections Account. When the account status is active, data is typically refreshed once a day. """ ... @class_method_variant("_cls_subscribe_async") async def subscribe_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountSubscribeParams"] ) -> "Account": """ Subscribes to periodic refreshes of data associated with a Financial Connections Account. When the account status is active, data is typically refreshed once a day. """ return cast( "Account", await self._request_async( "post", "/v1/financial_connections/accounts/{account}/subscribe".format( account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_unsubscribe( cls, account: str, **params: Unpack["AccountUnsubscribeParams"] ) -> "Account": """ Unsubscribes from periodic refreshes of data associated with a Financial Connections Account. """ return cast( "Account", cls._static_request( "post", "/v1/financial_connections/accounts/{account}/unsubscribe".format( account=sanitize_id(account) ), params=params, ), ) @overload @staticmethod def unsubscribe( account: str, **params: Unpack["AccountUnsubscribeParams"] ) -> "Account": """ Unsubscribes from periodic refreshes of data associated with a Financial Connections Account. """ ... @overload def unsubscribe( self, **params: Unpack["AccountUnsubscribeParams"] ) -> "Account": """ Unsubscribes from periodic refreshes of data associated with a Financial Connections Account. """ ... @class_method_variant("_cls_unsubscribe") def unsubscribe( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountUnsubscribeParams"] ) -> "Account": """ Unsubscribes from periodic refreshes of data associated with a Financial Connections Account. """ return cast( "Account", self._request( "post", "/v1/financial_connections/accounts/{account}/unsubscribe".format( account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_unsubscribe_async( cls, account: str, **params: Unpack["AccountUnsubscribeParams"] ) -> "Account": """ Unsubscribes from periodic refreshes of data associated with a Financial Connections Account. """ return cast( "Account", await cls._static_request_async( "post", "/v1/financial_connections/accounts/{account}/unsubscribe".format( account=sanitize_id(account) ), params=params, ), ) @overload @staticmethod async def unsubscribe_async( account: str, **params: Unpack["AccountUnsubscribeParams"] ) -> "Account": """ Unsubscribes from periodic refreshes of data associated with a Financial Connections Account. """ ... @overload async def unsubscribe_async( self, **params: Unpack["AccountUnsubscribeParams"] ) -> "Account": """ Unsubscribes from periodic refreshes of data associated with a Financial Connections Account. """ ... @class_method_variant("_cls_unsubscribe_async") async def unsubscribe_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AccountUnsubscribeParams"] ) -> "Account": """ Unsubscribes from periodic refreshes of data associated with a Financial Connections Account. """ return cast( "Account", await self._request_async( "post", "/v1/financial_connections/accounts/{account}/unsubscribe".format( account=sanitize_id(self.get("id")) ), params=params, ), ) _inner_class_types = { "account_holder": AccountHolder, "balance": Balance, "balance_refresh": BalanceRefresh, "ownership_refresh": OwnershipRefresh, "transaction_refresh": TransactionRefresh, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/financial_connections/_account_owner.py0000644000000000000000000000216515102753431021251 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar, Optional from typing_extensions import Literal class AccountOwner(StripeObject): """ Describes an owner of an account. """ OBJECT_NAME: ClassVar[Literal["financial_connections.account_owner"]] = ( "financial_connections.account_owner" ) email: Optional[str] """ The email address of the owner. """ id: str """ Unique identifier for the object. """ name: str """ The full name of the owner. """ object: Literal["financial_connections.account_owner"] """ String representing the object's type. Objects of the same type share the same value. """ ownership: str """ The ownership object that this owner belongs to. """ phone: Optional[str] """ The raw phone number of the owner. """ raw_address: Optional[str] """ The raw physical address of the owner. """ refreshed_at: Optional[int] """ The timestamp of the refresh that updated this owner. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/financial_connections/_account_owner_service.py0000644000000000000000000000352315102753431022770 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.financial_connections._account_owner import AccountOwner from stripe.params.financial_connections._account_owner_list_params import ( AccountOwnerListParams, ) class AccountOwnerService(StripeService): def list( self, account: str, params: "AccountOwnerListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[AccountOwner]": """ Lists all owners for a given Account """ return cast( "ListObject[AccountOwner]", self._request( "get", "/v1/financial_connections/accounts/{account}/owners".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) async def list_async( self, account: str, params: "AccountOwnerListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[AccountOwner]": """ Lists all owners for a given Account """ return cast( "ListObject[AccountOwner]", await self._request_async( "get", "/v1/financial_connections/accounts/{account}/owners".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/financial_connections/_account_ownership.py0000644000000000000000000000204315102753431022130 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._list_object import ListObject from stripe._stripe_object import StripeObject from typing import ClassVar from typing_extensions import Literal, TYPE_CHECKING if TYPE_CHECKING: from stripe.financial_connections._account_owner import AccountOwner class AccountOwnership(StripeObject): """ Describes a snapshot of the owners of an account at a particular point in time. """ OBJECT_NAME: ClassVar[ Literal["financial_connections.account_ownership"] ] = "financial_connections.account_ownership" created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ id: str """ Unique identifier for the object. """ object: Literal["financial_connections.account_ownership"] """ String representing the object's type. Objects of the same type share the same value. """ owners: ListObject["AccountOwner"] """ A paginated list of owners for this account. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/financial_connections/_account_service.py0000644000000000000000000002351415102753431021560 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.financial_connections._account import Account from stripe.financial_connections._account_owner_service import ( AccountOwnerService, ) from stripe.params.financial_connections._account_disconnect_params import ( AccountDisconnectParams, ) from stripe.params.financial_connections._account_list_params import ( AccountListParams, ) from stripe.params.financial_connections._account_refresh_params import ( AccountRefreshParams, ) from stripe.params.financial_connections._account_retrieve_params import ( AccountRetrieveParams, ) from stripe.params.financial_connections._account_subscribe_params import ( AccountSubscribeParams, ) from stripe.params.financial_connections._account_unsubscribe_params import ( AccountUnsubscribeParams, ) _subservices = { "owners": [ "stripe.financial_connections._account_owner_service", "AccountOwnerService", ], } class AccountService(StripeService): owners: "AccountOwnerService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def list( self, params: Optional["AccountListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Account]": """ Returns a list of Financial Connections Account objects. """ return cast( "ListObject[Account]", self._request( "get", "/v1/financial_connections/accounts", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["AccountListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Account]": """ Returns a list of Financial Connections Account objects. """ return cast( "ListObject[Account]", await self._request_async( "get", "/v1/financial_connections/accounts", base_address="api", params=params, options=options, ), ) def retrieve( self, account: str, params: Optional["AccountRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Account": """ Retrieves the details of an Financial Connections Account. """ return cast( "Account", self._request( "get", "/v1/financial_connections/accounts/{account}".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, account: str, params: Optional["AccountRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Account": """ Retrieves the details of an Financial Connections Account. """ return cast( "Account", await self._request_async( "get", "/v1/financial_connections/accounts/{account}".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) def disconnect( self, account: str, params: Optional["AccountDisconnectParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Account": """ Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions). """ return cast( "Account", self._request( "post", "/v1/financial_connections/accounts/{account}/disconnect".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) async def disconnect_async( self, account: str, params: Optional["AccountDisconnectParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Account": """ Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions). """ return cast( "Account", await self._request_async( "post", "/v1/financial_connections/accounts/{account}/disconnect".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) def refresh( self, account: str, params: "AccountRefreshParams", options: Optional["RequestOptions"] = None, ) -> "Account": """ Refreshes the data associated with a Financial Connections Account. """ return cast( "Account", self._request( "post", "/v1/financial_connections/accounts/{account}/refresh".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) async def refresh_async( self, account: str, params: "AccountRefreshParams", options: Optional["RequestOptions"] = None, ) -> "Account": """ Refreshes the data associated with a Financial Connections Account. """ return cast( "Account", await self._request_async( "post", "/v1/financial_connections/accounts/{account}/refresh".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) def subscribe( self, account: str, params: "AccountSubscribeParams", options: Optional["RequestOptions"] = None, ) -> "Account": """ Subscribes to periodic refreshes of data associated with a Financial Connections Account. When the account status is active, data is typically refreshed once a day. """ return cast( "Account", self._request( "post", "/v1/financial_connections/accounts/{account}/subscribe".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) async def subscribe_async( self, account: str, params: "AccountSubscribeParams", options: Optional["RequestOptions"] = None, ) -> "Account": """ Subscribes to periodic refreshes of data associated with a Financial Connections Account. When the account status is active, data is typically refreshed once a day. """ return cast( "Account", await self._request_async( "post", "/v1/financial_connections/accounts/{account}/subscribe".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) def unsubscribe( self, account: str, params: "AccountUnsubscribeParams", options: Optional["RequestOptions"] = None, ) -> "Account": """ Unsubscribes from periodic refreshes of data associated with a Financial Connections Account. """ return cast( "Account", self._request( "post", "/v1/financial_connections/accounts/{account}/unsubscribe".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) async def unsubscribe_async( self, account: str, params: "AccountUnsubscribeParams", options: Optional["RequestOptions"] = None, ) -> "Account": """ Unsubscribes from periodic refreshes of data associated with a Financial Connections Account. """ return cast( "Account", await self._request_async( "post", "/v1/financial_connections/accounts/{account}/unsubscribe".format( account=sanitize_id(account), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/financial_connections/_session.py0000644000000000000000000001246315102753431020070 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._stripe_object import StripeObject from typing import ClassVar, List, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._account import Account as AccountResource from stripe._customer import Customer from stripe.financial_connections._account import ( Account as FinancialConnectionsAccountResource, ) from stripe.params.financial_connections._session_create_params import ( SessionCreateParams, ) from stripe.params.financial_connections._session_retrieve_params import ( SessionRetrieveParams, ) class Session(CreateableAPIResource["Session"]): """ A Financial Connections Session is the secure way to programmatically launch the client-side Stripe.js modal that lets your users link their accounts. """ OBJECT_NAME: ClassVar[Literal["financial_connections.session"]] = ( "financial_connections.session" ) class AccountHolder(StripeObject): account: Optional[ExpandableField["AccountResource"]] """ The ID of the Stripe account this account belongs to. Should only be present if `account_holder.type` is `account`. """ customer: Optional[ExpandableField["Customer"]] """ ID of the Stripe customer this account belongs to. Present if and only if `account_holder.type` is `customer`. """ type: Literal["account", "customer"] """ Type of account holder that this account belongs to. """ class Filters(StripeObject): account_subcategories: Optional[ List[ Literal[ "checking", "credit_card", "line_of_credit", "mortgage", "savings", ] ] ] """ Restricts the Session to subcategories of accounts that can be linked. Valid subcategories are: `checking`, `savings`, `mortgage`, `line_of_credit`, `credit_card`. """ countries: Optional[List[str]] """ List of countries from which to filter accounts. """ account_holder: Optional[AccountHolder] """ The account holder for whom accounts are collected in this session. """ accounts: ListObject["FinancialConnectionsAccountResource"] """ The accounts that were collected as part of this Session. """ client_secret: str """ A value that will be passed to the client to launch the authentication flow. """ filters: Optional[Filters] id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["financial_connections.session"] """ String representing the object's type. Objects of the same type share the same value. """ permissions: List[ Literal["balances", "ownership", "payment_method", "transactions"] ] """ Permissions requested for accounts collected during this session. """ prefetch: Optional[List[Literal["balances", "ownership", "transactions"]]] """ Data features requested to be retrieved upon account creation. """ return_url: Optional[str] """ For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. """ @classmethod def create(cls, **params: Unpack["SessionCreateParams"]) -> "Session": """ To launch the Financial Connections authorization flow, create a Session. The session's client_secret can be used to launch the flow using Stripe.js. """ return cast( "Session", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["SessionCreateParams"] ) -> "Session": """ To launch the Financial Connections authorization flow, create a Session. The session's client_secret can be used to launch the flow using Stripe.js. """ return cast( "Session", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["SessionRetrieveParams"] ) -> "Session": """ Retrieves the details of a Financial Connections Session """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["SessionRetrieveParams"] ) -> "Session": """ Retrieves the details of a Financial Connections Session """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"account_holder": AccountHolder, "filters": Filters} ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/financial_connections/_session_service.py0000644000000000000000000000610315102753431021602 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.financial_connections._session import Session from stripe.params.financial_connections._session_create_params import ( SessionCreateParams, ) from stripe.params.financial_connections._session_retrieve_params import ( SessionRetrieveParams, ) class SessionService(StripeService): def retrieve( self, session: str, params: Optional["SessionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Session": """ Retrieves the details of a Financial Connections Session """ return cast( "Session", self._request( "get", "/v1/financial_connections/sessions/{session}".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, session: str, params: Optional["SessionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Session": """ Retrieves the details of a Financial Connections Session """ return cast( "Session", await self._request_async( "get", "/v1/financial_connections/sessions/{session}".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) def create( self, params: "SessionCreateParams", options: Optional["RequestOptions"] = None, ) -> "Session": """ To launch the Financial Connections authorization flow, create a Session. The session's client_secret can be used to launch the flow using Stripe.js. """ return cast( "Session", self._request( "post", "/v1/financial_connections/sessions", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "SessionCreateParams", options: Optional["RequestOptions"] = None, ) -> "Session": """ To launch the Financial Connections authorization flow, create a Session. The session's client_secret can be used to launch the flow using Stripe.js. """ return cast( "Session", await self._request_async( "post", "/v1/financial_connections/sessions", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/financial_connections/_transaction.py0000644000000000000000000001053715102753431020732 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.financial_connections._transaction_list_params import ( TransactionListParams, ) from stripe.params.financial_connections._transaction_retrieve_params import ( TransactionRetrieveParams, ) class Transaction(ListableAPIResource["Transaction"]): """ A Transaction represents a real transaction that affects a Financial Connections Account balance. """ OBJECT_NAME: ClassVar[Literal["financial_connections.transaction"]] = ( "financial_connections.transaction" ) class StatusTransitions(StripeObject): posted_at: Optional[int] """ Time at which this transaction posted. Measured in seconds since the Unix epoch. """ void_at: Optional[int] """ Time at which this transaction was voided. Measured in seconds since the Unix epoch. """ account: str """ The ID of the Financial Connections Account this transaction belongs to. """ amount: int """ The amount of this transaction, in cents (or local equivalent). """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: str """ The description of this transaction. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["financial_connections.transaction"] """ String representing the object's type. Objects of the same type share the same value. """ status: Literal["pending", "posted", "void"] """ The status of the transaction. """ status_transitions: StatusTransitions transacted_at: int """ Time at which the transaction was transacted. Measured in seconds since the Unix epoch. """ transaction_refresh: str """ The token of the transaction refresh that last updated or created this transaction. """ updated: int """ Time at which the object was last updated. Measured in seconds since the Unix epoch. """ @classmethod def list( cls, **params: Unpack["TransactionListParams"] ) -> ListObject["Transaction"]: """ Returns a list of Financial Connections Transaction objects. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["TransactionListParams"] ) -> ListObject["Transaction"]: """ Returns a list of Financial Connections Transaction objects. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["TransactionRetrieveParams"] ) -> "Transaction": """ Retrieves the details of a Financial Connections Transaction """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["TransactionRetrieveParams"] ) -> "Transaction": """ Retrieves the details of a Financial Connections Transaction """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"status_transitions": StatusTransitions} ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/financial_connections/_transaction_service.py0000644000000000000000000000614615102753431022453 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.financial_connections._transaction import Transaction from stripe.params.financial_connections._transaction_list_params import ( TransactionListParams, ) from stripe.params.financial_connections._transaction_retrieve_params import ( TransactionRetrieveParams, ) class TransactionService(StripeService): def list( self, params: "TransactionListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[Transaction]": """ Returns a list of Financial Connections Transaction objects. """ return cast( "ListObject[Transaction]", self._request( "get", "/v1/financial_connections/transactions", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "TransactionListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[Transaction]": """ Returns a list of Financial Connections Transaction objects. """ return cast( "ListObject[Transaction]", await self._request_async( "get", "/v1/financial_connections/transactions", base_address="api", params=params, options=options, ), ) def retrieve( self, transaction: str, params: Optional["TransactionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Retrieves the details of a Financial Connections Transaction """ return cast( "Transaction", self._request( "get", "/v1/financial_connections/transactions/{transaction}".format( transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, transaction: str, params: Optional["TransactionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Retrieves the details of a Financial Connections Transaction """ return cast( "Transaction", await self._request_async( "get", "/v1/financial_connections/transactions/{transaction}".format( transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/forwarding/__init__.py0000644000000000000000000000155215102753431015616 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.forwarding._request import Request as Request from stripe.forwarding._request_service import ( RequestService as RequestService, ) # name -> (import_target, is_submodule) _import_map = { "Request": ("stripe.forwarding._request", False), "RequestService": ("stripe.forwarding._request_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/forwarding/_request.py0000644000000000000000000001735315102753431015714 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, Dict, List, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.forwarding._request_create_params import ( RequestCreateParams, ) from stripe.params.forwarding._request_list_params import RequestListParams from stripe.params.forwarding._request_retrieve_params import ( RequestRetrieveParams, ) class Request( CreateableAPIResource["Request"], ListableAPIResource["Request"] ): """ Instructs Stripe to make a request on your behalf using the destination URL. The destination URL is activated by Stripe at the time of onboarding. Stripe verifies requests with your credentials provided during onboarding, and injects card details from the payment_method into the request. Stripe redacts all sensitive fields and headers, including authentication credentials and card numbers, before storing the request and response data in the forwarding Request object, which are subject to a 30-day retention period. You can provide a Stripe idempotency key to make sure that requests with the same key result in only one outbound request. The Stripe idempotency key provided should be unique and different from any idempotency keys provided on the underlying third-party request. Forwarding Requests are synchronous requests that return a response or time out according to Stripe's limits. Related guide: [Forward card details to third-party API endpoints](https://docs.stripe.com/payments/forwarding). """ OBJECT_NAME: ClassVar[Literal["forwarding.request"]] = "forwarding.request" class RequestContext(StripeObject): destination_duration: int """ The time it took in milliseconds for the destination endpoint to respond. """ destination_ip_address: str """ The IP address of the destination. """ class RequestDetails(StripeObject): class Header(StripeObject): name: str """ The header name. """ value: str """ The header value. """ body: str """ The body payload to send to the destination endpoint. """ headers: List[Header] """ The headers to include in the forwarded request. Can be omitted if no additional headers (excluding Stripe-generated ones such as the Content-Type header) should be included. """ http_method: Literal["POST"] """ The HTTP method used to call the destination endpoint. """ _inner_class_types = {"headers": Header} class ResponseDetails(StripeObject): class Header(StripeObject): name: str """ The header name. """ value: str """ The header value. """ body: str """ The response body from the destination endpoint to Stripe. """ headers: List[Header] """ HTTP headers that the destination endpoint returned. """ status: int """ The HTTP status code that the destination endpoint returned. """ _inner_class_types = {"headers": Header} created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["forwarding.request"] """ String representing the object's type. Objects of the same type share the same value. """ payment_method: str """ The PaymentMethod to insert into the forwarded request. Forwarding previously consumed PaymentMethods is allowed. """ replacements: List[ Literal[ "card_cvc", "card_expiry", "card_number", "cardholder_name", "request_signature", ] ] """ The field kinds to be replaced in the forwarded request. """ request_context: Optional[RequestContext] """ Context about the request from Stripe's servers to the destination endpoint. """ request_details: Optional[RequestDetails] """ The request that was sent to the destination endpoint. We redact any sensitive fields. """ response_details: Optional[ResponseDetails] """ The response that the destination endpoint returned to us. We redact any sensitive fields. """ url: Optional[str] """ The destination URL for the forwarded request. Must be supported by the config. """ @classmethod def create(cls, **params: Unpack["RequestCreateParams"]) -> "Request": """ Creates a ForwardingRequest object. """ return cast( "Request", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["RequestCreateParams"] ) -> "Request": """ Creates a ForwardingRequest object. """ return cast( "Request", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["RequestListParams"] ) -> ListObject["Request"]: """ Lists all ForwardingRequest objects. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["RequestListParams"] ) -> ListObject["Request"]: """ Lists all ForwardingRequest objects. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["RequestRetrieveParams"] ) -> "Request": """ Retrieves a ForwardingRequest object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["RequestRetrieveParams"] ) -> "Request": """ Retrieves a ForwardingRequest object. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "request_context": RequestContext, "request_details": RequestDetails, "response_details": ResponseDetails, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/forwarding/_request_service.py0000644000000000000000000000741115102753431017426 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.forwarding._request import Request from stripe.params.forwarding._request_create_params import ( RequestCreateParams, ) from stripe.params.forwarding._request_list_params import RequestListParams from stripe.params.forwarding._request_retrieve_params import ( RequestRetrieveParams, ) class RequestService(StripeService): def list( self, params: Optional["RequestListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Request]": """ Lists all ForwardingRequest objects. """ return cast( "ListObject[Request]", self._request( "get", "/v1/forwarding/requests", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["RequestListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Request]": """ Lists all ForwardingRequest objects. """ return cast( "ListObject[Request]", await self._request_async( "get", "/v1/forwarding/requests", base_address="api", params=params, options=options, ), ) def create( self, params: "RequestCreateParams", options: Optional["RequestOptions"] = None, ) -> "Request": """ Creates a ForwardingRequest object. """ return cast( "Request", self._request( "post", "/v1/forwarding/requests", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "RequestCreateParams", options: Optional["RequestOptions"] = None, ) -> "Request": """ Creates a ForwardingRequest object. """ return cast( "Request", await self._request_async( "post", "/v1/forwarding/requests", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["RequestRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Request": """ Retrieves a ForwardingRequest object. """ return cast( "Request", self._request( "get", "/v1/forwarding/requests/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["RequestRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Request": """ Retrieves a ForwardingRequest object. """ return cast( "Request", await self._request_async( "get", "/v1/forwarding/requests/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/identity/__init__.py0000644000000000000000000000266615102753431015314 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.identity._verification_report import ( VerificationReport as VerificationReport, ) from stripe.identity._verification_report_service import ( VerificationReportService as VerificationReportService, ) from stripe.identity._verification_session import ( VerificationSession as VerificationSession, ) from stripe.identity._verification_session_service import ( VerificationSessionService as VerificationSessionService, ) # name -> (import_target, is_submodule) _import_map = { "VerificationReport": ("stripe.identity._verification_report", False), "VerificationReportService": ( "stripe.identity._verification_report_service", False, ), "VerificationSession": ("stripe.identity._verification_session", False), "VerificationSessionService": ( "stripe.identity._verification_session_service", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3400621 stripe-13.2.0/stripe/identity/_verification_report.py0000644000000000000000000003657415102753431017776 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, List, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.identity._verification_report_list_params import ( VerificationReportListParams, ) from stripe.params.identity._verification_report_retrieve_params import ( VerificationReportRetrieveParams, ) class VerificationReport(ListableAPIResource["VerificationReport"]): """ A VerificationReport is the result of an attempt to collect and verify data from a user. The collection of verification checks performed is determined from the `type` and `options` parameters used. You can find the result of each verification check performed in the appropriate sub-resource: `document`, `id_number`, `selfie`. Each VerificationReport contains a copy of any data collected by the user as well as reference IDs which can be used to access collected images through the [FileUpload](https://stripe.com/docs/api/files) API. To configure and create VerificationReports, use the [VerificationSession](https://stripe.com/docs/api/identity/verification_sessions) API. Related guide: [Accessing verification results](https://stripe.com/docs/identity/verification-sessions#results). """ OBJECT_NAME: ClassVar[Literal["identity.verification_report"]] = ( "identity.verification_report" ) class Document(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class Dob(StripeObject): day: Optional[int] """ Numerical day between 1 and 31. """ month: Optional[int] """ Numerical month between 1 and 12. """ year: Optional[int] """ The four-digit year. """ class Error(StripeObject): code: Optional[ Literal[ "document_expired", "document_type_not_supported", "document_unverified_other", ] ] """ A short machine-readable string giving the reason for the verification failure. """ reason: Optional[str] """ A human-readable message giving the reason for the failure. These messages can be shown to your users. """ class ExpirationDate(StripeObject): day: Optional[int] """ Numerical day between 1 and 31. """ month: Optional[int] """ Numerical month between 1 and 12. """ year: Optional[int] """ The four-digit year. """ class IssuedDate(StripeObject): day: Optional[int] """ Numerical day between 1 and 31. """ month: Optional[int] """ Numerical month between 1 and 12. """ year: Optional[int] """ The four-digit year. """ address: Optional[Address] """ Address as it appears in the document. """ dob: Optional[Dob] """ Date of birth as it appears in the document. """ error: Optional[Error] """ Details on the verification error. Present when status is `unverified`. """ expiration_date: Optional[ExpirationDate] """ Expiration date of the document. """ files: Optional[List[str]] """ Array of [File](https://stripe.com/docs/api/files) ids containing images for this document. """ first_name: Optional[str] """ First name as it appears in the document. """ issued_date: Optional[IssuedDate] """ Issued date of the document. """ issuing_country: Optional[str] """ Issuing country of the document. """ last_name: Optional[str] """ Last name as it appears in the document. """ number: Optional[str] """ Document ID number. """ sex: Optional[Literal["[redacted]", "female", "male", "unknown"]] """ Sex of the person in the document. """ status: Literal["unverified", "verified"] """ Status of this `document` check. """ type: Optional[Literal["driving_license", "id_card", "passport"]] """ Type of the document. """ unparsed_place_of_birth: Optional[str] """ Place of birth as it appears in the document. """ unparsed_sex: Optional[str] """ Sex as it appears in the document. """ _inner_class_types = { "address": Address, "dob": Dob, "error": Error, "expiration_date": ExpirationDate, "issued_date": IssuedDate, } class Email(StripeObject): class Error(StripeObject): code: Optional[ Literal[ "email_unverified_other", "email_verification_declined" ] ] """ A short machine-readable string giving the reason for the verification failure. """ reason: Optional[str] """ A human-readable message giving the reason for the failure. These messages can be shown to your users. """ email: Optional[str] """ Email to be verified. """ error: Optional[Error] """ Details on the verification error. Present when status is `unverified`. """ status: Literal["unverified", "verified"] """ Status of this `email` check. """ _inner_class_types = {"error": Error} class IdNumber(StripeObject): class Dob(StripeObject): day: Optional[int] """ Numerical day between 1 and 31. """ month: Optional[int] """ Numerical month between 1 and 12. """ year: Optional[int] """ The four-digit year. """ class Error(StripeObject): code: Optional[ Literal[ "id_number_insufficient_document_data", "id_number_mismatch", "id_number_unverified_other", ] ] """ A short machine-readable string giving the reason for the verification failure. """ reason: Optional[str] """ A human-readable message giving the reason for the failure. These messages can be shown to your users. """ dob: Optional[Dob] """ Date of birth. """ error: Optional[Error] """ Details on the verification error. Present when status is `unverified`. """ first_name: Optional[str] """ First name. """ id_number: Optional[str] """ ID number. When `id_number_type` is `us_ssn`, only the last 4 digits are present. """ id_number_type: Optional[Literal["br_cpf", "sg_nric", "us_ssn"]] """ Type of ID number. """ last_name: Optional[str] """ Last name. """ status: Literal["unverified", "verified"] """ Status of this `id_number` check. """ _inner_class_types = {"dob": Dob, "error": Error} class Options(StripeObject): class Document(StripeObject): allowed_types: Optional[ List[Literal["driving_license", "id_card", "passport"]] ] """ Array of strings of allowed identity document types. If the provided identity document isn't one of the allowed types, the verification check will fail with a document_type_not_allowed error code. """ require_id_number: Optional[bool] """ Collect an ID number and perform an [ID number check](https://stripe.com/docs/identity/verification-checks?type=id-number) with the document's extracted name and date of birth. """ require_live_capture: Optional[bool] """ Disable image uploads, identity document images have to be captured using the device's camera. """ require_matching_selfie: Optional[bool] """ Capture a face image and perform a [selfie check](https://stripe.com/docs/identity/verification-checks?type=selfie) comparing a photo ID and a picture of your user's face. [Learn more](https://stripe.com/docs/identity/selfie). """ class IdNumber(StripeObject): pass document: Optional[Document] id_number: Optional[IdNumber] _inner_class_types = {"document": Document, "id_number": IdNumber} class Phone(StripeObject): class Error(StripeObject): code: Optional[ Literal[ "phone_unverified_other", "phone_verification_declined" ] ] """ A short machine-readable string giving the reason for the verification failure. """ reason: Optional[str] """ A human-readable message giving the reason for the failure. These messages can be shown to your users. """ error: Optional[Error] """ Details on the verification error. Present when status is `unverified`. """ phone: Optional[str] """ Phone to be verified. """ status: Literal["unverified", "verified"] """ Status of this `phone` check. """ _inner_class_types = {"error": Error} class Selfie(StripeObject): class Error(StripeObject): code: Optional[ Literal[ "selfie_document_missing_photo", "selfie_face_mismatch", "selfie_manipulated", "selfie_unverified_other", ] ] """ A short machine-readable string giving the reason for the verification failure. """ reason: Optional[str] """ A human-readable message giving the reason for the failure. These messages can be shown to your users. """ document: Optional[str] """ ID of the [File](https://stripe.com/docs/api/files) holding the image of the identity document used in this check. """ error: Optional[Error] """ Details on the verification error. Present when status is `unverified`. """ selfie: Optional[str] """ ID of the [File](https://stripe.com/docs/api/files) holding the image of the selfie used in this check. """ status: Literal["unverified", "verified"] """ Status of this `selfie` check. """ _inner_class_types = {"error": Error} client_reference_id: Optional[str] """ A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ document: Optional[Document] """ Result from a document check """ email: Optional[Email] """ Result from a email check """ id: str """ Unique identifier for the object. """ id_number: Optional[IdNumber] """ Result from an id_number check """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["identity.verification_report"] """ String representing the object's type. Objects of the same type share the same value. """ options: Optional[Options] phone: Optional[Phone] """ Result from a phone check """ selfie: Optional[Selfie] """ Result from a selfie check """ type: Literal["document", "id_number", "verification_flow"] """ Type of report. """ verification_flow: Optional[str] """ The configuration token of a verification flow from the dashboard. """ verification_session: Optional[str] """ ID of the VerificationSession that created this report. """ @classmethod def list( cls, **params: Unpack["VerificationReportListParams"] ) -> ListObject["VerificationReport"]: """ List all verification reports. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["VerificationReportListParams"] ) -> ListObject["VerificationReport"]: """ List all verification reports. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["VerificationReportRetrieveParams"] ) -> "VerificationReport": """ Retrieves an existing VerificationReport """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["VerificationReportRetrieveParams"] ) -> "VerificationReport": """ Retrieves an existing VerificationReport """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "document": Document, "email": Email, "id_number": IdNumber, "options": Options, "phone": Phone, "selfie": Selfie, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.341062 stripe-13.2.0/stripe/identity/_verification_report_service.py0000644000000000000000000000611115102753431021476 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.identity._verification_report import VerificationReport from stripe.params.identity._verification_report_list_params import ( VerificationReportListParams, ) from stripe.params.identity._verification_report_retrieve_params import ( VerificationReportRetrieveParams, ) class VerificationReportService(StripeService): def list( self, params: Optional["VerificationReportListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[VerificationReport]": """ List all verification reports. """ return cast( "ListObject[VerificationReport]", self._request( "get", "/v1/identity/verification_reports", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["VerificationReportListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[VerificationReport]": """ List all verification reports. """ return cast( "ListObject[VerificationReport]", await self._request_async( "get", "/v1/identity/verification_reports", base_address="api", params=params, options=options, ), ) def retrieve( self, report: str, params: Optional["VerificationReportRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "VerificationReport": """ Retrieves an existing VerificationReport """ return cast( "VerificationReport", self._request( "get", "/v1/identity/verification_reports/{report}".format( report=sanitize_id(report), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, report: str, params: Optional["VerificationReportRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "VerificationReport": """ Retrieves an existing VerificationReport """ return cast( "VerificationReport", await self._request_async( "get", "/v1/identity/verification_reports/{report}".format( report=sanitize_id(report), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.341062 stripe-13.2.0/stripe/identity/_verification_session.py0000644000000000000000000010670515102753431020140 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.identity._verification_report import VerificationReport from stripe.params.identity._verification_session_cancel_params import ( VerificationSessionCancelParams, ) from stripe.params.identity._verification_session_create_params import ( VerificationSessionCreateParams, ) from stripe.params.identity._verification_session_list_params import ( VerificationSessionListParams, ) from stripe.params.identity._verification_session_modify_params import ( VerificationSessionModifyParams, ) from stripe.params.identity._verification_session_redact_params import ( VerificationSessionRedactParams, ) from stripe.params.identity._verification_session_retrieve_params import ( VerificationSessionRetrieveParams, ) class VerificationSession( CreateableAPIResource["VerificationSession"], ListableAPIResource["VerificationSession"], UpdateableAPIResource["VerificationSession"], ): """ A VerificationSession guides you through the process of collecting and verifying the identities of your users. It contains details about the type of verification, such as what [verification check](https://docs.stripe.com/docs/identity/verification-checks) to perform. Only create one VerificationSession for each verification in your system. A VerificationSession transitions through [multiple statuses](https://docs.stripe.com/docs/identity/how-sessions-work) throughout its lifetime as it progresses through the verification flow. The VerificationSession contains the user's verified data after verification checks are complete. Related guide: [The Verification Sessions API](https://stripe.com/docs/identity/verification-sessions) """ OBJECT_NAME: ClassVar[Literal["identity.verification_session"]] = ( "identity.verification_session" ) class LastError(StripeObject): code: Optional[ Literal[ "abandoned", "consent_declined", "country_not_supported", "device_not_supported", "document_expired", "document_type_not_supported", "document_unverified_other", "email_unverified_other", "email_verification_declined", "id_number_insufficient_document_data", "id_number_mismatch", "id_number_unverified_other", "phone_unverified_other", "phone_verification_declined", "selfie_document_missing_photo", "selfie_face_mismatch", "selfie_manipulated", "selfie_unverified_other", "under_supported_age", ] ] """ A short machine-readable string giving the reason for the verification or user-session failure. """ reason: Optional[str] """ A message that explains the reason for verification or user-session failure. """ class Options(StripeObject): class Document(StripeObject): allowed_types: Optional[ List[Literal["driving_license", "id_card", "passport"]] ] """ Array of strings of allowed identity document types. If the provided identity document isn't one of the allowed types, the verification check will fail with a document_type_not_allowed error code. """ require_id_number: Optional[bool] """ Collect an ID number and perform an [ID number check](https://stripe.com/docs/identity/verification-checks?type=id-number) with the document's extracted name and date of birth. """ require_live_capture: Optional[bool] """ Disable image uploads, identity document images have to be captured using the device's camera. """ require_matching_selfie: Optional[bool] """ Capture a face image and perform a [selfie check](https://stripe.com/docs/identity/verification-checks?type=selfie) comparing a photo ID and a picture of your user's face. [Learn more](https://stripe.com/docs/identity/selfie). """ class Email(StripeObject): require_verification: Optional[bool] """ Request one time password verification of `provided_details.email`. """ class IdNumber(StripeObject): pass class Matching(StripeObject): dob: Optional[Literal["none", "similar"]] """ Strictness of the DOB matching policy to apply. """ name: Optional[Literal["none", "similar"]] """ Strictness of the name matching policy to apply. """ class Phone(StripeObject): require_verification: Optional[bool] """ Request one time password verification of `provided_details.phone`. """ document: Optional[Document] email: Optional[Email] id_number: Optional[IdNumber] matching: Optional[Matching] phone: Optional[Phone] _inner_class_types = { "document": Document, "email": Email, "id_number": IdNumber, "matching": Matching, "phone": Phone, } class ProvidedDetails(StripeObject): email: Optional[str] """ Email of user being verified """ phone: Optional[str] """ Phone number of user being verified """ class Redaction(StripeObject): status: Literal["processing", "redacted"] """ Indicates whether this object and its related objects have been redacted or not. """ class RelatedPerson(StripeObject): account: str """ Token referencing the associated Account of the related Person resource. """ person: str """ Token referencing the related Person resource. """ class VerifiedOutputs(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class Dob(StripeObject): day: Optional[int] """ Numerical day between 1 and 31. """ month: Optional[int] """ Numerical month between 1 and 12. """ year: Optional[int] """ The four-digit year. """ address: Optional[Address] """ The user's verified address. """ dob: Optional[Dob] """ The user's verified date of birth. """ email: Optional[str] """ The user's verified email address """ first_name: Optional[str] """ The user's verified first name. """ id_number: Optional[str] """ The user's verified id number. """ id_number_type: Optional[Literal["br_cpf", "sg_nric", "us_ssn"]] """ The user's verified id number type. """ last_name: Optional[str] """ The user's verified last name. """ phone: Optional[str] """ The user's verified phone number """ sex: Optional[Literal["[redacted]", "female", "male", "unknown"]] """ The user's verified sex. """ unparsed_place_of_birth: Optional[str] """ The user's verified place of birth as it appears in the document. """ unparsed_sex: Optional[str] """ The user's verified sex as it appears in the document. """ _inner_class_types = {"address": Address, "dob": Dob} client_reference_id: Optional[str] """ A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems. """ client_secret: Optional[str] """ The short-lived client secret used by Stripe.js to [show a verification modal](https://stripe.com/docs/js/identity/modal) inside your app. This client secret expires after 24 hours and can only be used once. Don't store it, log it, embed it in a URL, or expose it to anyone other than the user. Make sure that you have TLS enabled on any page that includes the client secret. Refer to our docs on [passing the client secret to the frontend](https://stripe.com/docs/identity/verification-sessions#client-secret) to learn more. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ id: str """ Unique identifier for the object. """ last_error: Optional[LastError] """ If present, this property tells you the last error encountered when processing the verification. """ last_verification_report: Optional[ExpandableField["VerificationReport"]] """ ID of the most recent VerificationReport. [Learn more about accessing detailed verification results.](https://stripe.com/docs/identity/verification-sessions#results) """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["identity.verification_session"] """ String representing the object's type. Objects of the same type share the same value. """ options: Optional[Options] """ A set of options for the session's verification checks. """ provided_details: Optional[ProvidedDetails] """ Details provided about the user being verified. These details may be shown to the user. """ redaction: Optional[Redaction] """ Redaction status of this VerificationSession. If the VerificationSession is not redacted, this field will be null. """ related_customer: Optional[str] """ Customer ID """ related_person: Optional[RelatedPerson] status: Literal["canceled", "processing", "requires_input", "verified"] """ Status of this VerificationSession. [Learn more about the lifecycle of sessions](https://stripe.com/docs/identity/how-sessions-work). """ type: Literal["document", "id_number", "verification_flow"] """ The type of [verification check](https://stripe.com/docs/identity/verification-checks) to be performed. """ url: Optional[str] """ The short-lived URL that you use to redirect a user to Stripe to submit their identity information. This URL expires after 48 hours and can only be used once. Don't store it, log it, send it in emails or expose it to anyone other than the user. Refer to our docs on [verifying identity documents](https://stripe.com/docs/identity/verify-identity-documents?platform=web&type=redirect) to learn how to redirect users to Stripe. """ verification_flow: Optional[str] """ The configuration token of a verification flow from the dashboard. """ verified_outputs: Optional[VerifiedOutputs] """ The user's verified data. """ @classmethod def _cls_cancel( cls, session: str, **params: Unpack["VerificationSessionCancelParams"] ) -> "VerificationSession": """ A VerificationSession object can be canceled when it is in requires_input [status](https://docs.stripe.com/docs/identity/how-sessions-work). Once canceled, future submission attempts are disabled. This cannot be undone. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#cancel). """ return cast( "VerificationSession", cls._static_request( "post", "/v1/identity/verification_sessions/{session}/cancel".format( session=sanitize_id(session) ), params=params, ), ) @overload @staticmethod def cancel( session: str, **params: Unpack["VerificationSessionCancelParams"] ) -> "VerificationSession": """ A VerificationSession object can be canceled when it is in requires_input [status](https://docs.stripe.com/docs/identity/how-sessions-work). Once canceled, future submission attempts are disabled. This cannot be undone. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#cancel). """ ... @overload def cancel( self, **params: Unpack["VerificationSessionCancelParams"] ) -> "VerificationSession": """ A VerificationSession object can be canceled when it is in requires_input [status](https://docs.stripe.com/docs/identity/how-sessions-work). Once canceled, future submission attempts are disabled. This cannot be undone. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#cancel). """ ... @class_method_variant("_cls_cancel") def cancel( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["VerificationSessionCancelParams"] ) -> "VerificationSession": """ A VerificationSession object can be canceled when it is in requires_input [status](https://docs.stripe.com/docs/identity/how-sessions-work). Once canceled, future submission attempts are disabled. This cannot be undone. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#cancel). """ return cast( "VerificationSession", self._request( "post", "/v1/identity/verification_sessions/{session}/cancel".format( session=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_cancel_async( cls, session: str, **params: Unpack["VerificationSessionCancelParams"] ) -> "VerificationSession": """ A VerificationSession object can be canceled when it is in requires_input [status](https://docs.stripe.com/docs/identity/how-sessions-work). Once canceled, future submission attempts are disabled. This cannot be undone. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#cancel). """ return cast( "VerificationSession", await cls._static_request_async( "post", "/v1/identity/verification_sessions/{session}/cancel".format( session=sanitize_id(session) ), params=params, ), ) @overload @staticmethod async def cancel_async( session: str, **params: Unpack["VerificationSessionCancelParams"] ) -> "VerificationSession": """ A VerificationSession object can be canceled when it is in requires_input [status](https://docs.stripe.com/docs/identity/how-sessions-work). Once canceled, future submission attempts are disabled. This cannot be undone. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#cancel). """ ... @overload async def cancel_async( self, **params: Unpack["VerificationSessionCancelParams"] ) -> "VerificationSession": """ A VerificationSession object can be canceled when it is in requires_input [status](https://docs.stripe.com/docs/identity/how-sessions-work). Once canceled, future submission attempts are disabled. This cannot be undone. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#cancel). """ ... @class_method_variant("_cls_cancel_async") async def cancel_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["VerificationSessionCancelParams"] ) -> "VerificationSession": """ A VerificationSession object can be canceled when it is in requires_input [status](https://docs.stripe.com/docs/identity/how-sessions-work). Once canceled, future submission attempts are disabled. This cannot be undone. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#cancel). """ return cast( "VerificationSession", await self._request_async( "post", "/v1/identity/verification_sessions/{session}/cancel".format( session=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create( cls, **params: Unpack["VerificationSessionCreateParams"] ) -> "VerificationSession": """ Creates a VerificationSession object. After the VerificationSession is created, display a verification modal using the session client_secret or send your users to the session's url. If your API key is in test mode, verification checks won't actually process, though everything else will occur as if in live mode. Related guide: [Verify your users' identity documents](https://docs.stripe.com/docs/identity/verify-identity-documents) """ return cast( "VerificationSession", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["VerificationSessionCreateParams"] ) -> "VerificationSession": """ Creates a VerificationSession object. After the VerificationSession is created, display a verification modal using the session client_secret or send your users to the session's url. If your API key is in test mode, verification checks won't actually process, though everything else will occur as if in live mode. Related guide: [Verify your users' identity documents](https://docs.stripe.com/docs/identity/verify-identity-documents) """ return cast( "VerificationSession", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["VerificationSessionListParams"] ) -> ListObject["VerificationSession"]: """ Returns a list of VerificationSessions """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["VerificationSessionListParams"] ) -> ListObject["VerificationSession"]: """ Returns a list of VerificationSessions """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["VerificationSessionModifyParams"] ) -> "VerificationSession": """ Updates a VerificationSession object. When the session status is requires_input, you can use this method to update the verification check and options. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "VerificationSession", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["VerificationSessionModifyParams"] ) -> "VerificationSession": """ Updates a VerificationSession object. When the session status is requires_input, you can use this method to update the verification check and options. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "VerificationSession", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def _cls_redact( cls, session: str, **params: Unpack["VerificationSessionRedactParams"] ) -> "VerificationSession": """ Redact a VerificationSession to remove all collected information from Stripe. This will redact the VerificationSession and all objects related to it, including VerificationReports, Events, request logs, etc. A VerificationSession object can be redacted when it is in requires_input or verified [status](https://docs.stripe.com/docs/identity/how-sessions-work). Redacting a VerificationSession in requires_action state will automatically cancel it. The redaction process may take up to four days. When the redaction process is in progress, the VerificationSession's redaction.status field will be set to processing; when the process is finished, it will change to redacted and an identity.verification_session.redacted event will be emitted. Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the fields that contain personal data will be replaced by the string [redacted] or a similar placeholder. The metadata field will also be erased. Redacted objects cannot be updated or used for any purpose. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#redact). """ return cast( "VerificationSession", cls._static_request( "post", "/v1/identity/verification_sessions/{session}/redact".format( session=sanitize_id(session) ), params=params, ), ) @overload @staticmethod def redact( session: str, **params: Unpack["VerificationSessionRedactParams"] ) -> "VerificationSession": """ Redact a VerificationSession to remove all collected information from Stripe. This will redact the VerificationSession and all objects related to it, including VerificationReports, Events, request logs, etc. A VerificationSession object can be redacted when it is in requires_input or verified [status](https://docs.stripe.com/docs/identity/how-sessions-work). Redacting a VerificationSession in requires_action state will automatically cancel it. The redaction process may take up to four days. When the redaction process is in progress, the VerificationSession's redaction.status field will be set to processing; when the process is finished, it will change to redacted and an identity.verification_session.redacted event will be emitted. Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the fields that contain personal data will be replaced by the string [redacted] or a similar placeholder. The metadata field will also be erased. Redacted objects cannot be updated or used for any purpose. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#redact). """ ... @overload def redact( self, **params: Unpack["VerificationSessionRedactParams"] ) -> "VerificationSession": """ Redact a VerificationSession to remove all collected information from Stripe. This will redact the VerificationSession and all objects related to it, including VerificationReports, Events, request logs, etc. A VerificationSession object can be redacted when it is in requires_input or verified [status](https://docs.stripe.com/docs/identity/how-sessions-work). Redacting a VerificationSession in requires_action state will automatically cancel it. The redaction process may take up to four days. When the redaction process is in progress, the VerificationSession's redaction.status field will be set to processing; when the process is finished, it will change to redacted and an identity.verification_session.redacted event will be emitted. Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the fields that contain personal data will be replaced by the string [redacted] or a similar placeholder. The metadata field will also be erased. Redacted objects cannot be updated or used for any purpose. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#redact). """ ... @class_method_variant("_cls_redact") def redact( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["VerificationSessionRedactParams"] ) -> "VerificationSession": """ Redact a VerificationSession to remove all collected information from Stripe. This will redact the VerificationSession and all objects related to it, including VerificationReports, Events, request logs, etc. A VerificationSession object can be redacted when it is in requires_input or verified [status](https://docs.stripe.com/docs/identity/how-sessions-work). Redacting a VerificationSession in requires_action state will automatically cancel it. The redaction process may take up to four days. When the redaction process is in progress, the VerificationSession's redaction.status field will be set to processing; when the process is finished, it will change to redacted and an identity.verification_session.redacted event will be emitted. Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the fields that contain personal data will be replaced by the string [redacted] or a similar placeholder. The metadata field will also be erased. Redacted objects cannot be updated or used for any purpose. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#redact). """ return cast( "VerificationSession", self._request( "post", "/v1/identity/verification_sessions/{session}/redact".format( session=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_redact_async( cls, session: str, **params: Unpack["VerificationSessionRedactParams"] ) -> "VerificationSession": """ Redact a VerificationSession to remove all collected information from Stripe. This will redact the VerificationSession and all objects related to it, including VerificationReports, Events, request logs, etc. A VerificationSession object can be redacted when it is in requires_input or verified [status](https://docs.stripe.com/docs/identity/how-sessions-work). Redacting a VerificationSession in requires_action state will automatically cancel it. The redaction process may take up to four days. When the redaction process is in progress, the VerificationSession's redaction.status field will be set to processing; when the process is finished, it will change to redacted and an identity.verification_session.redacted event will be emitted. Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the fields that contain personal data will be replaced by the string [redacted] or a similar placeholder. The metadata field will also be erased. Redacted objects cannot be updated or used for any purpose. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#redact). """ return cast( "VerificationSession", await cls._static_request_async( "post", "/v1/identity/verification_sessions/{session}/redact".format( session=sanitize_id(session) ), params=params, ), ) @overload @staticmethod async def redact_async( session: str, **params: Unpack["VerificationSessionRedactParams"] ) -> "VerificationSession": """ Redact a VerificationSession to remove all collected information from Stripe. This will redact the VerificationSession and all objects related to it, including VerificationReports, Events, request logs, etc. A VerificationSession object can be redacted when it is in requires_input or verified [status](https://docs.stripe.com/docs/identity/how-sessions-work). Redacting a VerificationSession in requires_action state will automatically cancel it. The redaction process may take up to four days. When the redaction process is in progress, the VerificationSession's redaction.status field will be set to processing; when the process is finished, it will change to redacted and an identity.verification_session.redacted event will be emitted. Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the fields that contain personal data will be replaced by the string [redacted] or a similar placeholder. The metadata field will also be erased. Redacted objects cannot be updated or used for any purpose. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#redact). """ ... @overload async def redact_async( self, **params: Unpack["VerificationSessionRedactParams"] ) -> "VerificationSession": """ Redact a VerificationSession to remove all collected information from Stripe. This will redact the VerificationSession and all objects related to it, including VerificationReports, Events, request logs, etc. A VerificationSession object can be redacted when it is in requires_input or verified [status](https://docs.stripe.com/docs/identity/how-sessions-work). Redacting a VerificationSession in requires_action state will automatically cancel it. The redaction process may take up to four days. When the redaction process is in progress, the VerificationSession's redaction.status field will be set to processing; when the process is finished, it will change to redacted and an identity.verification_session.redacted event will be emitted. Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the fields that contain personal data will be replaced by the string [redacted] or a similar placeholder. The metadata field will also be erased. Redacted objects cannot be updated or used for any purpose. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#redact). """ ... @class_method_variant("_cls_redact_async") async def redact_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["VerificationSessionRedactParams"] ) -> "VerificationSession": """ Redact a VerificationSession to remove all collected information from Stripe. This will redact the VerificationSession and all objects related to it, including VerificationReports, Events, request logs, etc. A VerificationSession object can be redacted when it is in requires_input or verified [status](https://docs.stripe.com/docs/identity/how-sessions-work). Redacting a VerificationSession in requires_action state will automatically cancel it. The redaction process may take up to four days. When the redaction process is in progress, the VerificationSession's redaction.status field will be set to processing; when the process is finished, it will change to redacted and an identity.verification_session.redacted event will be emitted. Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the fields that contain personal data will be replaced by the string [redacted] or a similar placeholder. The metadata field will also be erased. Redacted objects cannot be updated or used for any purpose. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#redact). """ return cast( "VerificationSession", await self._request_async( "post", "/v1/identity/verification_sessions/{session}/redact".format( session=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["VerificationSessionRetrieveParams"] ) -> "VerificationSession": """ Retrieves the details of a VerificationSession that was previously created. When the session status is requires_input, you can use this method to retrieve a valid client_secret or url to allow re-submission. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["VerificationSessionRetrieveParams"] ) -> "VerificationSession": """ Retrieves the details of a VerificationSession that was previously created. When the session status is requires_input, you can use this method to retrieve a valid client_secret or url to allow re-submission. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "last_error": LastError, "options": Options, "provided_details": ProvidedDetails, "redaction": Redaction, "related_person": RelatedPerson, "verified_outputs": VerifiedOutputs, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.341062 stripe-13.2.0/stripe/identity/_verification_session_service.py0000644000000000000000000003160415102753431021653 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.identity._verification_session import VerificationSession from stripe.params.identity._verification_session_cancel_params import ( VerificationSessionCancelParams, ) from stripe.params.identity._verification_session_create_params import ( VerificationSessionCreateParams, ) from stripe.params.identity._verification_session_list_params import ( VerificationSessionListParams, ) from stripe.params.identity._verification_session_redact_params import ( VerificationSessionRedactParams, ) from stripe.params.identity._verification_session_retrieve_params import ( VerificationSessionRetrieveParams, ) from stripe.params.identity._verification_session_update_params import ( VerificationSessionUpdateParams, ) class VerificationSessionService(StripeService): def list( self, params: Optional["VerificationSessionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[VerificationSession]": """ Returns a list of VerificationSessions """ return cast( "ListObject[VerificationSession]", self._request( "get", "/v1/identity/verification_sessions", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["VerificationSessionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[VerificationSession]": """ Returns a list of VerificationSessions """ return cast( "ListObject[VerificationSession]", await self._request_async( "get", "/v1/identity/verification_sessions", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["VerificationSessionCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "VerificationSession": """ Creates a VerificationSession object. After the VerificationSession is created, display a verification modal using the session client_secret or send your users to the session's url. If your API key is in test mode, verification checks won't actually process, though everything else will occur as if in live mode. Related guide: [Verify your users' identity documents](https://docs.stripe.com/docs/identity/verify-identity-documents) """ return cast( "VerificationSession", self._request( "post", "/v1/identity/verification_sessions", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["VerificationSessionCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "VerificationSession": """ Creates a VerificationSession object. After the VerificationSession is created, display a verification modal using the session client_secret or send your users to the session's url. If your API key is in test mode, verification checks won't actually process, though everything else will occur as if in live mode. Related guide: [Verify your users' identity documents](https://docs.stripe.com/docs/identity/verify-identity-documents) """ return cast( "VerificationSession", await self._request_async( "post", "/v1/identity/verification_sessions", base_address="api", params=params, options=options, ), ) def retrieve( self, session: str, params: Optional["VerificationSessionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "VerificationSession": """ Retrieves the details of a VerificationSession that was previously created. When the session status is requires_input, you can use this method to retrieve a valid client_secret or url to allow re-submission. """ return cast( "VerificationSession", self._request( "get", "/v1/identity/verification_sessions/{session}".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, session: str, params: Optional["VerificationSessionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "VerificationSession": """ Retrieves the details of a VerificationSession that was previously created. When the session status is requires_input, you can use this method to retrieve a valid client_secret or url to allow re-submission. """ return cast( "VerificationSession", await self._request_async( "get", "/v1/identity/verification_sessions/{session}".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) def update( self, session: str, params: Optional["VerificationSessionUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "VerificationSession": """ Updates a VerificationSession object. When the session status is requires_input, you can use this method to update the verification check and options. """ return cast( "VerificationSession", self._request( "post", "/v1/identity/verification_sessions/{session}".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) async def update_async( self, session: str, params: Optional["VerificationSessionUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "VerificationSession": """ Updates a VerificationSession object. When the session status is requires_input, you can use this method to update the verification check and options. """ return cast( "VerificationSession", await self._request_async( "post", "/v1/identity/verification_sessions/{session}".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) def cancel( self, session: str, params: Optional["VerificationSessionCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "VerificationSession": """ A VerificationSession object can be canceled when it is in requires_input [status](https://docs.stripe.com/docs/identity/how-sessions-work). Once canceled, future submission attempts are disabled. This cannot be undone. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#cancel). """ return cast( "VerificationSession", self._request( "post", "/v1/identity/verification_sessions/{session}/cancel".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) async def cancel_async( self, session: str, params: Optional["VerificationSessionCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "VerificationSession": """ A VerificationSession object can be canceled when it is in requires_input [status](https://docs.stripe.com/docs/identity/how-sessions-work). Once canceled, future submission attempts are disabled. This cannot be undone. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#cancel). """ return cast( "VerificationSession", await self._request_async( "post", "/v1/identity/verification_sessions/{session}/cancel".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) def redact( self, session: str, params: Optional["VerificationSessionRedactParams"] = None, options: Optional["RequestOptions"] = None, ) -> "VerificationSession": """ Redact a VerificationSession to remove all collected information from Stripe. This will redact the VerificationSession and all objects related to it, including VerificationReports, Events, request logs, etc. A VerificationSession object can be redacted when it is in requires_input or verified [status](https://docs.stripe.com/docs/identity/how-sessions-work). Redacting a VerificationSession in requires_action state will automatically cancel it. The redaction process may take up to four days. When the redaction process is in progress, the VerificationSession's redaction.status field will be set to processing; when the process is finished, it will change to redacted and an identity.verification_session.redacted event will be emitted. Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the fields that contain personal data will be replaced by the string [redacted] or a similar placeholder. The metadata field will also be erased. Redacted objects cannot be updated or used for any purpose. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#redact). """ return cast( "VerificationSession", self._request( "post", "/v1/identity/verification_sessions/{session}/redact".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) async def redact_async( self, session: str, params: Optional["VerificationSessionRedactParams"] = None, options: Optional["RequestOptions"] = None, ) -> "VerificationSession": """ Redact a VerificationSession to remove all collected information from Stripe. This will redact the VerificationSession and all objects related to it, including VerificationReports, Events, request logs, etc. A VerificationSession object can be redacted when it is in requires_input or verified [status](https://docs.stripe.com/docs/identity/how-sessions-work). Redacting a VerificationSession in requires_action state will automatically cancel it. The redaction process may take up to four days. When the redaction process is in progress, the VerificationSession's redaction.status field will be set to processing; when the process is finished, it will change to redacted and an identity.verification_session.redacted event will be emitted. Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the fields that contain personal data will be replaced by the string [redacted] or a similar placeholder. The metadata field will also be erased. Redacted objects cannot be updated or used for any purpose. [Learn more](https://docs.stripe.com/docs/identity/verification-sessions#redact). """ return cast( "VerificationSession", await self._request_async( "post", "/v1/identity/verification_sessions/{session}/redact".format( session=sanitize_id(session), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.341062 stripe-13.2.0/stripe/issuing/__init__.py0000644000000000000000000000606415102753431015140 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.issuing._authorization import Authorization as Authorization from stripe.issuing._authorization_service import ( AuthorizationService as AuthorizationService, ) from stripe.issuing._card import Card as Card from stripe.issuing._card_service import CardService as CardService from stripe.issuing._cardholder import Cardholder as Cardholder from stripe.issuing._cardholder_service import ( CardholderService as CardholderService, ) from stripe.issuing._dispute import Dispute as Dispute from stripe.issuing._dispute_service import ( DisputeService as DisputeService, ) from stripe.issuing._personalization_design import ( PersonalizationDesign as PersonalizationDesign, ) from stripe.issuing._personalization_design_service import ( PersonalizationDesignService as PersonalizationDesignService, ) from stripe.issuing._physical_bundle import ( PhysicalBundle as PhysicalBundle, ) from stripe.issuing._physical_bundle_service import ( PhysicalBundleService as PhysicalBundleService, ) from stripe.issuing._token import Token as Token from stripe.issuing._token_service import TokenService as TokenService from stripe.issuing._transaction import Transaction as Transaction from stripe.issuing._transaction_service import ( TransactionService as TransactionService, ) # name -> (import_target, is_submodule) _import_map = { "Authorization": ("stripe.issuing._authorization", False), "AuthorizationService": ("stripe.issuing._authorization_service", False), "Card": ("stripe.issuing._card", False), "CardService": ("stripe.issuing._card_service", False), "Cardholder": ("stripe.issuing._cardholder", False), "CardholderService": ("stripe.issuing._cardholder_service", False), "Dispute": ("stripe.issuing._dispute", False), "DisputeService": ("stripe.issuing._dispute_service", False), "PersonalizationDesign": ("stripe.issuing._personalization_design", False), "PersonalizationDesignService": ( "stripe.issuing._personalization_design_service", False, ), "PhysicalBundle": ("stripe.issuing._physical_bundle", False), "PhysicalBundleService": ( "stripe.issuing._physical_bundle_service", False, ), "Token": ("stripe.issuing._token", False), "TokenService": ("stripe.issuing._token_service", False), "Transaction": ("stripe.issuing._transaction", False), "TransactionService": ("stripe.issuing._transaction_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.341062 stripe-13.2.0/stripe/issuing/_authorization.py0000644000000000000000000020205315102753431016434 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._test_helpers import APIResourceTestHelpers from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Type, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._balance_transaction import BalanceTransaction from stripe.issuing._card import Card from stripe.issuing._cardholder import Cardholder from stripe.issuing._token import Token from stripe.issuing._transaction import Transaction from stripe.params.issuing._authorization_approve_params import ( AuthorizationApproveParams, ) from stripe.params.issuing._authorization_capture_params import ( AuthorizationCaptureParams, ) from stripe.params.issuing._authorization_create_params import ( AuthorizationCreateParams, ) from stripe.params.issuing._authorization_decline_params import ( AuthorizationDeclineParams, ) from stripe.params.issuing._authorization_expire_params import ( AuthorizationExpireParams, ) from stripe.params.issuing._authorization_finalize_amount_params import ( AuthorizationFinalizeAmountParams, ) from stripe.params.issuing._authorization_increment_params import ( AuthorizationIncrementParams, ) from stripe.params.issuing._authorization_list_params import ( AuthorizationListParams, ) from stripe.params.issuing._authorization_modify_params import ( AuthorizationModifyParams, ) from stripe.params.issuing._authorization_respond_params import ( AuthorizationRespondParams, ) from stripe.params.issuing._authorization_retrieve_params import ( AuthorizationRetrieveParams, ) from stripe.params.issuing._authorization_reverse_params import ( AuthorizationReverseParams, ) class Authorization( ListableAPIResource["Authorization"], UpdateableAPIResource["Authorization"], ): """ When an [issued card](https://stripe.com/docs/issuing) is used to make a purchase, an Issuing `Authorization` object is created. [Authorizations](https://stripe.com/docs/issuing/purchases/authorizations) must be approved for the purchase to be completed successfully. Related guide: [Issued card authorizations](https://stripe.com/docs/issuing/purchases/authorizations) """ OBJECT_NAME: ClassVar[Literal["issuing.authorization"]] = ( "issuing.authorization" ) class AmountDetails(StripeObject): atm_fee: Optional[int] """ The fee charged by the ATM for the cash withdrawal. """ cashback_amount: Optional[int] """ The amount of cash requested by the cardholder. """ class Fleet(StripeObject): class CardholderPromptData(StripeObject): alphanumeric_id: Optional[str] """ [Deprecated] An alphanumeric ID, though typical point of sales only support numeric entry. The card program can be configured to prompt for a vehicle ID, driver ID, or generic ID. """ driver_id: Optional[str] """ Driver ID. """ odometer: Optional[int] """ Odometer reading. """ unspecified_id: Optional[str] """ An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type. """ user_id: Optional[str] """ User ID. """ vehicle_number: Optional[str] """ Vehicle number. """ class ReportedBreakdown(StripeObject): class Fuel(StripeObject): gross_amount_decimal: Optional[str] """ Gross fuel amount that should equal Fuel Quantity multiplied by Fuel Unit Cost, inclusive of taxes. """ class NonFuel(StripeObject): gross_amount_decimal: Optional[str] """ Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes. """ class Tax(StripeObject): local_amount_decimal: Optional[str] """ Amount of state or provincial Sales Tax included in the transaction amount. `null` if not reported by merchant or not subject to tax. """ national_amount_decimal: Optional[str] """ Amount of national Sales Tax or VAT included in the transaction amount. `null` if not reported by merchant or not subject to tax. """ fuel: Optional[Fuel] """ Breakdown of fuel portion of the purchase. """ non_fuel: Optional[NonFuel] """ Breakdown of non-fuel portion of the purchase. """ tax: Optional[Tax] """ Information about tax included in this transaction. """ _inner_class_types = { "fuel": Fuel, "non_fuel": NonFuel, "tax": Tax, } cardholder_prompt_data: Optional[CardholderPromptData] """ Answers to prompts presented to the cardholder at the point of sale. Prompted fields vary depending on the configuration of your physical fleet cards. Typical points of sale support only numeric entry. """ purchase_type: Optional[ Literal[ "fuel_and_non_fuel_purchase", "fuel_purchase", "non_fuel_purchase", ] ] """ The type of purchase. """ reported_breakdown: Optional[ReportedBreakdown] """ More information about the total amount. Typically this information is received from the merchant after the authorization has been approved and the fuel dispensed. This information is not guaranteed to be accurate as some merchants may provide unreliable data. """ service_type: Optional[ Literal["full_service", "non_fuel_transaction", "self_service"] ] """ The type of fuel service. """ _inner_class_types = { "cardholder_prompt_data": CardholderPromptData, "reported_breakdown": ReportedBreakdown, } class FraudChallenge(StripeObject): channel: Literal["sms"] """ The method by which the fraud challenge was delivered to the cardholder. """ status: Literal[ "expired", "pending", "rejected", "undeliverable", "verified" ] """ The status of the fraud challenge. """ undeliverable_reason: Optional[ Literal["no_phone_number", "unsupported_phone_number"] ] """ If the challenge is not deliverable, the reason why. """ class Fuel(StripeObject): industry_product_code: Optional[str] """ [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased. """ quantity_decimal: Optional[str] """ The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places. """ type: Optional[ Literal[ "diesel", "other", "unleaded_plus", "unleaded_regular", "unleaded_super", ] ] """ The type of fuel that was purchased. """ unit: Optional[ Literal[ "charging_minute", "imperial_gallon", "kilogram", "kilowatt_hour", "liter", "other", "pound", "us_gallon", ] ] """ The units for `quantity_decimal`. """ unit_cost_decimal: Optional[str] """ The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places. """ class MerchantData(StripeObject): category: str """ A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values. """ category_code: str """ The merchant category code for the seller's business """ city: Optional[str] """ City where the seller is located """ country: Optional[str] """ Country where the seller is located """ name: Optional[str] """ Name of the seller """ network_id: str """ Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant. """ postal_code: Optional[str] """ Postal code where the seller is located """ state: Optional[str] """ State where the seller is located """ tax_id: Optional[str] """ The seller's tax identification number. Currently populated for French merchants only. """ terminal_id: Optional[str] """ An ID assigned by the seller to the location of the sale. """ url: Optional[str] """ URL provided by the merchant on a 3DS request """ class NetworkData(StripeObject): acquiring_institution_id: Optional[str] """ Identifier assigned to the acquirer by the card network. Sometimes this value is not provided by the network; in this case, the value will be `null`. """ system_trace_audit_number: Optional[str] """ The System Trace Audit Number (STAN) is a 6-digit identifier assigned by the acquirer. Prefer `network_data.transaction_id` if present, unless you have special requirements. """ transaction_id: Optional[str] """ Unique identifier for the authorization assigned by the card network used to match subsequent messages, disputes, and transactions. """ class PendingRequest(StripeObject): class AmountDetails(StripeObject): atm_fee: Optional[int] """ The fee charged by the ATM for the cash withdrawal. """ cashback_amount: Optional[int] """ The amount of cash requested by the cardholder. """ amount: int """ The additional amount Stripe will hold if the authorization is approved, in the card's [currency](https://stripe.com/docs/api#issuing_authorization_object-pending-request-currency) and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ amount_details: Optional[AmountDetails] """ Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ is_amount_controllable: bool """ If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization. """ merchant_amount: int """ The amount the merchant is requesting to be authorized in the `merchant_currency`. The amount is in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ merchant_currency: str """ The local currency the merchant is requesting to authorize. """ network_risk_score: Optional[int] """ The card network's estimate of the likelihood that an authorization is fraudulent. Takes on values between 1 and 99. """ _inner_class_types = {"amount_details": AmountDetails} class RequestHistory(StripeObject): class AmountDetails(StripeObject): atm_fee: Optional[int] """ The fee charged by the ATM for the cash withdrawal. """ cashback_amount: Optional[int] """ The amount of cash requested by the cardholder. """ amount: int """ The `pending_request.amount` at the time of the request, presented in your card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Stripe held this amount from your account to fund the authorization if the request was approved. """ amount_details: Optional[AmountDetails] """ Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ approved: bool """ Whether this request was approved. """ authorization_code: Optional[str] """ A code created by Stripe which is shared with the merchant to validate the authorization. This field will be populated if the authorization message was approved. The code typically starts with the letter "S", followed by a six-digit number. For example, "S498162". Please note that the code is not guaranteed to be unique across authorizations. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ merchant_amount: int """ The `pending_request.merchant_amount` at the time of the request, presented in the `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ merchant_currency: str """ The currency that was collected by the merchant and presented to the cardholder for the authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ network_risk_score: Optional[int] """ The card network's estimate of the likelihood that an authorization is fraudulent. Takes on values between 1 and 99. """ reason: Literal[ "account_disabled", "card_active", "card_canceled", "card_expired", "card_inactive", "cardholder_blocked", "cardholder_inactive", "cardholder_verification_required", "insecure_authorization_method", "insufficient_funds", "network_fallback", "not_allowed", "pin_blocked", "spending_controls", "suspected_fraud", "verification_failed", "webhook_approved", "webhook_declined", "webhook_error", "webhook_timeout", ] """ When an authorization is approved or declined by you or by Stripe, this field provides additional detail on the reason for the outcome. """ reason_message: Optional[str] """ If the `request_history.reason` is `webhook_error` because the direct webhook response is invalid (for example, parsing errors or missing parameters), we surface a more detailed error message via this field. """ requested_at: Optional[int] """ Time when the card network received an authorization request from the acquirer in UTC. Referred to by networks as transmission time. """ _inner_class_types = {"amount_details": AmountDetails} class Treasury(StripeObject): received_credits: List[str] """ The array of [ReceivedCredits](https://stripe.com/docs/api/treasury/received_credits) associated with this authorization """ received_debits: List[str] """ The array of [ReceivedDebits](https://stripe.com/docs/api/treasury/received_debits) associated with this authorization """ transaction: Optional[str] """ The Treasury [Transaction](https://stripe.com/docs/api/treasury/transactions) associated with this authorization """ class VerificationData(StripeObject): class AuthenticationExemption(StripeObject): claimed_by: Literal["acquirer", "issuer"] """ The entity that requested the exemption, either the acquiring merchant or the Issuing user. """ type: Literal[ "low_value_transaction", "transaction_risk_analysis", "unknown" ] """ The specific exemption claimed for this authorization. """ class ThreeDSecure(StripeObject): result: Literal[ "attempt_acknowledged", "authenticated", "failed", "required" ] """ The outcome of the 3D Secure authentication request. """ address_line1_check: Literal["match", "mismatch", "not_provided"] """ Whether the cardholder provided an address first line and if it matched the cardholder's `billing.address.line1`. """ address_postal_code_check: Literal["match", "mismatch", "not_provided"] """ Whether the cardholder provided a postal code and if it matched the cardholder's `billing.address.postal_code`. """ authentication_exemption: Optional[AuthenticationExemption] """ The exemption applied to this authorization. """ cvc_check: Literal["match", "mismatch", "not_provided"] """ Whether the cardholder provided a CVC and if it matched Stripe's record. """ expiry_check: Literal["match", "mismatch", "not_provided"] """ Whether the cardholder provided an expiry date and if it matched Stripe's record. """ postal_code: Optional[str] """ The postal code submitted as part of the authorization used for postal code verification. """ three_d_secure: Optional[ThreeDSecure] """ 3D Secure details. """ _inner_class_types = { "authentication_exemption": AuthenticationExemption, "three_d_secure": ThreeDSecure, } amount: int """ The total amount that was authorized or rejected. This amount is in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). `amount` should be the same as `merchant_amount`, unless `currency` and `merchant_currency` are different. """ amount_details: Optional[AmountDetails] """ Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ approved: bool """ Whether the authorization has been approved. """ authorization_method: Literal[ "chip", "contactless", "keyed_in", "online", "swipe" ] """ How the card details were provided. """ balance_transactions: List["BalanceTransaction"] """ List of balance transactions associated with this authorization. """ card: "Card" """ You can [create physical or virtual cards](https://stripe.com/docs/issuing) that are issued to cardholders. """ cardholder: Optional[ExpandableField["Cardholder"]] """ The cardholder to whom this authorization belongs. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ The currency of the cardholder. This currency can be different from the currency presented at authorization and the `merchant_currency` field on this authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ fleet: Optional[Fleet] """ Fleet-specific information for authorizations using Fleet cards. """ fraud_challenges: Optional[List[FraudChallenge]] """ Fraud challenges sent to the cardholder, if this authorization was declined for fraud risk reasons. """ fuel: Optional[Fuel] """ Information about fuel that was purchased with this transaction. Typically this information is received from the merchant after the authorization has been approved and the fuel dispensed. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ merchant_amount: int """ The total amount that was authorized or rejected. This amount is in the `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). `merchant_amount` should be the same as `amount`, unless `merchant_currency` and `currency` are different. """ merchant_currency: str """ The local currency that was presented to the cardholder for the authorization. This currency can be different from the cardholder currency and the `currency` field on this authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ merchant_data: MerchantData 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. """ network_data: Optional[NetworkData] """ Details about the authorization, such as identifiers, set by the card network. """ object: Literal["issuing.authorization"] """ String representing the object's type. Objects of the same type share the same value. """ pending_request: Optional[PendingRequest] """ The pending authorization request. This field will only be non-null during an `issuing_authorization.request` webhook. """ request_history: List[RequestHistory] """ History of every time a `pending_request` authorization was approved/declined, either by you directly or by Stripe (e.g. based on your spending_controls). If the merchant changes the authorization by performing an incremental authorization, you can look at this field to see the previous requests for the authorization. This field can be helpful in determining why a given authorization was approved/declined. """ status: Literal["closed", "expired", "pending", "reversed"] """ The current status of the authorization in its lifecycle. """ token: Optional[ExpandableField["Token"]] """ [Token](https://stripe.com/docs/api/issuing/tokens/object) object used for this authorization. If a network token was not used for this authorization, this field will be null. """ transactions: List["Transaction"] """ List of [transactions](https://stripe.com/docs/api/issuing/transactions) associated with this authorization. """ treasury: Optional[Treasury] """ [Treasury](https://stripe.com/docs/api/treasury) details related to this authorization if it was created on a [FinancialAccount](https://stripe.com/docs/api/treasury/financial_accounts). """ verification_data: VerificationData verified_by_fraud_challenge: Optional[bool] """ Whether the authorization bypassed fraud risk checks because the cardholder has previously completed a fraud challenge on a similar high-risk authorization from the same merchant. """ wallet: Optional[str] """ The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`. Will populate as `null` when no digital wallet was utilized. """ @classmethod def _cls_approve( cls, authorization: str, **params: Unpack["AuthorizationApproveParams"] ) -> "Authorization": """ [Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the [real-time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to approve an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ return cast( "Authorization", cls._static_request( "post", "/v1/issuing/authorizations/{authorization}/approve".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod def approve( authorization: str, **params: Unpack["AuthorizationApproveParams"] ) -> "Authorization": """ [Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the [real-time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to approve an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ ... @overload def approve( self, **params: Unpack["AuthorizationApproveParams"] ) -> "Authorization": """ [Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the [real-time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to approve an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ ... @class_method_variant("_cls_approve") def approve( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationApproveParams"] ) -> "Authorization": """ [Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the [real-time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to approve an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ return cast( "Authorization", self._request( "post", "/v1/issuing/authorizations/{authorization}/approve".format( authorization=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_approve_async( cls, authorization: str, **params: Unpack["AuthorizationApproveParams"] ) -> "Authorization": """ [Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the [real-time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to approve an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ return cast( "Authorization", await cls._static_request_async( "post", "/v1/issuing/authorizations/{authorization}/approve".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod async def approve_async( authorization: str, **params: Unpack["AuthorizationApproveParams"] ) -> "Authorization": """ [Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the [real-time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to approve an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ ... @overload async def approve_async( self, **params: Unpack["AuthorizationApproveParams"] ) -> "Authorization": """ [Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the [real-time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to approve an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ ... @class_method_variant("_cls_approve_async") async def approve_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationApproveParams"] ) -> "Authorization": """ [Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the [real-time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to approve an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ return cast( "Authorization", await self._request_async( "post", "/v1/issuing/authorizations/{authorization}/approve".format( authorization=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_decline( cls, authorization: str, **params: Unpack["AuthorizationDeclineParams"] ) -> "Authorization": """ [Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the [real time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to decline an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ return cast( "Authorization", cls._static_request( "post", "/v1/issuing/authorizations/{authorization}/decline".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod def decline( authorization: str, **params: Unpack["AuthorizationDeclineParams"] ) -> "Authorization": """ [Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the [real time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to decline an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ ... @overload def decline( self, **params: Unpack["AuthorizationDeclineParams"] ) -> "Authorization": """ [Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the [real time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to decline an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ ... @class_method_variant("_cls_decline") def decline( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationDeclineParams"] ) -> "Authorization": """ [Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the [real time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to decline an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ return cast( "Authorization", self._request( "post", "/v1/issuing/authorizations/{authorization}/decline".format( authorization=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_decline_async( cls, authorization: str, **params: Unpack["AuthorizationDeclineParams"] ) -> "Authorization": """ [Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the [real time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to decline an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ return cast( "Authorization", await cls._static_request_async( "post", "/v1/issuing/authorizations/{authorization}/decline".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod async def decline_async( authorization: str, **params: Unpack["AuthorizationDeclineParams"] ) -> "Authorization": """ [Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the [real time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to decline an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ ... @overload async def decline_async( self, **params: Unpack["AuthorizationDeclineParams"] ) -> "Authorization": """ [Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the [real time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to decline an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ ... @class_method_variant("_cls_decline_async") async def decline_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationDeclineParams"] ) -> "Authorization": """ [Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the [real time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to decline an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ return cast( "Authorization", await self._request_async( "post", "/v1/issuing/authorizations/{authorization}/decline".format( authorization=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def list( cls, **params: Unpack["AuthorizationListParams"] ) -> ListObject["Authorization"]: """ Returns a list of Issuing Authorization objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["AuthorizationListParams"] ) -> ListObject["Authorization"]: """ Returns a list of Issuing Authorization objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["AuthorizationModifyParams"] ) -> "Authorization": """ Updates the specified Issuing Authorization object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Authorization", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["AuthorizationModifyParams"] ) -> "Authorization": """ Updates the specified Issuing Authorization object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Authorization", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["AuthorizationRetrieveParams"] ) -> "Authorization": """ Retrieves an Issuing Authorization object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["AuthorizationRetrieveParams"] ) -> "Authorization": """ Retrieves an Issuing Authorization object. """ instance = cls(id, **params) await instance.refresh_async() return instance class TestHelpers(APIResourceTestHelpers["Authorization"]): _resource_cls: Type["Authorization"] @classmethod def _cls_capture( cls, authorization: str, **params: Unpack["AuthorizationCaptureParams"], ) -> "Authorization": """ Capture a test-mode authorization. """ return cast( "Authorization", cls._static_request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/capture".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod def capture( authorization: str, **params: Unpack["AuthorizationCaptureParams"] ) -> "Authorization": """ Capture a test-mode authorization. """ ... @overload def capture( self, **params: Unpack["AuthorizationCaptureParams"] ) -> "Authorization": """ Capture a test-mode authorization. """ ... @class_method_variant("_cls_capture") def capture( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationCaptureParams"] ) -> "Authorization": """ Capture a test-mode authorization. """ return cast( "Authorization", self.resource._request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/capture".format( authorization=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_capture_async( cls, authorization: str, **params: Unpack["AuthorizationCaptureParams"], ) -> "Authorization": """ Capture a test-mode authorization. """ return cast( "Authorization", await cls._static_request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/capture".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod async def capture_async( authorization: str, **params: Unpack["AuthorizationCaptureParams"] ) -> "Authorization": """ Capture a test-mode authorization. """ ... @overload async def capture_async( self, **params: Unpack["AuthorizationCaptureParams"] ) -> "Authorization": """ Capture a test-mode authorization. """ ... @class_method_variant("_cls_capture_async") async def capture_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationCaptureParams"] ) -> "Authorization": """ Capture a test-mode authorization. """ return cast( "Authorization", await self.resource._request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/capture".format( authorization=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def create( cls, **params: Unpack["AuthorizationCreateParams"] ) -> "Authorization": """ Create a test-mode authorization. """ return cast( "Authorization", cls._static_request( "post", "/v1/test_helpers/issuing/authorizations", params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["AuthorizationCreateParams"] ) -> "Authorization": """ Create a test-mode authorization. """ return cast( "Authorization", await cls._static_request_async( "post", "/v1/test_helpers/issuing/authorizations", params=params, ), ) @classmethod def _cls_expire( cls, authorization: str, **params: Unpack["AuthorizationExpireParams"], ) -> "Authorization": """ Expire a test-mode Authorization. """ return cast( "Authorization", cls._static_request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/expire".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod def expire( authorization: str, **params: Unpack["AuthorizationExpireParams"] ) -> "Authorization": """ Expire a test-mode Authorization. """ ... @overload def expire( self, **params: Unpack["AuthorizationExpireParams"] ) -> "Authorization": """ Expire a test-mode Authorization. """ ... @class_method_variant("_cls_expire") def expire( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationExpireParams"] ) -> "Authorization": """ Expire a test-mode Authorization. """ return cast( "Authorization", self.resource._request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/expire".format( authorization=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_expire_async( cls, authorization: str, **params: Unpack["AuthorizationExpireParams"], ) -> "Authorization": """ Expire a test-mode Authorization. """ return cast( "Authorization", await cls._static_request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/expire".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod async def expire_async( authorization: str, **params: Unpack["AuthorizationExpireParams"] ) -> "Authorization": """ Expire a test-mode Authorization. """ ... @overload async def expire_async( self, **params: Unpack["AuthorizationExpireParams"] ) -> "Authorization": """ Expire a test-mode Authorization. """ ... @class_method_variant("_cls_expire_async") async def expire_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationExpireParams"] ) -> "Authorization": """ Expire a test-mode Authorization. """ return cast( "Authorization", await self.resource._request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/expire".format( authorization=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_finalize_amount( cls, authorization: str, **params: Unpack["AuthorizationFinalizeAmountParams"], ) -> "Authorization": """ Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated amount. """ return cast( "Authorization", cls._static_request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/finalize_amount".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod def finalize_amount( authorization: str, **params: Unpack["AuthorizationFinalizeAmountParams"], ) -> "Authorization": """ Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated amount. """ ... @overload def finalize_amount( self, **params: Unpack["AuthorizationFinalizeAmountParams"] ) -> "Authorization": """ Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated amount. """ ... @class_method_variant("_cls_finalize_amount") def finalize_amount( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationFinalizeAmountParams"] ) -> "Authorization": """ Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated amount. """ return cast( "Authorization", self.resource._request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/finalize_amount".format( authorization=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_finalize_amount_async( cls, authorization: str, **params: Unpack["AuthorizationFinalizeAmountParams"], ) -> "Authorization": """ Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated amount. """ return cast( "Authorization", await cls._static_request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/finalize_amount".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod async def finalize_amount_async( authorization: str, **params: Unpack["AuthorizationFinalizeAmountParams"], ) -> "Authorization": """ Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated amount. """ ... @overload async def finalize_amount_async( self, **params: Unpack["AuthorizationFinalizeAmountParams"] ) -> "Authorization": """ Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated amount. """ ... @class_method_variant("_cls_finalize_amount_async") async def finalize_amount_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationFinalizeAmountParams"] ) -> "Authorization": """ Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated amount. """ return cast( "Authorization", await self.resource._request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/finalize_amount".format( authorization=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_increment( cls, authorization: str, **params: Unpack["AuthorizationIncrementParams"], ) -> "Authorization": """ Increment a test-mode Authorization. """ return cast( "Authorization", cls._static_request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/increment".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod def increment( authorization: str, **params: Unpack["AuthorizationIncrementParams"], ) -> "Authorization": """ Increment a test-mode Authorization. """ ... @overload def increment( self, **params: Unpack["AuthorizationIncrementParams"] ) -> "Authorization": """ Increment a test-mode Authorization. """ ... @class_method_variant("_cls_increment") def increment( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationIncrementParams"] ) -> "Authorization": """ Increment a test-mode Authorization. """ return cast( "Authorization", self.resource._request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/increment".format( authorization=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_increment_async( cls, authorization: str, **params: Unpack["AuthorizationIncrementParams"], ) -> "Authorization": """ Increment a test-mode Authorization. """ return cast( "Authorization", await cls._static_request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/increment".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod async def increment_async( authorization: str, **params: Unpack["AuthorizationIncrementParams"], ) -> "Authorization": """ Increment a test-mode Authorization. """ ... @overload async def increment_async( self, **params: Unpack["AuthorizationIncrementParams"] ) -> "Authorization": """ Increment a test-mode Authorization. """ ... @class_method_variant("_cls_increment_async") async def increment_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationIncrementParams"] ) -> "Authorization": """ Increment a test-mode Authorization. """ return cast( "Authorization", await self.resource._request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/increment".format( authorization=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_respond( cls, authorization: str, **params: Unpack["AuthorizationRespondParams"], ) -> "Authorization": """ Respond to a fraud challenge on a testmode Issuing authorization, simulating either a confirmation of fraud or a correction of legitimacy. """ return cast( "Authorization", cls._static_request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/fraud_challenges/respond".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod def respond( authorization: str, **params: Unpack["AuthorizationRespondParams"] ) -> "Authorization": """ Respond to a fraud challenge on a testmode Issuing authorization, simulating either a confirmation of fraud or a correction of legitimacy. """ ... @overload def respond( self, **params: Unpack["AuthorizationRespondParams"] ) -> "Authorization": """ Respond to a fraud challenge on a testmode Issuing authorization, simulating either a confirmation of fraud or a correction of legitimacy. """ ... @class_method_variant("_cls_respond") def respond( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationRespondParams"] ) -> "Authorization": """ Respond to a fraud challenge on a testmode Issuing authorization, simulating either a confirmation of fraud or a correction of legitimacy. """ return cast( "Authorization", self.resource._request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/fraud_challenges/respond".format( authorization=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_respond_async( cls, authorization: str, **params: Unpack["AuthorizationRespondParams"], ) -> "Authorization": """ Respond to a fraud challenge on a testmode Issuing authorization, simulating either a confirmation of fraud or a correction of legitimacy. """ return cast( "Authorization", await cls._static_request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/fraud_challenges/respond".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod async def respond_async( authorization: str, **params: Unpack["AuthorizationRespondParams"] ) -> "Authorization": """ Respond to a fraud challenge on a testmode Issuing authorization, simulating either a confirmation of fraud or a correction of legitimacy. """ ... @overload async def respond_async( self, **params: Unpack["AuthorizationRespondParams"] ) -> "Authorization": """ Respond to a fraud challenge on a testmode Issuing authorization, simulating either a confirmation of fraud or a correction of legitimacy. """ ... @class_method_variant("_cls_respond_async") async def respond_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationRespondParams"] ) -> "Authorization": """ Respond to a fraud challenge on a testmode Issuing authorization, simulating either a confirmation of fraud or a correction of legitimacy. """ return cast( "Authorization", await self.resource._request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/fraud_challenges/respond".format( authorization=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_reverse( cls, authorization: str, **params: Unpack["AuthorizationReverseParams"], ) -> "Authorization": """ Reverse a test-mode Authorization. """ return cast( "Authorization", cls._static_request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/reverse".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod def reverse( authorization: str, **params: Unpack["AuthorizationReverseParams"] ) -> "Authorization": """ Reverse a test-mode Authorization. """ ... @overload def reverse( self, **params: Unpack["AuthorizationReverseParams"] ) -> "Authorization": """ Reverse a test-mode Authorization. """ ... @class_method_variant("_cls_reverse") def reverse( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationReverseParams"] ) -> "Authorization": """ Reverse a test-mode Authorization. """ return cast( "Authorization", self.resource._request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/reverse".format( authorization=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_reverse_async( cls, authorization: str, **params: Unpack["AuthorizationReverseParams"], ) -> "Authorization": """ Reverse a test-mode Authorization. """ return cast( "Authorization", await cls._static_request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/reverse".format( authorization=sanitize_id(authorization) ), params=params, ), ) @overload @staticmethod async def reverse_async( authorization: str, **params: Unpack["AuthorizationReverseParams"] ) -> "Authorization": """ Reverse a test-mode Authorization. """ ... @overload async def reverse_async( self, **params: Unpack["AuthorizationReverseParams"] ) -> "Authorization": """ Reverse a test-mode Authorization. """ ... @class_method_variant("_cls_reverse_async") async def reverse_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["AuthorizationReverseParams"] ) -> "Authorization": """ Reverse a test-mode Authorization. """ return cast( "Authorization", await self.resource._request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/reverse".format( authorization=sanitize_id(self.resource.get("id")) ), params=params, ), ) @property def test_helpers(self): return self.TestHelpers(self) _inner_class_types = { "amount_details": AmountDetails, "fleet": Fleet, "fraud_challenges": FraudChallenge, "fuel": Fuel, "merchant_data": MerchantData, "network_data": NetworkData, "pending_request": PendingRequest, "request_history": RequestHistory, "treasury": Treasury, "verification_data": VerificationData, } Authorization.TestHelpers._resource_cls = Authorization ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.341062 stripe-13.2.0/stripe/issuing/_authorization_service.py0000644000000000000000000002241215102753431020153 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.issuing._authorization import Authorization from stripe.params.issuing._authorization_approve_params import ( AuthorizationApproveParams, ) from stripe.params.issuing._authorization_decline_params import ( AuthorizationDeclineParams, ) from stripe.params.issuing._authorization_list_params import ( AuthorizationListParams, ) from stripe.params.issuing._authorization_retrieve_params import ( AuthorizationRetrieveParams, ) from stripe.params.issuing._authorization_update_params import ( AuthorizationUpdateParams, ) class AuthorizationService(StripeService): def list( self, params: Optional["AuthorizationListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Authorization]": """ Returns a list of Issuing Authorization objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[Authorization]", self._request( "get", "/v1/issuing/authorizations", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["AuthorizationListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Authorization]": """ Returns a list of Issuing Authorization objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[Authorization]", await self._request_async( "get", "/v1/issuing/authorizations", base_address="api", params=params, options=options, ), ) def retrieve( self, authorization: str, params: Optional["AuthorizationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Retrieves an Issuing Authorization object. """ return cast( "Authorization", self._request( "get", "/v1/issuing/authorizations/{authorization}".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, authorization: str, params: Optional["AuthorizationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Retrieves an Issuing Authorization object. """ return cast( "Authorization", await self._request_async( "get", "/v1/issuing/authorizations/{authorization}".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) def update( self, authorization: str, params: Optional["AuthorizationUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Updates the specified Issuing Authorization object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Authorization", self._request( "post", "/v1/issuing/authorizations/{authorization}".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) async def update_async( self, authorization: str, params: Optional["AuthorizationUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Updates the specified Issuing Authorization object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Authorization", await self._request_async( "post", "/v1/issuing/authorizations/{authorization}".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) def approve( self, authorization: str, params: Optional["AuthorizationApproveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Authorization": """ [Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the [real-time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to approve an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ return cast( "Authorization", self._request( "post", "/v1/issuing/authorizations/{authorization}/approve".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) async def approve_async( self, authorization: str, params: Optional["AuthorizationApproveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Authorization": """ [Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the [real-time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to approve an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ return cast( "Authorization", await self._request_async( "post", "/v1/issuing/authorizations/{authorization}/approve".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) def decline( self, authorization: str, params: Optional["AuthorizationDeclineParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Authorization": """ [Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the [real time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to decline an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ return cast( "Authorization", self._request( "post", "/v1/issuing/authorizations/{authorization}/decline".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) async def decline_async( self, authorization: str, params: Optional["AuthorizationDeclineParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Authorization": """ [Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the [real time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow. This method is deprecated. Instead, [respond directly to the webhook request to decline an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling). """ return cast( "Authorization", await self._request_async( "post", "/v1/issuing/authorizations/{authorization}/decline".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.341062 stripe-13.2.0/stripe/issuing/_card.py0000644000000000000000000024336315102753431014456 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._test_helpers import APIResourceTestHelpers from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Type, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.issuing._cardholder import Cardholder from stripe.issuing._personalization_design import PersonalizationDesign from stripe.params.issuing._card_create_params import CardCreateParams from stripe.params.issuing._card_deliver_card_params import ( CardDeliverCardParams, ) from stripe.params.issuing._card_fail_card_params import CardFailCardParams from stripe.params.issuing._card_list_params import CardListParams from stripe.params.issuing._card_modify_params import CardModifyParams from stripe.params.issuing._card_retrieve_params import CardRetrieveParams from stripe.params.issuing._card_return_card_params import ( CardReturnCardParams, ) from stripe.params.issuing._card_ship_card_params import CardShipCardParams from stripe.params.issuing._card_submit_card_params import ( CardSubmitCardParams, ) class Card( CreateableAPIResource["Card"], ListableAPIResource["Card"], UpdateableAPIResource["Card"], ): """ You can [create physical or virtual cards](https://stripe.com/docs/issuing) that are issued to cardholders. """ OBJECT_NAME: ClassVar[Literal["issuing.card"]] = "issuing.card" class Shipping(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class AddressValidation(StripeObject): class NormalizedAddress(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ mode: Literal[ "disabled", "normalization_only", "validation_and_normalization", ] """ The address validation capabilities to use. """ normalized_address: Optional[NormalizedAddress] """ The normalized shipping address. """ result: Optional[ Literal[ "indeterminate", "likely_deliverable", "likely_undeliverable", ] ] """ The validation result for the shipping address. """ _inner_class_types = {"normalized_address": NormalizedAddress} class Customs(StripeObject): eori_number: Optional[str] """ A registration number used for customs in Europe. See [https://www.gov.uk/eori](https://www.gov.uk/eori) for the UK and [https://ec.europa.eu/taxation_customs/business/customs-procedures-import-and-export/customs-procedures/economic-operators-registration-and-identification-number-eori_en](https://ec.europa.eu/taxation_customs/business/customs-procedures-import-and-export/customs-procedures/economic-operators-registration-and-identification-number-eori_en) for the EU. """ address: Address address_validation: Optional[AddressValidation] """ Address validation details for the shipment. """ carrier: Optional[Literal["dhl", "fedex", "royal_mail", "usps"]] """ The delivery company that shipped a card. """ customs: Optional[Customs] """ Additional information that may be required for clearing customs. """ eta: Optional[int] """ A unix timestamp representing a best estimate of when the card will be delivered. """ name: str """ Recipient name. """ phone_number: Optional[str] """ The phone number of the receiver of the shipment. Our courier partners will use this number to contact you in the event of card delivery issues. For individual shipments to the EU/UK, if this field is empty, we will provide them with the phone number provided when the cardholder was initially created. """ require_signature: Optional[bool] """ Whether a signature is required for card delivery. This feature is only supported for US users. Standard shipping service does not support signature on delivery. The default value for standard shipping service is false and for express and priority services is true. """ service: Literal["express", "priority", "standard"] """ Shipment service, such as `standard` or `express`. """ status: Optional[ Literal[ "canceled", "delivered", "failure", "pending", "returned", "shipped", "submitted", ] ] """ The delivery status of the card. """ tracking_number: Optional[str] """ A tracking number for a card shipment. """ tracking_url: Optional[str] """ A link to the shipping carrier's site where you can view detailed information about a card shipment. """ type: Literal["bulk", "individual"] """ Packaging options. """ _inner_class_types = { "address": Address, "address_validation": AddressValidation, "customs": Customs, } class SpendingControls(StripeObject): class SpendingLimit(StripeObject): amount: int """ Maximum amount allowed to spend per interval. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ categories: Optional[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories. """ interval: Literal[ "all_time", "daily", "monthly", "per_authorization", "weekly", "yearly", ] """ Interval (or event) to which the amount applies. """ allowed_categories: Optional[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`. """ allowed_merchant_countries: Optional[List[str]] """ Array of strings containing representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `blocked_merchant_countries`. Provide an empty value to unset this control. """ blocked_categories: Optional[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`. """ blocked_merchant_countries: Optional[List[str]] """ Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `allowed_merchant_countries`. Provide an empty value to unset this control. """ spending_limits: Optional[List[SpendingLimit]] """ Limit spending with amount-based rules that apply across any cards this card replaced (i.e., its `replacement_for` card and _that_ card's `replacement_for` card, up the chain). """ spending_limits_currency: Optional[str] """ Currency of the amounts within `spending_limits`. Always the same as the currency of the card. """ _inner_class_types = {"spending_limits": SpendingLimit} class Wallets(StripeObject): class ApplePay(StripeObject): eligible: bool """ Apple Pay Eligibility """ ineligible_reason: Optional[ Literal[ "missing_agreement", "missing_cardholder_contact", "unsupported_region", ] ] """ Reason the card is ineligible for Apple Pay """ class GooglePay(StripeObject): eligible: bool """ Google Pay Eligibility """ ineligible_reason: Optional[ Literal[ "missing_agreement", "missing_cardholder_contact", "unsupported_region", ] ] """ Reason the card is ineligible for Google Pay """ apple_pay: ApplePay google_pay: GooglePay primary_account_identifier: Optional[str] """ Unique identifier for a card used with digital wallets """ _inner_class_types = {"apple_pay": ApplePay, "google_pay": GooglePay} brand: str """ The brand of the card. """ cancellation_reason: Optional[Literal["design_rejected", "lost", "stolen"]] """ The reason why the card was canceled. """ cardholder: "Cardholder" """ An Issuing `Cardholder` object represents an individual or business entity who is [issued](https://stripe.com/docs/issuing) cards. Related guide: [How to create a cardholder](https://stripe.com/docs/issuing/cards/virtual/issue-cards#create-cardholder) """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Supported currencies are `usd` in the US, `eur` in the EU, and `gbp` in the UK. """ cvc: Optional[str] """ The card's CVC. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://stripe.com/docs/api/expanding_objects). Additionally, it's only available via the ["Retrieve a card" endpoint](https://stripe.com/docs/api/issuing/cards/retrieve), not via "List all cards" or any other endpoint. """ exp_month: int """ The expiration month of the card. """ exp_year: int """ The expiration year of the card. """ financial_account: Optional[str] """ The financial account this card is attached to. """ id: str """ Unique identifier for the object. """ last4: str """ The last 4 digits of the card number. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ number: Optional[str] """ The full unredacted card number. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://stripe.com/docs/api/expanding_objects). Additionally, it's only available via the ["Retrieve a card" endpoint](https://stripe.com/docs/api/issuing/cards/retrieve), not via "List all cards" or any other endpoint. """ object: Literal["issuing.card"] """ String representing the object's type. Objects of the same type share the same value. """ personalization_design: Optional[ExpandableField["PersonalizationDesign"]] """ The personalization design object belonging to this card. """ replaced_by: Optional[ExpandableField["Card"]] """ The latest card that replaces this card, if any. """ replacement_for: Optional[ExpandableField["Card"]] """ The card this card replaces, if any. """ replacement_reason: Optional[ Literal["damaged", "expired", "lost", "stolen"] ] """ The reason why the previous card needed to be replaced. """ second_line: Optional[str] """ Text separate from cardholder name, printed on the card. """ shipping: Optional[Shipping] """ Where and how the card will be shipped. """ spending_controls: SpendingControls status: Literal["active", "canceled", "inactive"] """ Whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`. """ type: Literal["physical", "virtual"] """ The type of the card. """ wallets: Optional[Wallets] """ Information relating to digital wallets (like Apple Pay and Google Pay). """ @classmethod def create(cls, **params: Unpack["CardCreateParams"]) -> "Card": """ Creates an Issuing Card object. """ return cast( "Card", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["CardCreateParams"] ) -> "Card": """ Creates an Issuing Card object. """ return cast( "Card", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list(cls, **params: Unpack["CardListParams"]) -> ListObject["Card"]: """ Returns a list of Issuing Card objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["CardListParams"] ) -> ListObject["Card"]: """ Returns a list of Issuing Card objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify(cls, id: str, **params: Unpack["CardModifyParams"]) -> "Card": """ Updates the specified Issuing Card object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Card", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["CardModifyParams"] ) -> "Card": """ Updates the specified Issuing Card object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Card", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["CardRetrieveParams"] ) -> "Card": """ Retrieves an Issuing Card object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["CardRetrieveParams"] ) -> "Card": """ Retrieves an Issuing Card object. """ instance = cls(id, **params) await instance.refresh_async() return instance class TestHelpers(APIResourceTestHelpers["Card"]): _resource_cls: Type["Card"] @classmethod def _cls_deliver_card( cls, card: str, **params: Unpack["CardDeliverCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to delivered. """ return cast( "Card", cls._static_request( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/deliver".format( card=sanitize_id(card) ), params=params, ), ) @overload @staticmethod def deliver_card( card: str, **params: Unpack["CardDeliverCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to delivered. """ ... @overload def deliver_card( self, **params: Unpack["CardDeliverCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to delivered. """ ... @class_method_variant("_cls_deliver_card") def deliver_card( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CardDeliverCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to delivered. """ return cast( "Card", self.resource._request( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/deliver".format( card=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_deliver_card_async( cls, card: str, **params: Unpack["CardDeliverCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to delivered. """ return cast( "Card", await cls._static_request_async( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/deliver".format( card=sanitize_id(card) ), params=params, ), ) @overload @staticmethod async def deliver_card_async( card: str, **params: Unpack["CardDeliverCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to delivered. """ ... @overload async def deliver_card_async( self, **params: Unpack["CardDeliverCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to delivered. """ ... @class_method_variant("_cls_deliver_card_async") async def deliver_card_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CardDeliverCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to delivered. """ return cast( "Card", await self.resource._request_async( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/deliver".format( card=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_fail_card( cls, card: str, **params: Unpack["CardFailCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to failure. """ return cast( "Card", cls._static_request( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/fail".format( card=sanitize_id(card) ), params=params, ), ) @overload @staticmethod def fail_card( card: str, **params: Unpack["CardFailCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to failure. """ ... @overload def fail_card(self, **params: Unpack["CardFailCardParams"]) -> "Card": """ Updates the shipping status of the specified Issuing Card object to failure. """ ... @class_method_variant("_cls_fail_card") def fail_card( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CardFailCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to failure. """ return cast( "Card", self.resource._request( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/fail".format( card=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_fail_card_async( cls, card: str, **params: Unpack["CardFailCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to failure. """ return cast( "Card", await cls._static_request_async( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/fail".format( card=sanitize_id(card) ), params=params, ), ) @overload @staticmethod async def fail_card_async( card: str, **params: Unpack["CardFailCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to failure. """ ... @overload async def fail_card_async( self, **params: Unpack["CardFailCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to failure. """ ... @class_method_variant("_cls_fail_card_async") async def fail_card_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CardFailCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to failure. """ return cast( "Card", await self.resource._request_async( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/fail".format( card=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_return_card( cls, card: str, **params: Unpack["CardReturnCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to returned. """ return cast( "Card", cls._static_request( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/return".format( card=sanitize_id(card) ), params=params, ), ) @overload @staticmethod def return_card( card: str, **params: Unpack["CardReturnCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to returned. """ ... @overload def return_card( self, **params: Unpack["CardReturnCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to returned. """ ... @class_method_variant("_cls_return_card") def return_card( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CardReturnCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to returned. """ return cast( "Card", self.resource._request( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/return".format( card=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_return_card_async( cls, card: str, **params: Unpack["CardReturnCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to returned. """ return cast( "Card", await cls._static_request_async( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/return".format( card=sanitize_id(card) ), params=params, ), ) @overload @staticmethod async def return_card_async( card: str, **params: Unpack["CardReturnCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to returned. """ ... @overload async def return_card_async( self, **params: Unpack["CardReturnCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to returned. """ ... @class_method_variant("_cls_return_card_async") async def return_card_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CardReturnCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to returned. """ return cast( "Card", await self.resource._request_async( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/return".format( card=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_ship_card( cls, card: str, **params: Unpack["CardShipCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to shipped. """ return cast( "Card", cls._static_request( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/ship".format( card=sanitize_id(card) ), params=params, ), ) @overload @staticmethod def ship_card( card: str, **params: Unpack["CardShipCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to shipped. """ ... @overload def ship_card(self, **params: Unpack["CardShipCardParams"]) -> "Card": """ Updates the shipping status of the specified Issuing Card object to shipped. """ ... @class_method_variant("_cls_ship_card") def ship_card( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CardShipCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to shipped. """ return cast( "Card", self.resource._request( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/ship".format( card=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_ship_card_async( cls, card: str, **params: Unpack["CardShipCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to shipped. """ return cast( "Card", await cls._static_request_async( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/ship".format( card=sanitize_id(card) ), params=params, ), ) @overload @staticmethod async def ship_card_async( card: str, **params: Unpack["CardShipCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to shipped. """ ... @overload async def ship_card_async( self, **params: Unpack["CardShipCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to shipped. """ ... @class_method_variant("_cls_ship_card_async") async def ship_card_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CardShipCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to shipped. """ return cast( "Card", await self.resource._request_async( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/ship".format( card=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_submit_card( cls, card: str, **params: Unpack["CardSubmitCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to submitted. This method requires Stripe Version ‘2024-09-30.acacia' or later. """ return cast( "Card", cls._static_request( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/submit".format( card=sanitize_id(card) ), params=params, ), ) @overload @staticmethod def submit_card( card: str, **params: Unpack["CardSubmitCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to submitted. This method requires Stripe Version ‘2024-09-30.acacia' or later. """ ... @overload def submit_card( self, **params: Unpack["CardSubmitCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to submitted. This method requires Stripe Version ‘2024-09-30.acacia' or later. """ ... @class_method_variant("_cls_submit_card") def submit_card( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CardSubmitCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to submitted. This method requires Stripe Version ‘2024-09-30.acacia' or later. """ return cast( "Card", self.resource._request( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/submit".format( card=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_submit_card_async( cls, card: str, **params: Unpack["CardSubmitCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to submitted. This method requires Stripe Version ‘2024-09-30.acacia' or later. """ return cast( "Card", await cls._static_request_async( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/submit".format( card=sanitize_id(card) ), params=params, ), ) @overload @staticmethod async def submit_card_async( card: str, **params: Unpack["CardSubmitCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to submitted. This method requires Stripe Version ‘2024-09-30.acacia' or later. """ ... @overload async def submit_card_async( self, **params: Unpack["CardSubmitCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to submitted. This method requires Stripe Version ‘2024-09-30.acacia' or later. """ ... @class_method_variant("_cls_submit_card_async") async def submit_card_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CardSubmitCardParams"] ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to submitted. This method requires Stripe Version ‘2024-09-30.acacia' or later. """ return cast( "Card", await self.resource._request_async( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/submit".format( card=sanitize_id(self.resource.get("id")) ), params=params, ), ) @property def test_helpers(self): return self.TestHelpers(self) _inner_class_types = { "shipping": Shipping, "spending_controls": SpendingControls, "wallets": Wallets, } Card.TestHelpers._resource_cls = Card ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.341062 stripe-13.2.0/stripe/issuing/_card_service.py0000644000000000000000000001226315102753431016167 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.issuing._card import Card from stripe.params.issuing._card_create_params import CardCreateParams from stripe.params.issuing._card_list_params import CardListParams from stripe.params.issuing._card_retrieve_params import CardRetrieveParams from stripe.params.issuing._card_update_params import CardUpdateParams class CardService(StripeService): def list( self, params: Optional["CardListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Card]": """ Returns a list of Issuing Card objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[Card]", self._request( "get", "/v1/issuing/cards", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["CardListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Card]": """ Returns a list of Issuing Card objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[Card]", await self._request_async( "get", "/v1/issuing/cards", base_address="api", params=params, options=options, ), ) def create( self, params: "CardCreateParams", options: Optional["RequestOptions"] = None, ) -> "Card": """ Creates an Issuing Card object. """ return cast( "Card", self._request( "post", "/v1/issuing/cards", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "CardCreateParams", options: Optional["RequestOptions"] = None, ) -> "Card": """ Creates an Issuing Card object. """ return cast( "Card", await self._request_async( "post", "/v1/issuing/cards", base_address="api", params=params, options=options, ), ) def retrieve( self, card: str, params: Optional["CardRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Card": """ Retrieves an Issuing Card object. """ return cast( "Card", self._request( "get", "/v1/issuing/cards/{card}".format(card=sanitize_id(card)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, card: str, params: Optional["CardRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Card": """ Retrieves an Issuing Card object. """ return cast( "Card", await self._request_async( "get", "/v1/issuing/cards/{card}".format(card=sanitize_id(card)), base_address="api", params=params, options=options, ), ) def update( self, card: str, params: Optional["CardUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Card": """ Updates the specified Issuing Card object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Card", self._request( "post", "/v1/issuing/cards/{card}".format(card=sanitize_id(card)), base_address="api", params=params, options=options, ), ) async def update_async( self, card: str, params: Optional["CardUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Card": """ Updates the specified Issuing Card object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Card", await self._request_async( "post", "/v1/issuing/cards/{card}".format(card=sanitize_id(card)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.342062 stripe-13.2.0/stripe/issuing/_cardholder.py0000644000000000000000000016772115102753431015657 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, Dict, List, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._file import File from stripe.params.issuing._cardholder_create_params import ( CardholderCreateParams, ) from stripe.params.issuing._cardholder_list_params import ( CardholderListParams, ) from stripe.params.issuing._cardholder_modify_params import ( CardholderModifyParams, ) from stripe.params.issuing._cardholder_retrieve_params import ( CardholderRetrieveParams, ) class Cardholder( CreateableAPIResource["Cardholder"], ListableAPIResource["Cardholder"], UpdateableAPIResource["Cardholder"], ): """ An Issuing `Cardholder` object represents an individual or business entity who is [issued](https://stripe.com/docs/issuing) cards. Related guide: [How to create a cardholder](https://stripe.com/docs/issuing/cards/virtual/issue-cards#create-cardholder) """ OBJECT_NAME: ClassVar[Literal["issuing.cardholder"]] = "issuing.cardholder" class Billing(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Address _inner_class_types = {"address": Address} class Company(StripeObject): tax_id_provided: bool """ Whether the company's business ID number was provided. """ class Individual(StripeObject): class CardIssuing(StripeObject): class UserTermsAcceptance(StripeObject): date: Optional[int] """ The Unix timestamp marking when the cardholder accepted the Authorized User Terms. """ ip: Optional[str] """ The IP address from which the cardholder accepted the Authorized User Terms. """ user_agent: Optional[str] """ The user agent of the browser from which the cardholder accepted the Authorized User Terms. """ user_terms_acceptance: Optional[UserTermsAcceptance] """ Information about cardholder acceptance of Celtic [Authorized User Terms](https://stripe.com/docs/issuing/cards#accept-authorized-user-terms). Required for cards backed by a Celtic program. """ _inner_class_types = {"user_terms_acceptance": UserTermsAcceptance} class Dob(StripeObject): day: Optional[int] """ The day of birth, between 1 and 31. """ month: Optional[int] """ The month of birth, between 1 and 12. """ year: Optional[int] """ The four-digit year of birth. """ class Verification(StripeObject): class Document(StripeObject): back: Optional[ExpandableField["File"]] """ The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. """ front: Optional[ExpandableField["File"]] """ The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. """ document: Optional[Document] """ An identifying document, either a passport or local ID card. """ _inner_class_types = {"document": Document} card_issuing: Optional[CardIssuing] """ Information related to the card_issuing program for this cardholder. """ dob: Optional[Dob] """ The date of birth of this cardholder. """ first_name: Optional[str] """ The first name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters. """ last_name: Optional[str] """ The last name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters. """ verification: Optional[Verification] """ Government-issued ID document for this cardholder. """ _inner_class_types = { "card_issuing": CardIssuing, "dob": Dob, "verification": Verification, } class Requirements(StripeObject): disabled_reason: Optional[ Literal[ "listed", "rejected.listed", "requirements.past_due", "under_review", ] ] """ If `disabled_reason` is present, all cards will decline authorizations with `cardholder_verification_required` reason. """ past_due: Optional[ List[ Literal[ "company.tax_id", "individual.card_issuing.user_terms_acceptance.date", "individual.card_issuing.user_terms_acceptance.ip", "individual.dob.day", "individual.dob.month", "individual.dob.year", "individual.first_name", "individual.last_name", "individual.verification.document", ] ] ] """ Array of fields that need to be collected in order to verify and re-enable the cardholder. """ class SpendingControls(StripeObject): class SpendingLimit(StripeObject): amount: int """ Maximum amount allowed to spend per interval. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ categories: Optional[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories. """ interval: Literal[ "all_time", "daily", "monthly", "per_authorization", "weekly", "yearly", ] """ Interval (or event) to which the amount applies. """ allowed_categories: Optional[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`. """ allowed_merchant_countries: Optional[List[str]] """ Array of strings containing representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `blocked_merchant_countries`. Provide an empty value to unset this control. """ blocked_categories: Optional[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`. """ blocked_merchant_countries: Optional[List[str]] """ Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `allowed_merchant_countries`. Provide an empty value to unset this control. """ spending_limits: Optional[List[SpendingLimit]] """ Limit spending with amount-based rules that apply across this cardholder's cards. """ spending_limits_currency: Optional[str] """ Currency of the amounts within `spending_limits`. """ _inner_class_types = {"spending_limits": SpendingLimit} billing: Billing company: Optional[Company] """ Additional information about a `company` cardholder. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ email: Optional[str] """ The cardholder's email address. """ id: str """ Unique identifier for the object. """ individual: Optional[Individual] """ Additional information about an `individual` cardholder. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ name: str """ The cardholder's name. This will be printed on cards issued to them. """ object: Literal["issuing.cardholder"] """ String representing the object's type. Objects of the same type share the same value. """ phone_number: Optional[str] """ The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure#when-is-3d-secure-applied) for more details. """ preferred_locales: Optional[List[Literal["de", "en", "es", "fr", "it"]]] """ The cardholder's preferred locales (languages), ordered by preference. Locales can be `de`, `en`, `es`, `fr`, or `it`. This changes the language of the [3D Secure flow](https://stripe.com/docs/issuing/3d-secure) and one-time password messages sent to the cardholder. """ requirements: Requirements spending_controls: Optional[SpendingControls] """ Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. """ status: Literal["active", "blocked", "inactive"] """ Specifies whether to permit authorizations on this cardholder's cards. """ type: Literal["company", "individual"] """ One of `individual` or `company`. See [Choose a cardholder type](https://stripe.com/docs/issuing/other/choose-cardholder) for more details. """ @classmethod def create( cls, **params: Unpack["CardholderCreateParams"] ) -> "Cardholder": """ Creates a new Issuing Cardholder object that can be issued cards. """ return cast( "Cardholder", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["CardholderCreateParams"] ) -> "Cardholder": """ Creates a new Issuing Cardholder object that can be issued cards. """ return cast( "Cardholder", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["CardholderListParams"] ) -> ListObject["Cardholder"]: """ Returns a list of Issuing Cardholder objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["CardholderListParams"] ) -> ListObject["Cardholder"]: """ Returns a list of Issuing Cardholder objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["CardholderModifyParams"] ) -> "Cardholder": """ Updates the specified Issuing Cardholder object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Cardholder", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["CardholderModifyParams"] ) -> "Cardholder": """ Updates the specified Issuing Cardholder object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Cardholder", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["CardholderRetrieveParams"] ) -> "Cardholder": """ Retrieves an Issuing Cardholder object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["CardholderRetrieveParams"] ) -> "Cardholder": """ Retrieves an Issuing Cardholder object. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "billing": Billing, "company": Company, "individual": Individual, "requirements": Requirements, "spending_controls": SpendingControls, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.342062 stripe-13.2.0/stripe/issuing/_cardholder_service.py0000644000000000000000000001353515102753431017370 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.issuing._cardholder import Cardholder from stripe.params.issuing._cardholder_create_params import ( CardholderCreateParams, ) from stripe.params.issuing._cardholder_list_params import ( CardholderListParams, ) from stripe.params.issuing._cardholder_retrieve_params import ( CardholderRetrieveParams, ) from stripe.params.issuing._cardholder_update_params import ( CardholderUpdateParams, ) class CardholderService(StripeService): def list( self, params: Optional["CardholderListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Cardholder]": """ Returns a list of Issuing Cardholder objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[Cardholder]", self._request( "get", "/v1/issuing/cardholders", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["CardholderListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Cardholder]": """ Returns a list of Issuing Cardholder objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[Cardholder]", await self._request_async( "get", "/v1/issuing/cardholders", base_address="api", params=params, options=options, ), ) def create( self, params: "CardholderCreateParams", options: Optional["RequestOptions"] = None, ) -> "Cardholder": """ Creates a new Issuing Cardholder object that can be issued cards. """ return cast( "Cardholder", self._request( "post", "/v1/issuing/cardholders", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "CardholderCreateParams", options: Optional["RequestOptions"] = None, ) -> "Cardholder": """ Creates a new Issuing Cardholder object that can be issued cards. """ return cast( "Cardholder", await self._request_async( "post", "/v1/issuing/cardholders", base_address="api", params=params, options=options, ), ) def retrieve( self, cardholder: str, params: Optional["CardholderRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Cardholder": """ Retrieves an Issuing Cardholder object. """ return cast( "Cardholder", self._request( "get", "/v1/issuing/cardholders/{cardholder}".format( cardholder=sanitize_id(cardholder), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, cardholder: str, params: Optional["CardholderRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Cardholder": """ Retrieves an Issuing Cardholder object. """ return cast( "Cardholder", await self._request_async( "get", "/v1/issuing/cardholders/{cardholder}".format( cardholder=sanitize_id(cardholder), ), base_address="api", params=params, options=options, ), ) def update( self, cardholder: str, params: Optional["CardholderUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Cardholder": """ Updates the specified Issuing Cardholder object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Cardholder", self._request( "post", "/v1/issuing/cardholders/{cardholder}".format( cardholder=sanitize_id(cardholder), ), base_address="api", params=params, options=options, ), ) async def update_async( self, cardholder: str, params: Optional["CardholderUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Cardholder": """ Updates the specified Issuing Cardholder object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Cardholder", await self._request_async( "post", "/v1/issuing/cardholders/{cardholder}".format( cardholder=sanitize_id(cardholder), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.342062 stripe-13.2.0/stripe/issuing/_dispute.py0000644000000000000000000005463315102753431015222 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._balance_transaction import BalanceTransaction from stripe._file import File from stripe.issuing._transaction import Transaction from stripe.params.issuing._dispute_create_params import ( DisputeCreateParams, ) from stripe.params.issuing._dispute_list_params import DisputeListParams from stripe.params.issuing._dispute_modify_params import ( DisputeModifyParams, ) from stripe.params.issuing._dispute_retrieve_params import ( DisputeRetrieveParams, ) from stripe.params.issuing._dispute_submit_params import ( DisputeSubmitParams, ) class Dispute( CreateableAPIResource["Dispute"], ListableAPIResource["Dispute"], UpdateableAPIResource["Dispute"], ): """ As a [card issuer](https://stripe.com/docs/issuing), you can dispute transactions that the cardholder does not recognize, suspects to be fraudulent, or has other issues with. Related guide: [Issuing disputes](https://stripe.com/docs/issuing/purchases/disputes) """ OBJECT_NAME: ClassVar[Literal["issuing.dispute"]] = "issuing.dispute" class Evidence(StripeObject): class Canceled(StripeObject): additional_documentation: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ canceled_at: Optional[int] """ Date when order was canceled. """ cancellation_policy_provided: Optional[bool] """ Whether the cardholder was provided with a cancellation policy. """ cancellation_reason: Optional[str] """ Reason for canceling the order. """ expected_at: Optional[int] """ Date when the cardholder expected to receive the product. """ explanation: Optional[str] """ Explanation of why the cardholder is disputing this transaction. """ product_description: Optional[str] """ Description of the merchandise or service that was purchased. """ product_type: Optional[Literal["merchandise", "service"]] """ Whether the product was a merchandise or service. """ return_status: Optional[Literal["merchant_rejected", "successful"]] """ Result of cardholder's attempt to return the product. """ returned_at: Optional[int] """ Date when the product was returned or attempted to be returned. """ class Duplicate(StripeObject): additional_documentation: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ card_statement: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the card statement showing that the product had already been paid for. """ cash_receipt: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the receipt showing that the product had been paid for in cash. """ check_image: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Image of the front and back of the check that was used to pay for the product. """ explanation: Optional[str] """ Explanation of why the cardholder is disputing this transaction. """ original_transaction: Optional[str] """ Transaction (e.g., ipi_...) that the disputed transaction is a duplicate of. Of the two or more transactions that are copies of each other, this is original undisputed one. """ class Fraudulent(StripeObject): additional_documentation: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: Optional[str] """ Explanation of why the cardholder is disputing this transaction. """ class MerchandiseNotAsDescribed(StripeObject): additional_documentation: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: Optional[str] """ Explanation of why the cardholder is disputing this transaction. """ received_at: Optional[int] """ Date when the product was received. """ return_description: Optional[str] """ Description of the cardholder's attempt to return the product. """ return_status: Optional[Literal["merchant_rejected", "successful"]] """ Result of cardholder's attempt to return the product. """ returned_at: Optional[int] """ Date when the product was returned or attempted to be returned. """ class NoValidAuthorization(StripeObject): additional_documentation: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: Optional[str] """ Explanation of why the cardholder is disputing this transaction. """ class NotReceived(StripeObject): additional_documentation: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ expected_at: Optional[int] """ Date when the cardholder expected to receive the product. """ explanation: Optional[str] """ Explanation of why the cardholder is disputing this transaction. """ product_description: Optional[str] """ Description of the merchandise or service that was purchased. """ product_type: Optional[Literal["merchandise", "service"]] """ Whether the product was a merchandise or service. """ class Other(StripeObject): additional_documentation: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: Optional[str] """ Explanation of why the cardholder is disputing this transaction. """ product_description: Optional[str] """ Description of the merchandise or service that was purchased. """ product_type: Optional[Literal["merchandise", "service"]] """ Whether the product was a merchandise or service. """ class ServiceNotAsDescribed(StripeObject): additional_documentation: Optional[ExpandableField["File"]] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ canceled_at: Optional[int] """ Date when order was canceled. """ cancellation_reason: Optional[str] """ Reason for canceling the order. """ explanation: Optional[str] """ Explanation of why the cardholder is disputing this transaction. """ received_at: Optional[int] """ Date when the product was received. """ canceled: Optional[Canceled] duplicate: Optional[Duplicate] fraudulent: Optional[Fraudulent] merchandise_not_as_described: Optional[MerchandiseNotAsDescribed] no_valid_authorization: Optional[NoValidAuthorization] not_received: Optional[NotReceived] other: Optional[Other] reason: Literal[ "canceled", "duplicate", "fraudulent", "merchandise_not_as_described", "no_valid_authorization", "not_received", "other", "service_not_as_described", ] """ The reason for filing the dispute. Its value will match the field containing the evidence. """ service_not_as_described: Optional[ServiceNotAsDescribed] _inner_class_types = { "canceled": Canceled, "duplicate": Duplicate, "fraudulent": Fraudulent, "merchandise_not_as_described": MerchandiseNotAsDescribed, "no_valid_authorization": NoValidAuthorization, "not_received": NotReceived, "other": Other, "service_not_as_described": ServiceNotAsDescribed, } class Treasury(StripeObject): debit_reversal: Optional[str] """ The Treasury [DebitReversal](https://stripe.com/docs/api/treasury/debit_reversals) representing this Issuing dispute """ received_debit: str """ The Treasury [ReceivedDebit](https://stripe.com/docs/api/treasury/received_debits) that is being disputed. """ amount: int """ Disputed amount in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Usually the amount of the `transaction`, but can differ (usually because of currency fluctuation). """ balance_transactions: Optional[List["BalanceTransaction"]] """ List of balance transactions associated with the dispute. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ The currency the `transaction` was made in. """ evidence: Evidence id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ loss_reason: Optional[ Literal[ "cardholder_authentication_issuer_liability", "eci5_token_transaction_with_tavv", "excess_disputes_in_timeframe", "has_not_met_the_minimum_dispute_amount_requirements", "invalid_duplicate_dispute", "invalid_incorrect_amount_dispute", "invalid_no_authorization", "invalid_use_of_disputes", "merchandise_delivered_or_shipped", "merchandise_or_service_as_described", "not_cancelled", "other", "refund_issued", "submitted_beyond_allowable_time_limit", "transaction_3ds_required", "transaction_approved_after_prior_fraud_dispute", "transaction_authorized", "transaction_electronically_read", "transaction_qualifies_for_visa_easy_payment_service", "transaction_unattended", ] ] """ The enum that describes the dispute loss outcome. If the dispute is not lost, this field will be absent. New enum values may be added in the future, so be sure to handle unknown values. """ 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. """ object: Literal["issuing.dispute"] """ String representing the object's type. Objects of the same type share the same value. """ status: Literal["expired", "lost", "submitted", "unsubmitted", "won"] """ Current status of the dispute. """ transaction: ExpandableField["Transaction"] """ The transaction being disputed. """ treasury: Optional[Treasury] """ [Treasury](https://stripe.com/docs/api/treasury) details related to this dispute if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts """ @classmethod def create(cls, **params: Unpack["DisputeCreateParams"]) -> "Dispute": """ Creates an Issuing Dispute object. Individual pieces of evidence within the evidence object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to [Dispute reasons and evidence](https://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence) for more details about evidence requirements. """ return cast( "Dispute", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["DisputeCreateParams"] ) -> "Dispute": """ Creates an Issuing Dispute object. Individual pieces of evidence within the evidence object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to [Dispute reasons and evidence](https://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence) for more details about evidence requirements. """ return cast( "Dispute", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["DisputeListParams"] ) -> ListObject["Dispute"]: """ Returns a list of Issuing Dispute objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["DisputeListParams"] ) -> ListObject["Dispute"]: """ Returns a list of Issuing Dispute objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["DisputeModifyParams"] ) -> "Dispute": """ Updates the specified Issuing Dispute object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Properties on the evidence object can be unset by passing in an empty string. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Dispute", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["DisputeModifyParams"] ) -> "Dispute": """ Updates the specified Issuing Dispute object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Properties on the evidence object can be unset by passing in an empty string. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Dispute", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["DisputeRetrieveParams"] ) -> "Dispute": """ Retrieves an Issuing Dispute object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["DisputeRetrieveParams"] ) -> "Dispute": """ Retrieves an Issuing Dispute object. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def _cls_submit( cls, dispute: str, **params: Unpack["DisputeSubmitParams"] ) -> "Dispute": """ Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute's reason are present. For more details, see [Dispute reasons and evidence](https://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence). """ return cast( "Dispute", cls._static_request( "post", "/v1/issuing/disputes/{dispute}/submit".format( dispute=sanitize_id(dispute) ), params=params, ), ) @overload @staticmethod def submit( dispute: str, **params: Unpack["DisputeSubmitParams"] ) -> "Dispute": """ Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute's reason are present. For more details, see [Dispute reasons and evidence](https://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence). """ ... @overload def submit(self, **params: Unpack["DisputeSubmitParams"]) -> "Dispute": """ Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute's reason are present. For more details, see [Dispute reasons and evidence](https://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence). """ ... @class_method_variant("_cls_submit") def submit( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["DisputeSubmitParams"] ) -> "Dispute": """ Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute's reason are present. For more details, see [Dispute reasons and evidence](https://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence). """ return cast( "Dispute", self._request( "post", "/v1/issuing/disputes/{dispute}/submit".format( dispute=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_submit_async( cls, dispute: str, **params: Unpack["DisputeSubmitParams"] ) -> "Dispute": """ Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute's reason are present. For more details, see [Dispute reasons and evidence](https://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence). """ return cast( "Dispute", await cls._static_request_async( "post", "/v1/issuing/disputes/{dispute}/submit".format( dispute=sanitize_id(dispute) ), params=params, ), ) @overload @staticmethod async def submit_async( dispute: str, **params: Unpack["DisputeSubmitParams"] ) -> "Dispute": """ Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute's reason are present. For more details, see [Dispute reasons and evidence](https://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence). """ ... @overload async def submit_async( self, **params: Unpack["DisputeSubmitParams"] ) -> "Dispute": """ Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute's reason are present. For more details, see [Dispute reasons and evidence](https://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence). """ ... @class_method_variant("_cls_submit_async") async def submit_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["DisputeSubmitParams"] ) -> "Dispute": """ Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute's reason are present. For more details, see [Dispute reasons and evidence](https://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence). """ return cast( "Dispute", await self._request_async( "post", "/v1/issuing/disputes/{dispute}/submit".format( dispute=sanitize_id(self.get("id")) ), params=params, ), ) _inner_class_types = {"evidence": Evidence, "treasury": Treasury} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.342062 stripe-13.2.0/stripe/issuing/_dispute_service.py0000644000000000000000000002026115102753431016730 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.issuing._dispute import Dispute from stripe.params.issuing._dispute_create_params import ( DisputeCreateParams, ) from stripe.params.issuing._dispute_list_params import DisputeListParams from stripe.params.issuing._dispute_retrieve_params import ( DisputeRetrieveParams, ) from stripe.params.issuing._dispute_submit_params import ( DisputeSubmitParams, ) from stripe.params.issuing._dispute_update_params import ( DisputeUpdateParams, ) class DisputeService(StripeService): def list( self, params: Optional["DisputeListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Dispute]": """ Returns a list of Issuing Dispute objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[Dispute]", self._request( "get", "/v1/issuing/disputes", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["DisputeListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Dispute]": """ Returns a list of Issuing Dispute objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[Dispute]", await self._request_async( "get", "/v1/issuing/disputes", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["DisputeCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Dispute": """ Creates an Issuing Dispute object. Individual pieces of evidence within the evidence object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to [Dispute reasons and evidence](https://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence) for more details about evidence requirements. """ return cast( "Dispute", self._request( "post", "/v1/issuing/disputes", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["DisputeCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Dispute": """ Creates an Issuing Dispute object. Individual pieces of evidence within the evidence object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to [Dispute reasons and evidence](https://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence) for more details about evidence requirements. """ return cast( "Dispute", await self._request_async( "post", "/v1/issuing/disputes", base_address="api", params=params, options=options, ), ) def retrieve( self, dispute: str, params: Optional["DisputeRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Dispute": """ Retrieves an Issuing Dispute object. """ return cast( "Dispute", self._request( "get", "/v1/issuing/disputes/{dispute}".format( dispute=sanitize_id(dispute), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, dispute: str, params: Optional["DisputeRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Dispute": """ Retrieves an Issuing Dispute object. """ return cast( "Dispute", await self._request_async( "get", "/v1/issuing/disputes/{dispute}".format( dispute=sanitize_id(dispute), ), base_address="api", params=params, options=options, ), ) def update( self, dispute: str, params: Optional["DisputeUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Dispute": """ Updates the specified Issuing Dispute object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Properties on the evidence object can be unset by passing in an empty string. """ return cast( "Dispute", self._request( "post", "/v1/issuing/disputes/{dispute}".format( dispute=sanitize_id(dispute), ), base_address="api", params=params, options=options, ), ) async def update_async( self, dispute: str, params: Optional["DisputeUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Dispute": """ Updates the specified Issuing Dispute object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Properties on the evidence object can be unset by passing in an empty string. """ return cast( "Dispute", await self._request_async( "post", "/v1/issuing/disputes/{dispute}".format( dispute=sanitize_id(dispute), ), base_address="api", params=params, options=options, ), ) def submit( self, dispute: str, params: Optional["DisputeSubmitParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Dispute": """ Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute's reason are present. For more details, see [Dispute reasons and evidence](https://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence). """ return cast( "Dispute", self._request( "post", "/v1/issuing/disputes/{dispute}/submit".format( dispute=sanitize_id(dispute), ), base_address="api", params=params, options=options, ), ) async def submit_async( self, dispute: str, params: Optional["DisputeSubmitParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Dispute": """ Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute's reason are present. For more details, see [Dispute reasons and evidence](https://docs.stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence). """ return cast( "Dispute", await self._request_async( "post", "/v1/issuing/disputes/{dispute}/submit".format( dispute=sanitize_id(dispute), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.342062 stripe-13.2.0/stripe/issuing/_personalization_design.py0000644000000000000000000005713415102753431020316 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._test_helpers import APIResourceTestHelpers from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Type, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._file import File from stripe.issuing._physical_bundle import PhysicalBundle from stripe.params.issuing._personalization_design_activate_params import ( PersonalizationDesignActivateParams, ) from stripe.params.issuing._personalization_design_create_params import ( PersonalizationDesignCreateParams, ) from stripe.params.issuing._personalization_design_deactivate_params import ( PersonalizationDesignDeactivateParams, ) from stripe.params.issuing._personalization_design_list_params import ( PersonalizationDesignListParams, ) from stripe.params.issuing._personalization_design_modify_params import ( PersonalizationDesignModifyParams, ) from stripe.params.issuing._personalization_design_reject_params import ( PersonalizationDesignRejectParams, ) from stripe.params.issuing._personalization_design_retrieve_params import ( PersonalizationDesignRetrieveParams, ) class PersonalizationDesign( CreateableAPIResource["PersonalizationDesign"], ListableAPIResource["PersonalizationDesign"], UpdateableAPIResource["PersonalizationDesign"], ): """ A Personalization Design is a logical grouping of a Physical Bundle, card logo, and carrier text that represents a product line. """ OBJECT_NAME: ClassVar[Literal["issuing.personalization_design"]] = ( "issuing.personalization_design" ) class CarrierText(StripeObject): footer_body: Optional[str] """ The footer body text of the carrier letter. """ footer_title: Optional[str] """ The footer title text of the carrier letter. """ header_body: Optional[str] """ The header body text of the carrier letter. """ header_title: Optional[str] """ The header title text of the carrier letter. """ class Preferences(StripeObject): is_default: bool """ Whether we use this personalization design to create cards when one isn't specified. A connected account uses the Connect platform's default design if no personalization design is set as the default design. """ is_platform_default: Optional[bool] """ Whether this personalization design is used to create cards when one is not specified and a default for this connected account does not exist. """ class RejectionReasons(StripeObject): card_logo: Optional[ List[ Literal[ "geographic_location", "inappropriate", "network_name", "non_binary_image", "non_fiat_currency", "other", "other_entity", "promotional_material", ] ] ] """ The reason(s) the card logo was rejected. """ carrier_text: Optional[ List[ Literal[ "geographic_location", "inappropriate", "network_name", "non_fiat_currency", "other", "other_entity", "promotional_material", ] ] ] """ The reason(s) the carrier text was rejected. """ card_logo: Optional[ExpandableField["File"]] """ The file for the card logo to use with physical bundles that support card logos. Must have a `purpose` value of `issuing_logo`. """ carrier_text: Optional[CarrierText] """ Hash containing carrier text, for use with physical bundles that support carrier text. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ lookup_key: Optional[str] """ A lookup key used to retrieve personalization designs dynamically from a static string. This may be up to 200 characters. """ 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. """ name: Optional[str] """ Friendly display name. """ object: Literal["issuing.personalization_design"] """ String representing the object's type. Objects of the same type share the same value. """ physical_bundle: ExpandableField["PhysicalBundle"] """ The physical bundle object belonging to this personalization design. """ preferences: Preferences rejection_reasons: RejectionReasons status: Literal["active", "inactive", "rejected", "review"] """ Whether this personalization design can be used to create cards. """ @classmethod def create( cls, **params: Unpack["PersonalizationDesignCreateParams"] ) -> "PersonalizationDesign": """ Creates a personalization design object. """ return cast( "PersonalizationDesign", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["PersonalizationDesignCreateParams"] ) -> "PersonalizationDesign": """ Creates a personalization design object. """ return cast( "PersonalizationDesign", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["PersonalizationDesignListParams"] ) -> ListObject["PersonalizationDesign"]: """ Returns a list of personalization design objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["PersonalizationDesignListParams"] ) -> ListObject["PersonalizationDesign"]: """ Returns a list of personalization design objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["PersonalizationDesignModifyParams"] ) -> "PersonalizationDesign": """ Updates a card personalization object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "PersonalizationDesign", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["PersonalizationDesignModifyParams"] ) -> "PersonalizationDesign": """ Updates a card personalization object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "PersonalizationDesign", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["PersonalizationDesignRetrieveParams"] ) -> "PersonalizationDesign": """ Retrieves a personalization design object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["PersonalizationDesignRetrieveParams"] ) -> "PersonalizationDesign": """ Retrieves a personalization design object. """ instance = cls(id, **params) await instance.refresh_async() return instance class TestHelpers(APIResourceTestHelpers["PersonalizationDesign"]): _resource_cls: Type["PersonalizationDesign"] @classmethod def _cls_activate( cls, personalization_design: str, **params: Unpack["PersonalizationDesignActivateParams"], ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to active. """ return cast( "PersonalizationDesign", cls._static_request( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/activate".format( personalization_design=sanitize_id( personalization_design ) ), params=params, ), ) @overload @staticmethod def activate( personalization_design: str, **params: Unpack["PersonalizationDesignActivateParams"], ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to active. """ ... @overload def activate( self, **params: Unpack["PersonalizationDesignActivateParams"] ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to active. """ ... @class_method_variant("_cls_activate") def activate( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PersonalizationDesignActivateParams"] ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to active. """ return cast( "PersonalizationDesign", self.resource._request( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/activate".format( personalization_design=sanitize_id( self.resource.get("id") ) ), params=params, ), ) @classmethod async def _cls_activate_async( cls, personalization_design: str, **params: Unpack["PersonalizationDesignActivateParams"], ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to active. """ return cast( "PersonalizationDesign", await cls._static_request_async( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/activate".format( personalization_design=sanitize_id( personalization_design ) ), params=params, ), ) @overload @staticmethod async def activate_async( personalization_design: str, **params: Unpack["PersonalizationDesignActivateParams"], ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to active. """ ... @overload async def activate_async( self, **params: Unpack["PersonalizationDesignActivateParams"] ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to active. """ ... @class_method_variant("_cls_activate_async") async def activate_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PersonalizationDesignActivateParams"] ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to active. """ return cast( "PersonalizationDesign", await self.resource._request_async( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/activate".format( personalization_design=sanitize_id( self.resource.get("id") ) ), params=params, ), ) @classmethod def _cls_deactivate( cls, personalization_design: str, **params: Unpack["PersonalizationDesignDeactivateParams"], ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to inactive. """ return cast( "PersonalizationDesign", cls._static_request( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/deactivate".format( personalization_design=sanitize_id( personalization_design ) ), params=params, ), ) @overload @staticmethod def deactivate( personalization_design: str, **params: Unpack["PersonalizationDesignDeactivateParams"], ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to inactive. """ ... @overload def deactivate( self, **params: Unpack["PersonalizationDesignDeactivateParams"] ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to inactive. """ ... @class_method_variant("_cls_deactivate") def deactivate( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PersonalizationDesignDeactivateParams"] ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to inactive. """ return cast( "PersonalizationDesign", self.resource._request( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/deactivate".format( personalization_design=sanitize_id( self.resource.get("id") ) ), params=params, ), ) @classmethod async def _cls_deactivate_async( cls, personalization_design: str, **params: Unpack["PersonalizationDesignDeactivateParams"], ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to inactive. """ return cast( "PersonalizationDesign", await cls._static_request_async( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/deactivate".format( personalization_design=sanitize_id( personalization_design ) ), params=params, ), ) @overload @staticmethod async def deactivate_async( personalization_design: str, **params: Unpack["PersonalizationDesignDeactivateParams"], ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to inactive. """ ... @overload async def deactivate_async( self, **params: Unpack["PersonalizationDesignDeactivateParams"] ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to inactive. """ ... @class_method_variant("_cls_deactivate_async") async def deactivate_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PersonalizationDesignDeactivateParams"] ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to inactive. """ return cast( "PersonalizationDesign", await self.resource._request_async( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/deactivate".format( personalization_design=sanitize_id( self.resource.get("id") ) ), params=params, ), ) @classmethod def _cls_reject( cls, personalization_design: str, **params: Unpack["PersonalizationDesignRejectParams"], ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to rejected. """ return cast( "PersonalizationDesign", cls._static_request( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/reject".format( personalization_design=sanitize_id( personalization_design ) ), params=params, ), ) @overload @staticmethod def reject( personalization_design: str, **params: Unpack["PersonalizationDesignRejectParams"], ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to rejected. """ ... @overload def reject( self, **params: Unpack["PersonalizationDesignRejectParams"] ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to rejected. """ ... @class_method_variant("_cls_reject") def reject( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PersonalizationDesignRejectParams"] ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to rejected. """ return cast( "PersonalizationDesign", self.resource._request( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/reject".format( personalization_design=sanitize_id( self.resource.get("id") ) ), params=params, ), ) @classmethod async def _cls_reject_async( cls, personalization_design: str, **params: Unpack["PersonalizationDesignRejectParams"], ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to rejected. """ return cast( "PersonalizationDesign", await cls._static_request_async( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/reject".format( personalization_design=sanitize_id( personalization_design ) ), params=params, ), ) @overload @staticmethod async def reject_async( personalization_design: str, **params: Unpack["PersonalizationDesignRejectParams"], ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to rejected. """ ... @overload async def reject_async( self, **params: Unpack["PersonalizationDesignRejectParams"] ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to rejected. """ ... @class_method_variant("_cls_reject_async") async def reject_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["PersonalizationDesignRejectParams"] ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to rejected. """ return cast( "PersonalizationDesign", await self.resource._request_async( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/reject".format( personalization_design=sanitize_id( self.resource.get("id") ) ), params=params, ), ) @property def test_helpers(self): return self.TestHelpers(self) _inner_class_types = { "carrier_text": CarrierText, "preferences": Preferences, "rejection_reasons": RejectionReasons, } PersonalizationDesign.TestHelpers._resource_cls = PersonalizationDesign ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.342062 stripe-13.2.0/stripe/issuing/_personalization_design_service.py0000644000000000000000000001440515102753431022030 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.issuing._personalization_design import PersonalizationDesign from stripe.params.issuing._personalization_design_create_params import ( PersonalizationDesignCreateParams, ) from stripe.params.issuing._personalization_design_list_params import ( PersonalizationDesignListParams, ) from stripe.params.issuing._personalization_design_retrieve_params import ( PersonalizationDesignRetrieveParams, ) from stripe.params.issuing._personalization_design_update_params import ( PersonalizationDesignUpdateParams, ) class PersonalizationDesignService(StripeService): def list( self, params: Optional["PersonalizationDesignListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PersonalizationDesign]": """ Returns a list of personalization design objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[PersonalizationDesign]", self._request( "get", "/v1/issuing/personalization_designs", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["PersonalizationDesignListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PersonalizationDesign]": """ Returns a list of personalization design objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[PersonalizationDesign]", await self._request_async( "get", "/v1/issuing/personalization_designs", base_address="api", params=params, options=options, ), ) def create( self, params: "PersonalizationDesignCreateParams", options: Optional["RequestOptions"] = None, ) -> "PersonalizationDesign": """ Creates a personalization design object. """ return cast( "PersonalizationDesign", self._request( "post", "/v1/issuing/personalization_designs", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "PersonalizationDesignCreateParams", options: Optional["RequestOptions"] = None, ) -> "PersonalizationDesign": """ Creates a personalization design object. """ return cast( "PersonalizationDesign", await self._request_async( "post", "/v1/issuing/personalization_designs", base_address="api", params=params, options=options, ), ) def retrieve( self, personalization_design: str, params: Optional["PersonalizationDesignRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PersonalizationDesign": """ Retrieves a personalization design object. """ return cast( "PersonalizationDesign", self._request( "get", "/v1/issuing/personalization_designs/{personalization_design}".format( personalization_design=sanitize_id(personalization_design), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, personalization_design: str, params: Optional["PersonalizationDesignRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PersonalizationDesign": """ Retrieves a personalization design object. """ return cast( "PersonalizationDesign", await self._request_async( "get", "/v1/issuing/personalization_designs/{personalization_design}".format( personalization_design=sanitize_id(personalization_design), ), base_address="api", params=params, options=options, ), ) def update( self, personalization_design: str, params: Optional["PersonalizationDesignUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PersonalizationDesign": """ Updates a card personalization object. """ return cast( "PersonalizationDesign", self._request( "post", "/v1/issuing/personalization_designs/{personalization_design}".format( personalization_design=sanitize_id(personalization_design), ), base_address="api", params=params, options=options, ), ) async def update_async( self, personalization_design: str, params: Optional["PersonalizationDesignUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PersonalizationDesign": """ Updates a card personalization object. """ return cast( "PersonalizationDesign", await self._request_async( "post", "/v1/issuing/personalization_designs/{personalization_design}".format( personalization_design=sanitize_id(personalization_design), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.342062 stripe-13.2.0/stripe/issuing/_physical_bundle.py0000644000000000000000000001015315102753431016677 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.issuing._physical_bundle_list_params import ( PhysicalBundleListParams, ) from stripe.params.issuing._physical_bundle_retrieve_params import ( PhysicalBundleRetrieveParams, ) class PhysicalBundle(ListableAPIResource["PhysicalBundle"]): """ A Physical Bundle represents the bundle of physical items - card stock, carrier letter, and envelope - that is shipped to a cardholder when you create a physical card. """ OBJECT_NAME: ClassVar[Literal["issuing.physical_bundle"]] = ( "issuing.physical_bundle" ) class Features(StripeObject): card_logo: Literal["optional", "required", "unsupported"] """ The policy for how to use card logo images in a card design with this physical bundle. """ carrier_text: Literal["optional", "required", "unsupported"] """ The policy for how to use carrier letter text in a card design with this physical bundle. """ second_line: Literal["optional", "required", "unsupported"] """ The policy for how to use a second line on a card with this physical bundle. """ features: Features id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ name: str """ Friendly display name. """ object: Literal["issuing.physical_bundle"] """ String representing the object's type. Objects of the same type share the same value. """ status: Literal["active", "inactive", "review"] """ Whether this physical bundle can be used to create cards. """ type: Literal["custom", "standard"] """ Whether this physical bundle is a standard Stripe offering or custom-made for you. """ @classmethod def list( cls, **params: Unpack["PhysicalBundleListParams"] ) -> ListObject["PhysicalBundle"]: """ Returns a list of physical bundle objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["PhysicalBundleListParams"] ) -> ListObject["PhysicalBundle"]: """ Returns a list of physical bundle objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["PhysicalBundleRetrieveParams"] ) -> "PhysicalBundle": """ Retrieves a physical bundle object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["PhysicalBundleRetrieveParams"] ) -> "PhysicalBundle": """ Retrieves a physical bundle object. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"features": Features} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.342062 stripe-13.2.0/stripe/issuing/_physical_bundle_service.py0000644000000000000000000000644415102753431020427 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.issuing._physical_bundle import PhysicalBundle from stripe.params.issuing._physical_bundle_list_params import ( PhysicalBundleListParams, ) from stripe.params.issuing._physical_bundle_retrieve_params import ( PhysicalBundleRetrieveParams, ) class PhysicalBundleService(StripeService): def list( self, params: Optional["PhysicalBundleListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PhysicalBundle]": """ Returns a list of physical bundle objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[PhysicalBundle]", self._request( "get", "/v1/issuing/physical_bundles", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["PhysicalBundleListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[PhysicalBundle]": """ Returns a list of physical bundle objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[PhysicalBundle]", await self._request_async( "get", "/v1/issuing/physical_bundles", base_address="api", params=params, options=options, ), ) def retrieve( self, physical_bundle: str, params: Optional["PhysicalBundleRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PhysicalBundle": """ Retrieves a physical bundle object. """ return cast( "PhysicalBundle", self._request( "get", "/v1/issuing/physical_bundles/{physical_bundle}".format( physical_bundle=sanitize_id(physical_bundle), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, physical_bundle: str, params: Optional["PhysicalBundleRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PhysicalBundle": """ Retrieves a physical bundle object. """ return cast( "PhysicalBundle", await self._request_async( "get", "/v1/issuing/physical_bundles/{physical_bundle}".format( physical_bundle=sanitize_id(physical_bundle), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.342062 stripe-13.2.0/stripe/issuing/_token.py0000644000000000000000000002702515102753431014660 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, List, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.issuing._card import Card from stripe.params.issuing._token_list_params import TokenListParams from stripe.params.issuing._token_modify_params import TokenModifyParams from stripe.params.issuing._token_retrieve_params import ( TokenRetrieveParams, ) class Token(ListableAPIResource["Token"], UpdateableAPIResource["Token"]): """ An issuing token object is created when an issued card is added to a digital wallet. As a [card issuer](https://stripe.com/docs/issuing), you can [view and manage these tokens](https://stripe.com/docs/issuing/controls/token-management) through Stripe. """ OBJECT_NAME: ClassVar[Literal["issuing.token"]] = "issuing.token" class NetworkData(StripeObject): class Device(StripeObject): device_fingerprint: Optional[str] """ An obfuscated ID derived from the device ID. """ ip_address: Optional[str] """ The IP address of the device at provisioning time. """ location: Optional[str] """ The geographic latitude/longitude coordinates of the device at provisioning time. The format is [+-]decimal/[+-]decimal. """ name: Optional[str] """ The name of the device used for tokenization. """ phone_number: Optional[str] """ The phone number of the device used for tokenization. """ type: Optional[Literal["other", "phone", "watch"]] """ The type of device used for tokenization. """ class Mastercard(StripeObject): card_reference_id: Optional[str] """ A unique reference ID from MasterCard to represent the card account number. """ token_reference_id: str """ The network-unique identifier for the token. """ token_requestor_id: str """ The ID of the entity requesting tokenization, specific to MasterCard. """ token_requestor_name: Optional[str] """ The name of the entity requesting tokenization, if known. This is directly provided from MasterCard. """ class Visa(StripeObject): card_reference_id: str """ A unique reference ID from Visa to represent the card account number. """ token_reference_id: str """ The network-unique identifier for the token. """ token_requestor_id: str """ The ID of the entity requesting tokenization, specific to Visa. """ token_risk_score: Optional[str] """ Degree of risk associated with the token between `01` and `99`, with higher number indicating higher risk. A `00` value indicates the token was not scored by Visa. """ class WalletProvider(StripeObject): class CardholderAddress(StripeObject): line1: str """ The street address of the cardholder tokenizing the card. """ postal_code: str """ The postal code of the cardholder tokenizing the card. """ account_id: Optional[str] """ The wallet provider-given account ID of the digital wallet the token belongs to. """ account_trust_score: Optional[int] """ An evaluation on the trustworthiness of the wallet account between 1 and 5. A higher score indicates more trustworthy. """ card_number_source: Optional[ Literal["app", "manual", "on_file", "other"] ] """ The method used for tokenizing a card. """ cardholder_address: Optional[CardholderAddress] cardholder_name: Optional[str] """ The name of the cardholder tokenizing the card. """ device_trust_score: Optional[int] """ An evaluation on the trustworthiness of the device. A higher score indicates more trustworthy. """ hashed_account_email_address: Optional[str] """ The hashed email address of the cardholder's account with the wallet provider. """ reason_codes: Optional[ List[ Literal[ "account_card_too_new", "account_recently_changed", "account_too_new", "account_too_new_since_launch", "additional_device", "data_expired", "defer_id_v_decision", "device_recently_lost", "good_activity_history", "has_suspended_tokens", "high_risk", "inactive_account", "long_account_tenure", "low_account_score", "low_device_score", "low_phone_number_score", "network_service_error", "outside_home_territory", "provisioning_cardholder_mismatch", "provisioning_device_and_cardholder_mismatch", "provisioning_device_mismatch", "same_device_no_prior_authentication", "same_device_successful_prior_authentication", "software_update", "suspicious_activity", "too_many_different_cardholders", "too_many_recent_attempts", "too_many_recent_tokens", ] ] ] """ The reasons for suggested tokenization given by the card network. """ suggested_decision: Optional[ Literal["approve", "decline", "require_auth"] ] """ The recommendation on responding to the tokenization request. """ suggested_decision_version: Optional[str] """ The version of the standard for mapping reason codes followed by the wallet provider. """ _inner_class_types = {"cardholder_address": CardholderAddress} device: Optional[Device] mastercard: Optional[Mastercard] type: Literal["mastercard", "visa"] """ The network that the token is associated with. An additional hash is included with a name matching this value, containing tokenization data specific to the card network. """ visa: Optional[Visa] wallet_provider: Optional[WalletProvider] _inner_class_types = { "device": Device, "mastercard": Mastercard, "visa": Visa, "wallet_provider": WalletProvider, } card: ExpandableField["Card"] """ Card associated with this token. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ device_fingerprint: Optional[str] """ The hashed ID derived from the device ID from the card network associated with the token. """ id: str """ Unique identifier for the object. """ last4: Optional[str] """ The last four digits of the token. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ network: Literal["mastercard", "visa"] """ The token service provider / card network associated with the token. """ network_data: Optional[NetworkData] network_updated_at: int """ Time at which the token was last updated by the card network. Measured in seconds since the Unix epoch. """ object: Literal["issuing.token"] """ String representing the object's type. Objects of the same type share the same value. """ status: Literal["active", "deleted", "requested", "suspended"] """ The usage state of the token. """ wallet_provider: Optional[ Literal["apple_pay", "google_pay", "samsung_pay"] ] """ The digital wallet for this token, if one was used. """ @classmethod def list(cls, **params: Unpack["TokenListParams"]) -> ListObject["Token"]: """ Lists all Issuing Token objects for a given card. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["TokenListParams"] ) -> ListObject["Token"]: """ Lists all Issuing Token objects for a given card. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify(cls, id: str, **params: Unpack["TokenModifyParams"]) -> "Token": """ Attempts to update the specified Issuing Token object to the status specified. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Token", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["TokenModifyParams"] ) -> "Token": """ Attempts to update the specified Issuing Token object to the status specified. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Token", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["TokenRetrieveParams"] ) -> "Token": """ Retrieves an Issuing Token object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["TokenRetrieveParams"] ) -> "Token": """ Retrieves an Issuing Token object. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"network_data": NetworkData} ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.342062 stripe-13.2.0/stripe/issuing/_token_service.py0000644000000000000000000000756215102753431016404 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.issuing._token import Token from stripe.params.issuing._token_list_params import TokenListParams from stripe.params.issuing._token_retrieve_params import ( TokenRetrieveParams, ) from stripe.params.issuing._token_update_params import TokenUpdateParams class TokenService(StripeService): def list( self, params: "TokenListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[Token]": """ Lists all Issuing Token objects for a given card. """ return cast( "ListObject[Token]", self._request( "get", "/v1/issuing/tokens", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "TokenListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[Token]": """ Lists all Issuing Token objects for a given card. """ return cast( "ListObject[Token]", await self._request_async( "get", "/v1/issuing/tokens", base_address="api", params=params, options=options, ), ) def retrieve( self, token: str, params: Optional["TokenRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Token": """ Retrieves an Issuing Token object. """ return cast( "Token", self._request( "get", "/v1/issuing/tokens/{token}".format(token=sanitize_id(token)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, token: str, params: Optional["TokenRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Token": """ Retrieves an Issuing Token object. """ return cast( "Token", await self._request_async( "get", "/v1/issuing/tokens/{token}".format(token=sanitize_id(token)), base_address="api", params=params, options=options, ), ) def update( self, token: str, params: "TokenUpdateParams", options: Optional["RequestOptions"] = None, ) -> "Token": """ Attempts to update the specified Issuing Token object to the status specified. """ return cast( "Token", self._request( "post", "/v1/issuing/tokens/{token}".format(token=sanitize_id(token)), base_address="api", params=params, options=options, ), ) async def update_async( self, token: str, params: "TokenUpdateParams", options: Optional["RequestOptions"] = None, ) -> "Token": """ Attempts to update the specified Issuing Token object to the status specified. """ return cast( "Token", await self._request_async( "post", "/v1/issuing/tokens/{token}".format(token=sanitize_id(token)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.342062 stripe-13.2.0/stripe/issuing/_transaction.py0000644000000000000000000006262415102753431016071 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._test_helpers import APIResourceTestHelpers from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Type, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._balance_transaction import BalanceTransaction from stripe.issuing._authorization import Authorization from stripe.issuing._card import Card from stripe.issuing._cardholder import Cardholder from stripe.issuing._dispute import Dispute from stripe.issuing._token import Token from stripe.params.issuing._transaction_create_force_capture_params import ( TransactionCreateForceCaptureParams, ) from stripe.params.issuing._transaction_create_unlinked_refund_params import ( TransactionCreateUnlinkedRefundParams, ) from stripe.params.issuing._transaction_list_params import ( TransactionListParams, ) from stripe.params.issuing._transaction_modify_params import ( TransactionModifyParams, ) from stripe.params.issuing._transaction_refund_params import ( TransactionRefundParams, ) from stripe.params.issuing._transaction_retrieve_params import ( TransactionRetrieveParams, ) class Transaction( ListableAPIResource["Transaction"], UpdateableAPIResource["Transaction"], ): """ Any use of an [issued card](https://stripe.com/docs/issuing) that results in funds entering or leaving your Stripe account, such as a completed purchase or refund, is represented by an Issuing `Transaction` object. Related guide: [Issued card transactions](https://stripe.com/docs/issuing/purchases/transactions) """ OBJECT_NAME: ClassVar[Literal["issuing.transaction"]] = ( "issuing.transaction" ) class AmountDetails(StripeObject): atm_fee: Optional[int] """ The fee charged by the ATM for the cash withdrawal. """ cashback_amount: Optional[int] """ The amount of cash requested by the cardholder. """ class MerchantData(StripeObject): category: str """ A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values. """ category_code: str """ The merchant category code for the seller's business """ city: Optional[str] """ City where the seller is located """ country: Optional[str] """ Country where the seller is located """ name: Optional[str] """ Name of the seller """ network_id: str """ Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant. """ postal_code: Optional[str] """ Postal code where the seller is located """ state: Optional[str] """ State where the seller is located """ tax_id: Optional[str] """ The seller's tax identification number. Currently populated for French merchants only. """ terminal_id: Optional[str] """ An ID assigned by the seller to the location of the sale. """ url: Optional[str] """ URL provided by the merchant on a 3DS request """ class NetworkData(StripeObject): authorization_code: Optional[str] """ A code created by Stripe which is shared with the merchant to validate the authorization. This field will be populated if the authorization message was approved. The code typically starts with the letter "S", followed by a six-digit number. For example, "S498162". Please note that the code is not guaranteed to be unique across authorizations. """ processing_date: Optional[str] """ The date the transaction was processed by the card network. This can be different from the date the seller recorded the transaction depending on when the acquirer submits the transaction to the network. """ transaction_id: Optional[str] """ Unique identifier for the authorization assigned by the card network used to match subsequent messages, disputes, and transactions. """ class PurchaseDetails(StripeObject): class Fleet(StripeObject): class CardholderPromptData(StripeObject): driver_id: Optional[str] """ Driver ID. """ odometer: Optional[int] """ Odometer reading. """ unspecified_id: Optional[str] """ An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type. """ user_id: Optional[str] """ User ID. """ vehicle_number: Optional[str] """ Vehicle number. """ class ReportedBreakdown(StripeObject): class Fuel(StripeObject): gross_amount_decimal: Optional[str] """ Gross fuel amount that should equal Fuel Volume multipled by Fuel Unit Cost, inclusive of taxes. """ class NonFuel(StripeObject): gross_amount_decimal: Optional[str] """ Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes. """ class Tax(StripeObject): local_amount_decimal: Optional[str] """ Amount of state or provincial Sales Tax included in the transaction amount. Null if not reported by merchant or not subject to tax. """ national_amount_decimal: Optional[str] """ Amount of national Sales Tax or VAT included in the transaction amount. Null if not reported by merchant or not subject to tax. """ fuel: Optional[Fuel] """ Breakdown of fuel portion of the purchase. """ non_fuel: Optional[NonFuel] """ Breakdown of non-fuel portion of the purchase. """ tax: Optional[Tax] """ Information about tax included in this transaction. """ _inner_class_types = { "fuel": Fuel, "non_fuel": NonFuel, "tax": Tax, } cardholder_prompt_data: Optional[CardholderPromptData] """ Answers to prompts presented to cardholder at point of sale. """ purchase_type: Optional[str] """ The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`. """ reported_breakdown: Optional[ReportedBreakdown] """ More information about the total amount. This information is not guaranteed to be accurate as some merchants may provide unreliable data. """ service_type: Optional[str] """ The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`. """ _inner_class_types = { "cardholder_prompt_data": CardholderPromptData, "reported_breakdown": ReportedBreakdown, } class Flight(StripeObject): class Segment(StripeObject): arrival_airport_code: Optional[str] """ The three-letter IATA airport code of the flight's destination. """ carrier: Optional[str] """ The airline carrier code. """ departure_airport_code: Optional[str] """ The three-letter IATA airport code that the flight departed from. """ flight_number: Optional[str] """ The flight number. """ service_class: Optional[str] """ The flight's service class. """ stopover_allowed: Optional[bool] """ Whether a stopover is allowed on this flight. """ departure_at: Optional[int] """ The time that the flight departed. """ passenger_name: Optional[str] """ The name of the passenger. """ refundable: Optional[bool] """ Whether the ticket is refundable. """ segments: Optional[List[Segment]] """ The legs of the trip. """ travel_agency: Optional[str] """ The travel agency that issued the ticket. """ _inner_class_types = {"segments": Segment} class Fuel(StripeObject): industry_product_code: Optional[str] """ [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased. """ quantity_decimal: Optional[str] """ The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places. """ type: str """ The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`. """ unit: str """ The units for `quantity_decimal`. One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`. """ unit_cost_decimal: str """ The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places. """ class Lodging(StripeObject): check_in_at: Optional[int] """ The time of checking into the lodging. """ nights: Optional[int] """ The number of nights stayed at the lodging. """ class Receipt(StripeObject): description: Optional[str] """ The description of the item. The maximum length of this field is 26 characters. """ quantity: Optional[float] """ The quantity of the item. """ total: Optional[int] """ The total for this line item in cents. """ unit_cost: Optional[int] """ The unit cost of the item in cents. """ fleet: Optional[Fleet] """ Fleet-specific information for transactions using Fleet cards. """ flight: Optional[Flight] """ Information about the flight that was purchased with this transaction. """ fuel: Optional[Fuel] """ Information about fuel that was purchased with this transaction. """ lodging: Optional[Lodging] """ Information about lodging that was purchased with this transaction. """ receipt: Optional[List[Receipt]] """ The line items in the purchase. """ reference: Optional[str] """ A merchant-specific order number. """ _inner_class_types = { "fleet": Fleet, "flight": Flight, "fuel": Fuel, "lodging": Lodging, "receipt": Receipt, } class Treasury(StripeObject): received_credit: Optional[str] """ The Treasury [ReceivedCredit](https://stripe.com/docs/api/treasury/received_credits) representing this Issuing transaction if it is a refund """ received_debit: Optional[str] """ The Treasury [ReceivedDebit](https://stripe.com/docs/api/treasury/received_debits) representing this Issuing transaction if it is a capture """ amount: int """ The transaction amount, which will be reflected in your balance. This amount is in your currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ amount_details: Optional[AmountDetails] """ Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ authorization: Optional[ExpandableField["Authorization"]] """ The `Authorization` object that led to this transaction. """ balance_transaction: Optional[ExpandableField["BalanceTransaction"]] """ ID of the [balance transaction](https://stripe.com/docs/api/balance_transactions) associated with this transaction. """ card: ExpandableField["Card"] """ The card used to make this transaction. """ cardholder: Optional[ExpandableField["Cardholder"]] """ The cardholder to whom this transaction belongs. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ dispute: Optional[ExpandableField["Dispute"]] """ If you've disputed the transaction, the ID of the dispute. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ merchant_amount: int """ The amount that the merchant will receive, denominated in `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). It will be different from `amount` if the merchant is taking payment in a different currency. """ merchant_currency: str """ The currency with which the merchant is taking payment. """ merchant_data: MerchantData 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. """ network_data: Optional[NetworkData] """ Details about the transaction, such as processing dates, set by the card network. """ object: Literal["issuing.transaction"] """ String representing the object's type. Objects of the same type share the same value. """ purchase_details: Optional[PurchaseDetails] """ Additional purchase information that is optionally provided by the merchant. """ token: Optional[ExpandableField["Token"]] """ [Token](https://stripe.com/docs/api/issuing/tokens/object) object used for this transaction. If a network token was not used for this transaction, this field will be null. """ treasury: Optional[Treasury] """ [Treasury](https://stripe.com/docs/api/treasury) details related to this transaction if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts """ type: Literal["capture", "refund"] """ The nature of the transaction. """ wallet: Optional[Literal["apple_pay", "google_pay", "samsung_pay"]] """ The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`. """ @classmethod def list( cls, **params: Unpack["TransactionListParams"] ) -> ListObject["Transaction"]: """ Returns a list of Issuing Transaction objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["TransactionListParams"] ) -> ListObject["Transaction"]: """ Returns a list of Issuing Transaction objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["TransactionModifyParams"] ) -> "Transaction": """ Updates the specified Issuing Transaction object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Transaction", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["TransactionModifyParams"] ) -> "Transaction": """ Updates the specified Issuing Transaction object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Transaction", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["TransactionRetrieveParams"] ) -> "Transaction": """ Retrieves an Issuing Transaction object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["TransactionRetrieveParams"] ) -> "Transaction": """ Retrieves an Issuing Transaction object. """ instance = cls(id, **params) await instance.refresh_async() return instance class TestHelpers(APIResourceTestHelpers["Transaction"]): _resource_cls: Type["Transaction"] @classmethod def create_force_capture( cls, **params: Unpack["TransactionCreateForceCaptureParams"] ) -> "Transaction": """ Allows the user to capture an arbitrary amount, also known as a forced capture. """ return cast( "Transaction", cls._static_request( "post", "/v1/test_helpers/issuing/transactions/create_force_capture", params=params, ), ) @classmethod async def create_force_capture_async( cls, **params: Unpack["TransactionCreateForceCaptureParams"] ) -> "Transaction": """ Allows the user to capture an arbitrary amount, also known as a forced capture. """ return cast( "Transaction", await cls._static_request_async( "post", "/v1/test_helpers/issuing/transactions/create_force_capture", params=params, ), ) @classmethod def create_unlinked_refund( cls, **params: Unpack["TransactionCreateUnlinkedRefundParams"] ) -> "Transaction": """ Allows the user to refund an arbitrary amount, also known as a unlinked refund. """ return cast( "Transaction", cls._static_request( "post", "/v1/test_helpers/issuing/transactions/create_unlinked_refund", params=params, ), ) @classmethod async def create_unlinked_refund_async( cls, **params: Unpack["TransactionCreateUnlinkedRefundParams"] ) -> "Transaction": """ Allows the user to refund an arbitrary amount, also known as a unlinked refund. """ return cast( "Transaction", await cls._static_request_async( "post", "/v1/test_helpers/issuing/transactions/create_unlinked_refund", params=params, ), ) @classmethod def _cls_refund( cls, transaction: str, **params: Unpack["TransactionRefundParams"] ) -> "Transaction": """ Refund a test-mode Transaction. """ return cast( "Transaction", cls._static_request( "post", "/v1/test_helpers/issuing/transactions/{transaction}/refund".format( transaction=sanitize_id(transaction) ), params=params, ), ) @overload @staticmethod def refund( transaction: str, **params: Unpack["TransactionRefundParams"] ) -> "Transaction": """ Refund a test-mode Transaction. """ ... @overload def refund( self, **params: Unpack["TransactionRefundParams"] ) -> "Transaction": """ Refund a test-mode Transaction. """ ... @class_method_variant("_cls_refund") def refund( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["TransactionRefundParams"] ) -> "Transaction": """ Refund a test-mode Transaction. """ return cast( "Transaction", self.resource._request( "post", "/v1/test_helpers/issuing/transactions/{transaction}/refund".format( transaction=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_refund_async( cls, transaction: str, **params: Unpack["TransactionRefundParams"] ) -> "Transaction": """ Refund a test-mode Transaction. """ return cast( "Transaction", await cls._static_request_async( "post", "/v1/test_helpers/issuing/transactions/{transaction}/refund".format( transaction=sanitize_id(transaction) ), params=params, ), ) @overload @staticmethod async def refund_async( transaction: str, **params: Unpack["TransactionRefundParams"] ) -> "Transaction": """ Refund a test-mode Transaction. """ ... @overload async def refund_async( self, **params: Unpack["TransactionRefundParams"] ) -> "Transaction": """ Refund a test-mode Transaction. """ ... @class_method_variant("_cls_refund_async") async def refund_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["TransactionRefundParams"] ) -> "Transaction": """ Refund a test-mode Transaction. """ return cast( "Transaction", await self.resource._request_async( "post", "/v1/test_helpers/issuing/transactions/{transaction}/refund".format( transaction=sanitize_id(self.resource.get("id")) ), params=params, ), ) @property def test_helpers(self): return self.TestHelpers(self) _inner_class_types = { "amount_details": AmountDetails, "merchant_data": MerchantData, "network_data": NetworkData, "purchase_details": PurchaseDetails, "treasury": Treasury, } Transaction.TestHelpers._resource_cls = Transaction ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.342062 stripe-13.2.0/stripe/issuing/_transaction_service.py0000644000000000000000000001142415102753431017601 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.issuing._transaction import Transaction from stripe.params.issuing._transaction_list_params import ( TransactionListParams, ) from stripe.params.issuing._transaction_retrieve_params import ( TransactionRetrieveParams, ) from stripe.params.issuing._transaction_update_params import ( TransactionUpdateParams, ) class TransactionService(StripeService): def list( self, params: Optional["TransactionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Transaction]": """ Returns a list of Issuing Transaction objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[Transaction]", self._request( "get", "/v1/issuing/transactions", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["TransactionListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Transaction]": """ Returns a list of Issuing Transaction objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[Transaction]", await self._request_async( "get", "/v1/issuing/transactions", base_address="api", params=params, options=options, ), ) def retrieve( self, transaction: str, params: Optional["TransactionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Retrieves an Issuing Transaction object. """ return cast( "Transaction", self._request( "get", "/v1/issuing/transactions/{transaction}".format( transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, transaction: str, params: Optional["TransactionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Retrieves an Issuing Transaction object. """ return cast( "Transaction", await self._request_async( "get", "/v1/issuing/transactions/{transaction}".format( transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) def update( self, transaction: str, params: Optional["TransactionUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Updates the specified Issuing Transaction object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Transaction", self._request( "post", "/v1/issuing/transactions/{transaction}".format( transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) async def update_async( self, transaction: str, params: Optional["TransactionUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Updates the specified Issuing Transaction object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Transaction", await self._request_async( "post", "/v1/issuing/transactions/{transaction}".format( transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.342062 stripe-13.2.0/stripe/oauth_error.py0000644000000000000000000000206515102753431014246 0ustar00from stripe._error import StripeError from stripe._error_object import OAuthErrorObject class OAuthError(StripeError): def __init__( self, code, description, http_body=None, http_status=None, json_body=None, headers=None, ): super(OAuthError, self).__init__( description, http_body, http_status, json_body, headers, code ) def _construct_error_object(self): if self.json_body is None: return None from stripe._api_requestor import _APIRequestor return OAuthErrorObject._construct_from( values=self.json_body, # type: ignore requestor=_APIRequestor._global_instance(), api_mode="V1", ) class InvalidClientError(OAuthError): pass class InvalidGrantError(OAuthError): pass class InvalidRequestError(OAuthError): pass class InvalidScopeError(OAuthError): pass class UnsupportedGrantTypeError(OAuthError): pass class UnsupportedResponseTypeError(OAuthError): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3430622 stripe-13.2.0/stripe/params/__init__.py0000644000000000000000000264056715102753431014760 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params import ( apps as apps, billing as billing, billing_portal as billing_portal, checkout as checkout, climate as climate, entitlements as entitlements, financial_connections as financial_connections, forwarding as forwarding, identity as identity, issuing as issuing, radar as radar, reporting as reporting, sigma as sigma, tax as tax, terminal as terminal, test_helpers as test_helpers, treasury as treasury, ) from stripe.params._account_capability_list_params import ( AccountCapabilityListParams as AccountCapabilityListParams, ) from stripe.params._account_capability_retrieve_params import ( AccountCapabilityRetrieveParams as AccountCapabilityRetrieveParams, ) from stripe.params._account_capability_update_params import ( AccountCapabilityUpdateParams as AccountCapabilityUpdateParams, ) from stripe.params._account_create_external_account_params import ( AccountCreateExternalAccountParams as AccountCreateExternalAccountParams, AccountCreateExternalAccountParamsBankAccount as AccountCreateExternalAccountParamsBankAccount, AccountCreateExternalAccountParamsCard as AccountCreateExternalAccountParamsCard, AccountCreateExternalAccountParamsCardToken as AccountCreateExternalAccountParamsCardToken, ) from stripe.params._account_create_login_link_params import ( AccountCreateLoginLinkParams as AccountCreateLoginLinkParams, ) from stripe.params._account_create_params import ( AccountCreateParams as AccountCreateParams, AccountCreateParamsBankAccount as AccountCreateParamsBankAccount, AccountCreateParamsBusinessProfile as AccountCreateParamsBusinessProfile, AccountCreateParamsBusinessProfileAnnualRevenue as AccountCreateParamsBusinessProfileAnnualRevenue, AccountCreateParamsBusinessProfileMonthlyEstimatedRevenue as AccountCreateParamsBusinessProfileMonthlyEstimatedRevenue, AccountCreateParamsBusinessProfileSupportAddress as AccountCreateParamsBusinessProfileSupportAddress, AccountCreateParamsCapabilities as AccountCreateParamsCapabilities, AccountCreateParamsCapabilitiesAcssDebitPayments as AccountCreateParamsCapabilitiesAcssDebitPayments, AccountCreateParamsCapabilitiesAffirmPayments as AccountCreateParamsCapabilitiesAffirmPayments, AccountCreateParamsCapabilitiesAfterpayClearpayPayments as AccountCreateParamsCapabilitiesAfterpayClearpayPayments, AccountCreateParamsCapabilitiesAlmaPayments as AccountCreateParamsCapabilitiesAlmaPayments, AccountCreateParamsCapabilitiesAmazonPayPayments as AccountCreateParamsCapabilitiesAmazonPayPayments, AccountCreateParamsCapabilitiesAuBecsDebitPayments as AccountCreateParamsCapabilitiesAuBecsDebitPayments, AccountCreateParamsCapabilitiesBacsDebitPayments as AccountCreateParamsCapabilitiesBacsDebitPayments, AccountCreateParamsCapabilitiesBancontactPayments as AccountCreateParamsCapabilitiesBancontactPayments, AccountCreateParamsCapabilitiesBankTransferPayments as AccountCreateParamsCapabilitiesBankTransferPayments, AccountCreateParamsCapabilitiesBilliePayments as AccountCreateParamsCapabilitiesBilliePayments, AccountCreateParamsCapabilitiesBlikPayments as AccountCreateParamsCapabilitiesBlikPayments, AccountCreateParamsCapabilitiesBoletoPayments as AccountCreateParamsCapabilitiesBoletoPayments, AccountCreateParamsCapabilitiesCardIssuing as AccountCreateParamsCapabilitiesCardIssuing, AccountCreateParamsCapabilitiesCardPayments as AccountCreateParamsCapabilitiesCardPayments, AccountCreateParamsCapabilitiesCartesBancairesPayments as AccountCreateParamsCapabilitiesCartesBancairesPayments, AccountCreateParamsCapabilitiesCashappPayments as AccountCreateParamsCapabilitiesCashappPayments, AccountCreateParamsCapabilitiesCryptoPayments as AccountCreateParamsCapabilitiesCryptoPayments, AccountCreateParamsCapabilitiesEpsPayments as AccountCreateParamsCapabilitiesEpsPayments, AccountCreateParamsCapabilitiesFpxPayments as AccountCreateParamsCapabilitiesFpxPayments, AccountCreateParamsCapabilitiesGbBankTransferPayments as AccountCreateParamsCapabilitiesGbBankTransferPayments, AccountCreateParamsCapabilitiesGiropayPayments as AccountCreateParamsCapabilitiesGiropayPayments, AccountCreateParamsCapabilitiesGrabpayPayments as AccountCreateParamsCapabilitiesGrabpayPayments, AccountCreateParamsCapabilitiesIdealPayments as AccountCreateParamsCapabilitiesIdealPayments, AccountCreateParamsCapabilitiesIndiaInternationalPayments as AccountCreateParamsCapabilitiesIndiaInternationalPayments, AccountCreateParamsCapabilitiesJcbPayments as AccountCreateParamsCapabilitiesJcbPayments, AccountCreateParamsCapabilitiesJpBankTransferPayments as AccountCreateParamsCapabilitiesJpBankTransferPayments, AccountCreateParamsCapabilitiesKakaoPayPayments as AccountCreateParamsCapabilitiesKakaoPayPayments, AccountCreateParamsCapabilitiesKlarnaPayments as AccountCreateParamsCapabilitiesKlarnaPayments, AccountCreateParamsCapabilitiesKonbiniPayments as AccountCreateParamsCapabilitiesKonbiniPayments, AccountCreateParamsCapabilitiesKrCardPayments as AccountCreateParamsCapabilitiesKrCardPayments, AccountCreateParamsCapabilitiesLegacyPayments as AccountCreateParamsCapabilitiesLegacyPayments, AccountCreateParamsCapabilitiesLinkPayments as AccountCreateParamsCapabilitiesLinkPayments, AccountCreateParamsCapabilitiesMbWayPayments as AccountCreateParamsCapabilitiesMbWayPayments, AccountCreateParamsCapabilitiesMobilepayPayments as AccountCreateParamsCapabilitiesMobilepayPayments, AccountCreateParamsCapabilitiesMultibancoPayments as AccountCreateParamsCapabilitiesMultibancoPayments, AccountCreateParamsCapabilitiesMxBankTransferPayments as AccountCreateParamsCapabilitiesMxBankTransferPayments, AccountCreateParamsCapabilitiesNaverPayPayments as AccountCreateParamsCapabilitiesNaverPayPayments, AccountCreateParamsCapabilitiesNzBankAccountBecsDebitPayments as AccountCreateParamsCapabilitiesNzBankAccountBecsDebitPayments, AccountCreateParamsCapabilitiesOxxoPayments as AccountCreateParamsCapabilitiesOxxoPayments, AccountCreateParamsCapabilitiesP24Payments as AccountCreateParamsCapabilitiesP24Payments, AccountCreateParamsCapabilitiesPayByBankPayments as AccountCreateParamsCapabilitiesPayByBankPayments, AccountCreateParamsCapabilitiesPaycoPayments as AccountCreateParamsCapabilitiesPaycoPayments, AccountCreateParamsCapabilitiesPaynowPayments as AccountCreateParamsCapabilitiesPaynowPayments, AccountCreateParamsCapabilitiesPixPayments as AccountCreateParamsCapabilitiesPixPayments, AccountCreateParamsCapabilitiesPromptpayPayments as AccountCreateParamsCapabilitiesPromptpayPayments, AccountCreateParamsCapabilitiesRevolutPayPayments as AccountCreateParamsCapabilitiesRevolutPayPayments, AccountCreateParamsCapabilitiesSamsungPayPayments as AccountCreateParamsCapabilitiesSamsungPayPayments, AccountCreateParamsCapabilitiesSatispayPayments as AccountCreateParamsCapabilitiesSatispayPayments, AccountCreateParamsCapabilitiesSepaBankTransferPayments as AccountCreateParamsCapabilitiesSepaBankTransferPayments, AccountCreateParamsCapabilitiesSepaDebitPayments as AccountCreateParamsCapabilitiesSepaDebitPayments, AccountCreateParamsCapabilitiesSofortPayments as AccountCreateParamsCapabilitiesSofortPayments, AccountCreateParamsCapabilitiesSwishPayments as AccountCreateParamsCapabilitiesSwishPayments, AccountCreateParamsCapabilitiesTaxReportingUs1099K as AccountCreateParamsCapabilitiesTaxReportingUs1099K, AccountCreateParamsCapabilitiesTaxReportingUs1099Misc as AccountCreateParamsCapabilitiesTaxReportingUs1099Misc, AccountCreateParamsCapabilitiesTransfers as AccountCreateParamsCapabilitiesTransfers, AccountCreateParamsCapabilitiesTreasury as AccountCreateParamsCapabilitiesTreasury, AccountCreateParamsCapabilitiesTwintPayments as AccountCreateParamsCapabilitiesTwintPayments, AccountCreateParamsCapabilitiesUsBankAccountAchPayments as AccountCreateParamsCapabilitiesUsBankAccountAchPayments, AccountCreateParamsCapabilitiesUsBankTransferPayments as AccountCreateParamsCapabilitiesUsBankTransferPayments, AccountCreateParamsCapabilitiesZipPayments as AccountCreateParamsCapabilitiesZipPayments, AccountCreateParamsCard as AccountCreateParamsCard, AccountCreateParamsCardToken as AccountCreateParamsCardToken, AccountCreateParamsCompany as AccountCreateParamsCompany, AccountCreateParamsCompanyAddress as AccountCreateParamsCompanyAddress, AccountCreateParamsCompanyAddressKana as AccountCreateParamsCompanyAddressKana, AccountCreateParamsCompanyAddressKanji as AccountCreateParamsCompanyAddressKanji, AccountCreateParamsCompanyDirectorshipDeclaration as AccountCreateParamsCompanyDirectorshipDeclaration, AccountCreateParamsCompanyOwnershipDeclaration as AccountCreateParamsCompanyOwnershipDeclaration, AccountCreateParamsCompanyRegistrationDate as AccountCreateParamsCompanyRegistrationDate, AccountCreateParamsCompanyRepresentativeDeclaration as AccountCreateParamsCompanyRepresentativeDeclaration, AccountCreateParamsCompanyVerification as AccountCreateParamsCompanyVerification, AccountCreateParamsCompanyVerificationDocument as AccountCreateParamsCompanyVerificationDocument, AccountCreateParamsController as AccountCreateParamsController, AccountCreateParamsControllerFees as AccountCreateParamsControllerFees, AccountCreateParamsControllerLosses as AccountCreateParamsControllerLosses, AccountCreateParamsControllerStripeDashboard as AccountCreateParamsControllerStripeDashboard, AccountCreateParamsDocuments as AccountCreateParamsDocuments, AccountCreateParamsDocumentsBankAccountOwnershipVerification as AccountCreateParamsDocumentsBankAccountOwnershipVerification, AccountCreateParamsDocumentsCompanyLicense as AccountCreateParamsDocumentsCompanyLicense, AccountCreateParamsDocumentsCompanyMemorandumOfAssociation as AccountCreateParamsDocumentsCompanyMemorandumOfAssociation, AccountCreateParamsDocumentsCompanyMinisterialDecree as AccountCreateParamsDocumentsCompanyMinisterialDecree, AccountCreateParamsDocumentsCompanyRegistrationVerification as AccountCreateParamsDocumentsCompanyRegistrationVerification, AccountCreateParamsDocumentsCompanyTaxIdVerification as AccountCreateParamsDocumentsCompanyTaxIdVerification, AccountCreateParamsDocumentsProofOfAddress as AccountCreateParamsDocumentsProofOfAddress, AccountCreateParamsDocumentsProofOfRegistration as AccountCreateParamsDocumentsProofOfRegistration, AccountCreateParamsDocumentsProofOfUltimateBeneficialOwnership as AccountCreateParamsDocumentsProofOfUltimateBeneficialOwnership, AccountCreateParamsGroups as AccountCreateParamsGroups, AccountCreateParamsIndividual as AccountCreateParamsIndividual, AccountCreateParamsIndividualAddress as AccountCreateParamsIndividualAddress, AccountCreateParamsIndividualAddressKana as AccountCreateParamsIndividualAddressKana, AccountCreateParamsIndividualAddressKanji as AccountCreateParamsIndividualAddressKanji, AccountCreateParamsIndividualDob as AccountCreateParamsIndividualDob, AccountCreateParamsIndividualRegisteredAddress as AccountCreateParamsIndividualRegisteredAddress, AccountCreateParamsIndividualRelationship as AccountCreateParamsIndividualRelationship, AccountCreateParamsIndividualVerification as AccountCreateParamsIndividualVerification, AccountCreateParamsIndividualVerificationAdditionalDocument as AccountCreateParamsIndividualVerificationAdditionalDocument, AccountCreateParamsIndividualVerificationDocument as AccountCreateParamsIndividualVerificationDocument, AccountCreateParamsSettings as AccountCreateParamsSettings, AccountCreateParamsSettingsBacsDebitPayments as AccountCreateParamsSettingsBacsDebitPayments, AccountCreateParamsSettingsBranding as AccountCreateParamsSettingsBranding, AccountCreateParamsSettingsCardIssuing as AccountCreateParamsSettingsCardIssuing, AccountCreateParamsSettingsCardIssuingTosAcceptance as AccountCreateParamsSettingsCardIssuingTosAcceptance, AccountCreateParamsSettingsCardPayments as AccountCreateParamsSettingsCardPayments, AccountCreateParamsSettingsCardPaymentsDeclineOn as AccountCreateParamsSettingsCardPaymentsDeclineOn, AccountCreateParamsSettingsInvoices as AccountCreateParamsSettingsInvoices, AccountCreateParamsSettingsPayments as AccountCreateParamsSettingsPayments, AccountCreateParamsSettingsPayouts as AccountCreateParamsSettingsPayouts, AccountCreateParamsSettingsPayoutsSchedule as AccountCreateParamsSettingsPayoutsSchedule, AccountCreateParamsSettingsTreasury as AccountCreateParamsSettingsTreasury, AccountCreateParamsSettingsTreasuryTosAcceptance as AccountCreateParamsSettingsTreasuryTosAcceptance, AccountCreateParamsTosAcceptance as AccountCreateParamsTosAcceptance, ) from stripe.params._account_create_person_params import ( AccountCreatePersonParams as AccountCreatePersonParams, AccountCreatePersonParamsAdditionalTosAcceptances as AccountCreatePersonParamsAdditionalTosAcceptances, AccountCreatePersonParamsAdditionalTosAcceptancesAccount as AccountCreatePersonParamsAdditionalTosAcceptancesAccount, AccountCreatePersonParamsAddress as AccountCreatePersonParamsAddress, AccountCreatePersonParamsAddressKana as AccountCreatePersonParamsAddressKana, AccountCreatePersonParamsAddressKanji as AccountCreatePersonParamsAddressKanji, AccountCreatePersonParamsDob as AccountCreatePersonParamsDob, AccountCreatePersonParamsDocuments as AccountCreatePersonParamsDocuments, AccountCreatePersonParamsDocumentsCompanyAuthorization as AccountCreatePersonParamsDocumentsCompanyAuthorization, AccountCreatePersonParamsDocumentsPassport as AccountCreatePersonParamsDocumentsPassport, AccountCreatePersonParamsDocumentsVisa as AccountCreatePersonParamsDocumentsVisa, AccountCreatePersonParamsRegisteredAddress as AccountCreatePersonParamsRegisteredAddress, AccountCreatePersonParamsRelationship as AccountCreatePersonParamsRelationship, AccountCreatePersonParamsUsCfpbData as AccountCreatePersonParamsUsCfpbData, AccountCreatePersonParamsUsCfpbDataEthnicityDetails as AccountCreatePersonParamsUsCfpbDataEthnicityDetails, AccountCreatePersonParamsUsCfpbDataRaceDetails as AccountCreatePersonParamsUsCfpbDataRaceDetails, AccountCreatePersonParamsVerification as AccountCreatePersonParamsVerification, AccountCreatePersonParamsVerificationAdditionalDocument as AccountCreatePersonParamsVerificationAdditionalDocument, AccountCreatePersonParamsVerificationDocument as AccountCreatePersonParamsVerificationDocument, ) from stripe.params._account_delete_external_account_params import ( AccountDeleteExternalAccountParams as AccountDeleteExternalAccountParams, ) from stripe.params._account_delete_params import ( AccountDeleteParams as AccountDeleteParams, ) from stripe.params._account_delete_person_params import ( AccountDeletePersonParams as AccountDeletePersonParams, ) from stripe.params._account_external_account_create_params import ( AccountExternalAccountCreateParams as AccountExternalAccountCreateParams, AccountExternalAccountCreateParamsBankAccount as AccountExternalAccountCreateParamsBankAccount, AccountExternalAccountCreateParamsCard as AccountExternalAccountCreateParamsCard, AccountExternalAccountCreateParamsCardToken as AccountExternalAccountCreateParamsCardToken, ) from stripe.params._account_external_account_delete_params import ( AccountExternalAccountDeleteParams as AccountExternalAccountDeleteParams, ) from stripe.params._account_external_account_list_params import ( AccountExternalAccountListParams as AccountExternalAccountListParams, ) from stripe.params._account_external_account_retrieve_params import ( AccountExternalAccountRetrieveParams as AccountExternalAccountRetrieveParams, ) from stripe.params._account_external_account_update_params import ( AccountExternalAccountUpdateParams as AccountExternalAccountUpdateParams, AccountExternalAccountUpdateParamsDocuments as AccountExternalAccountUpdateParamsDocuments, AccountExternalAccountUpdateParamsDocumentsBankAccountOwnershipVerification as AccountExternalAccountUpdateParamsDocumentsBankAccountOwnershipVerification, ) from stripe.params._account_link_create_params import ( AccountLinkCreateParams as AccountLinkCreateParams, AccountLinkCreateParamsCollectionOptions as AccountLinkCreateParamsCollectionOptions, ) from stripe.params._account_list_capabilities_params import ( AccountListCapabilitiesParams as AccountListCapabilitiesParams, ) from stripe.params._account_list_external_accounts_params import ( AccountListExternalAccountsParams as AccountListExternalAccountsParams, ) from stripe.params._account_list_params import ( AccountListParams as AccountListParams, AccountListParamsCreated as AccountListParamsCreated, ) from stripe.params._account_list_persons_params import ( AccountListPersonsParams as AccountListPersonsParams, AccountListPersonsParamsRelationship as AccountListPersonsParamsRelationship, ) from stripe.params._account_login_link_create_params import ( AccountLoginLinkCreateParams as AccountLoginLinkCreateParams, ) from stripe.params._account_modify_capability_params import ( AccountModifyCapabilityParams as AccountModifyCapabilityParams, ) from stripe.params._account_modify_external_account_params import ( AccountModifyExternalAccountParams as AccountModifyExternalAccountParams, AccountModifyExternalAccountParamsDocuments as AccountModifyExternalAccountParamsDocuments, AccountModifyExternalAccountParamsDocumentsBankAccountOwnershipVerification as AccountModifyExternalAccountParamsDocumentsBankAccountOwnershipVerification, ) from stripe.params._account_modify_person_params import ( AccountModifyPersonParams as AccountModifyPersonParams, AccountModifyPersonParamsAdditionalTosAcceptances as AccountModifyPersonParamsAdditionalTosAcceptances, AccountModifyPersonParamsAdditionalTosAcceptancesAccount as AccountModifyPersonParamsAdditionalTosAcceptancesAccount, AccountModifyPersonParamsAddress as AccountModifyPersonParamsAddress, AccountModifyPersonParamsAddressKana as AccountModifyPersonParamsAddressKana, AccountModifyPersonParamsAddressKanji as AccountModifyPersonParamsAddressKanji, AccountModifyPersonParamsDob as AccountModifyPersonParamsDob, AccountModifyPersonParamsDocuments as AccountModifyPersonParamsDocuments, AccountModifyPersonParamsDocumentsCompanyAuthorization as AccountModifyPersonParamsDocumentsCompanyAuthorization, AccountModifyPersonParamsDocumentsPassport as AccountModifyPersonParamsDocumentsPassport, AccountModifyPersonParamsDocumentsVisa as AccountModifyPersonParamsDocumentsVisa, AccountModifyPersonParamsRegisteredAddress as AccountModifyPersonParamsRegisteredAddress, AccountModifyPersonParamsRelationship as AccountModifyPersonParamsRelationship, AccountModifyPersonParamsUsCfpbData as AccountModifyPersonParamsUsCfpbData, AccountModifyPersonParamsUsCfpbDataEthnicityDetails as AccountModifyPersonParamsUsCfpbDataEthnicityDetails, AccountModifyPersonParamsUsCfpbDataRaceDetails as AccountModifyPersonParamsUsCfpbDataRaceDetails, AccountModifyPersonParamsVerification as AccountModifyPersonParamsVerification, AccountModifyPersonParamsVerificationAdditionalDocument as AccountModifyPersonParamsVerificationAdditionalDocument, AccountModifyPersonParamsVerificationDocument as AccountModifyPersonParamsVerificationDocument, ) from stripe.params._account_person_create_params import ( AccountPersonCreateParams as AccountPersonCreateParams, AccountPersonCreateParamsAdditionalTosAcceptances as AccountPersonCreateParamsAdditionalTosAcceptances, AccountPersonCreateParamsAdditionalTosAcceptancesAccount as AccountPersonCreateParamsAdditionalTosAcceptancesAccount, AccountPersonCreateParamsAddress as AccountPersonCreateParamsAddress, AccountPersonCreateParamsAddressKana as AccountPersonCreateParamsAddressKana, AccountPersonCreateParamsAddressKanji as AccountPersonCreateParamsAddressKanji, AccountPersonCreateParamsDob as AccountPersonCreateParamsDob, AccountPersonCreateParamsDocuments as AccountPersonCreateParamsDocuments, AccountPersonCreateParamsDocumentsCompanyAuthorization as AccountPersonCreateParamsDocumentsCompanyAuthorization, AccountPersonCreateParamsDocumentsPassport as AccountPersonCreateParamsDocumentsPassport, AccountPersonCreateParamsDocumentsVisa as AccountPersonCreateParamsDocumentsVisa, AccountPersonCreateParamsRegisteredAddress as AccountPersonCreateParamsRegisteredAddress, AccountPersonCreateParamsRelationship as AccountPersonCreateParamsRelationship, AccountPersonCreateParamsUsCfpbData as AccountPersonCreateParamsUsCfpbData, AccountPersonCreateParamsUsCfpbDataEthnicityDetails as AccountPersonCreateParamsUsCfpbDataEthnicityDetails, AccountPersonCreateParamsUsCfpbDataRaceDetails as AccountPersonCreateParamsUsCfpbDataRaceDetails, AccountPersonCreateParamsVerification as AccountPersonCreateParamsVerification, AccountPersonCreateParamsVerificationAdditionalDocument as AccountPersonCreateParamsVerificationAdditionalDocument, AccountPersonCreateParamsVerificationDocument as AccountPersonCreateParamsVerificationDocument, ) from stripe.params._account_person_delete_params import ( AccountPersonDeleteParams as AccountPersonDeleteParams, ) from stripe.params._account_person_list_params import ( AccountPersonListParams as AccountPersonListParams, AccountPersonListParamsRelationship as AccountPersonListParamsRelationship, ) from stripe.params._account_person_retrieve_params import ( AccountPersonRetrieveParams as AccountPersonRetrieveParams, ) from stripe.params._account_person_update_params import ( AccountPersonUpdateParams as AccountPersonUpdateParams, AccountPersonUpdateParamsAdditionalTosAcceptances as AccountPersonUpdateParamsAdditionalTosAcceptances, AccountPersonUpdateParamsAdditionalTosAcceptancesAccount as AccountPersonUpdateParamsAdditionalTosAcceptancesAccount, AccountPersonUpdateParamsAddress as AccountPersonUpdateParamsAddress, AccountPersonUpdateParamsAddressKana as AccountPersonUpdateParamsAddressKana, AccountPersonUpdateParamsAddressKanji as AccountPersonUpdateParamsAddressKanji, AccountPersonUpdateParamsDob as AccountPersonUpdateParamsDob, AccountPersonUpdateParamsDocuments as AccountPersonUpdateParamsDocuments, AccountPersonUpdateParamsDocumentsCompanyAuthorization as AccountPersonUpdateParamsDocumentsCompanyAuthorization, AccountPersonUpdateParamsDocumentsPassport as AccountPersonUpdateParamsDocumentsPassport, AccountPersonUpdateParamsDocumentsVisa as AccountPersonUpdateParamsDocumentsVisa, AccountPersonUpdateParamsRegisteredAddress as AccountPersonUpdateParamsRegisteredAddress, AccountPersonUpdateParamsRelationship as AccountPersonUpdateParamsRelationship, AccountPersonUpdateParamsUsCfpbData as AccountPersonUpdateParamsUsCfpbData, AccountPersonUpdateParamsUsCfpbDataEthnicityDetails as AccountPersonUpdateParamsUsCfpbDataEthnicityDetails, AccountPersonUpdateParamsUsCfpbDataRaceDetails as AccountPersonUpdateParamsUsCfpbDataRaceDetails, AccountPersonUpdateParamsVerification as AccountPersonUpdateParamsVerification, AccountPersonUpdateParamsVerificationAdditionalDocument as AccountPersonUpdateParamsVerificationAdditionalDocument, AccountPersonUpdateParamsVerificationDocument as AccountPersonUpdateParamsVerificationDocument, ) from stripe.params._account_persons_params import ( AccountPersonsParams as AccountPersonsParams, AccountPersonsParamsRelationship as AccountPersonsParamsRelationship, ) from stripe.params._account_reject_params import ( AccountRejectParams as AccountRejectParams, ) from stripe.params._account_retrieve_capability_params import ( AccountRetrieveCapabilityParams as AccountRetrieveCapabilityParams, ) from stripe.params._account_retrieve_current_params import ( AccountRetrieveCurrentParams as AccountRetrieveCurrentParams, ) from stripe.params._account_retrieve_external_account_params import ( AccountRetrieveExternalAccountParams as AccountRetrieveExternalAccountParams, ) from stripe.params._account_retrieve_params import ( AccountRetrieveParams as AccountRetrieveParams, ) from stripe.params._account_retrieve_person_params import ( AccountRetrievePersonParams as AccountRetrievePersonParams, ) from stripe.params._account_session_create_params import ( AccountSessionCreateParams as AccountSessionCreateParams, AccountSessionCreateParamsComponents as AccountSessionCreateParamsComponents, AccountSessionCreateParamsComponentsAccountManagement as AccountSessionCreateParamsComponentsAccountManagement, AccountSessionCreateParamsComponentsAccountManagementFeatures as AccountSessionCreateParamsComponentsAccountManagementFeatures, AccountSessionCreateParamsComponentsAccountOnboarding as AccountSessionCreateParamsComponentsAccountOnboarding, AccountSessionCreateParamsComponentsAccountOnboardingFeatures as AccountSessionCreateParamsComponentsAccountOnboardingFeatures, AccountSessionCreateParamsComponentsBalances as AccountSessionCreateParamsComponentsBalances, AccountSessionCreateParamsComponentsBalancesFeatures as AccountSessionCreateParamsComponentsBalancesFeatures, AccountSessionCreateParamsComponentsDisputesList as AccountSessionCreateParamsComponentsDisputesList, AccountSessionCreateParamsComponentsDisputesListFeatures as AccountSessionCreateParamsComponentsDisputesListFeatures, AccountSessionCreateParamsComponentsDocuments as AccountSessionCreateParamsComponentsDocuments, AccountSessionCreateParamsComponentsDocumentsFeatures as AccountSessionCreateParamsComponentsDocumentsFeatures, AccountSessionCreateParamsComponentsFinancialAccount as AccountSessionCreateParamsComponentsFinancialAccount, AccountSessionCreateParamsComponentsFinancialAccountFeatures as AccountSessionCreateParamsComponentsFinancialAccountFeatures, AccountSessionCreateParamsComponentsFinancialAccountTransactions as AccountSessionCreateParamsComponentsFinancialAccountTransactions, AccountSessionCreateParamsComponentsFinancialAccountTransactionsFeatures as AccountSessionCreateParamsComponentsFinancialAccountTransactionsFeatures, AccountSessionCreateParamsComponentsInstantPayoutsPromotion as AccountSessionCreateParamsComponentsInstantPayoutsPromotion, AccountSessionCreateParamsComponentsInstantPayoutsPromotionFeatures as AccountSessionCreateParamsComponentsInstantPayoutsPromotionFeatures, AccountSessionCreateParamsComponentsIssuingCard as AccountSessionCreateParamsComponentsIssuingCard, AccountSessionCreateParamsComponentsIssuingCardFeatures as AccountSessionCreateParamsComponentsIssuingCardFeatures, AccountSessionCreateParamsComponentsIssuingCardsList as AccountSessionCreateParamsComponentsIssuingCardsList, AccountSessionCreateParamsComponentsIssuingCardsListFeatures as AccountSessionCreateParamsComponentsIssuingCardsListFeatures, AccountSessionCreateParamsComponentsNotificationBanner as AccountSessionCreateParamsComponentsNotificationBanner, AccountSessionCreateParamsComponentsNotificationBannerFeatures as AccountSessionCreateParamsComponentsNotificationBannerFeatures, AccountSessionCreateParamsComponentsPaymentDetails as AccountSessionCreateParamsComponentsPaymentDetails, AccountSessionCreateParamsComponentsPaymentDetailsFeatures as AccountSessionCreateParamsComponentsPaymentDetailsFeatures, AccountSessionCreateParamsComponentsPaymentDisputes as AccountSessionCreateParamsComponentsPaymentDisputes, AccountSessionCreateParamsComponentsPaymentDisputesFeatures as AccountSessionCreateParamsComponentsPaymentDisputesFeatures, AccountSessionCreateParamsComponentsPayments as AccountSessionCreateParamsComponentsPayments, AccountSessionCreateParamsComponentsPaymentsFeatures as AccountSessionCreateParamsComponentsPaymentsFeatures, AccountSessionCreateParamsComponentsPayoutDetails as AccountSessionCreateParamsComponentsPayoutDetails, AccountSessionCreateParamsComponentsPayoutDetailsFeatures as AccountSessionCreateParamsComponentsPayoutDetailsFeatures, AccountSessionCreateParamsComponentsPayouts as AccountSessionCreateParamsComponentsPayouts, AccountSessionCreateParamsComponentsPayoutsFeatures as AccountSessionCreateParamsComponentsPayoutsFeatures, AccountSessionCreateParamsComponentsPayoutsList as AccountSessionCreateParamsComponentsPayoutsList, AccountSessionCreateParamsComponentsPayoutsListFeatures as AccountSessionCreateParamsComponentsPayoutsListFeatures, AccountSessionCreateParamsComponentsTaxRegistrations as AccountSessionCreateParamsComponentsTaxRegistrations, AccountSessionCreateParamsComponentsTaxRegistrationsFeatures as AccountSessionCreateParamsComponentsTaxRegistrationsFeatures, AccountSessionCreateParamsComponentsTaxSettings as AccountSessionCreateParamsComponentsTaxSettings, AccountSessionCreateParamsComponentsTaxSettingsFeatures as AccountSessionCreateParamsComponentsTaxSettingsFeatures, ) from stripe.params._account_update_params import ( AccountUpdateParams as AccountUpdateParams, AccountUpdateParamsBankAccount as AccountUpdateParamsBankAccount, AccountUpdateParamsBusinessProfile as AccountUpdateParamsBusinessProfile, AccountUpdateParamsBusinessProfileAnnualRevenue as AccountUpdateParamsBusinessProfileAnnualRevenue, AccountUpdateParamsBusinessProfileMonthlyEstimatedRevenue as AccountUpdateParamsBusinessProfileMonthlyEstimatedRevenue, AccountUpdateParamsBusinessProfileSupportAddress as AccountUpdateParamsBusinessProfileSupportAddress, AccountUpdateParamsCapabilities as AccountUpdateParamsCapabilities, AccountUpdateParamsCapabilitiesAcssDebitPayments as AccountUpdateParamsCapabilitiesAcssDebitPayments, AccountUpdateParamsCapabilitiesAffirmPayments as AccountUpdateParamsCapabilitiesAffirmPayments, AccountUpdateParamsCapabilitiesAfterpayClearpayPayments as AccountUpdateParamsCapabilitiesAfterpayClearpayPayments, AccountUpdateParamsCapabilitiesAlmaPayments as AccountUpdateParamsCapabilitiesAlmaPayments, AccountUpdateParamsCapabilitiesAmazonPayPayments as AccountUpdateParamsCapabilitiesAmazonPayPayments, AccountUpdateParamsCapabilitiesAuBecsDebitPayments as AccountUpdateParamsCapabilitiesAuBecsDebitPayments, AccountUpdateParamsCapabilitiesBacsDebitPayments as AccountUpdateParamsCapabilitiesBacsDebitPayments, AccountUpdateParamsCapabilitiesBancontactPayments as AccountUpdateParamsCapabilitiesBancontactPayments, AccountUpdateParamsCapabilitiesBankTransferPayments as AccountUpdateParamsCapabilitiesBankTransferPayments, AccountUpdateParamsCapabilitiesBilliePayments as AccountUpdateParamsCapabilitiesBilliePayments, AccountUpdateParamsCapabilitiesBlikPayments as AccountUpdateParamsCapabilitiesBlikPayments, AccountUpdateParamsCapabilitiesBoletoPayments as AccountUpdateParamsCapabilitiesBoletoPayments, AccountUpdateParamsCapabilitiesCardIssuing as AccountUpdateParamsCapabilitiesCardIssuing, AccountUpdateParamsCapabilitiesCardPayments as AccountUpdateParamsCapabilitiesCardPayments, AccountUpdateParamsCapabilitiesCartesBancairesPayments as AccountUpdateParamsCapabilitiesCartesBancairesPayments, AccountUpdateParamsCapabilitiesCashappPayments as AccountUpdateParamsCapabilitiesCashappPayments, AccountUpdateParamsCapabilitiesCryptoPayments as AccountUpdateParamsCapabilitiesCryptoPayments, AccountUpdateParamsCapabilitiesEpsPayments as AccountUpdateParamsCapabilitiesEpsPayments, AccountUpdateParamsCapabilitiesFpxPayments as AccountUpdateParamsCapabilitiesFpxPayments, AccountUpdateParamsCapabilitiesGbBankTransferPayments as AccountUpdateParamsCapabilitiesGbBankTransferPayments, AccountUpdateParamsCapabilitiesGiropayPayments as AccountUpdateParamsCapabilitiesGiropayPayments, AccountUpdateParamsCapabilitiesGrabpayPayments as AccountUpdateParamsCapabilitiesGrabpayPayments, AccountUpdateParamsCapabilitiesIdealPayments as AccountUpdateParamsCapabilitiesIdealPayments, AccountUpdateParamsCapabilitiesIndiaInternationalPayments as AccountUpdateParamsCapabilitiesIndiaInternationalPayments, AccountUpdateParamsCapabilitiesJcbPayments as AccountUpdateParamsCapabilitiesJcbPayments, AccountUpdateParamsCapabilitiesJpBankTransferPayments as AccountUpdateParamsCapabilitiesJpBankTransferPayments, AccountUpdateParamsCapabilitiesKakaoPayPayments as AccountUpdateParamsCapabilitiesKakaoPayPayments, AccountUpdateParamsCapabilitiesKlarnaPayments as AccountUpdateParamsCapabilitiesKlarnaPayments, AccountUpdateParamsCapabilitiesKonbiniPayments as AccountUpdateParamsCapabilitiesKonbiniPayments, AccountUpdateParamsCapabilitiesKrCardPayments as AccountUpdateParamsCapabilitiesKrCardPayments, AccountUpdateParamsCapabilitiesLegacyPayments as AccountUpdateParamsCapabilitiesLegacyPayments, AccountUpdateParamsCapabilitiesLinkPayments as AccountUpdateParamsCapabilitiesLinkPayments, AccountUpdateParamsCapabilitiesMbWayPayments as AccountUpdateParamsCapabilitiesMbWayPayments, AccountUpdateParamsCapabilitiesMobilepayPayments as AccountUpdateParamsCapabilitiesMobilepayPayments, AccountUpdateParamsCapabilitiesMultibancoPayments as AccountUpdateParamsCapabilitiesMultibancoPayments, AccountUpdateParamsCapabilitiesMxBankTransferPayments as AccountUpdateParamsCapabilitiesMxBankTransferPayments, AccountUpdateParamsCapabilitiesNaverPayPayments as AccountUpdateParamsCapabilitiesNaverPayPayments, AccountUpdateParamsCapabilitiesNzBankAccountBecsDebitPayments as AccountUpdateParamsCapabilitiesNzBankAccountBecsDebitPayments, AccountUpdateParamsCapabilitiesOxxoPayments as AccountUpdateParamsCapabilitiesOxxoPayments, AccountUpdateParamsCapabilitiesP24Payments as AccountUpdateParamsCapabilitiesP24Payments, AccountUpdateParamsCapabilitiesPayByBankPayments as AccountUpdateParamsCapabilitiesPayByBankPayments, AccountUpdateParamsCapabilitiesPaycoPayments as AccountUpdateParamsCapabilitiesPaycoPayments, AccountUpdateParamsCapabilitiesPaynowPayments as AccountUpdateParamsCapabilitiesPaynowPayments, AccountUpdateParamsCapabilitiesPixPayments as AccountUpdateParamsCapabilitiesPixPayments, AccountUpdateParamsCapabilitiesPromptpayPayments as AccountUpdateParamsCapabilitiesPromptpayPayments, AccountUpdateParamsCapabilitiesRevolutPayPayments as AccountUpdateParamsCapabilitiesRevolutPayPayments, AccountUpdateParamsCapabilitiesSamsungPayPayments as AccountUpdateParamsCapabilitiesSamsungPayPayments, AccountUpdateParamsCapabilitiesSatispayPayments as AccountUpdateParamsCapabilitiesSatispayPayments, AccountUpdateParamsCapabilitiesSepaBankTransferPayments as AccountUpdateParamsCapabilitiesSepaBankTransferPayments, AccountUpdateParamsCapabilitiesSepaDebitPayments as AccountUpdateParamsCapabilitiesSepaDebitPayments, AccountUpdateParamsCapabilitiesSofortPayments as AccountUpdateParamsCapabilitiesSofortPayments, AccountUpdateParamsCapabilitiesSwishPayments as AccountUpdateParamsCapabilitiesSwishPayments, AccountUpdateParamsCapabilitiesTaxReportingUs1099K as AccountUpdateParamsCapabilitiesTaxReportingUs1099K, AccountUpdateParamsCapabilitiesTaxReportingUs1099Misc as AccountUpdateParamsCapabilitiesTaxReportingUs1099Misc, AccountUpdateParamsCapabilitiesTransfers as AccountUpdateParamsCapabilitiesTransfers, AccountUpdateParamsCapabilitiesTreasury as AccountUpdateParamsCapabilitiesTreasury, AccountUpdateParamsCapabilitiesTwintPayments as AccountUpdateParamsCapabilitiesTwintPayments, AccountUpdateParamsCapabilitiesUsBankAccountAchPayments as AccountUpdateParamsCapabilitiesUsBankAccountAchPayments, AccountUpdateParamsCapabilitiesUsBankTransferPayments as AccountUpdateParamsCapabilitiesUsBankTransferPayments, AccountUpdateParamsCapabilitiesZipPayments as AccountUpdateParamsCapabilitiesZipPayments, AccountUpdateParamsCard as AccountUpdateParamsCard, AccountUpdateParamsCardToken as AccountUpdateParamsCardToken, AccountUpdateParamsCompany as AccountUpdateParamsCompany, AccountUpdateParamsCompanyAddress as AccountUpdateParamsCompanyAddress, AccountUpdateParamsCompanyAddressKana as AccountUpdateParamsCompanyAddressKana, AccountUpdateParamsCompanyAddressKanji as AccountUpdateParamsCompanyAddressKanji, AccountUpdateParamsCompanyDirectorshipDeclaration as AccountUpdateParamsCompanyDirectorshipDeclaration, AccountUpdateParamsCompanyOwnershipDeclaration as AccountUpdateParamsCompanyOwnershipDeclaration, AccountUpdateParamsCompanyRegistrationDate as AccountUpdateParamsCompanyRegistrationDate, AccountUpdateParamsCompanyRepresentativeDeclaration as AccountUpdateParamsCompanyRepresentativeDeclaration, AccountUpdateParamsCompanyVerification as AccountUpdateParamsCompanyVerification, AccountUpdateParamsCompanyVerificationDocument as AccountUpdateParamsCompanyVerificationDocument, AccountUpdateParamsDocuments as AccountUpdateParamsDocuments, AccountUpdateParamsDocumentsBankAccountOwnershipVerification as AccountUpdateParamsDocumentsBankAccountOwnershipVerification, AccountUpdateParamsDocumentsCompanyLicense as AccountUpdateParamsDocumentsCompanyLicense, AccountUpdateParamsDocumentsCompanyMemorandumOfAssociation as AccountUpdateParamsDocumentsCompanyMemorandumOfAssociation, AccountUpdateParamsDocumentsCompanyMinisterialDecree as AccountUpdateParamsDocumentsCompanyMinisterialDecree, AccountUpdateParamsDocumentsCompanyRegistrationVerification as AccountUpdateParamsDocumentsCompanyRegistrationVerification, AccountUpdateParamsDocumentsCompanyTaxIdVerification as AccountUpdateParamsDocumentsCompanyTaxIdVerification, AccountUpdateParamsDocumentsProofOfAddress as AccountUpdateParamsDocumentsProofOfAddress, AccountUpdateParamsDocumentsProofOfRegistration as AccountUpdateParamsDocumentsProofOfRegistration, AccountUpdateParamsDocumentsProofOfUltimateBeneficialOwnership as AccountUpdateParamsDocumentsProofOfUltimateBeneficialOwnership, AccountUpdateParamsGroups as AccountUpdateParamsGroups, AccountUpdateParamsIndividual as AccountUpdateParamsIndividual, AccountUpdateParamsIndividualAddress as AccountUpdateParamsIndividualAddress, AccountUpdateParamsIndividualAddressKana as AccountUpdateParamsIndividualAddressKana, AccountUpdateParamsIndividualAddressKanji as AccountUpdateParamsIndividualAddressKanji, AccountUpdateParamsIndividualDob as AccountUpdateParamsIndividualDob, AccountUpdateParamsIndividualRegisteredAddress as AccountUpdateParamsIndividualRegisteredAddress, AccountUpdateParamsIndividualRelationship as AccountUpdateParamsIndividualRelationship, AccountUpdateParamsIndividualVerification as AccountUpdateParamsIndividualVerification, AccountUpdateParamsIndividualVerificationAdditionalDocument as AccountUpdateParamsIndividualVerificationAdditionalDocument, AccountUpdateParamsIndividualVerificationDocument as AccountUpdateParamsIndividualVerificationDocument, AccountUpdateParamsSettings as AccountUpdateParamsSettings, AccountUpdateParamsSettingsBacsDebitPayments as AccountUpdateParamsSettingsBacsDebitPayments, AccountUpdateParamsSettingsBranding as AccountUpdateParamsSettingsBranding, AccountUpdateParamsSettingsCardIssuing as AccountUpdateParamsSettingsCardIssuing, AccountUpdateParamsSettingsCardIssuingTosAcceptance as AccountUpdateParamsSettingsCardIssuingTosAcceptance, AccountUpdateParamsSettingsCardPayments as AccountUpdateParamsSettingsCardPayments, AccountUpdateParamsSettingsCardPaymentsDeclineOn as AccountUpdateParamsSettingsCardPaymentsDeclineOn, AccountUpdateParamsSettingsInvoices as AccountUpdateParamsSettingsInvoices, AccountUpdateParamsSettingsPayments as AccountUpdateParamsSettingsPayments, AccountUpdateParamsSettingsPayouts as AccountUpdateParamsSettingsPayouts, AccountUpdateParamsSettingsPayoutsSchedule as AccountUpdateParamsSettingsPayoutsSchedule, AccountUpdateParamsSettingsTreasury as AccountUpdateParamsSettingsTreasury, AccountUpdateParamsSettingsTreasuryTosAcceptance as AccountUpdateParamsSettingsTreasuryTosAcceptance, AccountUpdateParamsTosAcceptance as AccountUpdateParamsTosAcceptance, ) from stripe.params._apple_pay_domain_create_params import ( ApplePayDomainCreateParams as ApplePayDomainCreateParams, ) from stripe.params._apple_pay_domain_delete_params import ( ApplePayDomainDeleteParams as ApplePayDomainDeleteParams, ) from stripe.params._apple_pay_domain_list_params import ( ApplePayDomainListParams as ApplePayDomainListParams, ) from stripe.params._apple_pay_domain_retrieve_params import ( ApplePayDomainRetrieveParams as ApplePayDomainRetrieveParams, ) from stripe.params._application_fee_create_refund_params import ( ApplicationFeeCreateRefundParams as ApplicationFeeCreateRefundParams, ) from stripe.params._application_fee_list_params import ( ApplicationFeeListParams as ApplicationFeeListParams, ApplicationFeeListParamsCreated as ApplicationFeeListParamsCreated, ) from stripe.params._application_fee_list_refunds_params import ( ApplicationFeeListRefundsParams as ApplicationFeeListRefundsParams, ) from stripe.params._application_fee_modify_refund_params import ( ApplicationFeeModifyRefundParams as ApplicationFeeModifyRefundParams, ) from stripe.params._application_fee_refund_create_params import ( ApplicationFeeRefundCreateParams as ApplicationFeeRefundCreateParams, ) from stripe.params._application_fee_refund_list_params import ( ApplicationFeeRefundListParams as ApplicationFeeRefundListParams, ) from stripe.params._application_fee_refund_params import ( ApplicationFeeRefundParams as ApplicationFeeRefundParams, ) from stripe.params._application_fee_refund_retrieve_params import ( ApplicationFeeRefundRetrieveParams as ApplicationFeeRefundRetrieveParams, ) from stripe.params._application_fee_refund_update_params import ( ApplicationFeeRefundUpdateParams as ApplicationFeeRefundUpdateParams, ) from stripe.params._application_fee_retrieve_params import ( ApplicationFeeRetrieveParams as ApplicationFeeRetrieveParams, ) from stripe.params._application_fee_retrieve_refund_params import ( ApplicationFeeRetrieveRefundParams as ApplicationFeeRetrieveRefundParams, ) from stripe.params._balance_retrieve_params import ( BalanceRetrieveParams as BalanceRetrieveParams, ) from stripe.params._balance_settings_modify_params import ( BalanceSettingsModifyParams as BalanceSettingsModifyParams, BalanceSettingsModifyParamsPayments as BalanceSettingsModifyParamsPayments, BalanceSettingsModifyParamsPaymentsPayouts as BalanceSettingsModifyParamsPaymentsPayouts, BalanceSettingsModifyParamsPaymentsPayoutsSchedule as BalanceSettingsModifyParamsPaymentsPayoutsSchedule, BalanceSettingsModifyParamsPaymentsSettlementTiming as BalanceSettingsModifyParamsPaymentsSettlementTiming, ) from stripe.params._balance_settings_retrieve_params import ( BalanceSettingsRetrieveParams as BalanceSettingsRetrieveParams, ) from stripe.params._balance_settings_update_params import ( BalanceSettingsUpdateParams as BalanceSettingsUpdateParams, BalanceSettingsUpdateParamsPayments as BalanceSettingsUpdateParamsPayments, BalanceSettingsUpdateParamsPaymentsPayouts as BalanceSettingsUpdateParamsPaymentsPayouts, BalanceSettingsUpdateParamsPaymentsPayoutsSchedule as BalanceSettingsUpdateParamsPaymentsPayoutsSchedule, BalanceSettingsUpdateParamsPaymentsSettlementTiming as BalanceSettingsUpdateParamsPaymentsSettlementTiming, ) from stripe.params._balance_transaction_list_params import ( BalanceTransactionListParams as BalanceTransactionListParams, BalanceTransactionListParamsCreated as BalanceTransactionListParamsCreated, ) from stripe.params._balance_transaction_retrieve_params import ( BalanceTransactionRetrieveParams as BalanceTransactionRetrieveParams, ) from stripe.params._bank_account_delete_params import ( BankAccountDeleteParams as BankAccountDeleteParams, ) from stripe.params._card_delete_params import ( CardDeleteParams as CardDeleteParams, ) from stripe.params._charge_capture_params import ( ChargeCaptureParams as ChargeCaptureParams, ChargeCaptureParamsTransferData as ChargeCaptureParamsTransferData, ) from stripe.params._charge_create_params import ( ChargeCreateParams as ChargeCreateParams, ChargeCreateParamsDestination as ChargeCreateParamsDestination, ChargeCreateParamsRadarOptions as ChargeCreateParamsRadarOptions, ChargeCreateParamsShipping as ChargeCreateParamsShipping, ChargeCreateParamsShippingAddress as ChargeCreateParamsShippingAddress, ChargeCreateParamsTransferData as ChargeCreateParamsTransferData, ) from stripe.params._charge_list_params import ( ChargeListParams as ChargeListParams, ChargeListParamsCreated as ChargeListParamsCreated, ) from stripe.params._charge_list_refunds_params import ( ChargeListRefundsParams as ChargeListRefundsParams, ) from stripe.params._charge_modify_params import ( ChargeModifyParams as ChargeModifyParams, ChargeModifyParamsFraudDetails as ChargeModifyParamsFraudDetails, ChargeModifyParamsShipping as ChargeModifyParamsShipping, ChargeModifyParamsShippingAddress as ChargeModifyParamsShippingAddress, ) from stripe.params._charge_retrieve_params import ( ChargeRetrieveParams as ChargeRetrieveParams, ) from stripe.params._charge_retrieve_refund_params import ( ChargeRetrieveRefundParams as ChargeRetrieveRefundParams, ) from stripe.params._charge_search_params import ( ChargeSearchParams as ChargeSearchParams, ) from stripe.params._charge_update_params import ( ChargeUpdateParams as ChargeUpdateParams, ChargeUpdateParamsFraudDetails as ChargeUpdateParamsFraudDetails, ChargeUpdateParamsShipping as ChargeUpdateParamsShipping, ChargeUpdateParamsShippingAddress as ChargeUpdateParamsShippingAddress, ) from stripe.params._confirmation_token_create_params import ( ConfirmationTokenCreateParams as ConfirmationTokenCreateParams, ConfirmationTokenCreateParamsPaymentMethodData as ConfirmationTokenCreateParamsPaymentMethodData, ConfirmationTokenCreateParamsPaymentMethodDataAcssDebit as ConfirmationTokenCreateParamsPaymentMethodDataAcssDebit, ConfirmationTokenCreateParamsPaymentMethodDataAffirm as ConfirmationTokenCreateParamsPaymentMethodDataAffirm, ConfirmationTokenCreateParamsPaymentMethodDataAfterpayClearpay as ConfirmationTokenCreateParamsPaymentMethodDataAfterpayClearpay, ConfirmationTokenCreateParamsPaymentMethodDataAlipay as ConfirmationTokenCreateParamsPaymentMethodDataAlipay, ConfirmationTokenCreateParamsPaymentMethodDataAlma as ConfirmationTokenCreateParamsPaymentMethodDataAlma, ConfirmationTokenCreateParamsPaymentMethodDataAmazonPay as ConfirmationTokenCreateParamsPaymentMethodDataAmazonPay, ConfirmationTokenCreateParamsPaymentMethodDataAuBecsDebit as ConfirmationTokenCreateParamsPaymentMethodDataAuBecsDebit, ConfirmationTokenCreateParamsPaymentMethodDataBacsDebit as ConfirmationTokenCreateParamsPaymentMethodDataBacsDebit, ConfirmationTokenCreateParamsPaymentMethodDataBancontact as ConfirmationTokenCreateParamsPaymentMethodDataBancontact, ConfirmationTokenCreateParamsPaymentMethodDataBillie as ConfirmationTokenCreateParamsPaymentMethodDataBillie, ConfirmationTokenCreateParamsPaymentMethodDataBillingDetails as ConfirmationTokenCreateParamsPaymentMethodDataBillingDetails, ConfirmationTokenCreateParamsPaymentMethodDataBillingDetailsAddress as ConfirmationTokenCreateParamsPaymentMethodDataBillingDetailsAddress, ConfirmationTokenCreateParamsPaymentMethodDataBlik as ConfirmationTokenCreateParamsPaymentMethodDataBlik, ConfirmationTokenCreateParamsPaymentMethodDataBoleto as ConfirmationTokenCreateParamsPaymentMethodDataBoleto, ConfirmationTokenCreateParamsPaymentMethodDataCashapp as ConfirmationTokenCreateParamsPaymentMethodDataCashapp, ConfirmationTokenCreateParamsPaymentMethodDataCrypto as ConfirmationTokenCreateParamsPaymentMethodDataCrypto, ConfirmationTokenCreateParamsPaymentMethodDataCustomerBalance as ConfirmationTokenCreateParamsPaymentMethodDataCustomerBalance, ConfirmationTokenCreateParamsPaymentMethodDataEps as ConfirmationTokenCreateParamsPaymentMethodDataEps, ConfirmationTokenCreateParamsPaymentMethodDataFpx as ConfirmationTokenCreateParamsPaymentMethodDataFpx, ConfirmationTokenCreateParamsPaymentMethodDataGiropay as ConfirmationTokenCreateParamsPaymentMethodDataGiropay, ConfirmationTokenCreateParamsPaymentMethodDataGrabpay as ConfirmationTokenCreateParamsPaymentMethodDataGrabpay, ConfirmationTokenCreateParamsPaymentMethodDataIdeal as ConfirmationTokenCreateParamsPaymentMethodDataIdeal, ConfirmationTokenCreateParamsPaymentMethodDataInteracPresent as ConfirmationTokenCreateParamsPaymentMethodDataInteracPresent, ConfirmationTokenCreateParamsPaymentMethodDataKakaoPay as ConfirmationTokenCreateParamsPaymentMethodDataKakaoPay, ConfirmationTokenCreateParamsPaymentMethodDataKlarna as ConfirmationTokenCreateParamsPaymentMethodDataKlarna, ConfirmationTokenCreateParamsPaymentMethodDataKlarnaDob as ConfirmationTokenCreateParamsPaymentMethodDataKlarnaDob, ConfirmationTokenCreateParamsPaymentMethodDataKonbini as ConfirmationTokenCreateParamsPaymentMethodDataKonbini, ConfirmationTokenCreateParamsPaymentMethodDataKrCard as ConfirmationTokenCreateParamsPaymentMethodDataKrCard, ConfirmationTokenCreateParamsPaymentMethodDataLink as ConfirmationTokenCreateParamsPaymentMethodDataLink, ConfirmationTokenCreateParamsPaymentMethodDataMbWay as ConfirmationTokenCreateParamsPaymentMethodDataMbWay, ConfirmationTokenCreateParamsPaymentMethodDataMobilepay as ConfirmationTokenCreateParamsPaymentMethodDataMobilepay, ConfirmationTokenCreateParamsPaymentMethodDataMultibanco as ConfirmationTokenCreateParamsPaymentMethodDataMultibanco, ConfirmationTokenCreateParamsPaymentMethodDataNaverPay as ConfirmationTokenCreateParamsPaymentMethodDataNaverPay, ConfirmationTokenCreateParamsPaymentMethodDataNzBankAccount as ConfirmationTokenCreateParamsPaymentMethodDataNzBankAccount, ConfirmationTokenCreateParamsPaymentMethodDataOxxo as ConfirmationTokenCreateParamsPaymentMethodDataOxxo, ConfirmationTokenCreateParamsPaymentMethodDataP24 as ConfirmationTokenCreateParamsPaymentMethodDataP24, ConfirmationTokenCreateParamsPaymentMethodDataPayByBank as ConfirmationTokenCreateParamsPaymentMethodDataPayByBank, ConfirmationTokenCreateParamsPaymentMethodDataPayco as ConfirmationTokenCreateParamsPaymentMethodDataPayco, ConfirmationTokenCreateParamsPaymentMethodDataPaynow as ConfirmationTokenCreateParamsPaymentMethodDataPaynow, ConfirmationTokenCreateParamsPaymentMethodDataPaypal as ConfirmationTokenCreateParamsPaymentMethodDataPaypal, ConfirmationTokenCreateParamsPaymentMethodDataPix as ConfirmationTokenCreateParamsPaymentMethodDataPix, ConfirmationTokenCreateParamsPaymentMethodDataPromptpay as ConfirmationTokenCreateParamsPaymentMethodDataPromptpay, ConfirmationTokenCreateParamsPaymentMethodDataRadarOptions as ConfirmationTokenCreateParamsPaymentMethodDataRadarOptions, ConfirmationTokenCreateParamsPaymentMethodDataRevolutPay as ConfirmationTokenCreateParamsPaymentMethodDataRevolutPay, ConfirmationTokenCreateParamsPaymentMethodDataSamsungPay as ConfirmationTokenCreateParamsPaymentMethodDataSamsungPay, ConfirmationTokenCreateParamsPaymentMethodDataSatispay as ConfirmationTokenCreateParamsPaymentMethodDataSatispay, ConfirmationTokenCreateParamsPaymentMethodDataSepaDebit as ConfirmationTokenCreateParamsPaymentMethodDataSepaDebit, ConfirmationTokenCreateParamsPaymentMethodDataSofort as ConfirmationTokenCreateParamsPaymentMethodDataSofort, ConfirmationTokenCreateParamsPaymentMethodDataSwish as ConfirmationTokenCreateParamsPaymentMethodDataSwish, ConfirmationTokenCreateParamsPaymentMethodDataTwint as ConfirmationTokenCreateParamsPaymentMethodDataTwint, ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount as ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount, ConfirmationTokenCreateParamsPaymentMethodDataWechatPay as ConfirmationTokenCreateParamsPaymentMethodDataWechatPay, ConfirmationTokenCreateParamsPaymentMethodDataZip as ConfirmationTokenCreateParamsPaymentMethodDataZip, ConfirmationTokenCreateParamsPaymentMethodOptions as ConfirmationTokenCreateParamsPaymentMethodOptions, ConfirmationTokenCreateParamsPaymentMethodOptionsCard as ConfirmationTokenCreateParamsPaymentMethodOptionsCard, ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallments as ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallments, ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallmentsPlan as ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallmentsPlan, ConfirmationTokenCreateParamsShipping as ConfirmationTokenCreateParamsShipping, ConfirmationTokenCreateParamsShippingAddress as ConfirmationTokenCreateParamsShippingAddress, ) from stripe.params._confirmation_token_retrieve_params import ( ConfirmationTokenRetrieveParams as ConfirmationTokenRetrieveParams, ) from stripe.params._country_spec_list_params import ( CountrySpecListParams as CountrySpecListParams, ) from stripe.params._country_spec_retrieve_params import ( CountrySpecRetrieveParams as CountrySpecRetrieveParams, ) from stripe.params._coupon_create_params import ( CouponCreateParams as CouponCreateParams, CouponCreateParamsAppliesTo as CouponCreateParamsAppliesTo, CouponCreateParamsCurrencyOptions as CouponCreateParamsCurrencyOptions, ) from stripe.params._coupon_delete_params import ( CouponDeleteParams as CouponDeleteParams, ) from stripe.params._coupon_list_params import ( CouponListParams as CouponListParams, CouponListParamsCreated as CouponListParamsCreated, ) from stripe.params._coupon_modify_params import ( CouponModifyParams as CouponModifyParams, CouponModifyParamsCurrencyOptions as CouponModifyParamsCurrencyOptions, ) from stripe.params._coupon_retrieve_params import ( CouponRetrieveParams as CouponRetrieveParams, ) from stripe.params._coupon_update_params import ( CouponUpdateParams as CouponUpdateParams, CouponUpdateParamsCurrencyOptions as CouponUpdateParamsCurrencyOptions, ) from stripe.params._credit_note_create_params import ( CreditNoteCreateParams as CreditNoteCreateParams, CreditNoteCreateParamsLine as CreditNoteCreateParamsLine, CreditNoteCreateParamsLineTaxAmount as CreditNoteCreateParamsLineTaxAmount, CreditNoteCreateParamsRefund as CreditNoteCreateParamsRefund, CreditNoteCreateParamsRefundPaymentRecordRefund as CreditNoteCreateParamsRefundPaymentRecordRefund, CreditNoteCreateParamsShippingCost as CreditNoteCreateParamsShippingCost, ) from stripe.params._credit_note_line_item_list_params import ( CreditNoteLineItemListParams as CreditNoteLineItemListParams, ) from stripe.params._credit_note_list_lines_params import ( CreditNoteListLinesParams as CreditNoteListLinesParams, ) from stripe.params._credit_note_list_params import ( CreditNoteListParams as CreditNoteListParams, CreditNoteListParamsCreated as CreditNoteListParamsCreated, ) from stripe.params._credit_note_modify_params import ( CreditNoteModifyParams as CreditNoteModifyParams, ) from stripe.params._credit_note_preview_lines_list_params import ( CreditNotePreviewLinesListParams as CreditNotePreviewLinesListParams, CreditNotePreviewLinesListParamsLine as CreditNotePreviewLinesListParamsLine, CreditNotePreviewLinesListParamsLineTaxAmount as CreditNotePreviewLinesListParamsLineTaxAmount, CreditNotePreviewLinesListParamsRefund as CreditNotePreviewLinesListParamsRefund, CreditNotePreviewLinesListParamsRefundPaymentRecordRefund as CreditNotePreviewLinesListParamsRefundPaymentRecordRefund, CreditNotePreviewLinesListParamsShippingCost as CreditNotePreviewLinesListParamsShippingCost, ) from stripe.params._credit_note_preview_lines_params import ( CreditNotePreviewLinesParams as CreditNotePreviewLinesParams, CreditNotePreviewLinesParamsLine as CreditNotePreviewLinesParamsLine, CreditNotePreviewLinesParamsLineTaxAmount as CreditNotePreviewLinesParamsLineTaxAmount, CreditNotePreviewLinesParamsRefund as CreditNotePreviewLinesParamsRefund, CreditNotePreviewLinesParamsRefundPaymentRecordRefund as CreditNotePreviewLinesParamsRefundPaymentRecordRefund, CreditNotePreviewLinesParamsShippingCost as CreditNotePreviewLinesParamsShippingCost, ) from stripe.params._credit_note_preview_params import ( CreditNotePreviewParams as CreditNotePreviewParams, CreditNotePreviewParamsLine as CreditNotePreviewParamsLine, CreditNotePreviewParamsLineTaxAmount as CreditNotePreviewParamsLineTaxAmount, CreditNotePreviewParamsRefund as CreditNotePreviewParamsRefund, CreditNotePreviewParamsRefundPaymentRecordRefund as CreditNotePreviewParamsRefundPaymentRecordRefund, CreditNotePreviewParamsShippingCost as CreditNotePreviewParamsShippingCost, ) from stripe.params._credit_note_retrieve_params import ( CreditNoteRetrieveParams as CreditNoteRetrieveParams, ) from stripe.params._credit_note_update_params import ( CreditNoteUpdateParams as CreditNoteUpdateParams, ) from stripe.params._credit_note_void_credit_note_params import ( CreditNoteVoidCreditNoteParams as CreditNoteVoidCreditNoteParams, ) from stripe.params._customer_balance_transaction_create_params import ( CustomerBalanceTransactionCreateParams as CustomerBalanceTransactionCreateParams, ) from stripe.params._customer_balance_transaction_list_params import ( CustomerBalanceTransactionListParams as CustomerBalanceTransactionListParams, ) from stripe.params._customer_balance_transaction_retrieve_params import ( CustomerBalanceTransactionRetrieveParams as CustomerBalanceTransactionRetrieveParams, ) from stripe.params._customer_balance_transaction_update_params import ( CustomerBalanceTransactionUpdateParams as CustomerBalanceTransactionUpdateParams, ) from stripe.params._customer_cash_balance_retrieve_params import ( CustomerCashBalanceRetrieveParams as CustomerCashBalanceRetrieveParams, ) from stripe.params._customer_cash_balance_transaction_list_params import ( CustomerCashBalanceTransactionListParams as CustomerCashBalanceTransactionListParams, ) from stripe.params._customer_cash_balance_transaction_retrieve_params import ( CustomerCashBalanceTransactionRetrieveParams as CustomerCashBalanceTransactionRetrieveParams, ) from stripe.params._customer_cash_balance_update_params import ( CustomerCashBalanceUpdateParams as CustomerCashBalanceUpdateParams, CustomerCashBalanceUpdateParamsSettings as CustomerCashBalanceUpdateParamsSettings, ) from stripe.params._customer_create_balance_transaction_params import ( CustomerCreateBalanceTransactionParams as CustomerCreateBalanceTransactionParams, ) from stripe.params._customer_create_funding_instructions_params import ( CustomerCreateFundingInstructionsParams as CustomerCreateFundingInstructionsParams, CustomerCreateFundingInstructionsParamsBankTransfer as CustomerCreateFundingInstructionsParamsBankTransfer, CustomerCreateFundingInstructionsParamsBankTransferEuBankTransfer as CustomerCreateFundingInstructionsParamsBankTransferEuBankTransfer, ) from stripe.params._customer_create_params import ( CustomerCreateParams as CustomerCreateParams, CustomerCreateParamsAddress as CustomerCreateParamsAddress, CustomerCreateParamsCashBalance as CustomerCreateParamsCashBalance, CustomerCreateParamsCashBalanceSettings as CustomerCreateParamsCashBalanceSettings, CustomerCreateParamsInvoiceSettings as CustomerCreateParamsInvoiceSettings, CustomerCreateParamsInvoiceSettingsCustomField as CustomerCreateParamsInvoiceSettingsCustomField, CustomerCreateParamsInvoiceSettingsRenderingOptions as CustomerCreateParamsInvoiceSettingsRenderingOptions, CustomerCreateParamsShipping as CustomerCreateParamsShipping, CustomerCreateParamsShippingAddress as CustomerCreateParamsShippingAddress, CustomerCreateParamsTax as CustomerCreateParamsTax, CustomerCreateParamsTaxIdDatum as CustomerCreateParamsTaxIdDatum, ) from stripe.params._customer_create_source_params import ( CustomerCreateSourceParams as CustomerCreateSourceParams, ) from stripe.params._customer_create_tax_id_params import ( CustomerCreateTaxIdParams as CustomerCreateTaxIdParams, ) from stripe.params._customer_delete_discount_params import ( CustomerDeleteDiscountParams as CustomerDeleteDiscountParams, ) from stripe.params._customer_delete_params import ( CustomerDeleteParams as CustomerDeleteParams, ) from stripe.params._customer_delete_source_params import ( CustomerDeleteSourceParams as CustomerDeleteSourceParams, ) from stripe.params._customer_delete_tax_id_params import ( CustomerDeleteTaxIdParams as CustomerDeleteTaxIdParams, ) from stripe.params._customer_fund_cash_balance_params import ( CustomerFundCashBalanceParams as CustomerFundCashBalanceParams, ) from stripe.params._customer_funding_instructions_create_params import ( CustomerFundingInstructionsCreateParams as CustomerFundingInstructionsCreateParams, CustomerFundingInstructionsCreateParamsBankTransfer as CustomerFundingInstructionsCreateParamsBankTransfer, CustomerFundingInstructionsCreateParamsBankTransferEuBankTransfer as CustomerFundingInstructionsCreateParamsBankTransferEuBankTransfer, ) from stripe.params._customer_list_balance_transactions_params import ( CustomerListBalanceTransactionsParams as CustomerListBalanceTransactionsParams, ) from stripe.params._customer_list_cash_balance_transactions_params import ( CustomerListCashBalanceTransactionsParams as CustomerListCashBalanceTransactionsParams, ) from stripe.params._customer_list_params import ( CustomerListParams as CustomerListParams, CustomerListParamsCreated as CustomerListParamsCreated, ) from stripe.params._customer_list_payment_methods_params import ( CustomerListPaymentMethodsParams as CustomerListPaymentMethodsParams, ) from stripe.params._customer_list_sources_params import ( CustomerListSourcesParams as CustomerListSourcesParams, ) from stripe.params._customer_list_tax_ids_params import ( CustomerListTaxIdsParams as CustomerListTaxIdsParams, ) from stripe.params._customer_modify_balance_transaction_params import ( CustomerModifyBalanceTransactionParams as CustomerModifyBalanceTransactionParams, ) from stripe.params._customer_modify_cash_balance_params import ( CustomerModifyCashBalanceParams as CustomerModifyCashBalanceParams, CustomerModifyCashBalanceParamsSettings as CustomerModifyCashBalanceParamsSettings, ) from stripe.params._customer_modify_params import ( CustomerModifyParams as CustomerModifyParams, CustomerModifyParamsAddress as CustomerModifyParamsAddress, CustomerModifyParamsCashBalance as CustomerModifyParamsCashBalance, CustomerModifyParamsCashBalanceSettings as CustomerModifyParamsCashBalanceSettings, CustomerModifyParamsInvoiceSettings as CustomerModifyParamsInvoiceSettings, CustomerModifyParamsInvoiceSettingsCustomField as CustomerModifyParamsInvoiceSettingsCustomField, CustomerModifyParamsInvoiceSettingsRenderingOptions as CustomerModifyParamsInvoiceSettingsRenderingOptions, CustomerModifyParamsShipping as CustomerModifyParamsShipping, CustomerModifyParamsShippingAddress as CustomerModifyParamsShippingAddress, CustomerModifyParamsTax as CustomerModifyParamsTax, ) from stripe.params._customer_modify_source_params import ( CustomerModifySourceParams as CustomerModifySourceParams, CustomerModifySourceParamsOwner as CustomerModifySourceParamsOwner, CustomerModifySourceParamsOwnerAddress as CustomerModifySourceParamsOwnerAddress, ) from stripe.params._customer_payment_method_list_params import ( CustomerPaymentMethodListParams as CustomerPaymentMethodListParams, ) from stripe.params._customer_payment_method_retrieve_params import ( CustomerPaymentMethodRetrieveParams as CustomerPaymentMethodRetrieveParams, ) from stripe.params._customer_payment_source_create_params import ( CustomerPaymentSourceCreateParams as CustomerPaymentSourceCreateParams, ) from stripe.params._customer_payment_source_delete_params import ( CustomerPaymentSourceDeleteParams as CustomerPaymentSourceDeleteParams, ) from stripe.params._customer_payment_source_list_params import ( CustomerPaymentSourceListParams as CustomerPaymentSourceListParams, ) from stripe.params._customer_payment_source_retrieve_params import ( CustomerPaymentSourceRetrieveParams as CustomerPaymentSourceRetrieveParams, ) from stripe.params._customer_payment_source_update_params import ( CustomerPaymentSourceUpdateParams as CustomerPaymentSourceUpdateParams, CustomerPaymentSourceUpdateParamsOwner as CustomerPaymentSourceUpdateParamsOwner, CustomerPaymentSourceUpdateParamsOwnerAddress as CustomerPaymentSourceUpdateParamsOwnerAddress, ) from stripe.params._customer_payment_source_verify_params import ( CustomerPaymentSourceVerifyParams as CustomerPaymentSourceVerifyParams, ) from stripe.params._customer_retrieve_balance_transaction_params import ( CustomerRetrieveBalanceTransactionParams as CustomerRetrieveBalanceTransactionParams, ) from stripe.params._customer_retrieve_cash_balance_params import ( CustomerRetrieveCashBalanceParams as CustomerRetrieveCashBalanceParams, ) from stripe.params._customer_retrieve_cash_balance_transaction_params import ( CustomerRetrieveCashBalanceTransactionParams as CustomerRetrieveCashBalanceTransactionParams, ) from stripe.params._customer_retrieve_params import ( CustomerRetrieveParams as CustomerRetrieveParams, ) from stripe.params._customer_retrieve_payment_method_params import ( CustomerRetrievePaymentMethodParams as CustomerRetrievePaymentMethodParams, ) from stripe.params._customer_retrieve_source_params import ( CustomerRetrieveSourceParams as CustomerRetrieveSourceParams, ) from stripe.params._customer_retrieve_tax_id_params import ( CustomerRetrieveTaxIdParams as CustomerRetrieveTaxIdParams, ) from stripe.params._customer_search_params import ( CustomerSearchParams as CustomerSearchParams, ) from stripe.params._customer_session_create_params import ( CustomerSessionCreateParams as CustomerSessionCreateParams, CustomerSessionCreateParamsComponents as CustomerSessionCreateParamsComponents, CustomerSessionCreateParamsComponentsBuyButton as CustomerSessionCreateParamsComponentsBuyButton, CustomerSessionCreateParamsComponentsCustomerSheet as CustomerSessionCreateParamsComponentsCustomerSheet, CustomerSessionCreateParamsComponentsCustomerSheetFeatures as CustomerSessionCreateParamsComponentsCustomerSheetFeatures, CustomerSessionCreateParamsComponentsMobilePaymentElement as CustomerSessionCreateParamsComponentsMobilePaymentElement, CustomerSessionCreateParamsComponentsMobilePaymentElementFeatures as CustomerSessionCreateParamsComponentsMobilePaymentElementFeatures, CustomerSessionCreateParamsComponentsPaymentElement as CustomerSessionCreateParamsComponentsPaymentElement, CustomerSessionCreateParamsComponentsPaymentElementFeatures as CustomerSessionCreateParamsComponentsPaymentElementFeatures, CustomerSessionCreateParamsComponentsPricingTable as CustomerSessionCreateParamsComponentsPricingTable, ) from stripe.params._customer_tax_id_create_params import ( CustomerTaxIdCreateParams as CustomerTaxIdCreateParams, ) from stripe.params._customer_tax_id_delete_params import ( CustomerTaxIdDeleteParams as CustomerTaxIdDeleteParams, ) from stripe.params._customer_tax_id_list_params import ( CustomerTaxIdListParams as CustomerTaxIdListParams, ) from stripe.params._customer_tax_id_retrieve_params import ( CustomerTaxIdRetrieveParams as CustomerTaxIdRetrieveParams, ) from stripe.params._customer_update_params import ( CustomerUpdateParams as CustomerUpdateParams, CustomerUpdateParamsAddress as CustomerUpdateParamsAddress, CustomerUpdateParamsCashBalance as CustomerUpdateParamsCashBalance, CustomerUpdateParamsCashBalanceSettings as CustomerUpdateParamsCashBalanceSettings, CustomerUpdateParamsInvoiceSettings as CustomerUpdateParamsInvoiceSettings, CustomerUpdateParamsInvoiceSettingsCustomField as CustomerUpdateParamsInvoiceSettingsCustomField, CustomerUpdateParamsInvoiceSettingsRenderingOptions as CustomerUpdateParamsInvoiceSettingsRenderingOptions, CustomerUpdateParamsShipping as CustomerUpdateParamsShipping, CustomerUpdateParamsShippingAddress as CustomerUpdateParamsShippingAddress, CustomerUpdateParamsTax as CustomerUpdateParamsTax, ) from stripe.params._dispute_close_params import ( DisputeCloseParams as DisputeCloseParams, ) from stripe.params._dispute_list_params import ( DisputeListParams as DisputeListParams, DisputeListParamsCreated as DisputeListParamsCreated, ) from stripe.params._dispute_modify_params import ( DisputeModifyParams as DisputeModifyParams, DisputeModifyParamsEvidence as DisputeModifyParamsEvidence, DisputeModifyParamsEvidenceEnhancedEvidence as DisputeModifyParamsEvidenceEnhancedEvidence, DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3 as DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3, DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransaction as DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransaction, DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionShippingAddress as DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionShippingAddress, DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransaction as DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransaction, DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransactionShippingAddress as DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransactionShippingAddress, DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompliance as DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompliance, ) from stripe.params._dispute_retrieve_params import ( DisputeRetrieveParams as DisputeRetrieveParams, ) from stripe.params._dispute_update_params import ( DisputeUpdateParams as DisputeUpdateParams, DisputeUpdateParamsEvidence as DisputeUpdateParamsEvidence, DisputeUpdateParamsEvidenceEnhancedEvidence as DisputeUpdateParamsEvidenceEnhancedEvidence, DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3 as DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3, DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransaction as DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransaction, DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionShippingAddress as DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionShippingAddress, DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransaction as DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransaction, DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransactionShippingAddress as DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransactionShippingAddress, DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompliance as DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompliance, ) from stripe.params._ephemeral_key_create_params import ( EphemeralKeyCreateParams as EphemeralKeyCreateParams, ) from stripe.params._ephemeral_key_delete_params import ( EphemeralKeyDeleteParams as EphemeralKeyDeleteParams, ) from stripe.params._event_list_params import ( EventListParams as EventListParams, EventListParamsCreated as EventListParamsCreated, ) from stripe.params._event_retrieve_params import ( EventRetrieveParams as EventRetrieveParams, ) from stripe.params._exchange_rate_list_params import ( ExchangeRateListParams as ExchangeRateListParams, ) from stripe.params._exchange_rate_retrieve_params import ( ExchangeRateRetrieveParams as ExchangeRateRetrieveParams, ) from stripe.params._file_create_params import ( FileCreateParams as FileCreateParams, FileCreateParamsFileLinkData as FileCreateParamsFileLinkData, ) from stripe.params._file_link_create_params import ( FileLinkCreateParams as FileLinkCreateParams, ) from stripe.params._file_link_list_params import ( FileLinkListParams as FileLinkListParams, FileLinkListParamsCreated as FileLinkListParamsCreated, ) from stripe.params._file_link_modify_params import ( FileLinkModifyParams as FileLinkModifyParams, ) from stripe.params._file_link_retrieve_params import ( FileLinkRetrieveParams as FileLinkRetrieveParams, ) from stripe.params._file_link_update_params import ( FileLinkUpdateParams as FileLinkUpdateParams, ) from stripe.params._file_list_params import ( FileListParams as FileListParams, FileListParamsCreated as FileListParamsCreated, ) from stripe.params._file_retrieve_params import ( FileRetrieveParams as FileRetrieveParams, ) from stripe.params._invoice_add_lines_params import ( InvoiceAddLinesParams as InvoiceAddLinesParams, InvoiceAddLinesParamsLine as InvoiceAddLinesParamsLine, InvoiceAddLinesParamsLineDiscount as InvoiceAddLinesParamsLineDiscount, InvoiceAddLinesParamsLinePeriod as InvoiceAddLinesParamsLinePeriod, InvoiceAddLinesParamsLinePriceData as InvoiceAddLinesParamsLinePriceData, InvoiceAddLinesParamsLinePriceDataProductData as InvoiceAddLinesParamsLinePriceDataProductData, InvoiceAddLinesParamsLinePricing as InvoiceAddLinesParamsLinePricing, InvoiceAddLinesParamsLineTaxAmount as InvoiceAddLinesParamsLineTaxAmount, InvoiceAddLinesParamsLineTaxAmountTaxRateData as InvoiceAddLinesParamsLineTaxAmountTaxRateData, ) from stripe.params._invoice_attach_payment_params import ( InvoiceAttachPaymentParams as InvoiceAttachPaymentParams, ) from stripe.params._invoice_create_params import ( InvoiceCreateParams as InvoiceCreateParams, InvoiceCreateParamsAutomaticTax as InvoiceCreateParamsAutomaticTax, InvoiceCreateParamsAutomaticTaxLiability as InvoiceCreateParamsAutomaticTaxLiability, InvoiceCreateParamsCustomField as InvoiceCreateParamsCustomField, InvoiceCreateParamsDiscount as InvoiceCreateParamsDiscount, InvoiceCreateParamsFromInvoice as InvoiceCreateParamsFromInvoice, InvoiceCreateParamsIssuer as InvoiceCreateParamsIssuer, InvoiceCreateParamsPaymentSettings as InvoiceCreateParamsPaymentSettings, InvoiceCreateParamsPaymentSettingsPaymentMethodOptions as InvoiceCreateParamsPaymentSettingsPaymentMethodOptions, InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebit as InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebit, InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions as InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions, InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsBancontact as InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsBancontact, InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCard as InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCard, InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCardInstallments as InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCardInstallments, InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCardInstallmentsPlan as InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCardInstallmentsPlan, InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance as InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance, InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer as InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer, InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer as InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer, InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsKonbini as InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsKonbini, InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsSepaDebit as InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsSepaDebit, InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount as InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount, InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections as InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections, InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters as InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters, InvoiceCreateParamsRendering as InvoiceCreateParamsRendering, InvoiceCreateParamsRenderingPdf as InvoiceCreateParamsRenderingPdf, InvoiceCreateParamsShippingCost as InvoiceCreateParamsShippingCost, InvoiceCreateParamsShippingCostShippingRateData as InvoiceCreateParamsShippingCostShippingRateData, InvoiceCreateParamsShippingCostShippingRateDataDeliveryEstimate as InvoiceCreateParamsShippingCostShippingRateDataDeliveryEstimate, InvoiceCreateParamsShippingCostShippingRateDataDeliveryEstimateMaximum as InvoiceCreateParamsShippingCostShippingRateDataDeliveryEstimateMaximum, InvoiceCreateParamsShippingCostShippingRateDataDeliveryEstimateMinimum as InvoiceCreateParamsShippingCostShippingRateDataDeliveryEstimateMinimum, InvoiceCreateParamsShippingCostShippingRateDataFixedAmount as InvoiceCreateParamsShippingCostShippingRateDataFixedAmount, InvoiceCreateParamsShippingCostShippingRateDataFixedAmountCurrencyOptions as InvoiceCreateParamsShippingCostShippingRateDataFixedAmountCurrencyOptions, InvoiceCreateParamsShippingDetails as InvoiceCreateParamsShippingDetails, InvoiceCreateParamsShippingDetailsAddress as InvoiceCreateParamsShippingDetailsAddress, InvoiceCreateParamsTransferData as InvoiceCreateParamsTransferData, ) from stripe.params._invoice_create_preview_params import ( InvoiceCreatePreviewParams as InvoiceCreatePreviewParams, InvoiceCreatePreviewParamsAutomaticTax as InvoiceCreatePreviewParamsAutomaticTax, InvoiceCreatePreviewParamsAutomaticTaxLiability as InvoiceCreatePreviewParamsAutomaticTaxLiability, InvoiceCreatePreviewParamsCustomerDetails as InvoiceCreatePreviewParamsCustomerDetails, InvoiceCreatePreviewParamsCustomerDetailsAddress as InvoiceCreatePreviewParamsCustomerDetailsAddress, InvoiceCreatePreviewParamsCustomerDetailsShipping as InvoiceCreatePreviewParamsCustomerDetailsShipping, InvoiceCreatePreviewParamsCustomerDetailsShippingAddress as InvoiceCreatePreviewParamsCustomerDetailsShippingAddress, InvoiceCreatePreviewParamsCustomerDetailsTax as InvoiceCreatePreviewParamsCustomerDetailsTax, InvoiceCreatePreviewParamsCustomerDetailsTaxId as InvoiceCreatePreviewParamsCustomerDetailsTaxId, InvoiceCreatePreviewParamsDiscount as InvoiceCreatePreviewParamsDiscount, InvoiceCreatePreviewParamsInvoiceItem as InvoiceCreatePreviewParamsInvoiceItem, InvoiceCreatePreviewParamsInvoiceItemDiscount as InvoiceCreatePreviewParamsInvoiceItemDiscount, InvoiceCreatePreviewParamsInvoiceItemPeriod as InvoiceCreatePreviewParamsInvoiceItemPeriod, InvoiceCreatePreviewParamsInvoiceItemPriceData as InvoiceCreatePreviewParamsInvoiceItemPriceData, InvoiceCreatePreviewParamsIssuer as InvoiceCreatePreviewParamsIssuer, InvoiceCreatePreviewParamsScheduleDetails as InvoiceCreatePreviewParamsScheduleDetails, InvoiceCreatePreviewParamsScheduleDetailsBillingMode as InvoiceCreatePreviewParamsScheduleDetailsBillingMode, InvoiceCreatePreviewParamsScheduleDetailsBillingModeFlexible as InvoiceCreatePreviewParamsScheduleDetailsBillingModeFlexible, InvoiceCreatePreviewParamsScheduleDetailsPhase as InvoiceCreatePreviewParamsScheduleDetailsPhase, InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItem as InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItem, InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemDiscount as InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemDiscount, InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPeriod as InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPeriod, InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPeriodEnd as InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPeriodEnd, InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPeriodStart as InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPeriodStart, InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPriceData as InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPriceData, InvoiceCreatePreviewParamsScheduleDetailsPhaseAutomaticTax as InvoiceCreatePreviewParamsScheduleDetailsPhaseAutomaticTax, InvoiceCreatePreviewParamsScheduleDetailsPhaseAutomaticTaxLiability as InvoiceCreatePreviewParamsScheduleDetailsPhaseAutomaticTaxLiability, InvoiceCreatePreviewParamsScheduleDetailsPhaseBillingThresholds as InvoiceCreatePreviewParamsScheduleDetailsPhaseBillingThresholds, InvoiceCreatePreviewParamsScheduleDetailsPhaseDiscount as InvoiceCreatePreviewParamsScheduleDetailsPhaseDiscount, InvoiceCreatePreviewParamsScheduleDetailsPhaseDuration as InvoiceCreatePreviewParamsScheduleDetailsPhaseDuration, InvoiceCreatePreviewParamsScheduleDetailsPhaseInvoiceSettings as InvoiceCreatePreviewParamsScheduleDetailsPhaseInvoiceSettings, InvoiceCreatePreviewParamsScheduleDetailsPhaseInvoiceSettingsIssuer as InvoiceCreatePreviewParamsScheduleDetailsPhaseInvoiceSettingsIssuer, InvoiceCreatePreviewParamsScheduleDetailsPhaseItem as InvoiceCreatePreviewParamsScheduleDetailsPhaseItem, InvoiceCreatePreviewParamsScheduleDetailsPhaseItemBillingThresholds as InvoiceCreatePreviewParamsScheduleDetailsPhaseItemBillingThresholds, InvoiceCreatePreviewParamsScheduleDetailsPhaseItemDiscount as InvoiceCreatePreviewParamsScheduleDetailsPhaseItemDiscount, InvoiceCreatePreviewParamsScheduleDetailsPhaseItemPriceData as InvoiceCreatePreviewParamsScheduleDetailsPhaseItemPriceData, InvoiceCreatePreviewParamsScheduleDetailsPhaseItemPriceDataRecurring as InvoiceCreatePreviewParamsScheduleDetailsPhaseItemPriceDataRecurring, InvoiceCreatePreviewParamsScheduleDetailsPhaseTransferData as InvoiceCreatePreviewParamsScheduleDetailsPhaseTransferData, InvoiceCreatePreviewParamsSubscriptionDetails as InvoiceCreatePreviewParamsSubscriptionDetails, InvoiceCreatePreviewParamsSubscriptionDetailsBillingMode as InvoiceCreatePreviewParamsSubscriptionDetailsBillingMode, InvoiceCreatePreviewParamsSubscriptionDetailsBillingModeFlexible as InvoiceCreatePreviewParamsSubscriptionDetailsBillingModeFlexible, InvoiceCreatePreviewParamsSubscriptionDetailsItem as InvoiceCreatePreviewParamsSubscriptionDetailsItem, InvoiceCreatePreviewParamsSubscriptionDetailsItemBillingThresholds as InvoiceCreatePreviewParamsSubscriptionDetailsItemBillingThresholds, InvoiceCreatePreviewParamsSubscriptionDetailsItemDiscount as InvoiceCreatePreviewParamsSubscriptionDetailsItemDiscount, InvoiceCreatePreviewParamsSubscriptionDetailsItemPriceData as InvoiceCreatePreviewParamsSubscriptionDetailsItemPriceData, InvoiceCreatePreviewParamsSubscriptionDetailsItemPriceDataRecurring as InvoiceCreatePreviewParamsSubscriptionDetailsItemPriceDataRecurring, ) from stripe.params._invoice_delete_params import ( InvoiceDeleteParams as InvoiceDeleteParams, ) from stripe.params._invoice_finalize_invoice_params import ( InvoiceFinalizeInvoiceParams as InvoiceFinalizeInvoiceParams, ) from stripe.params._invoice_item_create_params import ( InvoiceItemCreateParams as InvoiceItemCreateParams, InvoiceItemCreateParamsDiscount as InvoiceItemCreateParamsDiscount, InvoiceItemCreateParamsPeriod as InvoiceItemCreateParamsPeriod, InvoiceItemCreateParamsPriceData as InvoiceItemCreateParamsPriceData, InvoiceItemCreateParamsPricing as InvoiceItemCreateParamsPricing, ) from stripe.params._invoice_item_delete_params import ( InvoiceItemDeleteParams as InvoiceItemDeleteParams, ) from stripe.params._invoice_item_list_params import ( InvoiceItemListParams as InvoiceItemListParams, InvoiceItemListParamsCreated as InvoiceItemListParamsCreated, ) from stripe.params._invoice_item_modify_params import ( InvoiceItemModifyParams as InvoiceItemModifyParams, InvoiceItemModifyParamsDiscount as InvoiceItemModifyParamsDiscount, InvoiceItemModifyParamsPeriod as InvoiceItemModifyParamsPeriod, InvoiceItemModifyParamsPriceData as InvoiceItemModifyParamsPriceData, InvoiceItemModifyParamsPricing as InvoiceItemModifyParamsPricing, ) from stripe.params._invoice_item_retrieve_params import ( InvoiceItemRetrieveParams as InvoiceItemRetrieveParams, ) from stripe.params._invoice_item_update_params import ( InvoiceItemUpdateParams as InvoiceItemUpdateParams, InvoiceItemUpdateParamsDiscount as InvoiceItemUpdateParamsDiscount, InvoiceItemUpdateParamsPeriod as InvoiceItemUpdateParamsPeriod, InvoiceItemUpdateParamsPriceData as InvoiceItemUpdateParamsPriceData, InvoiceItemUpdateParamsPricing as InvoiceItemUpdateParamsPricing, ) from stripe.params._invoice_line_item_list_params import ( InvoiceLineItemListParams as InvoiceLineItemListParams, ) from stripe.params._invoice_line_item_update_params import ( InvoiceLineItemUpdateParams as InvoiceLineItemUpdateParams, InvoiceLineItemUpdateParamsDiscount as InvoiceLineItemUpdateParamsDiscount, InvoiceLineItemUpdateParamsPeriod as InvoiceLineItemUpdateParamsPeriod, InvoiceLineItemUpdateParamsPriceData as InvoiceLineItemUpdateParamsPriceData, InvoiceLineItemUpdateParamsPriceDataProductData as InvoiceLineItemUpdateParamsPriceDataProductData, InvoiceLineItemUpdateParamsPricing as InvoiceLineItemUpdateParamsPricing, InvoiceLineItemUpdateParamsTaxAmount as InvoiceLineItemUpdateParamsTaxAmount, InvoiceLineItemUpdateParamsTaxAmountTaxRateData as InvoiceLineItemUpdateParamsTaxAmountTaxRateData, ) from stripe.params._invoice_list_lines_params import ( InvoiceListLinesParams as InvoiceListLinesParams, ) from stripe.params._invoice_list_params import ( InvoiceListParams as InvoiceListParams, InvoiceListParamsCreated as InvoiceListParamsCreated, InvoiceListParamsDueDate as InvoiceListParamsDueDate, ) from stripe.params._invoice_mark_uncollectible_params import ( InvoiceMarkUncollectibleParams as InvoiceMarkUncollectibleParams, ) from stripe.params._invoice_modify_params import ( InvoiceModifyParams as InvoiceModifyParams, InvoiceModifyParamsAutomaticTax as InvoiceModifyParamsAutomaticTax, InvoiceModifyParamsAutomaticTaxLiability as InvoiceModifyParamsAutomaticTaxLiability, InvoiceModifyParamsCustomField as InvoiceModifyParamsCustomField, InvoiceModifyParamsDiscount as InvoiceModifyParamsDiscount, InvoiceModifyParamsIssuer as InvoiceModifyParamsIssuer, InvoiceModifyParamsPaymentSettings as InvoiceModifyParamsPaymentSettings, InvoiceModifyParamsPaymentSettingsPaymentMethodOptions as InvoiceModifyParamsPaymentSettingsPaymentMethodOptions, InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebit as InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebit, InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions as InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions, InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsBancontact as InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsBancontact, InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCard as InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCard, InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCardInstallments as InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCardInstallments, InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCardInstallmentsPlan as InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCardInstallmentsPlan, InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalance as InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalance, InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer as InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer, InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer as InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer, InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsKonbini as InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsKonbini, InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsSepaDebit as InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsSepaDebit, InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccount as InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccount, InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections as InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections, InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters as InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters, InvoiceModifyParamsRendering as InvoiceModifyParamsRendering, InvoiceModifyParamsRenderingPdf as InvoiceModifyParamsRenderingPdf, InvoiceModifyParamsShippingCost as InvoiceModifyParamsShippingCost, InvoiceModifyParamsShippingCostShippingRateData as InvoiceModifyParamsShippingCostShippingRateData, InvoiceModifyParamsShippingCostShippingRateDataDeliveryEstimate as InvoiceModifyParamsShippingCostShippingRateDataDeliveryEstimate, InvoiceModifyParamsShippingCostShippingRateDataDeliveryEstimateMaximum as InvoiceModifyParamsShippingCostShippingRateDataDeliveryEstimateMaximum, InvoiceModifyParamsShippingCostShippingRateDataDeliveryEstimateMinimum as InvoiceModifyParamsShippingCostShippingRateDataDeliveryEstimateMinimum, InvoiceModifyParamsShippingCostShippingRateDataFixedAmount as InvoiceModifyParamsShippingCostShippingRateDataFixedAmount, InvoiceModifyParamsShippingCostShippingRateDataFixedAmountCurrencyOptions as InvoiceModifyParamsShippingCostShippingRateDataFixedAmountCurrencyOptions, InvoiceModifyParamsShippingDetails as InvoiceModifyParamsShippingDetails, InvoiceModifyParamsShippingDetailsAddress as InvoiceModifyParamsShippingDetailsAddress, InvoiceModifyParamsTransferData as InvoiceModifyParamsTransferData, ) from stripe.params._invoice_pay_params import ( InvoicePayParams as InvoicePayParams, ) from stripe.params._invoice_payment_list_params import ( InvoicePaymentListParams as InvoicePaymentListParams, InvoicePaymentListParamsPayment as InvoicePaymentListParamsPayment, ) from stripe.params._invoice_payment_retrieve_params import ( InvoicePaymentRetrieveParams as InvoicePaymentRetrieveParams, ) from stripe.params._invoice_remove_lines_params import ( InvoiceRemoveLinesParams as InvoiceRemoveLinesParams, InvoiceRemoveLinesParamsLine as InvoiceRemoveLinesParamsLine, ) from stripe.params._invoice_rendering_template_archive_params import ( InvoiceRenderingTemplateArchiveParams as InvoiceRenderingTemplateArchiveParams, ) from stripe.params._invoice_rendering_template_list_params import ( InvoiceRenderingTemplateListParams as InvoiceRenderingTemplateListParams, ) from stripe.params._invoice_rendering_template_retrieve_params import ( InvoiceRenderingTemplateRetrieveParams as InvoiceRenderingTemplateRetrieveParams, ) from stripe.params._invoice_rendering_template_unarchive_params import ( InvoiceRenderingTemplateUnarchiveParams as InvoiceRenderingTemplateUnarchiveParams, ) from stripe.params._invoice_retrieve_params import ( InvoiceRetrieveParams as InvoiceRetrieveParams, ) from stripe.params._invoice_search_params import ( InvoiceSearchParams as InvoiceSearchParams, ) from stripe.params._invoice_send_invoice_params import ( InvoiceSendInvoiceParams as InvoiceSendInvoiceParams, ) from stripe.params._invoice_update_lines_params import ( InvoiceUpdateLinesParams as InvoiceUpdateLinesParams, InvoiceUpdateLinesParamsLine as InvoiceUpdateLinesParamsLine, InvoiceUpdateLinesParamsLineDiscount as InvoiceUpdateLinesParamsLineDiscount, InvoiceUpdateLinesParamsLinePeriod as InvoiceUpdateLinesParamsLinePeriod, InvoiceUpdateLinesParamsLinePriceData as InvoiceUpdateLinesParamsLinePriceData, InvoiceUpdateLinesParamsLinePriceDataProductData as InvoiceUpdateLinesParamsLinePriceDataProductData, InvoiceUpdateLinesParamsLinePricing as InvoiceUpdateLinesParamsLinePricing, InvoiceUpdateLinesParamsLineTaxAmount as InvoiceUpdateLinesParamsLineTaxAmount, InvoiceUpdateLinesParamsLineTaxAmountTaxRateData as InvoiceUpdateLinesParamsLineTaxAmountTaxRateData, ) from stripe.params._invoice_update_params import ( InvoiceUpdateParams as InvoiceUpdateParams, InvoiceUpdateParamsAutomaticTax as InvoiceUpdateParamsAutomaticTax, InvoiceUpdateParamsAutomaticTaxLiability as InvoiceUpdateParamsAutomaticTaxLiability, InvoiceUpdateParamsCustomField as InvoiceUpdateParamsCustomField, InvoiceUpdateParamsDiscount as InvoiceUpdateParamsDiscount, InvoiceUpdateParamsIssuer as InvoiceUpdateParamsIssuer, InvoiceUpdateParamsPaymentSettings as InvoiceUpdateParamsPaymentSettings, InvoiceUpdateParamsPaymentSettingsPaymentMethodOptions as InvoiceUpdateParamsPaymentSettingsPaymentMethodOptions, InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebit as InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebit, InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions as InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions, InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsBancontact as InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsBancontact, InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCard as InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCard, InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCardInstallments as InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCardInstallments, InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCardInstallmentsPlan as InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCardInstallmentsPlan, InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance as InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance, InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer as InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer, InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer as InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer, InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsKonbini as InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsKonbini, InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsSepaDebit as InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsSepaDebit, InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount as InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount, InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections as InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections, InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters as InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters, InvoiceUpdateParamsRendering as InvoiceUpdateParamsRendering, InvoiceUpdateParamsRenderingPdf as InvoiceUpdateParamsRenderingPdf, InvoiceUpdateParamsShippingCost as InvoiceUpdateParamsShippingCost, InvoiceUpdateParamsShippingCostShippingRateData as InvoiceUpdateParamsShippingCostShippingRateData, InvoiceUpdateParamsShippingCostShippingRateDataDeliveryEstimate as InvoiceUpdateParamsShippingCostShippingRateDataDeliveryEstimate, InvoiceUpdateParamsShippingCostShippingRateDataDeliveryEstimateMaximum as InvoiceUpdateParamsShippingCostShippingRateDataDeliveryEstimateMaximum, InvoiceUpdateParamsShippingCostShippingRateDataDeliveryEstimateMinimum as InvoiceUpdateParamsShippingCostShippingRateDataDeliveryEstimateMinimum, InvoiceUpdateParamsShippingCostShippingRateDataFixedAmount as InvoiceUpdateParamsShippingCostShippingRateDataFixedAmount, InvoiceUpdateParamsShippingCostShippingRateDataFixedAmountCurrencyOptions as InvoiceUpdateParamsShippingCostShippingRateDataFixedAmountCurrencyOptions, InvoiceUpdateParamsShippingDetails as InvoiceUpdateParamsShippingDetails, InvoiceUpdateParamsShippingDetailsAddress as InvoiceUpdateParamsShippingDetailsAddress, InvoiceUpdateParamsTransferData as InvoiceUpdateParamsTransferData, ) from stripe.params._invoice_void_invoice_params import ( InvoiceVoidInvoiceParams as InvoiceVoidInvoiceParams, ) from stripe.params._mandate_retrieve_params import ( MandateRetrieveParams as MandateRetrieveParams, ) from stripe.params._payment_attempt_record_list_params import ( PaymentAttemptRecordListParams as PaymentAttemptRecordListParams, ) from stripe.params._payment_attempt_record_retrieve_params import ( PaymentAttemptRecordRetrieveParams as PaymentAttemptRecordRetrieveParams, ) from stripe.params._payment_intent_amount_details_line_item_list_params import ( PaymentIntentAmountDetailsLineItemListParams as PaymentIntentAmountDetailsLineItemListParams, ) from stripe.params._payment_intent_apply_customer_balance_params import ( PaymentIntentApplyCustomerBalanceParams as PaymentIntentApplyCustomerBalanceParams, ) from stripe.params._payment_intent_cancel_params import ( PaymentIntentCancelParams as PaymentIntentCancelParams, ) from stripe.params._payment_intent_capture_params import ( PaymentIntentCaptureParams as PaymentIntentCaptureParams, PaymentIntentCaptureParamsAmountDetails as PaymentIntentCaptureParamsAmountDetails, PaymentIntentCaptureParamsAmountDetailsLineItem as PaymentIntentCaptureParamsAmountDetailsLineItem, PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptions as PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptions, PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsCard as PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsCard, PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent as PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent, PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsKlarna as PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsKlarna, PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsPaypal as PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsPaypal, PaymentIntentCaptureParamsAmountDetailsLineItemTax as PaymentIntentCaptureParamsAmountDetailsLineItemTax, PaymentIntentCaptureParamsAmountDetailsShipping as PaymentIntentCaptureParamsAmountDetailsShipping, PaymentIntentCaptureParamsAmountDetailsTax as PaymentIntentCaptureParamsAmountDetailsTax, PaymentIntentCaptureParamsPaymentDetails as PaymentIntentCaptureParamsPaymentDetails, PaymentIntentCaptureParamsTransferData as PaymentIntentCaptureParamsTransferData, ) from stripe.params._payment_intent_confirm_params import ( PaymentIntentConfirmParams as PaymentIntentConfirmParams, PaymentIntentConfirmParamsAmountDetails as PaymentIntentConfirmParamsAmountDetails, PaymentIntentConfirmParamsAmountDetailsLineItem as PaymentIntentConfirmParamsAmountDetailsLineItem, PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptions as PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptions, PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsCard as PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsCard, PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent as PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent, PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsKlarna as PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsKlarna, PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsPaypal as PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsPaypal, PaymentIntentConfirmParamsAmountDetailsLineItemTax as PaymentIntentConfirmParamsAmountDetailsLineItemTax, PaymentIntentConfirmParamsAmountDetailsShipping as PaymentIntentConfirmParamsAmountDetailsShipping, PaymentIntentConfirmParamsAmountDetailsTax as PaymentIntentConfirmParamsAmountDetailsTax, PaymentIntentConfirmParamsMandateData as PaymentIntentConfirmParamsMandateData, PaymentIntentConfirmParamsMandateDataCustomerAcceptance as PaymentIntentConfirmParamsMandateDataCustomerAcceptance, PaymentIntentConfirmParamsMandateDataCustomerAcceptanceOffline as PaymentIntentConfirmParamsMandateDataCustomerAcceptanceOffline, PaymentIntentConfirmParamsMandateDataCustomerAcceptanceOnline as PaymentIntentConfirmParamsMandateDataCustomerAcceptanceOnline, PaymentIntentConfirmParamsPaymentDetails as PaymentIntentConfirmParamsPaymentDetails, PaymentIntentConfirmParamsPaymentMethodData as PaymentIntentConfirmParamsPaymentMethodData, PaymentIntentConfirmParamsPaymentMethodDataAcssDebit as PaymentIntentConfirmParamsPaymentMethodDataAcssDebit, PaymentIntentConfirmParamsPaymentMethodDataAffirm as PaymentIntentConfirmParamsPaymentMethodDataAffirm, PaymentIntentConfirmParamsPaymentMethodDataAfterpayClearpay as PaymentIntentConfirmParamsPaymentMethodDataAfterpayClearpay, PaymentIntentConfirmParamsPaymentMethodDataAlipay as PaymentIntentConfirmParamsPaymentMethodDataAlipay, PaymentIntentConfirmParamsPaymentMethodDataAlma as PaymentIntentConfirmParamsPaymentMethodDataAlma, PaymentIntentConfirmParamsPaymentMethodDataAmazonPay as PaymentIntentConfirmParamsPaymentMethodDataAmazonPay, PaymentIntentConfirmParamsPaymentMethodDataAuBecsDebit as PaymentIntentConfirmParamsPaymentMethodDataAuBecsDebit, PaymentIntentConfirmParamsPaymentMethodDataBacsDebit as PaymentIntentConfirmParamsPaymentMethodDataBacsDebit, PaymentIntentConfirmParamsPaymentMethodDataBancontact as PaymentIntentConfirmParamsPaymentMethodDataBancontact, PaymentIntentConfirmParamsPaymentMethodDataBillie as PaymentIntentConfirmParamsPaymentMethodDataBillie, PaymentIntentConfirmParamsPaymentMethodDataBillingDetails as PaymentIntentConfirmParamsPaymentMethodDataBillingDetails, PaymentIntentConfirmParamsPaymentMethodDataBillingDetailsAddress as PaymentIntentConfirmParamsPaymentMethodDataBillingDetailsAddress, PaymentIntentConfirmParamsPaymentMethodDataBlik as PaymentIntentConfirmParamsPaymentMethodDataBlik, PaymentIntentConfirmParamsPaymentMethodDataBoleto as PaymentIntentConfirmParamsPaymentMethodDataBoleto, PaymentIntentConfirmParamsPaymentMethodDataCashapp as PaymentIntentConfirmParamsPaymentMethodDataCashapp, PaymentIntentConfirmParamsPaymentMethodDataCrypto as PaymentIntentConfirmParamsPaymentMethodDataCrypto, PaymentIntentConfirmParamsPaymentMethodDataCustomerBalance as PaymentIntentConfirmParamsPaymentMethodDataCustomerBalance, PaymentIntentConfirmParamsPaymentMethodDataEps as PaymentIntentConfirmParamsPaymentMethodDataEps, PaymentIntentConfirmParamsPaymentMethodDataFpx as PaymentIntentConfirmParamsPaymentMethodDataFpx, PaymentIntentConfirmParamsPaymentMethodDataGiropay as PaymentIntentConfirmParamsPaymentMethodDataGiropay, PaymentIntentConfirmParamsPaymentMethodDataGrabpay as PaymentIntentConfirmParamsPaymentMethodDataGrabpay, PaymentIntentConfirmParamsPaymentMethodDataIdeal as PaymentIntentConfirmParamsPaymentMethodDataIdeal, PaymentIntentConfirmParamsPaymentMethodDataInteracPresent as PaymentIntentConfirmParamsPaymentMethodDataInteracPresent, PaymentIntentConfirmParamsPaymentMethodDataKakaoPay as PaymentIntentConfirmParamsPaymentMethodDataKakaoPay, PaymentIntentConfirmParamsPaymentMethodDataKlarna as PaymentIntentConfirmParamsPaymentMethodDataKlarna, PaymentIntentConfirmParamsPaymentMethodDataKlarnaDob as PaymentIntentConfirmParamsPaymentMethodDataKlarnaDob, PaymentIntentConfirmParamsPaymentMethodDataKonbini as PaymentIntentConfirmParamsPaymentMethodDataKonbini, PaymentIntentConfirmParamsPaymentMethodDataKrCard as PaymentIntentConfirmParamsPaymentMethodDataKrCard, PaymentIntentConfirmParamsPaymentMethodDataLink as PaymentIntentConfirmParamsPaymentMethodDataLink, PaymentIntentConfirmParamsPaymentMethodDataMbWay as PaymentIntentConfirmParamsPaymentMethodDataMbWay, PaymentIntentConfirmParamsPaymentMethodDataMobilepay as PaymentIntentConfirmParamsPaymentMethodDataMobilepay, PaymentIntentConfirmParamsPaymentMethodDataMultibanco as PaymentIntentConfirmParamsPaymentMethodDataMultibanco, PaymentIntentConfirmParamsPaymentMethodDataNaverPay as PaymentIntentConfirmParamsPaymentMethodDataNaverPay, PaymentIntentConfirmParamsPaymentMethodDataNzBankAccount as PaymentIntentConfirmParamsPaymentMethodDataNzBankAccount, PaymentIntentConfirmParamsPaymentMethodDataOxxo as PaymentIntentConfirmParamsPaymentMethodDataOxxo, PaymentIntentConfirmParamsPaymentMethodDataP24 as PaymentIntentConfirmParamsPaymentMethodDataP24, PaymentIntentConfirmParamsPaymentMethodDataPayByBank as PaymentIntentConfirmParamsPaymentMethodDataPayByBank, PaymentIntentConfirmParamsPaymentMethodDataPayco as PaymentIntentConfirmParamsPaymentMethodDataPayco, PaymentIntentConfirmParamsPaymentMethodDataPaynow as PaymentIntentConfirmParamsPaymentMethodDataPaynow, PaymentIntentConfirmParamsPaymentMethodDataPaypal as PaymentIntentConfirmParamsPaymentMethodDataPaypal, PaymentIntentConfirmParamsPaymentMethodDataPix as PaymentIntentConfirmParamsPaymentMethodDataPix, PaymentIntentConfirmParamsPaymentMethodDataPromptpay as PaymentIntentConfirmParamsPaymentMethodDataPromptpay, PaymentIntentConfirmParamsPaymentMethodDataRadarOptions as PaymentIntentConfirmParamsPaymentMethodDataRadarOptions, PaymentIntentConfirmParamsPaymentMethodDataRevolutPay as PaymentIntentConfirmParamsPaymentMethodDataRevolutPay, PaymentIntentConfirmParamsPaymentMethodDataSamsungPay as PaymentIntentConfirmParamsPaymentMethodDataSamsungPay, PaymentIntentConfirmParamsPaymentMethodDataSatispay as PaymentIntentConfirmParamsPaymentMethodDataSatispay, PaymentIntentConfirmParamsPaymentMethodDataSepaDebit as PaymentIntentConfirmParamsPaymentMethodDataSepaDebit, PaymentIntentConfirmParamsPaymentMethodDataSofort as PaymentIntentConfirmParamsPaymentMethodDataSofort, PaymentIntentConfirmParamsPaymentMethodDataSwish as PaymentIntentConfirmParamsPaymentMethodDataSwish, PaymentIntentConfirmParamsPaymentMethodDataTwint as PaymentIntentConfirmParamsPaymentMethodDataTwint, PaymentIntentConfirmParamsPaymentMethodDataUsBankAccount as PaymentIntentConfirmParamsPaymentMethodDataUsBankAccount, PaymentIntentConfirmParamsPaymentMethodDataWechatPay as PaymentIntentConfirmParamsPaymentMethodDataWechatPay, PaymentIntentConfirmParamsPaymentMethodDataZip as PaymentIntentConfirmParamsPaymentMethodDataZip, PaymentIntentConfirmParamsPaymentMethodOptions as PaymentIntentConfirmParamsPaymentMethodOptions, PaymentIntentConfirmParamsPaymentMethodOptionsAcssDebit as PaymentIntentConfirmParamsPaymentMethodOptionsAcssDebit, PaymentIntentConfirmParamsPaymentMethodOptionsAcssDebitMandateOptions as PaymentIntentConfirmParamsPaymentMethodOptionsAcssDebitMandateOptions, PaymentIntentConfirmParamsPaymentMethodOptionsAffirm as PaymentIntentConfirmParamsPaymentMethodOptionsAffirm, PaymentIntentConfirmParamsPaymentMethodOptionsAfterpayClearpay as PaymentIntentConfirmParamsPaymentMethodOptionsAfterpayClearpay, PaymentIntentConfirmParamsPaymentMethodOptionsAlipay as PaymentIntentConfirmParamsPaymentMethodOptionsAlipay, PaymentIntentConfirmParamsPaymentMethodOptionsAlma as PaymentIntentConfirmParamsPaymentMethodOptionsAlma, PaymentIntentConfirmParamsPaymentMethodOptionsAmazonPay as PaymentIntentConfirmParamsPaymentMethodOptionsAmazonPay, PaymentIntentConfirmParamsPaymentMethodOptionsAuBecsDebit as PaymentIntentConfirmParamsPaymentMethodOptionsAuBecsDebit, PaymentIntentConfirmParamsPaymentMethodOptionsBacsDebit as PaymentIntentConfirmParamsPaymentMethodOptionsBacsDebit, PaymentIntentConfirmParamsPaymentMethodOptionsBacsDebitMandateOptions as PaymentIntentConfirmParamsPaymentMethodOptionsBacsDebitMandateOptions, PaymentIntentConfirmParamsPaymentMethodOptionsBancontact as PaymentIntentConfirmParamsPaymentMethodOptionsBancontact, PaymentIntentConfirmParamsPaymentMethodOptionsBillie as PaymentIntentConfirmParamsPaymentMethodOptionsBillie, PaymentIntentConfirmParamsPaymentMethodOptionsBlik as PaymentIntentConfirmParamsPaymentMethodOptionsBlik, PaymentIntentConfirmParamsPaymentMethodOptionsBoleto as PaymentIntentConfirmParamsPaymentMethodOptionsBoleto, PaymentIntentConfirmParamsPaymentMethodOptionsCard as PaymentIntentConfirmParamsPaymentMethodOptionsCard, PaymentIntentConfirmParamsPaymentMethodOptionsCardInstallments as PaymentIntentConfirmParamsPaymentMethodOptionsCardInstallments, PaymentIntentConfirmParamsPaymentMethodOptionsCardInstallmentsPlan as PaymentIntentConfirmParamsPaymentMethodOptionsCardInstallmentsPlan, PaymentIntentConfirmParamsPaymentMethodOptionsCardMandateOptions as PaymentIntentConfirmParamsPaymentMethodOptionsCardMandateOptions, PaymentIntentConfirmParamsPaymentMethodOptionsCardPresent as PaymentIntentConfirmParamsPaymentMethodOptionsCardPresent, PaymentIntentConfirmParamsPaymentMethodOptionsCardPresentRouting as PaymentIntentConfirmParamsPaymentMethodOptionsCardPresentRouting, PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecure as PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecure, PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions as PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions, PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires as PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires, PaymentIntentConfirmParamsPaymentMethodOptionsCashapp as PaymentIntentConfirmParamsPaymentMethodOptionsCashapp, PaymentIntentConfirmParamsPaymentMethodOptionsCrypto as PaymentIntentConfirmParamsPaymentMethodOptionsCrypto, PaymentIntentConfirmParamsPaymentMethodOptionsCustomerBalance as PaymentIntentConfirmParamsPaymentMethodOptionsCustomerBalance, PaymentIntentConfirmParamsPaymentMethodOptionsCustomerBalanceBankTransfer as PaymentIntentConfirmParamsPaymentMethodOptionsCustomerBalanceBankTransfer, PaymentIntentConfirmParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer as PaymentIntentConfirmParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer, PaymentIntentConfirmParamsPaymentMethodOptionsEps as PaymentIntentConfirmParamsPaymentMethodOptionsEps, PaymentIntentConfirmParamsPaymentMethodOptionsFpx as PaymentIntentConfirmParamsPaymentMethodOptionsFpx, PaymentIntentConfirmParamsPaymentMethodOptionsGiropay as PaymentIntentConfirmParamsPaymentMethodOptionsGiropay, PaymentIntentConfirmParamsPaymentMethodOptionsGrabpay as PaymentIntentConfirmParamsPaymentMethodOptionsGrabpay, PaymentIntentConfirmParamsPaymentMethodOptionsIdeal as PaymentIntentConfirmParamsPaymentMethodOptionsIdeal, PaymentIntentConfirmParamsPaymentMethodOptionsInteracPresent as PaymentIntentConfirmParamsPaymentMethodOptionsInteracPresent, PaymentIntentConfirmParamsPaymentMethodOptionsKakaoPay as PaymentIntentConfirmParamsPaymentMethodOptionsKakaoPay, PaymentIntentConfirmParamsPaymentMethodOptionsKlarna as PaymentIntentConfirmParamsPaymentMethodOptionsKlarna, PaymentIntentConfirmParamsPaymentMethodOptionsKlarnaOnDemand as PaymentIntentConfirmParamsPaymentMethodOptionsKlarnaOnDemand, PaymentIntentConfirmParamsPaymentMethodOptionsKlarnaSubscription as PaymentIntentConfirmParamsPaymentMethodOptionsKlarnaSubscription, PaymentIntentConfirmParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling as PaymentIntentConfirmParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling, PaymentIntentConfirmParamsPaymentMethodOptionsKonbini as PaymentIntentConfirmParamsPaymentMethodOptionsKonbini, PaymentIntentConfirmParamsPaymentMethodOptionsKrCard as PaymentIntentConfirmParamsPaymentMethodOptionsKrCard, PaymentIntentConfirmParamsPaymentMethodOptionsLink as PaymentIntentConfirmParamsPaymentMethodOptionsLink, PaymentIntentConfirmParamsPaymentMethodOptionsMbWay as PaymentIntentConfirmParamsPaymentMethodOptionsMbWay, PaymentIntentConfirmParamsPaymentMethodOptionsMobilepay as PaymentIntentConfirmParamsPaymentMethodOptionsMobilepay, PaymentIntentConfirmParamsPaymentMethodOptionsMultibanco as PaymentIntentConfirmParamsPaymentMethodOptionsMultibanco, PaymentIntentConfirmParamsPaymentMethodOptionsNaverPay as PaymentIntentConfirmParamsPaymentMethodOptionsNaverPay, PaymentIntentConfirmParamsPaymentMethodOptionsNzBankAccount as PaymentIntentConfirmParamsPaymentMethodOptionsNzBankAccount, PaymentIntentConfirmParamsPaymentMethodOptionsOxxo as PaymentIntentConfirmParamsPaymentMethodOptionsOxxo, PaymentIntentConfirmParamsPaymentMethodOptionsP24 as PaymentIntentConfirmParamsPaymentMethodOptionsP24, PaymentIntentConfirmParamsPaymentMethodOptionsPayByBank as PaymentIntentConfirmParamsPaymentMethodOptionsPayByBank, PaymentIntentConfirmParamsPaymentMethodOptionsPayco as PaymentIntentConfirmParamsPaymentMethodOptionsPayco, PaymentIntentConfirmParamsPaymentMethodOptionsPaynow as PaymentIntentConfirmParamsPaymentMethodOptionsPaynow, PaymentIntentConfirmParamsPaymentMethodOptionsPaypal as PaymentIntentConfirmParamsPaymentMethodOptionsPaypal, PaymentIntentConfirmParamsPaymentMethodOptionsPix as PaymentIntentConfirmParamsPaymentMethodOptionsPix, PaymentIntentConfirmParamsPaymentMethodOptionsPromptpay as PaymentIntentConfirmParamsPaymentMethodOptionsPromptpay, PaymentIntentConfirmParamsPaymentMethodOptionsRevolutPay as PaymentIntentConfirmParamsPaymentMethodOptionsRevolutPay, PaymentIntentConfirmParamsPaymentMethodOptionsSamsungPay as PaymentIntentConfirmParamsPaymentMethodOptionsSamsungPay, PaymentIntentConfirmParamsPaymentMethodOptionsSatispay as PaymentIntentConfirmParamsPaymentMethodOptionsSatispay, PaymentIntentConfirmParamsPaymentMethodOptionsSepaDebit as PaymentIntentConfirmParamsPaymentMethodOptionsSepaDebit, PaymentIntentConfirmParamsPaymentMethodOptionsSepaDebitMandateOptions as PaymentIntentConfirmParamsPaymentMethodOptionsSepaDebitMandateOptions, PaymentIntentConfirmParamsPaymentMethodOptionsSofort as PaymentIntentConfirmParamsPaymentMethodOptionsSofort, PaymentIntentConfirmParamsPaymentMethodOptionsSwish as PaymentIntentConfirmParamsPaymentMethodOptionsSwish, PaymentIntentConfirmParamsPaymentMethodOptionsTwint as PaymentIntentConfirmParamsPaymentMethodOptionsTwint, PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccount as PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccount, PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnections as PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnections, PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters as PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters, PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountMandateOptions as PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountMandateOptions, PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountNetworks as PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountNetworks, PaymentIntentConfirmParamsPaymentMethodOptionsWechatPay as PaymentIntentConfirmParamsPaymentMethodOptionsWechatPay, PaymentIntentConfirmParamsPaymentMethodOptionsZip as PaymentIntentConfirmParamsPaymentMethodOptionsZip, PaymentIntentConfirmParamsRadarOptions as PaymentIntentConfirmParamsRadarOptions, PaymentIntentConfirmParamsShipping as PaymentIntentConfirmParamsShipping, PaymentIntentConfirmParamsShippingAddress as PaymentIntentConfirmParamsShippingAddress, ) from stripe.params._payment_intent_create_params import ( PaymentIntentCreateParams as PaymentIntentCreateParams, PaymentIntentCreateParamsAmountDetails as PaymentIntentCreateParamsAmountDetails, PaymentIntentCreateParamsAmountDetailsLineItem as PaymentIntentCreateParamsAmountDetailsLineItem, PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptions as PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptions, PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsCard as PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsCard, PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent as PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent, PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsKlarna as PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsKlarna, PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsPaypal as PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsPaypal, PaymentIntentCreateParamsAmountDetailsLineItemTax as PaymentIntentCreateParamsAmountDetailsLineItemTax, PaymentIntentCreateParamsAmountDetailsShipping as PaymentIntentCreateParamsAmountDetailsShipping, PaymentIntentCreateParamsAmountDetailsTax as PaymentIntentCreateParamsAmountDetailsTax, PaymentIntentCreateParamsAutomaticPaymentMethods as PaymentIntentCreateParamsAutomaticPaymentMethods, PaymentIntentCreateParamsMandateData as PaymentIntentCreateParamsMandateData, PaymentIntentCreateParamsMandateDataCustomerAcceptance as PaymentIntentCreateParamsMandateDataCustomerAcceptance, PaymentIntentCreateParamsMandateDataCustomerAcceptanceOffline as PaymentIntentCreateParamsMandateDataCustomerAcceptanceOffline, PaymentIntentCreateParamsMandateDataCustomerAcceptanceOnline as PaymentIntentCreateParamsMandateDataCustomerAcceptanceOnline, PaymentIntentCreateParamsPaymentDetails as PaymentIntentCreateParamsPaymentDetails, PaymentIntentCreateParamsPaymentMethodData as PaymentIntentCreateParamsPaymentMethodData, PaymentIntentCreateParamsPaymentMethodDataAcssDebit as PaymentIntentCreateParamsPaymentMethodDataAcssDebit, PaymentIntentCreateParamsPaymentMethodDataAffirm as PaymentIntentCreateParamsPaymentMethodDataAffirm, PaymentIntentCreateParamsPaymentMethodDataAfterpayClearpay as PaymentIntentCreateParamsPaymentMethodDataAfterpayClearpay, PaymentIntentCreateParamsPaymentMethodDataAlipay as PaymentIntentCreateParamsPaymentMethodDataAlipay, PaymentIntentCreateParamsPaymentMethodDataAlma as PaymentIntentCreateParamsPaymentMethodDataAlma, PaymentIntentCreateParamsPaymentMethodDataAmazonPay as PaymentIntentCreateParamsPaymentMethodDataAmazonPay, PaymentIntentCreateParamsPaymentMethodDataAuBecsDebit as PaymentIntentCreateParamsPaymentMethodDataAuBecsDebit, PaymentIntentCreateParamsPaymentMethodDataBacsDebit as PaymentIntentCreateParamsPaymentMethodDataBacsDebit, PaymentIntentCreateParamsPaymentMethodDataBancontact as PaymentIntentCreateParamsPaymentMethodDataBancontact, PaymentIntentCreateParamsPaymentMethodDataBillie as PaymentIntentCreateParamsPaymentMethodDataBillie, PaymentIntentCreateParamsPaymentMethodDataBillingDetails as PaymentIntentCreateParamsPaymentMethodDataBillingDetails, PaymentIntentCreateParamsPaymentMethodDataBillingDetailsAddress as PaymentIntentCreateParamsPaymentMethodDataBillingDetailsAddress, PaymentIntentCreateParamsPaymentMethodDataBlik as PaymentIntentCreateParamsPaymentMethodDataBlik, PaymentIntentCreateParamsPaymentMethodDataBoleto as PaymentIntentCreateParamsPaymentMethodDataBoleto, PaymentIntentCreateParamsPaymentMethodDataCashapp as PaymentIntentCreateParamsPaymentMethodDataCashapp, PaymentIntentCreateParamsPaymentMethodDataCrypto as PaymentIntentCreateParamsPaymentMethodDataCrypto, PaymentIntentCreateParamsPaymentMethodDataCustomerBalance as PaymentIntentCreateParamsPaymentMethodDataCustomerBalance, PaymentIntentCreateParamsPaymentMethodDataEps as PaymentIntentCreateParamsPaymentMethodDataEps, PaymentIntentCreateParamsPaymentMethodDataFpx as PaymentIntentCreateParamsPaymentMethodDataFpx, PaymentIntentCreateParamsPaymentMethodDataGiropay as PaymentIntentCreateParamsPaymentMethodDataGiropay, PaymentIntentCreateParamsPaymentMethodDataGrabpay as PaymentIntentCreateParamsPaymentMethodDataGrabpay, PaymentIntentCreateParamsPaymentMethodDataIdeal as PaymentIntentCreateParamsPaymentMethodDataIdeal, PaymentIntentCreateParamsPaymentMethodDataInteracPresent as PaymentIntentCreateParamsPaymentMethodDataInteracPresent, PaymentIntentCreateParamsPaymentMethodDataKakaoPay as PaymentIntentCreateParamsPaymentMethodDataKakaoPay, PaymentIntentCreateParamsPaymentMethodDataKlarna as PaymentIntentCreateParamsPaymentMethodDataKlarna, PaymentIntentCreateParamsPaymentMethodDataKlarnaDob as PaymentIntentCreateParamsPaymentMethodDataKlarnaDob, PaymentIntentCreateParamsPaymentMethodDataKonbini as PaymentIntentCreateParamsPaymentMethodDataKonbini, PaymentIntentCreateParamsPaymentMethodDataKrCard as PaymentIntentCreateParamsPaymentMethodDataKrCard, PaymentIntentCreateParamsPaymentMethodDataLink as PaymentIntentCreateParamsPaymentMethodDataLink, PaymentIntentCreateParamsPaymentMethodDataMbWay as PaymentIntentCreateParamsPaymentMethodDataMbWay, PaymentIntentCreateParamsPaymentMethodDataMobilepay as PaymentIntentCreateParamsPaymentMethodDataMobilepay, PaymentIntentCreateParamsPaymentMethodDataMultibanco as PaymentIntentCreateParamsPaymentMethodDataMultibanco, PaymentIntentCreateParamsPaymentMethodDataNaverPay as PaymentIntentCreateParamsPaymentMethodDataNaverPay, PaymentIntentCreateParamsPaymentMethodDataNzBankAccount as PaymentIntentCreateParamsPaymentMethodDataNzBankAccount, PaymentIntentCreateParamsPaymentMethodDataOxxo as PaymentIntentCreateParamsPaymentMethodDataOxxo, PaymentIntentCreateParamsPaymentMethodDataP24 as PaymentIntentCreateParamsPaymentMethodDataP24, PaymentIntentCreateParamsPaymentMethodDataPayByBank as PaymentIntentCreateParamsPaymentMethodDataPayByBank, PaymentIntentCreateParamsPaymentMethodDataPayco as PaymentIntentCreateParamsPaymentMethodDataPayco, PaymentIntentCreateParamsPaymentMethodDataPaynow as PaymentIntentCreateParamsPaymentMethodDataPaynow, PaymentIntentCreateParamsPaymentMethodDataPaypal as PaymentIntentCreateParamsPaymentMethodDataPaypal, PaymentIntentCreateParamsPaymentMethodDataPix as PaymentIntentCreateParamsPaymentMethodDataPix, PaymentIntentCreateParamsPaymentMethodDataPromptpay as PaymentIntentCreateParamsPaymentMethodDataPromptpay, PaymentIntentCreateParamsPaymentMethodDataRadarOptions as PaymentIntentCreateParamsPaymentMethodDataRadarOptions, PaymentIntentCreateParamsPaymentMethodDataRevolutPay as PaymentIntentCreateParamsPaymentMethodDataRevolutPay, PaymentIntentCreateParamsPaymentMethodDataSamsungPay as PaymentIntentCreateParamsPaymentMethodDataSamsungPay, PaymentIntentCreateParamsPaymentMethodDataSatispay as PaymentIntentCreateParamsPaymentMethodDataSatispay, PaymentIntentCreateParamsPaymentMethodDataSepaDebit as PaymentIntentCreateParamsPaymentMethodDataSepaDebit, PaymentIntentCreateParamsPaymentMethodDataSofort as PaymentIntentCreateParamsPaymentMethodDataSofort, PaymentIntentCreateParamsPaymentMethodDataSwish as PaymentIntentCreateParamsPaymentMethodDataSwish, PaymentIntentCreateParamsPaymentMethodDataTwint as PaymentIntentCreateParamsPaymentMethodDataTwint, PaymentIntentCreateParamsPaymentMethodDataUsBankAccount as PaymentIntentCreateParamsPaymentMethodDataUsBankAccount, PaymentIntentCreateParamsPaymentMethodDataWechatPay as PaymentIntentCreateParamsPaymentMethodDataWechatPay, PaymentIntentCreateParamsPaymentMethodDataZip as PaymentIntentCreateParamsPaymentMethodDataZip, PaymentIntentCreateParamsPaymentMethodOptions as PaymentIntentCreateParamsPaymentMethodOptions, PaymentIntentCreateParamsPaymentMethodOptionsAcssDebit as PaymentIntentCreateParamsPaymentMethodOptionsAcssDebit, PaymentIntentCreateParamsPaymentMethodOptionsAcssDebitMandateOptions as PaymentIntentCreateParamsPaymentMethodOptionsAcssDebitMandateOptions, PaymentIntentCreateParamsPaymentMethodOptionsAffirm as PaymentIntentCreateParamsPaymentMethodOptionsAffirm, PaymentIntentCreateParamsPaymentMethodOptionsAfterpayClearpay as PaymentIntentCreateParamsPaymentMethodOptionsAfterpayClearpay, PaymentIntentCreateParamsPaymentMethodOptionsAlipay as PaymentIntentCreateParamsPaymentMethodOptionsAlipay, PaymentIntentCreateParamsPaymentMethodOptionsAlma as PaymentIntentCreateParamsPaymentMethodOptionsAlma, PaymentIntentCreateParamsPaymentMethodOptionsAmazonPay as PaymentIntentCreateParamsPaymentMethodOptionsAmazonPay, PaymentIntentCreateParamsPaymentMethodOptionsAuBecsDebit as PaymentIntentCreateParamsPaymentMethodOptionsAuBecsDebit, PaymentIntentCreateParamsPaymentMethodOptionsBacsDebit as PaymentIntentCreateParamsPaymentMethodOptionsBacsDebit, PaymentIntentCreateParamsPaymentMethodOptionsBacsDebitMandateOptions as PaymentIntentCreateParamsPaymentMethodOptionsBacsDebitMandateOptions, PaymentIntentCreateParamsPaymentMethodOptionsBancontact as PaymentIntentCreateParamsPaymentMethodOptionsBancontact, PaymentIntentCreateParamsPaymentMethodOptionsBillie as PaymentIntentCreateParamsPaymentMethodOptionsBillie, PaymentIntentCreateParamsPaymentMethodOptionsBlik as PaymentIntentCreateParamsPaymentMethodOptionsBlik, PaymentIntentCreateParamsPaymentMethodOptionsBoleto as PaymentIntentCreateParamsPaymentMethodOptionsBoleto, PaymentIntentCreateParamsPaymentMethodOptionsCard as PaymentIntentCreateParamsPaymentMethodOptionsCard, PaymentIntentCreateParamsPaymentMethodOptionsCardInstallments as PaymentIntentCreateParamsPaymentMethodOptionsCardInstallments, PaymentIntentCreateParamsPaymentMethodOptionsCardInstallmentsPlan as PaymentIntentCreateParamsPaymentMethodOptionsCardInstallmentsPlan, PaymentIntentCreateParamsPaymentMethodOptionsCardMandateOptions as PaymentIntentCreateParamsPaymentMethodOptionsCardMandateOptions, PaymentIntentCreateParamsPaymentMethodOptionsCardPresent as PaymentIntentCreateParamsPaymentMethodOptionsCardPresent, PaymentIntentCreateParamsPaymentMethodOptionsCardPresentRouting as PaymentIntentCreateParamsPaymentMethodOptionsCardPresentRouting, PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecure as PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecure, PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions as PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions, PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires as PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires, PaymentIntentCreateParamsPaymentMethodOptionsCashapp as PaymentIntentCreateParamsPaymentMethodOptionsCashapp, PaymentIntentCreateParamsPaymentMethodOptionsCrypto as PaymentIntentCreateParamsPaymentMethodOptionsCrypto, PaymentIntentCreateParamsPaymentMethodOptionsCustomerBalance as PaymentIntentCreateParamsPaymentMethodOptionsCustomerBalance, PaymentIntentCreateParamsPaymentMethodOptionsCustomerBalanceBankTransfer as PaymentIntentCreateParamsPaymentMethodOptionsCustomerBalanceBankTransfer, PaymentIntentCreateParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer as PaymentIntentCreateParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer, PaymentIntentCreateParamsPaymentMethodOptionsEps as PaymentIntentCreateParamsPaymentMethodOptionsEps, PaymentIntentCreateParamsPaymentMethodOptionsFpx as PaymentIntentCreateParamsPaymentMethodOptionsFpx, PaymentIntentCreateParamsPaymentMethodOptionsGiropay as PaymentIntentCreateParamsPaymentMethodOptionsGiropay, PaymentIntentCreateParamsPaymentMethodOptionsGrabpay as PaymentIntentCreateParamsPaymentMethodOptionsGrabpay, PaymentIntentCreateParamsPaymentMethodOptionsIdeal as PaymentIntentCreateParamsPaymentMethodOptionsIdeal, PaymentIntentCreateParamsPaymentMethodOptionsInteracPresent as PaymentIntentCreateParamsPaymentMethodOptionsInteracPresent, PaymentIntentCreateParamsPaymentMethodOptionsKakaoPay as PaymentIntentCreateParamsPaymentMethodOptionsKakaoPay, PaymentIntentCreateParamsPaymentMethodOptionsKlarna as PaymentIntentCreateParamsPaymentMethodOptionsKlarna, PaymentIntentCreateParamsPaymentMethodOptionsKlarnaOnDemand as PaymentIntentCreateParamsPaymentMethodOptionsKlarnaOnDemand, PaymentIntentCreateParamsPaymentMethodOptionsKlarnaSubscription as PaymentIntentCreateParamsPaymentMethodOptionsKlarnaSubscription, PaymentIntentCreateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling as PaymentIntentCreateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling, PaymentIntentCreateParamsPaymentMethodOptionsKonbini as PaymentIntentCreateParamsPaymentMethodOptionsKonbini, PaymentIntentCreateParamsPaymentMethodOptionsKrCard as PaymentIntentCreateParamsPaymentMethodOptionsKrCard, PaymentIntentCreateParamsPaymentMethodOptionsLink as PaymentIntentCreateParamsPaymentMethodOptionsLink, PaymentIntentCreateParamsPaymentMethodOptionsMbWay as PaymentIntentCreateParamsPaymentMethodOptionsMbWay, PaymentIntentCreateParamsPaymentMethodOptionsMobilepay as PaymentIntentCreateParamsPaymentMethodOptionsMobilepay, PaymentIntentCreateParamsPaymentMethodOptionsMultibanco as PaymentIntentCreateParamsPaymentMethodOptionsMultibanco, PaymentIntentCreateParamsPaymentMethodOptionsNaverPay as PaymentIntentCreateParamsPaymentMethodOptionsNaverPay, PaymentIntentCreateParamsPaymentMethodOptionsNzBankAccount as PaymentIntentCreateParamsPaymentMethodOptionsNzBankAccount, PaymentIntentCreateParamsPaymentMethodOptionsOxxo as PaymentIntentCreateParamsPaymentMethodOptionsOxxo, PaymentIntentCreateParamsPaymentMethodOptionsP24 as PaymentIntentCreateParamsPaymentMethodOptionsP24, PaymentIntentCreateParamsPaymentMethodOptionsPayByBank as PaymentIntentCreateParamsPaymentMethodOptionsPayByBank, PaymentIntentCreateParamsPaymentMethodOptionsPayco as PaymentIntentCreateParamsPaymentMethodOptionsPayco, PaymentIntentCreateParamsPaymentMethodOptionsPaynow as PaymentIntentCreateParamsPaymentMethodOptionsPaynow, PaymentIntentCreateParamsPaymentMethodOptionsPaypal as PaymentIntentCreateParamsPaymentMethodOptionsPaypal, PaymentIntentCreateParamsPaymentMethodOptionsPix as PaymentIntentCreateParamsPaymentMethodOptionsPix, PaymentIntentCreateParamsPaymentMethodOptionsPromptpay as PaymentIntentCreateParamsPaymentMethodOptionsPromptpay, PaymentIntentCreateParamsPaymentMethodOptionsRevolutPay as PaymentIntentCreateParamsPaymentMethodOptionsRevolutPay, PaymentIntentCreateParamsPaymentMethodOptionsSamsungPay as PaymentIntentCreateParamsPaymentMethodOptionsSamsungPay, PaymentIntentCreateParamsPaymentMethodOptionsSatispay as PaymentIntentCreateParamsPaymentMethodOptionsSatispay, PaymentIntentCreateParamsPaymentMethodOptionsSepaDebit as PaymentIntentCreateParamsPaymentMethodOptionsSepaDebit, PaymentIntentCreateParamsPaymentMethodOptionsSepaDebitMandateOptions as PaymentIntentCreateParamsPaymentMethodOptionsSepaDebitMandateOptions, PaymentIntentCreateParamsPaymentMethodOptionsSofort as PaymentIntentCreateParamsPaymentMethodOptionsSofort, PaymentIntentCreateParamsPaymentMethodOptionsSwish as PaymentIntentCreateParamsPaymentMethodOptionsSwish, PaymentIntentCreateParamsPaymentMethodOptionsTwint as PaymentIntentCreateParamsPaymentMethodOptionsTwint, PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccount as PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccount, PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnections as PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnections, PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters as PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters, PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountMandateOptions as PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountMandateOptions, PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountNetworks as PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountNetworks, PaymentIntentCreateParamsPaymentMethodOptionsWechatPay as PaymentIntentCreateParamsPaymentMethodOptionsWechatPay, PaymentIntentCreateParamsPaymentMethodOptionsZip as PaymentIntentCreateParamsPaymentMethodOptionsZip, PaymentIntentCreateParamsRadarOptions as PaymentIntentCreateParamsRadarOptions, PaymentIntentCreateParamsShipping as PaymentIntentCreateParamsShipping, PaymentIntentCreateParamsShippingAddress as PaymentIntentCreateParamsShippingAddress, PaymentIntentCreateParamsTransferData as PaymentIntentCreateParamsTransferData, ) from stripe.params._payment_intent_increment_authorization_params import ( PaymentIntentIncrementAuthorizationParams as PaymentIntentIncrementAuthorizationParams, PaymentIntentIncrementAuthorizationParamsAmountDetails as PaymentIntentIncrementAuthorizationParamsAmountDetails, PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItem as PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItem, PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptions as PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptions, PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsCard as PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsCard, PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent as PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent, PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsKlarna as PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsKlarna, PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsPaypal as PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsPaypal, PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemTax as PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemTax, PaymentIntentIncrementAuthorizationParamsAmountDetailsShipping as PaymentIntentIncrementAuthorizationParamsAmountDetailsShipping, PaymentIntentIncrementAuthorizationParamsAmountDetailsTax as PaymentIntentIncrementAuthorizationParamsAmountDetailsTax, PaymentIntentIncrementAuthorizationParamsPaymentDetails as PaymentIntentIncrementAuthorizationParamsPaymentDetails, PaymentIntentIncrementAuthorizationParamsTransferData as PaymentIntentIncrementAuthorizationParamsTransferData, ) from stripe.params._payment_intent_list_amount_details_line_items_params import ( PaymentIntentListAmountDetailsLineItemsParams as PaymentIntentListAmountDetailsLineItemsParams, ) from stripe.params._payment_intent_list_params import ( PaymentIntentListParams as PaymentIntentListParams, PaymentIntentListParamsCreated as PaymentIntentListParamsCreated, ) from stripe.params._payment_intent_modify_params import ( PaymentIntentModifyParams as PaymentIntentModifyParams, PaymentIntentModifyParamsAmountDetails as PaymentIntentModifyParamsAmountDetails, PaymentIntentModifyParamsAmountDetailsLineItem as PaymentIntentModifyParamsAmountDetailsLineItem, PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptions as PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptions, PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsCard as PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsCard, PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent as PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent, PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsKlarna as PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsKlarna, PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsPaypal as PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsPaypal, PaymentIntentModifyParamsAmountDetailsLineItemTax as PaymentIntentModifyParamsAmountDetailsLineItemTax, PaymentIntentModifyParamsAmountDetailsShipping as PaymentIntentModifyParamsAmountDetailsShipping, PaymentIntentModifyParamsAmountDetailsTax as PaymentIntentModifyParamsAmountDetailsTax, PaymentIntentModifyParamsPaymentDetails as PaymentIntentModifyParamsPaymentDetails, PaymentIntentModifyParamsPaymentMethodData as PaymentIntentModifyParamsPaymentMethodData, PaymentIntentModifyParamsPaymentMethodDataAcssDebit as PaymentIntentModifyParamsPaymentMethodDataAcssDebit, PaymentIntentModifyParamsPaymentMethodDataAffirm as PaymentIntentModifyParamsPaymentMethodDataAffirm, PaymentIntentModifyParamsPaymentMethodDataAfterpayClearpay as PaymentIntentModifyParamsPaymentMethodDataAfterpayClearpay, PaymentIntentModifyParamsPaymentMethodDataAlipay as PaymentIntentModifyParamsPaymentMethodDataAlipay, PaymentIntentModifyParamsPaymentMethodDataAlma as PaymentIntentModifyParamsPaymentMethodDataAlma, PaymentIntentModifyParamsPaymentMethodDataAmazonPay as PaymentIntentModifyParamsPaymentMethodDataAmazonPay, PaymentIntentModifyParamsPaymentMethodDataAuBecsDebit as PaymentIntentModifyParamsPaymentMethodDataAuBecsDebit, PaymentIntentModifyParamsPaymentMethodDataBacsDebit as PaymentIntentModifyParamsPaymentMethodDataBacsDebit, PaymentIntentModifyParamsPaymentMethodDataBancontact as PaymentIntentModifyParamsPaymentMethodDataBancontact, PaymentIntentModifyParamsPaymentMethodDataBillie as PaymentIntentModifyParamsPaymentMethodDataBillie, PaymentIntentModifyParamsPaymentMethodDataBillingDetails as PaymentIntentModifyParamsPaymentMethodDataBillingDetails, PaymentIntentModifyParamsPaymentMethodDataBillingDetailsAddress as PaymentIntentModifyParamsPaymentMethodDataBillingDetailsAddress, PaymentIntentModifyParamsPaymentMethodDataBlik as PaymentIntentModifyParamsPaymentMethodDataBlik, PaymentIntentModifyParamsPaymentMethodDataBoleto as PaymentIntentModifyParamsPaymentMethodDataBoleto, PaymentIntentModifyParamsPaymentMethodDataCashapp as PaymentIntentModifyParamsPaymentMethodDataCashapp, PaymentIntentModifyParamsPaymentMethodDataCrypto as PaymentIntentModifyParamsPaymentMethodDataCrypto, PaymentIntentModifyParamsPaymentMethodDataCustomerBalance as PaymentIntentModifyParamsPaymentMethodDataCustomerBalance, PaymentIntentModifyParamsPaymentMethodDataEps as PaymentIntentModifyParamsPaymentMethodDataEps, PaymentIntentModifyParamsPaymentMethodDataFpx as PaymentIntentModifyParamsPaymentMethodDataFpx, PaymentIntentModifyParamsPaymentMethodDataGiropay as PaymentIntentModifyParamsPaymentMethodDataGiropay, PaymentIntentModifyParamsPaymentMethodDataGrabpay as PaymentIntentModifyParamsPaymentMethodDataGrabpay, PaymentIntentModifyParamsPaymentMethodDataIdeal as PaymentIntentModifyParamsPaymentMethodDataIdeal, PaymentIntentModifyParamsPaymentMethodDataInteracPresent as PaymentIntentModifyParamsPaymentMethodDataInteracPresent, PaymentIntentModifyParamsPaymentMethodDataKakaoPay as PaymentIntentModifyParamsPaymentMethodDataKakaoPay, PaymentIntentModifyParamsPaymentMethodDataKlarna as PaymentIntentModifyParamsPaymentMethodDataKlarna, PaymentIntentModifyParamsPaymentMethodDataKlarnaDob as PaymentIntentModifyParamsPaymentMethodDataKlarnaDob, PaymentIntentModifyParamsPaymentMethodDataKonbini as PaymentIntentModifyParamsPaymentMethodDataKonbini, PaymentIntentModifyParamsPaymentMethodDataKrCard as PaymentIntentModifyParamsPaymentMethodDataKrCard, PaymentIntentModifyParamsPaymentMethodDataLink as PaymentIntentModifyParamsPaymentMethodDataLink, PaymentIntentModifyParamsPaymentMethodDataMbWay as PaymentIntentModifyParamsPaymentMethodDataMbWay, PaymentIntentModifyParamsPaymentMethodDataMobilepay as PaymentIntentModifyParamsPaymentMethodDataMobilepay, PaymentIntentModifyParamsPaymentMethodDataMultibanco as PaymentIntentModifyParamsPaymentMethodDataMultibanco, PaymentIntentModifyParamsPaymentMethodDataNaverPay as PaymentIntentModifyParamsPaymentMethodDataNaverPay, PaymentIntentModifyParamsPaymentMethodDataNzBankAccount as PaymentIntentModifyParamsPaymentMethodDataNzBankAccount, PaymentIntentModifyParamsPaymentMethodDataOxxo as PaymentIntentModifyParamsPaymentMethodDataOxxo, PaymentIntentModifyParamsPaymentMethodDataP24 as PaymentIntentModifyParamsPaymentMethodDataP24, PaymentIntentModifyParamsPaymentMethodDataPayByBank as PaymentIntentModifyParamsPaymentMethodDataPayByBank, PaymentIntentModifyParamsPaymentMethodDataPayco as PaymentIntentModifyParamsPaymentMethodDataPayco, PaymentIntentModifyParamsPaymentMethodDataPaynow as PaymentIntentModifyParamsPaymentMethodDataPaynow, PaymentIntentModifyParamsPaymentMethodDataPaypal as PaymentIntentModifyParamsPaymentMethodDataPaypal, PaymentIntentModifyParamsPaymentMethodDataPix as PaymentIntentModifyParamsPaymentMethodDataPix, PaymentIntentModifyParamsPaymentMethodDataPromptpay as PaymentIntentModifyParamsPaymentMethodDataPromptpay, PaymentIntentModifyParamsPaymentMethodDataRadarOptions as PaymentIntentModifyParamsPaymentMethodDataRadarOptions, PaymentIntentModifyParamsPaymentMethodDataRevolutPay as PaymentIntentModifyParamsPaymentMethodDataRevolutPay, PaymentIntentModifyParamsPaymentMethodDataSamsungPay as PaymentIntentModifyParamsPaymentMethodDataSamsungPay, PaymentIntentModifyParamsPaymentMethodDataSatispay as PaymentIntentModifyParamsPaymentMethodDataSatispay, PaymentIntentModifyParamsPaymentMethodDataSepaDebit as PaymentIntentModifyParamsPaymentMethodDataSepaDebit, PaymentIntentModifyParamsPaymentMethodDataSofort as PaymentIntentModifyParamsPaymentMethodDataSofort, PaymentIntentModifyParamsPaymentMethodDataSwish as PaymentIntentModifyParamsPaymentMethodDataSwish, PaymentIntentModifyParamsPaymentMethodDataTwint as PaymentIntentModifyParamsPaymentMethodDataTwint, PaymentIntentModifyParamsPaymentMethodDataUsBankAccount as PaymentIntentModifyParamsPaymentMethodDataUsBankAccount, PaymentIntentModifyParamsPaymentMethodDataWechatPay as PaymentIntentModifyParamsPaymentMethodDataWechatPay, PaymentIntentModifyParamsPaymentMethodDataZip as PaymentIntentModifyParamsPaymentMethodDataZip, PaymentIntentModifyParamsPaymentMethodOptions as PaymentIntentModifyParamsPaymentMethodOptions, PaymentIntentModifyParamsPaymentMethodOptionsAcssDebit as PaymentIntentModifyParamsPaymentMethodOptionsAcssDebit, PaymentIntentModifyParamsPaymentMethodOptionsAcssDebitMandateOptions as PaymentIntentModifyParamsPaymentMethodOptionsAcssDebitMandateOptions, PaymentIntentModifyParamsPaymentMethodOptionsAffirm as PaymentIntentModifyParamsPaymentMethodOptionsAffirm, PaymentIntentModifyParamsPaymentMethodOptionsAfterpayClearpay as PaymentIntentModifyParamsPaymentMethodOptionsAfterpayClearpay, PaymentIntentModifyParamsPaymentMethodOptionsAlipay as PaymentIntentModifyParamsPaymentMethodOptionsAlipay, PaymentIntentModifyParamsPaymentMethodOptionsAlma as PaymentIntentModifyParamsPaymentMethodOptionsAlma, PaymentIntentModifyParamsPaymentMethodOptionsAmazonPay as PaymentIntentModifyParamsPaymentMethodOptionsAmazonPay, PaymentIntentModifyParamsPaymentMethodOptionsAuBecsDebit as PaymentIntentModifyParamsPaymentMethodOptionsAuBecsDebit, PaymentIntentModifyParamsPaymentMethodOptionsBacsDebit as PaymentIntentModifyParamsPaymentMethodOptionsBacsDebit, PaymentIntentModifyParamsPaymentMethodOptionsBacsDebitMandateOptions as PaymentIntentModifyParamsPaymentMethodOptionsBacsDebitMandateOptions, PaymentIntentModifyParamsPaymentMethodOptionsBancontact as PaymentIntentModifyParamsPaymentMethodOptionsBancontact, PaymentIntentModifyParamsPaymentMethodOptionsBillie as PaymentIntentModifyParamsPaymentMethodOptionsBillie, PaymentIntentModifyParamsPaymentMethodOptionsBlik as PaymentIntentModifyParamsPaymentMethodOptionsBlik, PaymentIntentModifyParamsPaymentMethodOptionsBoleto as PaymentIntentModifyParamsPaymentMethodOptionsBoleto, PaymentIntentModifyParamsPaymentMethodOptionsCard as PaymentIntentModifyParamsPaymentMethodOptionsCard, PaymentIntentModifyParamsPaymentMethodOptionsCardInstallments as PaymentIntentModifyParamsPaymentMethodOptionsCardInstallments, PaymentIntentModifyParamsPaymentMethodOptionsCardInstallmentsPlan as PaymentIntentModifyParamsPaymentMethodOptionsCardInstallmentsPlan, PaymentIntentModifyParamsPaymentMethodOptionsCardMandateOptions as PaymentIntentModifyParamsPaymentMethodOptionsCardMandateOptions, PaymentIntentModifyParamsPaymentMethodOptionsCardPresent as PaymentIntentModifyParamsPaymentMethodOptionsCardPresent, PaymentIntentModifyParamsPaymentMethodOptionsCardPresentRouting as PaymentIntentModifyParamsPaymentMethodOptionsCardPresentRouting, PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecure as PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecure, PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions as PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions, PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires as PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires, PaymentIntentModifyParamsPaymentMethodOptionsCashapp as PaymentIntentModifyParamsPaymentMethodOptionsCashapp, PaymentIntentModifyParamsPaymentMethodOptionsCrypto as PaymentIntentModifyParamsPaymentMethodOptionsCrypto, PaymentIntentModifyParamsPaymentMethodOptionsCustomerBalance as PaymentIntentModifyParamsPaymentMethodOptionsCustomerBalance, PaymentIntentModifyParamsPaymentMethodOptionsCustomerBalanceBankTransfer as PaymentIntentModifyParamsPaymentMethodOptionsCustomerBalanceBankTransfer, PaymentIntentModifyParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer as PaymentIntentModifyParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer, PaymentIntentModifyParamsPaymentMethodOptionsEps as PaymentIntentModifyParamsPaymentMethodOptionsEps, PaymentIntentModifyParamsPaymentMethodOptionsFpx as PaymentIntentModifyParamsPaymentMethodOptionsFpx, PaymentIntentModifyParamsPaymentMethodOptionsGiropay as PaymentIntentModifyParamsPaymentMethodOptionsGiropay, PaymentIntentModifyParamsPaymentMethodOptionsGrabpay as PaymentIntentModifyParamsPaymentMethodOptionsGrabpay, PaymentIntentModifyParamsPaymentMethodOptionsIdeal as PaymentIntentModifyParamsPaymentMethodOptionsIdeal, PaymentIntentModifyParamsPaymentMethodOptionsInteracPresent as PaymentIntentModifyParamsPaymentMethodOptionsInteracPresent, PaymentIntentModifyParamsPaymentMethodOptionsKakaoPay as PaymentIntentModifyParamsPaymentMethodOptionsKakaoPay, PaymentIntentModifyParamsPaymentMethodOptionsKlarna as PaymentIntentModifyParamsPaymentMethodOptionsKlarna, PaymentIntentModifyParamsPaymentMethodOptionsKlarnaOnDemand as PaymentIntentModifyParamsPaymentMethodOptionsKlarnaOnDemand, PaymentIntentModifyParamsPaymentMethodOptionsKlarnaSubscription as PaymentIntentModifyParamsPaymentMethodOptionsKlarnaSubscription, PaymentIntentModifyParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling as PaymentIntentModifyParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling, PaymentIntentModifyParamsPaymentMethodOptionsKonbini as PaymentIntentModifyParamsPaymentMethodOptionsKonbini, PaymentIntentModifyParamsPaymentMethodOptionsKrCard as PaymentIntentModifyParamsPaymentMethodOptionsKrCard, PaymentIntentModifyParamsPaymentMethodOptionsLink as PaymentIntentModifyParamsPaymentMethodOptionsLink, PaymentIntentModifyParamsPaymentMethodOptionsMbWay as PaymentIntentModifyParamsPaymentMethodOptionsMbWay, PaymentIntentModifyParamsPaymentMethodOptionsMobilepay as PaymentIntentModifyParamsPaymentMethodOptionsMobilepay, PaymentIntentModifyParamsPaymentMethodOptionsMultibanco as PaymentIntentModifyParamsPaymentMethodOptionsMultibanco, PaymentIntentModifyParamsPaymentMethodOptionsNaverPay as PaymentIntentModifyParamsPaymentMethodOptionsNaverPay, PaymentIntentModifyParamsPaymentMethodOptionsNzBankAccount as PaymentIntentModifyParamsPaymentMethodOptionsNzBankAccount, PaymentIntentModifyParamsPaymentMethodOptionsOxxo as PaymentIntentModifyParamsPaymentMethodOptionsOxxo, PaymentIntentModifyParamsPaymentMethodOptionsP24 as PaymentIntentModifyParamsPaymentMethodOptionsP24, PaymentIntentModifyParamsPaymentMethodOptionsPayByBank as PaymentIntentModifyParamsPaymentMethodOptionsPayByBank, PaymentIntentModifyParamsPaymentMethodOptionsPayco as PaymentIntentModifyParamsPaymentMethodOptionsPayco, PaymentIntentModifyParamsPaymentMethodOptionsPaynow as PaymentIntentModifyParamsPaymentMethodOptionsPaynow, PaymentIntentModifyParamsPaymentMethodOptionsPaypal as PaymentIntentModifyParamsPaymentMethodOptionsPaypal, PaymentIntentModifyParamsPaymentMethodOptionsPix as PaymentIntentModifyParamsPaymentMethodOptionsPix, PaymentIntentModifyParamsPaymentMethodOptionsPromptpay as PaymentIntentModifyParamsPaymentMethodOptionsPromptpay, PaymentIntentModifyParamsPaymentMethodOptionsRevolutPay as PaymentIntentModifyParamsPaymentMethodOptionsRevolutPay, PaymentIntentModifyParamsPaymentMethodOptionsSamsungPay as PaymentIntentModifyParamsPaymentMethodOptionsSamsungPay, PaymentIntentModifyParamsPaymentMethodOptionsSatispay as PaymentIntentModifyParamsPaymentMethodOptionsSatispay, PaymentIntentModifyParamsPaymentMethodOptionsSepaDebit as PaymentIntentModifyParamsPaymentMethodOptionsSepaDebit, PaymentIntentModifyParamsPaymentMethodOptionsSepaDebitMandateOptions as PaymentIntentModifyParamsPaymentMethodOptionsSepaDebitMandateOptions, PaymentIntentModifyParamsPaymentMethodOptionsSofort as PaymentIntentModifyParamsPaymentMethodOptionsSofort, PaymentIntentModifyParamsPaymentMethodOptionsSwish as PaymentIntentModifyParamsPaymentMethodOptionsSwish, PaymentIntentModifyParamsPaymentMethodOptionsTwint as PaymentIntentModifyParamsPaymentMethodOptionsTwint, PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccount as PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccount, PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnections as PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnections, PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters as PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters, PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountMandateOptions as PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountMandateOptions, PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountNetworks as PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountNetworks, PaymentIntentModifyParamsPaymentMethodOptionsWechatPay as PaymentIntentModifyParamsPaymentMethodOptionsWechatPay, PaymentIntentModifyParamsPaymentMethodOptionsZip as PaymentIntentModifyParamsPaymentMethodOptionsZip, PaymentIntentModifyParamsShipping as PaymentIntentModifyParamsShipping, PaymentIntentModifyParamsShippingAddress as PaymentIntentModifyParamsShippingAddress, PaymentIntentModifyParamsTransferData as PaymentIntentModifyParamsTransferData, ) from stripe.params._payment_intent_retrieve_params import ( PaymentIntentRetrieveParams as PaymentIntentRetrieveParams, ) from stripe.params._payment_intent_search_params import ( PaymentIntentSearchParams as PaymentIntentSearchParams, ) from stripe.params._payment_intent_update_params import ( PaymentIntentUpdateParams as PaymentIntentUpdateParams, PaymentIntentUpdateParamsAmountDetails as PaymentIntentUpdateParamsAmountDetails, PaymentIntentUpdateParamsAmountDetailsLineItem as PaymentIntentUpdateParamsAmountDetailsLineItem, PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptions as PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptions, PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsCard as PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsCard, PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent as PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent, PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsKlarna as PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsKlarna, PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsPaypal as PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsPaypal, PaymentIntentUpdateParamsAmountDetailsLineItemTax as PaymentIntentUpdateParamsAmountDetailsLineItemTax, PaymentIntentUpdateParamsAmountDetailsShipping as PaymentIntentUpdateParamsAmountDetailsShipping, PaymentIntentUpdateParamsAmountDetailsTax as PaymentIntentUpdateParamsAmountDetailsTax, PaymentIntentUpdateParamsPaymentDetails as PaymentIntentUpdateParamsPaymentDetails, PaymentIntentUpdateParamsPaymentMethodData as PaymentIntentUpdateParamsPaymentMethodData, PaymentIntentUpdateParamsPaymentMethodDataAcssDebit as PaymentIntentUpdateParamsPaymentMethodDataAcssDebit, PaymentIntentUpdateParamsPaymentMethodDataAffirm as PaymentIntentUpdateParamsPaymentMethodDataAffirm, PaymentIntentUpdateParamsPaymentMethodDataAfterpayClearpay as PaymentIntentUpdateParamsPaymentMethodDataAfterpayClearpay, PaymentIntentUpdateParamsPaymentMethodDataAlipay as PaymentIntentUpdateParamsPaymentMethodDataAlipay, PaymentIntentUpdateParamsPaymentMethodDataAlma as PaymentIntentUpdateParamsPaymentMethodDataAlma, PaymentIntentUpdateParamsPaymentMethodDataAmazonPay as PaymentIntentUpdateParamsPaymentMethodDataAmazonPay, PaymentIntentUpdateParamsPaymentMethodDataAuBecsDebit as PaymentIntentUpdateParamsPaymentMethodDataAuBecsDebit, PaymentIntentUpdateParamsPaymentMethodDataBacsDebit as PaymentIntentUpdateParamsPaymentMethodDataBacsDebit, PaymentIntentUpdateParamsPaymentMethodDataBancontact as PaymentIntentUpdateParamsPaymentMethodDataBancontact, PaymentIntentUpdateParamsPaymentMethodDataBillie as PaymentIntentUpdateParamsPaymentMethodDataBillie, PaymentIntentUpdateParamsPaymentMethodDataBillingDetails as PaymentIntentUpdateParamsPaymentMethodDataBillingDetails, PaymentIntentUpdateParamsPaymentMethodDataBillingDetailsAddress as PaymentIntentUpdateParamsPaymentMethodDataBillingDetailsAddress, PaymentIntentUpdateParamsPaymentMethodDataBlik as PaymentIntentUpdateParamsPaymentMethodDataBlik, PaymentIntentUpdateParamsPaymentMethodDataBoleto as PaymentIntentUpdateParamsPaymentMethodDataBoleto, PaymentIntentUpdateParamsPaymentMethodDataCashapp as PaymentIntentUpdateParamsPaymentMethodDataCashapp, PaymentIntentUpdateParamsPaymentMethodDataCrypto as PaymentIntentUpdateParamsPaymentMethodDataCrypto, PaymentIntentUpdateParamsPaymentMethodDataCustomerBalance as PaymentIntentUpdateParamsPaymentMethodDataCustomerBalance, PaymentIntentUpdateParamsPaymentMethodDataEps as PaymentIntentUpdateParamsPaymentMethodDataEps, PaymentIntentUpdateParamsPaymentMethodDataFpx as PaymentIntentUpdateParamsPaymentMethodDataFpx, PaymentIntentUpdateParamsPaymentMethodDataGiropay as PaymentIntentUpdateParamsPaymentMethodDataGiropay, PaymentIntentUpdateParamsPaymentMethodDataGrabpay as PaymentIntentUpdateParamsPaymentMethodDataGrabpay, PaymentIntentUpdateParamsPaymentMethodDataIdeal as PaymentIntentUpdateParamsPaymentMethodDataIdeal, PaymentIntentUpdateParamsPaymentMethodDataInteracPresent as PaymentIntentUpdateParamsPaymentMethodDataInteracPresent, PaymentIntentUpdateParamsPaymentMethodDataKakaoPay as PaymentIntentUpdateParamsPaymentMethodDataKakaoPay, PaymentIntentUpdateParamsPaymentMethodDataKlarna as PaymentIntentUpdateParamsPaymentMethodDataKlarna, PaymentIntentUpdateParamsPaymentMethodDataKlarnaDob as PaymentIntentUpdateParamsPaymentMethodDataKlarnaDob, PaymentIntentUpdateParamsPaymentMethodDataKonbini as PaymentIntentUpdateParamsPaymentMethodDataKonbini, PaymentIntentUpdateParamsPaymentMethodDataKrCard as PaymentIntentUpdateParamsPaymentMethodDataKrCard, PaymentIntentUpdateParamsPaymentMethodDataLink as PaymentIntentUpdateParamsPaymentMethodDataLink, PaymentIntentUpdateParamsPaymentMethodDataMbWay as PaymentIntentUpdateParamsPaymentMethodDataMbWay, PaymentIntentUpdateParamsPaymentMethodDataMobilepay as PaymentIntentUpdateParamsPaymentMethodDataMobilepay, PaymentIntentUpdateParamsPaymentMethodDataMultibanco as PaymentIntentUpdateParamsPaymentMethodDataMultibanco, PaymentIntentUpdateParamsPaymentMethodDataNaverPay as PaymentIntentUpdateParamsPaymentMethodDataNaverPay, PaymentIntentUpdateParamsPaymentMethodDataNzBankAccount as PaymentIntentUpdateParamsPaymentMethodDataNzBankAccount, PaymentIntentUpdateParamsPaymentMethodDataOxxo as PaymentIntentUpdateParamsPaymentMethodDataOxxo, PaymentIntentUpdateParamsPaymentMethodDataP24 as PaymentIntentUpdateParamsPaymentMethodDataP24, PaymentIntentUpdateParamsPaymentMethodDataPayByBank as PaymentIntentUpdateParamsPaymentMethodDataPayByBank, PaymentIntentUpdateParamsPaymentMethodDataPayco as PaymentIntentUpdateParamsPaymentMethodDataPayco, PaymentIntentUpdateParamsPaymentMethodDataPaynow as PaymentIntentUpdateParamsPaymentMethodDataPaynow, PaymentIntentUpdateParamsPaymentMethodDataPaypal as PaymentIntentUpdateParamsPaymentMethodDataPaypal, PaymentIntentUpdateParamsPaymentMethodDataPix as PaymentIntentUpdateParamsPaymentMethodDataPix, PaymentIntentUpdateParamsPaymentMethodDataPromptpay as PaymentIntentUpdateParamsPaymentMethodDataPromptpay, PaymentIntentUpdateParamsPaymentMethodDataRadarOptions as PaymentIntentUpdateParamsPaymentMethodDataRadarOptions, PaymentIntentUpdateParamsPaymentMethodDataRevolutPay as PaymentIntentUpdateParamsPaymentMethodDataRevolutPay, PaymentIntentUpdateParamsPaymentMethodDataSamsungPay as PaymentIntentUpdateParamsPaymentMethodDataSamsungPay, PaymentIntentUpdateParamsPaymentMethodDataSatispay as PaymentIntentUpdateParamsPaymentMethodDataSatispay, PaymentIntentUpdateParamsPaymentMethodDataSepaDebit as PaymentIntentUpdateParamsPaymentMethodDataSepaDebit, PaymentIntentUpdateParamsPaymentMethodDataSofort as PaymentIntentUpdateParamsPaymentMethodDataSofort, PaymentIntentUpdateParamsPaymentMethodDataSwish as PaymentIntentUpdateParamsPaymentMethodDataSwish, PaymentIntentUpdateParamsPaymentMethodDataTwint as PaymentIntentUpdateParamsPaymentMethodDataTwint, PaymentIntentUpdateParamsPaymentMethodDataUsBankAccount as PaymentIntentUpdateParamsPaymentMethodDataUsBankAccount, PaymentIntentUpdateParamsPaymentMethodDataWechatPay as PaymentIntentUpdateParamsPaymentMethodDataWechatPay, PaymentIntentUpdateParamsPaymentMethodDataZip as PaymentIntentUpdateParamsPaymentMethodDataZip, PaymentIntentUpdateParamsPaymentMethodOptions as PaymentIntentUpdateParamsPaymentMethodOptions, PaymentIntentUpdateParamsPaymentMethodOptionsAcssDebit as PaymentIntentUpdateParamsPaymentMethodOptionsAcssDebit, PaymentIntentUpdateParamsPaymentMethodOptionsAcssDebitMandateOptions as PaymentIntentUpdateParamsPaymentMethodOptionsAcssDebitMandateOptions, PaymentIntentUpdateParamsPaymentMethodOptionsAffirm as PaymentIntentUpdateParamsPaymentMethodOptionsAffirm, PaymentIntentUpdateParamsPaymentMethodOptionsAfterpayClearpay as PaymentIntentUpdateParamsPaymentMethodOptionsAfterpayClearpay, PaymentIntentUpdateParamsPaymentMethodOptionsAlipay as PaymentIntentUpdateParamsPaymentMethodOptionsAlipay, PaymentIntentUpdateParamsPaymentMethodOptionsAlma as PaymentIntentUpdateParamsPaymentMethodOptionsAlma, PaymentIntentUpdateParamsPaymentMethodOptionsAmazonPay as PaymentIntentUpdateParamsPaymentMethodOptionsAmazonPay, PaymentIntentUpdateParamsPaymentMethodOptionsAuBecsDebit as PaymentIntentUpdateParamsPaymentMethodOptionsAuBecsDebit, PaymentIntentUpdateParamsPaymentMethodOptionsBacsDebit as PaymentIntentUpdateParamsPaymentMethodOptionsBacsDebit, PaymentIntentUpdateParamsPaymentMethodOptionsBacsDebitMandateOptions as PaymentIntentUpdateParamsPaymentMethodOptionsBacsDebitMandateOptions, PaymentIntentUpdateParamsPaymentMethodOptionsBancontact as PaymentIntentUpdateParamsPaymentMethodOptionsBancontact, PaymentIntentUpdateParamsPaymentMethodOptionsBillie as PaymentIntentUpdateParamsPaymentMethodOptionsBillie, PaymentIntentUpdateParamsPaymentMethodOptionsBlik as PaymentIntentUpdateParamsPaymentMethodOptionsBlik, PaymentIntentUpdateParamsPaymentMethodOptionsBoleto as PaymentIntentUpdateParamsPaymentMethodOptionsBoleto, PaymentIntentUpdateParamsPaymentMethodOptionsCard as PaymentIntentUpdateParamsPaymentMethodOptionsCard, PaymentIntentUpdateParamsPaymentMethodOptionsCardInstallments as PaymentIntentUpdateParamsPaymentMethodOptionsCardInstallments, PaymentIntentUpdateParamsPaymentMethodOptionsCardInstallmentsPlan as PaymentIntentUpdateParamsPaymentMethodOptionsCardInstallmentsPlan, PaymentIntentUpdateParamsPaymentMethodOptionsCardMandateOptions as PaymentIntentUpdateParamsPaymentMethodOptionsCardMandateOptions, PaymentIntentUpdateParamsPaymentMethodOptionsCardPresent as PaymentIntentUpdateParamsPaymentMethodOptionsCardPresent, PaymentIntentUpdateParamsPaymentMethodOptionsCardPresentRouting as PaymentIntentUpdateParamsPaymentMethodOptionsCardPresentRouting, PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecure as PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecure, PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions as PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions, PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires as PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires, PaymentIntentUpdateParamsPaymentMethodOptionsCashapp as PaymentIntentUpdateParamsPaymentMethodOptionsCashapp, PaymentIntentUpdateParamsPaymentMethodOptionsCrypto as PaymentIntentUpdateParamsPaymentMethodOptionsCrypto, PaymentIntentUpdateParamsPaymentMethodOptionsCustomerBalance as PaymentIntentUpdateParamsPaymentMethodOptionsCustomerBalance, PaymentIntentUpdateParamsPaymentMethodOptionsCustomerBalanceBankTransfer as PaymentIntentUpdateParamsPaymentMethodOptionsCustomerBalanceBankTransfer, PaymentIntentUpdateParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer as PaymentIntentUpdateParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer, PaymentIntentUpdateParamsPaymentMethodOptionsEps as PaymentIntentUpdateParamsPaymentMethodOptionsEps, PaymentIntentUpdateParamsPaymentMethodOptionsFpx as PaymentIntentUpdateParamsPaymentMethodOptionsFpx, PaymentIntentUpdateParamsPaymentMethodOptionsGiropay as PaymentIntentUpdateParamsPaymentMethodOptionsGiropay, PaymentIntentUpdateParamsPaymentMethodOptionsGrabpay as PaymentIntentUpdateParamsPaymentMethodOptionsGrabpay, PaymentIntentUpdateParamsPaymentMethodOptionsIdeal as PaymentIntentUpdateParamsPaymentMethodOptionsIdeal, PaymentIntentUpdateParamsPaymentMethodOptionsInteracPresent as PaymentIntentUpdateParamsPaymentMethodOptionsInteracPresent, PaymentIntentUpdateParamsPaymentMethodOptionsKakaoPay as PaymentIntentUpdateParamsPaymentMethodOptionsKakaoPay, PaymentIntentUpdateParamsPaymentMethodOptionsKlarna as PaymentIntentUpdateParamsPaymentMethodOptionsKlarna, PaymentIntentUpdateParamsPaymentMethodOptionsKlarnaOnDemand as PaymentIntentUpdateParamsPaymentMethodOptionsKlarnaOnDemand, PaymentIntentUpdateParamsPaymentMethodOptionsKlarnaSubscription as PaymentIntentUpdateParamsPaymentMethodOptionsKlarnaSubscription, PaymentIntentUpdateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling as PaymentIntentUpdateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling, PaymentIntentUpdateParamsPaymentMethodOptionsKonbini as PaymentIntentUpdateParamsPaymentMethodOptionsKonbini, PaymentIntentUpdateParamsPaymentMethodOptionsKrCard as PaymentIntentUpdateParamsPaymentMethodOptionsKrCard, PaymentIntentUpdateParamsPaymentMethodOptionsLink as PaymentIntentUpdateParamsPaymentMethodOptionsLink, PaymentIntentUpdateParamsPaymentMethodOptionsMbWay as PaymentIntentUpdateParamsPaymentMethodOptionsMbWay, PaymentIntentUpdateParamsPaymentMethodOptionsMobilepay as PaymentIntentUpdateParamsPaymentMethodOptionsMobilepay, PaymentIntentUpdateParamsPaymentMethodOptionsMultibanco as PaymentIntentUpdateParamsPaymentMethodOptionsMultibanco, PaymentIntentUpdateParamsPaymentMethodOptionsNaverPay as PaymentIntentUpdateParamsPaymentMethodOptionsNaverPay, PaymentIntentUpdateParamsPaymentMethodOptionsNzBankAccount as PaymentIntentUpdateParamsPaymentMethodOptionsNzBankAccount, PaymentIntentUpdateParamsPaymentMethodOptionsOxxo as PaymentIntentUpdateParamsPaymentMethodOptionsOxxo, PaymentIntentUpdateParamsPaymentMethodOptionsP24 as PaymentIntentUpdateParamsPaymentMethodOptionsP24, PaymentIntentUpdateParamsPaymentMethodOptionsPayByBank as PaymentIntentUpdateParamsPaymentMethodOptionsPayByBank, PaymentIntentUpdateParamsPaymentMethodOptionsPayco as PaymentIntentUpdateParamsPaymentMethodOptionsPayco, PaymentIntentUpdateParamsPaymentMethodOptionsPaynow as PaymentIntentUpdateParamsPaymentMethodOptionsPaynow, PaymentIntentUpdateParamsPaymentMethodOptionsPaypal as PaymentIntentUpdateParamsPaymentMethodOptionsPaypal, PaymentIntentUpdateParamsPaymentMethodOptionsPix as PaymentIntentUpdateParamsPaymentMethodOptionsPix, PaymentIntentUpdateParamsPaymentMethodOptionsPromptpay as PaymentIntentUpdateParamsPaymentMethodOptionsPromptpay, PaymentIntentUpdateParamsPaymentMethodOptionsRevolutPay as PaymentIntentUpdateParamsPaymentMethodOptionsRevolutPay, PaymentIntentUpdateParamsPaymentMethodOptionsSamsungPay as PaymentIntentUpdateParamsPaymentMethodOptionsSamsungPay, PaymentIntentUpdateParamsPaymentMethodOptionsSatispay as PaymentIntentUpdateParamsPaymentMethodOptionsSatispay, PaymentIntentUpdateParamsPaymentMethodOptionsSepaDebit as PaymentIntentUpdateParamsPaymentMethodOptionsSepaDebit, PaymentIntentUpdateParamsPaymentMethodOptionsSepaDebitMandateOptions as PaymentIntentUpdateParamsPaymentMethodOptionsSepaDebitMandateOptions, PaymentIntentUpdateParamsPaymentMethodOptionsSofort as PaymentIntentUpdateParamsPaymentMethodOptionsSofort, PaymentIntentUpdateParamsPaymentMethodOptionsSwish as PaymentIntentUpdateParamsPaymentMethodOptionsSwish, PaymentIntentUpdateParamsPaymentMethodOptionsTwint as PaymentIntentUpdateParamsPaymentMethodOptionsTwint, PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccount as PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccount, PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnections as PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnections, PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters as PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters, PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountMandateOptions as PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountMandateOptions, PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountNetworks as PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountNetworks, PaymentIntentUpdateParamsPaymentMethodOptionsWechatPay as PaymentIntentUpdateParamsPaymentMethodOptionsWechatPay, PaymentIntentUpdateParamsPaymentMethodOptionsZip as PaymentIntentUpdateParamsPaymentMethodOptionsZip, PaymentIntentUpdateParamsShipping as PaymentIntentUpdateParamsShipping, PaymentIntentUpdateParamsShippingAddress as PaymentIntentUpdateParamsShippingAddress, PaymentIntentUpdateParamsTransferData as PaymentIntentUpdateParamsTransferData, ) from stripe.params._payment_intent_verify_microdeposits_params import ( PaymentIntentVerifyMicrodepositsParams as PaymentIntentVerifyMicrodepositsParams, ) from stripe.params._payment_link_create_params import ( PaymentLinkCreateParams as PaymentLinkCreateParams, PaymentLinkCreateParamsAfterCompletion as PaymentLinkCreateParamsAfterCompletion, PaymentLinkCreateParamsAfterCompletionHostedConfirmation as PaymentLinkCreateParamsAfterCompletionHostedConfirmation, PaymentLinkCreateParamsAfterCompletionRedirect as PaymentLinkCreateParamsAfterCompletionRedirect, PaymentLinkCreateParamsAutomaticTax as PaymentLinkCreateParamsAutomaticTax, PaymentLinkCreateParamsAutomaticTaxLiability as PaymentLinkCreateParamsAutomaticTaxLiability, PaymentLinkCreateParamsConsentCollection as PaymentLinkCreateParamsConsentCollection, PaymentLinkCreateParamsConsentCollectionPaymentMethodReuseAgreement as PaymentLinkCreateParamsConsentCollectionPaymentMethodReuseAgreement, PaymentLinkCreateParamsCustomField as PaymentLinkCreateParamsCustomField, PaymentLinkCreateParamsCustomFieldDropdown as PaymentLinkCreateParamsCustomFieldDropdown, PaymentLinkCreateParamsCustomFieldDropdownOption as PaymentLinkCreateParamsCustomFieldDropdownOption, PaymentLinkCreateParamsCustomFieldLabel as PaymentLinkCreateParamsCustomFieldLabel, PaymentLinkCreateParamsCustomFieldNumeric as PaymentLinkCreateParamsCustomFieldNumeric, PaymentLinkCreateParamsCustomFieldText as PaymentLinkCreateParamsCustomFieldText, PaymentLinkCreateParamsCustomText as PaymentLinkCreateParamsCustomText, PaymentLinkCreateParamsCustomTextAfterSubmit as PaymentLinkCreateParamsCustomTextAfterSubmit, PaymentLinkCreateParamsCustomTextShippingAddress as PaymentLinkCreateParamsCustomTextShippingAddress, PaymentLinkCreateParamsCustomTextSubmit as PaymentLinkCreateParamsCustomTextSubmit, PaymentLinkCreateParamsCustomTextTermsOfServiceAcceptance as PaymentLinkCreateParamsCustomTextTermsOfServiceAcceptance, PaymentLinkCreateParamsInvoiceCreation as PaymentLinkCreateParamsInvoiceCreation, PaymentLinkCreateParamsInvoiceCreationInvoiceData as PaymentLinkCreateParamsInvoiceCreationInvoiceData, PaymentLinkCreateParamsInvoiceCreationInvoiceDataCustomField as PaymentLinkCreateParamsInvoiceCreationInvoiceDataCustomField, PaymentLinkCreateParamsInvoiceCreationInvoiceDataIssuer as PaymentLinkCreateParamsInvoiceCreationInvoiceDataIssuer, PaymentLinkCreateParamsInvoiceCreationInvoiceDataRenderingOptions as PaymentLinkCreateParamsInvoiceCreationInvoiceDataRenderingOptions, PaymentLinkCreateParamsLineItem as PaymentLinkCreateParamsLineItem, PaymentLinkCreateParamsLineItemAdjustableQuantity as PaymentLinkCreateParamsLineItemAdjustableQuantity, PaymentLinkCreateParamsLineItemPriceData as PaymentLinkCreateParamsLineItemPriceData, PaymentLinkCreateParamsLineItemPriceDataProductData as PaymentLinkCreateParamsLineItemPriceDataProductData, PaymentLinkCreateParamsLineItemPriceDataRecurring as PaymentLinkCreateParamsLineItemPriceDataRecurring, PaymentLinkCreateParamsNameCollection as PaymentLinkCreateParamsNameCollection, PaymentLinkCreateParamsNameCollectionBusiness as PaymentLinkCreateParamsNameCollectionBusiness, PaymentLinkCreateParamsNameCollectionIndividual as PaymentLinkCreateParamsNameCollectionIndividual, PaymentLinkCreateParamsOptionalItem as PaymentLinkCreateParamsOptionalItem, PaymentLinkCreateParamsOptionalItemAdjustableQuantity as PaymentLinkCreateParamsOptionalItemAdjustableQuantity, PaymentLinkCreateParamsPaymentIntentData as PaymentLinkCreateParamsPaymentIntentData, PaymentLinkCreateParamsPhoneNumberCollection as PaymentLinkCreateParamsPhoneNumberCollection, PaymentLinkCreateParamsRestrictions as PaymentLinkCreateParamsRestrictions, PaymentLinkCreateParamsRestrictionsCompletedSessions as PaymentLinkCreateParamsRestrictionsCompletedSessions, PaymentLinkCreateParamsShippingAddressCollection as PaymentLinkCreateParamsShippingAddressCollection, PaymentLinkCreateParamsShippingOption as PaymentLinkCreateParamsShippingOption, PaymentLinkCreateParamsSubscriptionData as PaymentLinkCreateParamsSubscriptionData, PaymentLinkCreateParamsSubscriptionDataInvoiceSettings as PaymentLinkCreateParamsSubscriptionDataInvoiceSettings, PaymentLinkCreateParamsSubscriptionDataInvoiceSettingsIssuer as PaymentLinkCreateParamsSubscriptionDataInvoiceSettingsIssuer, PaymentLinkCreateParamsSubscriptionDataTrialSettings as PaymentLinkCreateParamsSubscriptionDataTrialSettings, PaymentLinkCreateParamsSubscriptionDataTrialSettingsEndBehavior as PaymentLinkCreateParamsSubscriptionDataTrialSettingsEndBehavior, PaymentLinkCreateParamsTaxIdCollection as PaymentLinkCreateParamsTaxIdCollection, PaymentLinkCreateParamsTransferData as PaymentLinkCreateParamsTransferData, ) from stripe.params._payment_link_line_item_list_params import ( PaymentLinkLineItemListParams as PaymentLinkLineItemListParams, ) from stripe.params._payment_link_list_line_items_params import ( PaymentLinkListLineItemsParams as PaymentLinkListLineItemsParams, ) from stripe.params._payment_link_list_params import ( PaymentLinkListParams as PaymentLinkListParams, ) from stripe.params._payment_link_modify_params import ( PaymentLinkModifyParams as PaymentLinkModifyParams, PaymentLinkModifyParamsAfterCompletion as PaymentLinkModifyParamsAfterCompletion, PaymentLinkModifyParamsAfterCompletionHostedConfirmation as PaymentLinkModifyParamsAfterCompletionHostedConfirmation, PaymentLinkModifyParamsAfterCompletionRedirect as PaymentLinkModifyParamsAfterCompletionRedirect, PaymentLinkModifyParamsAutomaticTax as PaymentLinkModifyParamsAutomaticTax, PaymentLinkModifyParamsAutomaticTaxLiability as PaymentLinkModifyParamsAutomaticTaxLiability, PaymentLinkModifyParamsCustomField as PaymentLinkModifyParamsCustomField, PaymentLinkModifyParamsCustomFieldDropdown as PaymentLinkModifyParamsCustomFieldDropdown, PaymentLinkModifyParamsCustomFieldDropdownOption as PaymentLinkModifyParamsCustomFieldDropdownOption, PaymentLinkModifyParamsCustomFieldLabel as PaymentLinkModifyParamsCustomFieldLabel, PaymentLinkModifyParamsCustomFieldNumeric as PaymentLinkModifyParamsCustomFieldNumeric, PaymentLinkModifyParamsCustomFieldText as PaymentLinkModifyParamsCustomFieldText, PaymentLinkModifyParamsCustomText as PaymentLinkModifyParamsCustomText, PaymentLinkModifyParamsCustomTextAfterSubmit as PaymentLinkModifyParamsCustomTextAfterSubmit, PaymentLinkModifyParamsCustomTextShippingAddress as PaymentLinkModifyParamsCustomTextShippingAddress, PaymentLinkModifyParamsCustomTextSubmit as PaymentLinkModifyParamsCustomTextSubmit, PaymentLinkModifyParamsCustomTextTermsOfServiceAcceptance as PaymentLinkModifyParamsCustomTextTermsOfServiceAcceptance, PaymentLinkModifyParamsInvoiceCreation as PaymentLinkModifyParamsInvoiceCreation, PaymentLinkModifyParamsInvoiceCreationInvoiceData as PaymentLinkModifyParamsInvoiceCreationInvoiceData, PaymentLinkModifyParamsInvoiceCreationInvoiceDataCustomField as PaymentLinkModifyParamsInvoiceCreationInvoiceDataCustomField, PaymentLinkModifyParamsInvoiceCreationInvoiceDataIssuer as PaymentLinkModifyParamsInvoiceCreationInvoiceDataIssuer, PaymentLinkModifyParamsInvoiceCreationInvoiceDataRenderingOptions as PaymentLinkModifyParamsInvoiceCreationInvoiceDataRenderingOptions, PaymentLinkModifyParamsLineItem as PaymentLinkModifyParamsLineItem, PaymentLinkModifyParamsLineItemAdjustableQuantity as PaymentLinkModifyParamsLineItemAdjustableQuantity, PaymentLinkModifyParamsNameCollection as PaymentLinkModifyParamsNameCollection, PaymentLinkModifyParamsNameCollectionBusiness as PaymentLinkModifyParamsNameCollectionBusiness, PaymentLinkModifyParamsNameCollectionIndividual as PaymentLinkModifyParamsNameCollectionIndividual, PaymentLinkModifyParamsPaymentIntentData as PaymentLinkModifyParamsPaymentIntentData, PaymentLinkModifyParamsPhoneNumberCollection as PaymentLinkModifyParamsPhoneNumberCollection, PaymentLinkModifyParamsRestrictions as PaymentLinkModifyParamsRestrictions, PaymentLinkModifyParamsRestrictionsCompletedSessions as PaymentLinkModifyParamsRestrictionsCompletedSessions, PaymentLinkModifyParamsShippingAddressCollection as PaymentLinkModifyParamsShippingAddressCollection, PaymentLinkModifyParamsSubscriptionData as PaymentLinkModifyParamsSubscriptionData, PaymentLinkModifyParamsSubscriptionDataInvoiceSettings as PaymentLinkModifyParamsSubscriptionDataInvoiceSettings, PaymentLinkModifyParamsSubscriptionDataInvoiceSettingsIssuer as PaymentLinkModifyParamsSubscriptionDataInvoiceSettingsIssuer, PaymentLinkModifyParamsSubscriptionDataTrialSettings as PaymentLinkModifyParamsSubscriptionDataTrialSettings, PaymentLinkModifyParamsSubscriptionDataTrialSettingsEndBehavior as PaymentLinkModifyParamsSubscriptionDataTrialSettingsEndBehavior, PaymentLinkModifyParamsTaxIdCollection as PaymentLinkModifyParamsTaxIdCollection, ) from stripe.params._payment_link_retrieve_params import ( PaymentLinkRetrieveParams as PaymentLinkRetrieveParams, ) from stripe.params._payment_link_update_params import ( PaymentLinkUpdateParams as PaymentLinkUpdateParams, PaymentLinkUpdateParamsAfterCompletion as PaymentLinkUpdateParamsAfterCompletion, PaymentLinkUpdateParamsAfterCompletionHostedConfirmation as PaymentLinkUpdateParamsAfterCompletionHostedConfirmation, PaymentLinkUpdateParamsAfterCompletionRedirect as PaymentLinkUpdateParamsAfterCompletionRedirect, PaymentLinkUpdateParamsAutomaticTax as PaymentLinkUpdateParamsAutomaticTax, PaymentLinkUpdateParamsAutomaticTaxLiability as PaymentLinkUpdateParamsAutomaticTaxLiability, PaymentLinkUpdateParamsCustomField as PaymentLinkUpdateParamsCustomField, PaymentLinkUpdateParamsCustomFieldDropdown as PaymentLinkUpdateParamsCustomFieldDropdown, PaymentLinkUpdateParamsCustomFieldDropdownOption as PaymentLinkUpdateParamsCustomFieldDropdownOption, PaymentLinkUpdateParamsCustomFieldLabel as PaymentLinkUpdateParamsCustomFieldLabel, PaymentLinkUpdateParamsCustomFieldNumeric as PaymentLinkUpdateParamsCustomFieldNumeric, PaymentLinkUpdateParamsCustomFieldText as PaymentLinkUpdateParamsCustomFieldText, PaymentLinkUpdateParamsCustomText as PaymentLinkUpdateParamsCustomText, PaymentLinkUpdateParamsCustomTextAfterSubmit as PaymentLinkUpdateParamsCustomTextAfterSubmit, PaymentLinkUpdateParamsCustomTextShippingAddress as PaymentLinkUpdateParamsCustomTextShippingAddress, PaymentLinkUpdateParamsCustomTextSubmit as PaymentLinkUpdateParamsCustomTextSubmit, PaymentLinkUpdateParamsCustomTextTermsOfServiceAcceptance as PaymentLinkUpdateParamsCustomTextTermsOfServiceAcceptance, PaymentLinkUpdateParamsInvoiceCreation as PaymentLinkUpdateParamsInvoiceCreation, PaymentLinkUpdateParamsInvoiceCreationInvoiceData as PaymentLinkUpdateParamsInvoiceCreationInvoiceData, PaymentLinkUpdateParamsInvoiceCreationInvoiceDataCustomField as PaymentLinkUpdateParamsInvoiceCreationInvoiceDataCustomField, PaymentLinkUpdateParamsInvoiceCreationInvoiceDataIssuer as PaymentLinkUpdateParamsInvoiceCreationInvoiceDataIssuer, PaymentLinkUpdateParamsInvoiceCreationInvoiceDataRenderingOptions as PaymentLinkUpdateParamsInvoiceCreationInvoiceDataRenderingOptions, PaymentLinkUpdateParamsLineItem as PaymentLinkUpdateParamsLineItem, PaymentLinkUpdateParamsLineItemAdjustableQuantity as PaymentLinkUpdateParamsLineItemAdjustableQuantity, PaymentLinkUpdateParamsNameCollection as PaymentLinkUpdateParamsNameCollection, PaymentLinkUpdateParamsNameCollectionBusiness as PaymentLinkUpdateParamsNameCollectionBusiness, PaymentLinkUpdateParamsNameCollectionIndividual as PaymentLinkUpdateParamsNameCollectionIndividual, PaymentLinkUpdateParamsPaymentIntentData as PaymentLinkUpdateParamsPaymentIntentData, PaymentLinkUpdateParamsPhoneNumberCollection as PaymentLinkUpdateParamsPhoneNumberCollection, PaymentLinkUpdateParamsRestrictions as PaymentLinkUpdateParamsRestrictions, PaymentLinkUpdateParamsRestrictionsCompletedSessions as PaymentLinkUpdateParamsRestrictionsCompletedSessions, PaymentLinkUpdateParamsShippingAddressCollection as PaymentLinkUpdateParamsShippingAddressCollection, PaymentLinkUpdateParamsSubscriptionData as PaymentLinkUpdateParamsSubscriptionData, PaymentLinkUpdateParamsSubscriptionDataInvoiceSettings as PaymentLinkUpdateParamsSubscriptionDataInvoiceSettings, PaymentLinkUpdateParamsSubscriptionDataInvoiceSettingsIssuer as PaymentLinkUpdateParamsSubscriptionDataInvoiceSettingsIssuer, PaymentLinkUpdateParamsSubscriptionDataTrialSettings as PaymentLinkUpdateParamsSubscriptionDataTrialSettings, PaymentLinkUpdateParamsSubscriptionDataTrialSettingsEndBehavior as PaymentLinkUpdateParamsSubscriptionDataTrialSettingsEndBehavior, PaymentLinkUpdateParamsTaxIdCollection as PaymentLinkUpdateParamsTaxIdCollection, ) from stripe.params._payment_method_attach_params import ( PaymentMethodAttachParams as PaymentMethodAttachParams, ) from stripe.params._payment_method_configuration_create_params import ( PaymentMethodConfigurationCreateParams as PaymentMethodConfigurationCreateParams, PaymentMethodConfigurationCreateParamsAcssDebit as PaymentMethodConfigurationCreateParamsAcssDebit, PaymentMethodConfigurationCreateParamsAcssDebitDisplayPreference as PaymentMethodConfigurationCreateParamsAcssDebitDisplayPreference, PaymentMethodConfigurationCreateParamsAffirm as PaymentMethodConfigurationCreateParamsAffirm, PaymentMethodConfigurationCreateParamsAffirmDisplayPreference as PaymentMethodConfigurationCreateParamsAffirmDisplayPreference, PaymentMethodConfigurationCreateParamsAfterpayClearpay as PaymentMethodConfigurationCreateParamsAfterpayClearpay, PaymentMethodConfigurationCreateParamsAfterpayClearpayDisplayPreference as PaymentMethodConfigurationCreateParamsAfterpayClearpayDisplayPreference, PaymentMethodConfigurationCreateParamsAlipay as PaymentMethodConfigurationCreateParamsAlipay, PaymentMethodConfigurationCreateParamsAlipayDisplayPreference as PaymentMethodConfigurationCreateParamsAlipayDisplayPreference, PaymentMethodConfigurationCreateParamsAlma as PaymentMethodConfigurationCreateParamsAlma, PaymentMethodConfigurationCreateParamsAlmaDisplayPreference as PaymentMethodConfigurationCreateParamsAlmaDisplayPreference, PaymentMethodConfigurationCreateParamsAmazonPay as PaymentMethodConfigurationCreateParamsAmazonPay, PaymentMethodConfigurationCreateParamsAmazonPayDisplayPreference as PaymentMethodConfigurationCreateParamsAmazonPayDisplayPreference, PaymentMethodConfigurationCreateParamsApplePay as PaymentMethodConfigurationCreateParamsApplePay, PaymentMethodConfigurationCreateParamsApplePayDisplayPreference as PaymentMethodConfigurationCreateParamsApplePayDisplayPreference, PaymentMethodConfigurationCreateParamsApplePayLater as PaymentMethodConfigurationCreateParamsApplePayLater, PaymentMethodConfigurationCreateParamsApplePayLaterDisplayPreference as PaymentMethodConfigurationCreateParamsApplePayLaterDisplayPreference, PaymentMethodConfigurationCreateParamsAuBecsDebit as PaymentMethodConfigurationCreateParamsAuBecsDebit, PaymentMethodConfigurationCreateParamsAuBecsDebitDisplayPreference as PaymentMethodConfigurationCreateParamsAuBecsDebitDisplayPreference, PaymentMethodConfigurationCreateParamsBacsDebit as PaymentMethodConfigurationCreateParamsBacsDebit, PaymentMethodConfigurationCreateParamsBacsDebitDisplayPreference as PaymentMethodConfigurationCreateParamsBacsDebitDisplayPreference, PaymentMethodConfigurationCreateParamsBancontact as PaymentMethodConfigurationCreateParamsBancontact, PaymentMethodConfigurationCreateParamsBancontactDisplayPreference as PaymentMethodConfigurationCreateParamsBancontactDisplayPreference, PaymentMethodConfigurationCreateParamsBillie as PaymentMethodConfigurationCreateParamsBillie, PaymentMethodConfigurationCreateParamsBillieDisplayPreference as PaymentMethodConfigurationCreateParamsBillieDisplayPreference, PaymentMethodConfigurationCreateParamsBlik as PaymentMethodConfigurationCreateParamsBlik, PaymentMethodConfigurationCreateParamsBlikDisplayPreference as PaymentMethodConfigurationCreateParamsBlikDisplayPreference, PaymentMethodConfigurationCreateParamsBoleto as PaymentMethodConfigurationCreateParamsBoleto, PaymentMethodConfigurationCreateParamsBoletoDisplayPreference as PaymentMethodConfigurationCreateParamsBoletoDisplayPreference, PaymentMethodConfigurationCreateParamsCard as PaymentMethodConfigurationCreateParamsCard, PaymentMethodConfigurationCreateParamsCardDisplayPreference as PaymentMethodConfigurationCreateParamsCardDisplayPreference, PaymentMethodConfigurationCreateParamsCartesBancaires as PaymentMethodConfigurationCreateParamsCartesBancaires, PaymentMethodConfigurationCreateParamsCartesBancairesDisplayPreference as PaymentMethodConfigurationCreateParamsCartesBancairesDisplayPreference, PaymentMethodConfigurationCreateParamsCashapp as PaymentMethodConfigurationCreateParamsCashapp, PaymentMethodConfigurationCreateParamsCashappDisplayPreference as PaymentMethodConfigurationCreateParamsCashappDisplayPreference, PaymentMethodConfigurationCreateParamsCrypto as PaymentMethodConfigurationCreateParamsCrypto, PaymentMethodConfigurationCreateParamsCryptoDisplayPreference as PaymentMethodConfigurationCreateParamsCryptoDisplayPreference, PaymentMethodConfigurationCreateParamsCustomerBalance as PaymentMethodConfigurationCreateParamsCustomerBalance, PaymentMethodConfigurationCreateParamsCustomerBalanceDisplayPreference as PaymentMethodConfigurationCreateParamsCustomerBalanceDisplayPreference, PaymentMethodConfigurationCreateParamsEps as PaymentMethodConfigurationCreateParamsEps, PaymentMethodConfigurationCreateParamsEpsDisplayPreference as PaymentMethodConfigurationCreateParamsEpsDisplayPreference, PaymentMethodConfigurationCreateParamsFpx as PaymentMethodConfigurationCreateParamsFpx, PaymentMethodConfigurationCreateParamsFpxDisplayPreference as PaymentMethodConfigurationCreateParamsFpxDisplayPreference, PaymentMethodConfigurationCreateParamsFrMealVoucherConecs as PaymentMethodConfigurationCreateParamsFrMealVoucherConecs, PaymentMethodConfigurationCreateParamsFrMealVoucherConecsDisplayPreference as PaymentMethodConfigurationCreateParamsFrMealVoucherConecsDisplayPreference, PaymentMethodConfigurationCreateParamsGiropay as PaymentMethodConfigurationCreateParamsGiropay, PaymentMethodConfigurationCreateParamsGiropayDisplayPreference as PaymentMethodConfigurationCreateParamsGiropayDisplayPreference, PaymentMethodConfigurationCreateParamsGooglePay as PaymentMethodConfigurationCreateParamsGooglePay, PaymentMethodConfigurationCreateParamsGooglePayDisplayPreference as PaymentMethodConfigurationCreateParamsGooglePayDisplayPreference, PaymentMethodConfigurationCreateParamsGrabpay as PaymentMethodConfigurationCreateParamsGrabpay, PaymentMethodConfigurationCreateParamsGrabpayDisplayPreference as PaymentMethodConfigurationCreateParamsGrabpayDisplayPreference, PaymentMethodConfigurationCreateParamsIdeal as PaymentMethodConfigurationCreateParamsIdeal, PaymentMethodConfigurationCreateParamsIdealDisplayPreference as PaymentMethodConfigurationCreateParamsIdealDisplayPreference, PaymentMethodConfigurationCreateParamsJcb as PaymentMethodConfigurationCreateParamsJcb, PaymentMethodConfigurationCreateParamsJcbDisplayPreference as PaymentMethodConfigurationCreateParamsJcbDisplayPreference, PaymentMethodConfigurationCreateParamsKakaoPay as PaymentMethodConfigurationCreateParamsKakaoPay, PaymentMethodConfigurationCreateParamsKakaoPayDisplayPreference as PaymentMethodConfigurationCreateParamsKakaoPayDisplayPreference, PaymentMethodConfigurationCreateParamsKlarna as PaymentMethodConfigurationCreateParamsKlarna, PaymentMethodConfigurationCreateParamsKlarnaDisplayPreference as PaymentMethodConfigurationCreateParamsKlarnaDisplayPreference, PaymentMethodConfigurationCreateParamsKonbini as PaymentMethodConfigurationCreateParamsKonbini, PaymentMethodConfigurationCreateParamsKonbiniDisplayPreference as PaymentMethodConfigurationCreateParamsKonbiniDisplayPreference, PaymentMethodConfigurationCreateParamsKrCard as PaymentMethodConfigurationCreateParamsKrCard, PaymentMethodConfigurationCreateParamsKrCardDisplayPreference as PaymentMethodConfigurationCreateParamsKrCardDisplayPreference, PaymentMethodConfigurationCreateParamsLink as PaymentMethodConfigurationCreateParamsLink, PaymentMethodConfigurationCreateParamsLinkDisplayPreference as PaymentMethodConfigurationCreateParamsLinkDisplayPreference, PaymentMethodConfigurationCreateParamsMbWay as PaymentMethodConfigurationCreateParamsMbWay, PaymentMethodConfigurationCreateParamsMbWayDisplayPreference as PaymentMethodConfigurationCreateParamsMbWayDisplayPreference, PaymentMethodConfigurationCreateParamsMobilepay as PaymentMethodConfigurationCreateParamsMobilepay, PaymentMethodConfigurationCreateParamsMobilepayDisplayPreference as PaymentMethodConfigurationCreateParamsMobilepayDisplayPreference, PaymentMethodConfigurationCreateParamsMultibanco as PaymentMethodConfigurationCreateParamsMultibanco, PaymentMethodConfigurationCreateParamsMultibancoDisplayPreference as PaymentMethodConfigurationCreateParamsMultibancoDisplayPreference, PaymentMethodConfigurationCreateParamsNaverPay as PaymentMethodConfigurationCreateParamsNaverPay, PaymentMethodConfigurationCreateParamsNaverPayDisplayPreference as PaymentMethodConfigurationCreateParamsNaverPayDisplayPreference, PaymentMethodConfigurationCreateParamsNzBankAccount as PaymentMethodConfigurationCreateParamsNzBankAccount, PaymentMethodConfigurationCreateParamsNzBankAccountDisplayPreference as PaymentMethodConfigurationCreateParamsNzBankAccountDisplayPreference, PaymentMethodConfigurationCreateParamsOxxo as PaymentMethodConfigurationCreateParamsOxxo, PaymentMethodConfigurationCreateParamsOxxoDisplayPreference as PaymentMethodConfigurationCreateParamsOxxoDisplayPreference, PaymentMethodConfigurationCreateParamsP24 as PaymentMethodConfigurationCreateParamsP24, PaymentMethodConfigurationCreateParamsP24DisplayPreference as PaymentMethodConfigurationCreateParamsP24DisplayPreference, PaymentMethodConfigurationCreateParamsPayByBank as PaymentMethodConfigurationCreateParamsPayByBank, PaymentMethodConfigurationCreateParamsPayByBankDisplayPreference as PaymentMethodConfigurationCreateParamsPayByBankDisplayPreference, PaymentMethodConfigurationCreateParamsPayco as PaymentMethodConfigurationCreateParamsPayco, PaymentMethodConfigurationCreateParamsPaycoDisplayPreference as PaymentMethodConfigurationCreateParamsPaycoDisplayPreference, PaymentMethodConfigurationCreateParamsPaynow as PaymentMethodConfigurationCreateParamsPaynow, PaymentMethodConfigurationCreateParamsPaynowDisplayPreference as PaymentMethodConfigurationCreateParamsPaynowDisplayPreference, PaymentMethodConfigurationCreateParamsPaypal as PaymentMethodConfigurationCreateParamsPaypal, PaymentMethodConfigurationCreateParamsPaypalDisplayPreference as PaymentMethodConfigurationCreateParamsPaypalDisplayPreference, PaymentMethodConfigurationCreateParamsPix as PaymentMethodConfigurationCreateParamsPix, PaymentMethodConfigurationCreateParamsPixDisplayPreference as PaymentMethodConfigurationCreateParamsPixDisplayPreference, PaymentMethodConfigurationCreateParamsPromptpay as PaymentMethodConfigurationCreateParamsPromptpay, PaymentMethodConfigurationCreateParamsPromptpayDisplayPreference as PaymentMethodConfigurationCreateParamsPromptpayDisplayPreference, PaymentMethodConfigurationCreateParamsRevolutPay as PaymentMethodConfigurationCreateParamsRevolutPay, PaymentMethodConfigurationCreateParamsRevolutPayDisplayPreference as PaymentMethodConfigurationCreateParamsRevolutPayDisplayPreference, PaymentMethodConfigurationCreateParamsSamsungPay as PaymentMethodConfigurationCreateParamsSamsungPay, PaymentMethodConfigurationCreateParamsSamsungPayDisplayPreference as PaymentMethodConfigurationCreateParamsSamsungPayDisplayPreference, PaymentMethodConfigurationCreateParamsSatispay as PaymentMethodConfigurationCreateParamsSatispay, PaymentMethodConfigurationCreateParamsSatispayDisplayPreference as PaymentMethodConfigurationCreateParamsSatispayDisplayPreference, PaymentMethodConfigurationCreateParamsSepaDebit as PaymentMethodConfigurationCreateParamsSepaDebit, PaymentMethodConfigurationCreateParamsSepaDebitDisplayPreference as PaymentMethodConfigurationCreateParamsSepaDebitDisplayPreference, PaymentMethodConfigurationCreateParamsSofort as PaymentMethodConfigurationCreateParamsSofort, PaymentMethodConfigurationCreateParamsSofortDisplayPreference as PaymentMethodConfigurationCreateParamsSofortDisplayPreference, PaymentMethodConfigurationCreateParamsSwish as PaymentMethodConfigurationCreateParamsSwish, PaymentMethodConfigurationCreateParamsSwishDisplayPreference as PaymentMethodConfigurationCreateParamsSwishDisplayPreference, PaymentMethodConfigurationCreateParamsTwint as PaymentMethodConfigurationCreateParamsTwint, PaymentMethodConfigurationCreateParamsTwintDisplayPreference as PaymentMethodConfigurationCreateParamsTwintDisplayPreference, PaymentMethodConfigurationCreateParamsUsBankAccount as PaymentMethodConfigurationCreateParamsUsBankAccount, PaymentMethodConfigurationCreateParamsUsBankAccountDisplayPreference as PaymentMethodConfigurationCreateParamsUsBankAccountDisplayPreference, PaymentMethodConfigurationCreateParamsWechatPay as PaymentMethodConfigurationCreateParamsWechatPay, PaymentMethodConfigurationCreateParamsWechatPayDisplayPreference as PaymentMethodConfigurationCreateParamsWechatPayDisplayPreference, PaymentMethodConfigurationCreateParamsZip as PaymentMethodConfigurationCreateParamsZip, PaymentMethodConfigurationCreateParamsZipDisplayPreference as PaymentMethodConfigurationCreateParamsZipDisplayPreference, ) from stripe.params._payment_method_configuration_list_params import ( PaymentMethodConfigurationListParams as PaymentMethodConfigurationListParams, ) from stripe.params._payment_method_configuration_modify_params import ( PaymentMethodConfigurationModifyParams as PaymentMethodConfigurationModifyParams, PaymentMethodConfigurationModifyParamsAcssDebit as PaymentMethodConfigurationModifyParamsAcssDebit, PaymentMethodConfigurationModifyParamsAcssDebitDisplayPreference as PaymentMethodConfigurationModifyParamsAcssDebitDisplayPreference, PaymentMethodConfigurationModifyParamsAffirm as PaymentMethodConfigurationModifyParamsAffirm, PaymentMethodConfigurationModifyParamsAffirmDisplayPreference as PaymentMethodConfigurationModifyParamsAffirmDisplayPreference, PaymentMethodConfigurationModifyParamsAfterpayClearpay as PaymentMethodConfigurationModifyParamsAfterpayClearpay, PaymentMethodConfigurationModifyParamsAfterpayClearpayDisplayPreference as PaymentMethodConfigurationModifyParamsAfterpayClearpayDisplayPreference, PaymentMethodConfigurationModifyParamsAlipay as PaymentMethodConfigurationModifyParamsAlipay, PaymentMethodConfigurationModifyParamsAlipayDisplayPreference as PaymentMethodConfigurationModifyParamsAlipayDisplayPreference, PaymentMethodConfigurationModifyParamsAlma as PaymentMethodConfigurationModifyParamsAlma, PaymentMethodConfigurationModifyParamsAlmaDisplayPreference as PaymentMethodConfigurationModifyParamsAlmaDisplayPreference, PaymentMethodConfigurationModifyParamsAmazonPay as PaymentMethodConfigurationModifyParamsAmazonPay, PaymentMethodConfigurationModifyParamsAmazonPayDisplayPreference as PaymentMethodConfigurationModifyParamsAmazonPayDisplayPreference, PaymentMethodConfigurationModifyParamsApplePay as PaymentMethodConfigurationModifyParamsApplePay, PaymentMethodConfigurationModifyParamsApplePayDisplayPreference as PaymentMethodConfigurationModifyParamsApplePayDisplayPreference, PaymentMethodConfigurationModifyParamsApplePayLater as PaymentMethodConfigurationModifyParamsApplePayLater, PaymentMethodConfigurationModifyParamsApplePayLaterDisplayPreference as PaymentMethodConfigurationModifyParamsApplePayLaterDisplayPreference, PaymentMethodConfigurationModifyParamsAuBecsDebit as PaymentMethodConfigurationModifyParamsAuBecsDebit, PaymentMethodConfigurationModifyParamsAuBecsDebitDisplayPreference as PaymentMethodConfigurationModifyParamsAuBecsDebitDisplayPreference, PaymentMethodConfigurationModifyParamsBacsDebit as PaymentMethodConfigurationModifyParamsBacsDebit, PaymentMethodConfigurationModifyParamsBacsDebitDisplayPreference as PaymentMethodConfigurationModifyParamsBacsDebitDisplayPreference, PaymentMethodConfigurationModifyParamsBancontact as PaymentMethodConfigurationModifyParamsBancontact, PaymentMethodConfigurationModifyParamsBancontactDisplayPreference as PaymentMethodConfigurationModifyParamsBancontactDisplayPreference, PaymentMethodConfigurationModifyParamsBillie as PaymentMethodConfigurationModifyParamsBillie, PaymentMethodConfigurationModifyParamsBillieDisplayPreference as PaymentMethodConfigurationModifyParamsBillieDisplayPreference, PaymentMethodConfigurationModifyParamsBlik as PaymentMethodConfigurationModifyParamsBlik, PaymentMethodConfigurationModifyParamsBlikDisplayPreference as PaymentMethodConfigurationModifyParamsBlikDisplayPreference, PaymentMethodConfigurationModifyParamsBoleto as PaymentMethodConfigurationModifyParamsBoleto, PaymentMethodConfigurationModifyParamsBoletoDisplayPreference as PaymentMethodConfigurationModifyParamsBoletoDisplayPreference, PaymentMethodConfigurationModifyParamsCard as PaymentMethodConfigurationModifyParamsCard, PaymentMethodConfigurationModifyParamsCardDisplayPreference as PaymentMethodConfigurationModifyParamsCardDisplayPreference, PaymentMethodConfigurationModifyParamsCartesBancaires as PaymentMethodConfigurationModifyParamsCartesBancaires, PaymentMethodConfigurationModifyParamsCartesBancairesDisplayPreference as PaymentMethodConfigurationModifyParamsCartesBancairesDisplayPreference, PaymentMethodConfigurationModifyParamsCashapp as PaymentMethodConfigurationModifyParamsCashapp, PaymentMethodConfigurationModifyParamsCashappDisplayPreference as PaymentMethodConfigurationModifyParamsCashappDisplayPreference, PaymentMethodConfigurationModifyParamsCrypto as PaymentMethodConfigurationModifyParamsCrypto, PaymentMethodConfigurationModifyParamsCryptoDisplayPreference as PaymentMethodConfigurationModifyParamsCryptoDisplayPreference, PaymentMethodConfigurationModifyParamsCustomerBalance as PaymentMethodConfigurationModifyParamsCustomerBalance, PaymentMethodConfigurationModifyParamsCustomerBalanceDisplayPreference as PaymentMethodConfigurationModifyParamsCustomerBalanceDisplayPreference, PaymentMethodConfigurationModifyParamsEps as PaymentMethodConfigurationModifyParamsEps, PaymentMethodConfigurationModifyParamsEpsDisplayPreference as PaymentMethodConfigurationModifyParamsEpsDisplayPreference, PaymentMethodConfigurationModifyParamsFpx as PaymentMethodConfigurationModifyParamsFpx, PaymentMethodConfigurationModifyParamsFpxDisplayPreference as PaymentMethodConfigurationModifyParamsFpxDisplayPreference, PaymentMethodConfigurationModifyParamsFrMealVoucherConecs as PaymentMethodConfigurationModifyParamsFrMealVoucherConecs, PaymentMethodConfigurationModifyParamsFrMealVoucherConecsDisplayPreference as PaymentMethodConfigurationModifyParamsFrMealVoucherConecsDisplayPreference, PaymentMethodConfigurationModifyParamsGiropay as PaymentMethodConfigurationModifyParamsGiropay, PaymentMethodConfigurationModifyParamsGiropayDisplayPreference as PaymentMethodConfigurationModifyParamsGiropayDisplayPreference, PaymentMethodConfigurationModifyParamsGooglePay as PaymentMethodConfigurationModifyParamsGooglePay, PaymentMethodConfigurationModifyParamsGooglePayDisplayPreference as PaymentMethodConfigurationModifyParamsGooglePayDisplayPreference, PaymentMethodConfigurationModifyParamsGrabpay as PaymentMethodConfigurationModifyParamsGrabpay, PaymentMethodConfigurationModifyParamsGrabpayDisplayPreference as PaymentMethodConfigurationModifyParamsGrabpayDisplayPreference, PaymentMethodConfigurationModifyParamsIdeal as PaymentMethodConfigurationModifyParamsIdeal, PaymentMethodConfigurationModifyParamsIdealDisplayPreference as PaymentMethodConfigurationModifyParamsIdealDisplayPreference, PaymentMethodConfigurationModifyParamsJcb as PaymentMethodConfigurationModifyParamsJcb, PaymentMethodConfigurationModifyParamsJcbDisplayPreference as PaymentMethodConfigurationModifyParamsJcbDisplayPreference, PaymentMethodConfigurationModifyParamsKakaoPay as PaymentMethodConfigurationModifyParamsKakaoPay, PaymentMethodConfigurationModifyParamsKakaoPayDisplayPreference as PaymentMethodConfigurationModifyParamsKakaoPayDisplayPreference, PaymentMethodConfigurationModifyParamsKlarna as PaymentMethodConfigurationModifyParamsKlarna, PaymentMethodConfigurationModifyParamsKlarnaDisplayPreference as PaymentMethodConfigurationModifyParamsKlarnaDisplayPreference, PaymentMethodConfigurationModifyParamsKonbini as PaymentMethodConfigurationModifyParamsKonbini, PaymentMethodConfigurationModifyParamsKonbiniDisplayPreference as PaymentMethodConfigurationModifyParamsKonbiniDisplayPreference, PaymentMethodConfigurationModifyParamsKrCard as PaymentMethodConfigurationModifyParamsKrCard, PaymentMethodConfigurationModifyParamsKrCardDisplayPreference as PaymentMethodConfigurationModifyParamsKrCardDisplayPreference, PaymentMethodConfigurationModifyParamsLink as PaymentMethodConfigurationModifyParamsLink, PaymentMethodConfigurationModifyParamsLinkDisplayPreference as PaymentMethodConfigurationModifyParamsLinkDisplayPreference, PaymentMethodConfigurationModifyParamsMbWay as PaymentMethodConfigurationModifyParamsMbWay, PaymentMethodConfigurationModifyParamsMbWayDisplayPreference as PaymentMethodConfigurationModifyParamsMbWayDisplayPreference, PaymentMethodConfigurationModifyParamsMobilepay as PaymentMethodConfigurationModifyParamsMobilepay, PaymentMethodConfigurationModifyParamsMobilepayDisplayPreference as PaymentMethodConfigurationModifyParamsMobilepayDisplayPreference, PaymentMethodConfigurationModifyParamsMultibanco as PaymentMethodConfigurationModifyParamsMultibanco, PaymentMethodConfigurationModifyParamsMultibancoDisplayPreference as PaymentMethodConfigurationModifyParamsMultibancoDisplayPreference, PaymentMethodConfigurationModifyParamsNaverPay as PaymentMethodConfigurationModifyParamsNaverPay, PaymentMethodConfigurationModifyParamsNaverPayDisplayPreference as PaymentMethodConfigurationModifyParamsNaverPayDisplayPreference, PaymentMethodConfigurationModifyParamsNzBankAccount as PaymentMethodConfigurationModifyParamsNzBankAccount, PaymentMethodConfigurationModifyParamsNzBankAccountDisplayPreference as PaymentMethodConfigurationModifyParamsNzBankAccountDisplayPreference, PaymentMethodConfigurationModifyParamsOxxo as PaymentMethodConfigurationModifyParamsOxxo, PaymentMethodConfigurationModifyParamsOxxoDisplayPreference as PaymentMethodConfigurationModifyParamsOxxoDisplayPreference, PaymentMethodConfigurationModifyParamsP24 as PaymentMethodConfigurationModifyParamsP24, PaymentMethodConfigurationModifyParamsP24DisplayPreference as PaymentMethodConfigurationModifyParamsP24DisplayPreference, PaymentMethodConfigurationModifyParamsPayByBank as PaymentMethodConfigurationModifyParamsPayByBank, PaymentMethodConfigurationModifyParamsPayByBankDisplayPreference as PaymentMethodConfigurationModifyParamsPayByBankDisplayPreference, PaymentMethodConfigurationModifyParamsPayco as PaymentMethodConfigurationModifyParamsPayco, PaymentMethodConfigurationModifyParamsPaycoDisplayPreference as PaymentMethodConfigurationModifyParamsPaycoDisplayPreference, PaymentMethodConfigurationModifyParamsPaynow as PaymentMethodConfigurationModifyParamsPaynow, PaymentMethodConfigurationModifyParamsPaynowDisplayPreference as PaymentMethodConfigurationModifyParamsPaynowDisplayPreference, PaymentMethodConfigurationModifyParamsPaypal as PaymentMethodConfigurationModifyParamsPaypal, PaymentMethodConfigurationModifyParamsPaypalDisplayPreference as PaymentMethodConfigurationModifyParamsPaypalDisplayPreference, PaymentMethodConfigurationModifyParamsPix as PaymentMethodConfigurationModifyParamsPix, PaymentMethodConfigurationModifyParamsPixDisplayPreference as PaymentMethodConfigurationModifyParamsPixDisplayPreference, PaymentMethodConfigurationModifyParamsPromptpay as PaymentMethodConfigurationModifyParamsPromptpay, PaymentMethodConfigurationModifyParamsPromptpayDisplayPreference as PaymentMethodConfigurationModifyParamsPromptpayDisplayPreference, PaymentMethodConfigurationModifyParamsRevolutPay as PaymentMethodConfigurationModifyParamsRevolutPay, PaymentMethodConfigurationModifyParamsRevolutPayDisplayPreference as PaymentMethodConfigurationModifyParamsRevolutPayDisplayPreference, PaymentMethodConfigurationModifyParamsSamsungPay as PaymentMethodConfigurationModifyParamsSamsungPay, PaymentMethodConfigurationModifyParamsSamsungPayDisplayPreference as PaymentMethodConfigurationModifyParamsSamsungPayDisplayPreference, PaymentMethodConfigurationModifyParamsSatispay as PaymentMethodConfigurationModifyParamsSatispay, PaymentMethodConfigurationModifyParamsSatispayDisplayPreference as PaymentMethodConfigurationModifyParamsSatispayDisplayPreference, PaymentMethodConfigurationModifyParamsSepaDebit as PaymentMethodConfigurationModifyParamsSepaDebit, PaymentMethodConfigurationModifyParamsSepaDebitDisplayPreference as PaymentMethodConfigurationModifyParamsSepaDebitDisplayPreference, PaymentMethodConfigurationModifyParamsSofort as PaymentMethodConfigurationModifyParamsSofort, PaymentMethodConfigurationModifyParamsSofortDisplayPreference as PaymentMethodConfigurationModifyParamsSofortDisplayPreference, PaymentMethodConfigurationModifyParamsSwish as PaymentMethodConfigurationModifyParamsSwish, PaymentMethodConfigurationModifyParamsSwishDisplayPreference as PaymentMethodConfigurationModifyParamsSwishDisplayPreference, PaymentMethodConfigurationModifyParamsTwint as PaymentMethodConfigurationModifyParamsTwint, PaymentMethodConfigurationModifyParamsTwintDisplayPreference as PaymentMethodConfigurationModifyParamsTwintDisplayPreference, PaymentMethodConfigurationModifyParamsUsBankAccount as PaymentMethodConfigurationModifyParamsUsBankAccount, PaymentMethodConfigurationModifyParamsUsBankAccountDisplayPreference as PaymentMethodConfigurationModifyParamsUsBankAccountDisplayPreference, PaymentMethodConfigurationModifyParamsWechatPay as PaymentMethodConfigurationModifyParamsWechatPay, PaymentMethodConfigurationModifyParamsWechatPayDisplayPreference as PaymentMethodConfigurationModifyParamsWechatPayDisplayPreference, PaymentMethodConfigurationModifyParamsZip as PaymentMethodConfigurationModifyParamsZip, PaymentMethodConfigurationModifyParamsZipDisplayPreference as PaymentMethodConfigurationModifyParamsZipDisplayPreference, ) from stripe.params._payment_method_configuration_retrieve_params import ( PaymentMethodConfigurationRetrieveParams as PaymentMethodConfigurationRetrieveParams, ) from stripe.params._payment_method_configuration_update_params import ( PaymentMethodConfigurationUpdateParams as PaymentMethodConfigurationUpdateParams, PaymentMethodConfigurationUpdateParamsAcssDebit as PaymentMethodConfigurationUpdateParamsAcssDebit, PaymentMethodConfigurationUpdateParamsAcssDebitDisplayPreference as PaymentMethodConfigurationUpdateParamsAcssDebitDisplayPreference, PaymentMethodConfigurationUpdateParamsAffirm as PaymentMethodConfigurationUpdateParamsAffirm, PaymentMethodConfigurationUpdateParamsAffirmDisplayPreference as PaymentMethodConfigurationUpdateParamsAffirmDisplayPreference, PaymentMethodConfigurationUpdateParamsAfterpayClearpay as PaymentMethodConfigurationUpdateParamsAfterpayClearpay, PaymentMethodConfigurationUpdateParamsAfterpayClearpayDisplayPreference as PaymentMethodConfigurationUpdateParamsAfterpayClearpayDisplayPreference, PaymentMethodConfigurationUpdateParamsAlipay as PaymentMethodConfigurationUpdateParamsAlipay, PaymentMethodConfigurationUpdateParamsAlipayDisplayPreference as PaymentMethodConfigurationUpdateParamsAlipayDisplayPreference, PaymentMethodConfigurationUpdateParamsAlma as PaymentMethodConfigurationUpdateParamsAlma, PaymentMethodConfigurationUpdateParamsAlmaDisplayPreference as PaymentMethodConfigurationUpdateParamsAlmaDisplayPreference, PaymentMethodConfigurationUpdateParamsAmazonPay as PaymentMethodConfigurationUpdateParamsAmazonPay, PaymentMethodConfigurationUpdateParamsAmazonPayDisplayPreference as PaymentMethodConfigurationUpdateParamsAmazonPayDisplayPreference, PaymentMethodConfigurationUpdateParamsApplePay as PaymentMethodConfigurationUpdateParamsApplePay, PaymentMethodConfigurationUpdateParamsApplePayDisplayPreference as PaymentMethodConfigurationUpdateParamsApplePayDisplayPreference, PaymentMethodConfigurationUpdateParamsApplePayLater as PaymentMethodConfigurationUpdateParamsApplePayLater, PaymentMethodConfigurationUpdateParamsApplePayLaterDisplayPreference as PaymentMethodConfigurationUpdateParamsApplePayLaterDisplayPreference, PaymentMethodConfigurationUpdateParamsAuBecsDebit as PaymentMethodConfigurationUpdateParamsAuBecsDebit, PaymentMethodConfigurationUpdateParamsAuBecsDebitDisplayPreference as PaymentMethodConfigurationUpdateParamsAuBecsDebitDisplayPreference, PaymentMethodConfigurationUpdateParamsBacsDebit as PaymentMethodConfigurationUpdateParamsBacsDebit, PaymentMethodConfigurationUpdateParamsBacsDebitDisplayPreference as PaymentMethodConfigurationUpdateParamsBacsDebitDisplayPreference, PaymentMethodConfigurationUpdateParamsBancontact as PaymentMethodConfigurationUpdateParamsBancontact, PaymentMethodConfigurationUpdateParamsBancontactDisplayPreference as PaymentMethodConfigurationUpdateParamsBancontactDisplayPreference, PaymentMethodConfigurationUpdateParamsBillie as PaymentMethodConfigurationUpdateParamsBillie, PaymentMethodConfigurationUpdateParamsBillieDisplayPreference as PaymentMethodConfigurationUpdateParamsBillieDisplayPreference, PaymentMethodConfigurationUpdateParamsBlik as PaymentMethodConfigurationUpdateParamsBlik, PaymentMethodConfigurationUpdateParamsBlikDisplayPreference as PaymentMethodConfigurationUpdateParamsBlikDisplayPreference, PaymentMethodConfigurationUpdateParamsBoleto as PaymentMethodConfigurationUpdateParamsBoleto, PaymentMethodConfigurationUpdateParamsBoletoDisplayPreference as PaymentMethodConfigurationUpdateParamsBoletoDisplayPreference, PaymentMethodConfigurationUpdateParamsCard as PaymentMethodConfigurationUpdateParamsCard, PaymentMethodConfigurationUpdateParamsCardDisplayPreference as PaymentMethodConfigurationUpdateParamsCardDisplayPreference, PaymentMethodConfigurationUpdateParamsCartesBancaires as PaymentMethodConfigurationUpdateParamsCartesBancaires, PaymentMethodConfigurationUpdateParamsCartesBancairesDisplayPreference as PaymentMethodConfigurationUpdateParamsCartesBancairesDisplayPreference, PaymentMethodConfigurationUpdateParamsCashapp as PaymentMethodConfigurationUpdateParamsCashapp, PaymentMethodConfigurationUpdateParamsCashappDisplayPreference as PaymentMethodConfigurationUpdateParamsCashappDisplayPreference, PaymentMethodConfigurationUpdateParamsCrypto as PaymentMethodConfigurationUpdateParamsCrypto, PaymentMethodConfigurationUpdateParamsCryptoDisplayPreference as PaymentMethodConfigurationUpdateParamsCryptoDisplayPreference, PaymentMethodConfigurationUpdateParamsCustomerBalance as PaymentMethodConfigurationUpdateParamsCustomerBalance, PaymentMethodConfigurationUpdateParamsCustomerBalanceDisplayPreference as PaymentMethodConfigurationUpdateParamsCustomerBalanceDisplayPreference, PaymentMethodConfigurationUpdateParamsEps as PaymentMethodConfigurationUpdateParamsEps, PaymentMethodConfigurationUpdateParamsEpsDisplayPreference as PaymentMethodConfigurationUpdateParamsEpsDisplayPreference, PaymentMethodConfigurationUpdateParamsFpx as PaymentMethodConfigurationUpdateParamsFpx, PaymentMethodConfigurationUpdateParamsFpxDisplayPreference as PaymentMethodConfigurationUpdateParamsFpxDisplayPreference, PaymentMethodConfigurationUpdateParamsFrMealVoucherConecs as PaymentMethodConfigurationUpdateParamsFrMealVoucherConecs, PaymentMethodConfigurationUpdateParamsFrMealVoucherConecsDisplayPreference as PaymentMethodConfigurationUpdateParamsFrMealVoucherConecsDisplayPreference, PaymentMethodConfigurationUpdateParamsGiropay as PaymentMethodConfigurationUpdateParamsGiropay, PaymentMethodConfigurationUpdateParamsGiropayDisplayPreference as PaymentMethodConfigurationUpdateParamsGiropayDisplayPreference, PaymentMethodConfigurationUpdateParamsGooglePay as PaymentMethodConfigurationUpdateParamsGooglePay, PaymentMethodConfigurationUpdateParamsGooglePayDisplayPreference as PaymentMethodConfigurationUpdateParamsGooglePayDisplayPreference, PaymentMethodConfigurationUpdateParamsGrabpay as PaymentMethodConfigurationUpdateParamsGrabpay, PaymentMethodConfigurationUpdateParamsGrabpayDisplayPreference as PaymentMethodConfigurationUpdateParamsGrabpayDisplayPreference, PaymentMethodConfigurationUpdateParamsIdeal as PaymentMethodConfigurationUpdateParamsIdeal, PaymentMethodConfigurationUpdateParamsIdealDisplayPreference as PaymentMethodConfigurationUpdateParamsIdealDisplayPreference, PaymentMethodConfigurationUpdateParamsJcb as PaymentMethodConfigurationUpdateParamsJcb, PaymentMethodConfigurationUpdateParamsJcbDisplayPreference as PaymentMethodConfigurationUpdateParamsJcbDisplayPreference, PaymentMethodConfigurationUpdateParamsKakaoPay as PaymentMethodConfigurationUpdateParamsKakaoPay, PaymentMethodConfigurationUpdateParamsKakaoPayDisplayPreference as PaymentMethodConfigurationUpdateParamsKakaoPayDisplayPreference, PaymentMethodConfigurationUpdateParamsKlarna as PaymentMethodConfigurationUpdateParamsKlarna, PaymentMethodConfigurationUpdateParamsKlarnaDisplayPreference as PaymentMethodConfigurationUpdateParamsKlarnaDisplayPreference, PaymentMethodConfigurationUpdateParamsKonbini as PaymentMethodConfigurationUpdateParamsKonbini, PaymentMethodConfigurationUpdateParamsKonbiniDisplayPreference as PaymentMethodConfigurationUpdateParamsKonbiniDisplayPreference, PaymentMethodConfigurationUpdateParamsKrCard as PaymentMethodConfigurationUpdateParamsKrCard, PaymentMethodConfigurationUpdateParamsKrCardDisplayPreference as PaymentMethodConfigurationUpdateParamsKrCardDisplayPreference, PaymentMethodConfigurationUpdateParamsLink as PaymentMethodConfigurationUpdateParamsLink, PaymentMethodConfigurationUpdateParamsLinkDisplayPreference as PaymentMethodConfigurationUpdateParamsLinkDisplayPreference, PaymentMethodConfigurationUpdateParamsMbWay as PaymentMethodConfigurationUpdateParamsMbWay, PaymentMethodConfigurationUpdateParamsMbWayDisplayPreference as PaymentMethodConfigurationUpdateParamsMbWayDisplayPreference, PaymentMethodConfigurationUpdateParamsMobilepay as PaymentMethodConfigurationUpdateParamsMobilepay, PaymentMethodConfigurationUpdateParamsMobilepayDisplayPreference as PaymentMethodConfigurationUpdateParamsMobilepayDisplayPreference, PaymentMethodConfigurationUpdateParamsMultibanco as PaymentMethodConfigurationUpdateParamsMultibanco, PaymentMethodConfigurationUpdateParamsMultibancoDisplayPreference as PaymentMethodConfigurationUpdateParamsMultibancoDisplayPreference, PaymentMethodConfigurationUpdateParamsNaverPay as PaymentMethodConfigurationUpdateParamsNaverPay, PaymentMethodConfigurationUpdateParamsNaverPayDisplayPreference as PaymentMethodConfigurationUpdateParamsNaverPayDisplayPreference, PaymentMethodConfigurationUpdateParamsNzBankAccount as PaymentMethodConfigurationUpdateParamsNzBankAccount, PaymentMethodConfigurationUpdateParamsNzBankAccountDisplayPreference as PaymentMethodConfigurationUpdateParamsNzBankAccountDisplayPreference, PaymentMethodConfigurationUpdateParamsOxxo as PaymentMethodConfigurationUpdateParamsOxxo, PaymentMethodConfigurationUpdateParamsOxxoDisplayPreference as PaymentMethodConfigurationUpdateParamsOxxoDisplayPreference, PaymentMethodConfigurationUpdateParamsP24 as PaymentMethodConfigurationUpdateParamsP24, PaymentMethodConfigurationUpdateParamsP24DisplayPreference as PaymentMethodConfigurationUpdateParamsP24DisplayPreference, PaymentMethodConfigurationUpdateParamsPayByBank as PaymentMethodConfigurationUpdateParamsPayByBank, PaymentMethodConfigurationUpdateParamsPayByBankDisplayPreference as PaymentMethodConfigurationUpdateParamsPayByBankDisplayPreference, PaymentMethodConfigurationUpdateParamsPayco as PaymentMethodConfigurationUpdateParamsPayco, PaymentMethodConfigurationUpdateParamsPaycoDisplayPreference as PaymentMethodConfigurationUpdateParamsPaycoDisplayPreference, PaymentMethodConfigurationUpdateParamsPaynow as PaymentMethodConfigurationUpdateParamsPaynow, PaymentMethodConfigurationUpdateParamsPaynowDisplayPreference as PaymentMethodConfigurationUpdateParamsPaynowDisplayPreference, PaymentMethodConfigurationUpdateParamsPaypal as PaymentMethodConfigurationUpdateParamsPaypal, PaymentMethodConfigurationUpdateParamsPaypalDisplayPreference as PaymentMethodConfigurationUpdateParamsPaypalDisplayPreference, PaymentMethodConfigurationUpdateParamsPix as PaymentMethodConfigurationUpdateParamsPix, PaymentMethodConfigurationUpdateParamsPixDisplayPreference as PaymentMethodConfigurationUpdateParamsPixDisplayPreference, PaymentMethodConfigurationUpdateParamsPromptpay as PaymentMethodConfigurationUpdateParamsPromptpay, PaymentMethodConfigurationUpdateParamsPromptpayDisplayPreference as PaymentMethodConfigurationUpdateParamsPromptpayDisplayPreference, PaymentMethodConfigurationUpdateParamsRevolutPay as PaymentMethodConfigurationUpdateParamsRevolutPay, PaymentMethodConfigurationUpdateParamsRevolutPayDisplayPreference as PaymentMethodConfigurationUpdateParamsRevolutPayDisplayPreference, PaymentMethodConfigurationUpdateParamsSamsungPay as PaymentMethodConfigurationUpdateParamsSamsungPay, PaymentMethodConfigurationUpdateParamsSamsungPayDisplayPreference as PaymentMethodConfigurationUpdateParamsSamsungPayDisplayPreference, PaymentMethodConfigurationUpdateParamsSatispay as PaymentMethodConfigurationUpdateParamsSatispay, PaymentMethodConfigurationUpdateParamsSatispayDisplayPreference as PaymentMethodConfigurationUpdateParamsSatispayDisplayPreference, PaymentMethodConfigurationUpdateParamsSepaDebit as PaymentMethodConfigurationUpdateParamsSepaDebit, PaymentMethodConfigurationUpdateParamsSepaDebitDisplayPreference as PaymentMethodConfigurationUpdateParamsSepaDebitDisplayPreference, PaymentMethodConfigurationUpdateParamsSofort as PaymentMethodConfigurationUpdateParamsSofort, PaymentMethodConfigurationUpdateParamsSofortDisplayPreference as PaymentMethodConfigurationUpdateParamsSofortDisplayPreference, PaymentMethodConfigurationUpdateParamsSwish as PaymentMethodConfigurationUpdateParamsSwish, PaymentMethodConfigurationUpdateParamsSwishDisplayPreference as PaymentMethodConfigurationUpdateParamsSwishDisplayPreference, PaymentMethodConfigurationUpdateParamsTwint as PaymentMethodConfigurationUpdateParamsTwint, PaymentMethodConfigurationUpdateParamsTwintDisplayPreference as PaymentMethodConfigurationUpdateParamsTwintDisplayPreference, PaymentMethodConfigurationUpdateParamsUsBankAccount as PaymentMethodConfigurationUpdateParamsUsBankAccount, PaymentMethodConfigurationUpdateParamsUsBankAccountDisplayPreference as PaymentMethodConfigurationUpdateParamsUsBankAccountDisplayPreference, PaymentMethodConfigurationUpdateParamsWechatPay as PaymentMethodConfigurationUpdateParamsWechatPay, PaymentMethodConfigurationUpdateParamsWechatPayDisplayPreference as PaymentMethodConfigurationUpdateParamsWechatPayDisplayPreference, PaymentMethodConfigurationUpdateParamsZip as PaymentMethodConfigurationUpdateParamsZip, PaymentMethodConfigurationUpdateParamsZipDisplayPreference as PaymentMethodConfigurationUpdateParamsZipDisplayPreference, ) from stripe.params._payment_method_create_params import ( PaymentMethodCreateParams as PaymentMethodCreateParams, PaymentMethodCreateParamsAcssDebit as PaymentMethodCreateParamsAcssDebit, PaymentMethodCreateParamsAffirm as PaymentMethodCreateParamsAffirm, PaymentMethodCreateParamsAfterpayClearpay as PaymentMethodCreateParamsAfterpayClearpay, PaymentMethodCreateParamsAlipay as PaymentMethodCreateParamsAlipay, PaymentMethodCreateParamsAlma as PaymentMethodCreateParamsAlma, PaymentMethodCreateParamsAmazonPay as PaymentMethodCreateParamsAmazonPay, PaymentMethodCreateParamsAuBecsDebit as PaymentMethodCreateParamsAuBecsDebit, PaymentMethodCreateParamsBacsDebit as PaymentMethodCreateParamsBacsDebit, PaymentMethodCreateParamsBancontact as PaymentMethodCreateParamsBancontact, PaymentMethodCreateParamsBillie as PaymentMethodCreateParamsBillie, PaymentMethodCreateParamsBillingDetails as PaymentMethodCreateParamsBillingDetails, PaymentMethodCreateParamsBillingDetailsAddress as PaymentMethodCreateParamsBillingDetailsAddress, PaymentMethodCreateParamsBlik as PaymentMethodCreateParamsBlik, PaymentMethodCreateParamsBoleto as PaymentMethodCreateParamsBoleto, PaymentMethodCreateParamsCard as PaymentMethodCreateParamsCard, PaymentMethodCreateParamsCardNetworks as PaymentMethodCreateParamsCardNetworks, PaymentMethodCreateParamsCashapp as PaymentMethodCreateParamsCashapp, PaymentMethodCreateParamsCrypto as PaymentMethodCreateParamsCrypto, PaymentMethodCreateParamsCustom as PaymentMethodCreateParamsCustom, PaymentMethodCreateParamsCustomerBalance as PaymentMethodCreateParamsCustomerBalance, PaymentMethodCreateParamsEps as PaymentMethodCreateParamsEps, PaymentMethodCreateParamsFpx as PaymentMethodCreateParamsFpx, PaymentMethodCreateParamsGiropay as PaymentMethodCreateParamsGiropay, PaymentMethodCreateParamsGrabpay as PaymentMethodCreateParamsGrabpay, PaymentMethodCreateParamsIdeal as PaymentMethodCreateParamsIdeal, PaymentMethodCreateParamsInteracPresent as PaymentMethodCreateParamsInteracPresent, PaymentMethodCreateParamsKakaoPay as PaymentMethodCreateParamsKakaoPay, PaymentMethodCreateParamsKlarna as PaymentMethodCreateParamsKlarna, PaymentMethodCreateParamsKlarnaDob as PaymentMethodCreateParamsKlarnaDob, PaymentMethodCreateParamsKonbini as PaymentMethodCreateParamsKonbini, PaymentMethodCreateParamsKrCard as PaymentMethodCreateParamsKrCard, PaymentMethodCreateParamsLink as PaymentMethodCreateParamsLink, PaymentMethodCreateParamsMbWay as PaymentMethodCreateParamsMbWay, PaymentMethodCreateParamsMobilepay as PaymentMethodCreateParamsMobilepay, PaymentMethodCreateParamsMultibanco as PaymentMethodCreateParamsMultibanco, PaymentMethodCreateParamsNaverPay as PaymentMethodCreateParamsNaverPay, PaymentMethodCreateParamsNzBankAccount as PaymentMethodCreateParamsNzBankAccount, PaymentMethodCreateParamsOxxo as PaymentMethodCreateParamsOxxo, PaymentMethodCreateParamsP24 as PaymentMethodCreateParamsP24, PaymentMethodCreateParamsPayByBank as PaymentMethodCreateParamsPayByBank, PaymentMethodCreateParamsPayco as PaymentMethodCreateParamsPayco, PaymentMethodCreateParamsPaynow as PaymentMethodCreateParamsPaynow, PaymentMethodCreateParamsPaypal as PaymentMethodCreateParamsPaypal, PaymentMethodCreateParamsPix as PaymentMethodCreateParamsPix, PaymentMethodCreateParamsPromptpay as PaymentMethodCreateParamsPromptpay, PaymentMethodCreateParamsRadarOptions as PaymentMethodCreateParamsRadarOptions, PaymentMethodCreateParamsRevolutPay as PaymentMethodCreateParamsRevolutPay, PaymentMethodCreateParamsSamsungPay as PaymentMethodCreateParamsSamsungPay, PaymentMethodCreateParamsSatispay as PaymentMethodCreateParamsSatispay, PaymentMethodCreateParamsSepaDebit as PaymentMethodCreateParamsSepaDebit, PaymentMethodCreateParamsSofort as PaymentMethodCreateParamsSofort, PaymentMethodCreateParamsSwish as PaymentMethodCreateParamsSwish, PaymentMethodCreateParamsTwint as PaymentMethodCreateParamsTwint, PaymentMethodCreateParamsUsBankAccount as PaymentMethodCreateParamsUsBankAccount, PaymentMethodCreateParamsWechatPay as PaymentMethodCreateParamsWechatPay, PaymentMethodCreateParamsZip as PaymentMethodCreateParamsZip, ) from stripe.params._payment_method_detach_params import ( PaymentMethodDetachParams as PaymentMethodDetachParams, ) from stripe.params._payment_method_domain_create_params import ( PaymentMethodDomainCreateParams as PaymentMethodDomainCreateParams, ) from stripe.params._payment_method_domain_list_params import ( PaymentMethodDomainListParams as PaymentMethodDomainListParams, ) from stripe.params._payment_method_domain_modify_params import ( PaymentMethodDomainModifyParams as PaymentMethodDomainModifyParams, ) from stripe.params._payment_method_domain_retrieve_params import ( PaymentMethodDomainRetrieveParams as PaymentMethodDomainRetrieveParams, ) from stripe.params._payment_method_domain_update_params import ( PaymentMethodDomainUpdateParams as PaymentMethodDomainUpdateParams, ) from stripe.params._payment_method_domain_validate_params import ( PaymentMethodDomainValidateParams as PaymentMethodDomainValidateParams, ) from stripe.params._payment_method_list_params import ( PaymentMethodListParams as PaymentMethodListParams, ) from stripe.params._payment_method_modify_params import ( PaymentMethodModifyParams as PaymentMethodModifyParams, PaymentMethodModifyParamsBillingDetails as PaymentMethodModifyParamsBillingDetails, PaymentMethodModifyParamsBillingDetailsAddress as PaymentMethodModifyParamsBillingDetailsAddress, PaymentMethodModifyParamsCard as PaymentMethodModifyParamsCard, PaymentMethodModifyParamsCardNetworks as PaymentMethodModifyParamsCardNetworks, PaymentMethodModifyParamsUsBankAccount as PaymentMethodModifyParamsUsBankAccount, ) from stripe.params._payment_method_retrieve_params import ( PaymentMethodRetrieveParams as PaymentMethodRetrieveParams, ) from stripe.params._payment_method_update_params import ( PaymentMethodUpdateParams as PaymentMethodUpdateParams, PaymentMethodUpdateParamsBillingDetails as PaymentMethodUpdateParamsBillingDetails, PaymentMethodUpdateParamsBillingDetailsAddress as PaymentMethodUpdateParamsBillingDetailsAddress, PaymentMethodUpdateParamsCard as PaymentMethodUpdateParamsCard, PaymentMethodUpdateParamsCardNetworks as PaymentMethodUpdateParamsCardNetworks, PaymentMethodUpdateParamsUsBankAccount as PaymentMethodUpdateParamsUsBankAccount, ) from stripe.params._payment_record_report_payment_attempt_canceled_params import ( PaymentRecordReportPaymentAttemptCanceledParams as PaymentRecordReportPaymentAttemptCanceledParams, ) from stripe.params._payment_record_report_payment_attempt_failed_params import ( PaymentRecordReportPaymentAttemptFailedParams as PaymentRecordReportPaymentAttemptFailedParams, ) from stripe.params._payment_record_report_payment_attempt_guaranteed_params import ( PaymentRecordReportPaymentAttemptGuaranteedParams as PaymentRecordReportPaymentAttemptGuaranteedParams, ) from stripe.params._payment_record_report_payment_attempt_informational_params import ( PaymentRecordReportPaymentAttemptInformationalParams as PaymentRecordReportPaymentAttemptInformationalParams, PaymentRecordReportPaymentAttemptInformationalParamsCustomerDetails as PaymentRecordReportPaymentAttemptInformationalParamsCustomerDetails, PaymentRecordReportPaymentAttemptInformationalParamsShippingDetails as PaymentRecordReportPaymentAttemptInformationalParamsShippingDetails, PaymentRecordReportPaymentAttemptInformationalParamsShippingDetailsAddress as PaymentRecordReportPaymentAttemptInformationalParamsShippingDetailsAddress, ) from stripe.params._payment_record_report_payment_attempt_params import ( PaymentRecordReportPaymentAttemptParams as PaymentRecordReportPaymentAttemptParams, PaymentRecordReportPaymentAttemptParamsFailed as PaymentRecordReportPaymentAttemptParamsFailed, PaymentRecordReportPaymentAttemptParamsGuaranteed as PaymentRecordReportPaymentAttemptParamsGuaranteed, PaymentRecordReportPaymentAttemptParamsPaymentMethodDetails as PaymentRecordReportPaymentAttemptParamsPaymentMethodDetails, PaymentRecordReportPaymentAttemptParamsPaymentMethodDetailsBillingDetails as PaymentRecordReportPaymentAttemptParamsPaymentMethodDetailsBillingDetails, PaymentRecordReportPaymentAttemptParamsPaymentMethodDetailsBillingDetailsAddress as PaymentRecordReportPaymentAttemptParamsPaymentMethodDetailsBillingDetailsAddress, PaymentRecordReportPaymentAttemptParamsPaymentMethodDetailsCustom as PaymentRecordReportPaymentAttemptParamsPaymentMethodDetailsCustom, PaymentRecordReportPaymentAttemptParamsShippingDetails as PaymentRecordReportPaymentAttemptParamsShippingDetails, PaymentRecordReportPaymentAttemptParamsShippingDetailsAddress as PaymentRecordReportPaymentAttemptParamsShippingDetailsAddress, ) from stripe.params._payment_record_report_payment_params import ( PaymentRecordReportPaymentParams as PaymentRecordReportPaymentParams, PaymentRecordReportPaymentParamsAmountRequested as PaymentRecordReportPaymentParamsAmountRequested, PaymentRecordReportPaymentParamsCustomerDetails as PaymentRecordReportPaymentParamsCustomerDetails, PaymentRecordReportPaymentParamsFailed as PaymentRecordReportPaymentParamsFailed, PaymentRecordReportPaymentParamsGuaranteed as PaymentRecordReportPaymentParamsGuaranteed, PaymentRecordReportPaymentParamsPaymentMethodDetails as PaymentRecordReportPaymentParamsPaymentMethodDetails, PaymentRecordReportPaymentParamsPaymentMethodDetailsBillingDetails as PaymentRecordReportPaymentParamsPaymentMethodDetailsBillingDetails, PaymentRecordReportPaymentParamsPaymentMethodDetailsBillingDetailsAddress as PaymentRecordReportPaymentParamsPaymentMethodDetailsBillingDetailsAddress, PaymentRecordReportPaymentParamsPaymentMethodDetailsCustom as PaymentRecordReportPaymentParamsPaymentMethodDetailsCustom, PaymentRecordReportPaymentParamsProcessorDetails as PaymentRecordReportPaymentParamsProcessorDetails, PaymentRecordReportPaymentParamsProcessorDetailsCustom as PaymentRecordReportPaymentParamsProcessorDetailsCustom, PaymentRecordReportPaymentParamsShippingDetails as PaymentRecordReportPaymentParamsShippingDetails, PaymentRecordReportPaymentParamsShippingDetailsAddress as PaymentRecordReportPaymentParamsShippingDetailsAddress, ) from stripe.params._payment_record_report_refund_params import ( PaymentRecordReportRefundParams as PaymentRecordReportRefundParams, PaymentRecordReportRefundParamsAmount as PaymentRecordReportRefundParamsAmount, PaymentRecordReportRefundParamsProcessorDetails as PaymentRecordReportRefundParamsProcessorDetails, PaymentRecordReportRefundParamsProcessorDetailsCustom as PaymentRecordReportRefundParamsProcessorDetailsCustom, PaymentRecordReportRefundParamsRefunded as PaymentRecordReportRefundParamsRefunded, ) from stripe.params._payment_record_retrieve_params import ( PaymentRecordRetrieveParams as PaymentRecordRetrieveParams, ) from stripe.params._payout_cancel_params import ( PayoutCancelParams as PayoutCancelParams, ) from stripe.params._payout_create_params import ( PayoutCreateParams as PayoutCreateParams, ) from stripe.params._payout_list_params import ( PayoutListParams as PayoutListParams, PayoutListParamsArrivalDate as PayoutListParamsArrivalDate, PayoutListParamsCreated as PayoutListParamsCreated, ) from stripe.params._payout_modify_params import ( PayoutModifyParams as PayoutModifyParams, ) from stripe.params._payout_retrieve_params import ( PayoutRetrieveParams as PayoutRetrieveParams, ) from stripe.params._payout_reverse_params import ( PayoutReverseParams as PayoutReverseParams, ) from stripe.params._payout_update_params import ( PayoutUpdateParams as PayoutUpdateParams, ) from stripe.params._plan_create_params import ( PlanCreateParams as PlanCreateParams, PlanCreateParamsProduct as PlanCreateParamsProduct, PlanCreateParamsTier as PlanCreateParamsTier, PlanCreateParamsTransformUsage as PlanCreateParamsTransformUsage, ) from stripe.params._plan_delete_params import ( PlanDeleteParams as PlanDeleteParams, ) from stripe.params._plan_list_params import ( PlanListParams as PlanListParams, PlanListParamsCreated as PlanListParamsCreated, ) from stripe.params._plan_modify_params import ( PlanModifyParams as PlanModifyParams, ) from stripe.params._plan_retrieve_params import ( PlanRetrieveParams as PlanRetrieveParams, ) from stripe.params._plan_update_params import ( PlanUpdateParams as PlanUpdateParams, ) from stripe.params._price_create_params import ( PriceCreateParams as PriceCreateParams, PriceCreateParamsCurrencyOptions as PriceCreateParamsCurrencyOptions, PriceCreateParamsCurrencyOptionsCustomUnitAmount as PriceCreateParamsCurrencyOptionsCustomUnitAmount, PriceCreateParamsCurrencyOptionsTier as PriceCreateParamsCurrencyOptionsTier, PriceCreateParamsCustomUnitAmount as PriceCreateParamsCustomUnitAmount, PriceCreateParamsProductData as PriceCreateParamsProductData, PriceCreateParamsRecurring as PriceCreateParamsRecurring, PriceCreateParamsTier as PriceCreateParamsTier, PriceCreateParamsTransformQuantity as PriceCreateParamsTransformQuantity, ) from stripe.params._price_list_params import ( PriceListParams as PriceListParams, PriceListParamsCreated as PriceListParamsCreated, PriceListParamsRecurring as PriceListParamsRecurring, ) from stripe.params._price_modify_params import ( PriceModifyParams as PriceModifyParams, PriceModifyParamsCurrencyOptions as PriceModifyParamsCurrencyOptions, PriceModifyParamsCurrencyOptionsCustomUnitAmount as PriceModifyParamsCurrencyOptionsCustomUnitAmount, PriceModifyParamsCurrencyOptionsTier as PriceModifyParamsCurrencyOptionsTier, ) from stripe.params._price_retrieve_params import ( PriceRetrieveParams as PriceRetrieveParams, ) from stripe.params._price_search_params import ( PriceSearchParams as PriceSearchParams, ) from stripe.params._price_update_params import ( PriceUpdateParams as PriceUpdateParams, PriceUpdateParamsCurrencyOptions as PriceUpdateParamsCurrencyOptions, PriceUpdateParamsCurrencyOptionsCustomUnitAmount as PriceUpdateParamsCurrencyOptionsCustomUnitAmount, PriceUpdateParamsCurrencyOptionsTier as PriceUpdateParamsCurrencyOptionsTier, ) from stripe.params._product_create_feature_params import ( ProductCreateFeatureParams as ProductCreateFeatureParams, ) from stripe.params._product_create_params import ( ProductCreateParams as ProductCreateParams, ProductCreateParamsDefaultPriceData as ProductCreateParamsDefaultPriceData, ProductCreateParamsDefaultPriceDataCurrencyOptions as ProductCreateParamsDefaultPriceDataCurrencyOptions, ProductCreateParamsDefaultPriceDataCurrencyOptionsCustomUnitAmount as ProductCreateParamsDefaultPriceDataCurrencyOptionsCustomUnitAmount, ProductCreateParamsDefaultPriceDataCurrencyOptionsTier as ProductCreateParamsDefaultPriceDataCurrencyOptionsTier, ProductCreateParamsDefaultPriceDataCustomUnitAmount as ProductCreateParamsDefaultPriceDataCustomUnitAmount, ProductCreateParamsDefaultPriceDataRecurring as ProductCreateParamsDefaultPriceDataRecurring, ProductCreateParamsMarketingFeature as ProductCreateParamsMarketingFeature, ProductCreateParamsPackageDimensions as ProductCreateParamsPackageDimensions, ) from stripe.params._product_delete_feature_params import ( ProductDeleteFeatureParams as ProductDeleteFeatureParams, ) from stripe.params._product_delete_params import ( ProductDeleteParams as ProductDeleteParams, ) from stripe.params._product_feature_create_params import ( ProductFeatureCreateParams as ProductFeatureCreateParams, ) from stripe.params._product_feature_delete_params import ( ProductFeatureDeleteParams as ProductFeatureDeleteParams, ) from stripe.params._product_feature_list_params import ( ProductFeatureListParams as ProductFeatureListParams, ) from stripe.params._product_feature_retrieve_params import ( ProductFeatureRetrieveParams as ProductFeatureRetrieveParams, ) from stripe.params._product_list_features_params import ( ProductListFeaturesParams as ProductListFeaturesParams, ) from stripe.params._product_list_params import ( ProductListParams as ProductListParams, ProductListParamsCreated as ProductListParamsCreated, ) from stripe.params._product_modify_params import ( ProductModifyParams as ProductModifyParams, ProductModifyParamsMarketingFeature as ProductModifyParamsMarketingFeature, ProductModifyParamsPackageDimensions as ProductModifyParamsPackageDimensions, ) from stripe.params._product_retrieve_feature_params import ( ProductRetrieveFeatureParams as ProductRetrieveFeatureParams, ) from stripe.params._product_retrieve_params import ( ProductRetrieveParams as ProductRetrieveParams, ) from stripe.params._product_search_params import ( ProductSearchParams as ProductSearchParams, ) from stripe.params._product_update_params import ( ProductUpdateParams as ProductUpdateParams, ProductUpdateParamsMarketingFeature as ProductUpdateParamsMarketingFeature, ProductUpdateParamsPackageDimensions as ProductUpdateParamsPackageDimensions, ) from stripe.params._promotion_code_create_params import ( PromotionCodeCreateParams as PromotionCodeCreateParams, PromotionCodeCreateParamsPromotion as PromotionCodeCreateParamsPromotion, PromotionCodeCreateParamsRestrictions as PromotionCodeCreateParamsRestrictions, PromotionCodeCreateParamsRestrictionsCurrencyOptions as PromotionCodeCreateParamsRestrictionsCurrencyOptions, ) from stripe.params._promotion_code_list_params import ( PromotionCodeListParams as PromotionCodeListParams, PromotionCodeListParamsCreated as PromotionCodeListParamsCreated, ) from stripe.params._promotion_code_modify_params import ( PromotionCodeModifyParams as PromotionCodeModifyParams, PromotionCodeModifyParamsRestrictions as PromotionCodeModifyParamsRestrictions, PromotionCodeModifyParamsRestrictionsCurrencyOptions as PromotionCodeModifyParamsRestrictionsCurrencyOptions, ) from stripe.params._promotion_code_retrieve_params import ( PromotionCodeRetrieveParams as PromotionCodeRetrieveParams, ) from stripe.params._promotion_code_update_params import ( PromotionCodeUpdateParams as PromotionCodeUpdateParams, PromotionCodeUpdateParamsRestrictions as PromotionCodeUpdateParamsRestrictions, PromotionCodeUpdateParamsRestrictionsCurrencyOptions as PromotionCodeUpdateParamsRestrictionsCurrencyOptions, ) from stripe.params._quote_accept_params import ( QuoteAcceptParams as QuoteAcceptParams, ) from stripe.params._quote_cancel_params import ( QuoteCancelParams as QuoteCancelParams, ) from stripe.params._quote_computed_upfront_line_items_list_params import ( QuoteComputedUpfrontLineItemsListParams as QuoteComputedUpfrontLineItemsListParams, ) from stripe.params._quote_create_params import ( QuoteCreateParams as QuoteCreateParams, QuoteCreateParamsAutomaticTax as QuoteCreateParamsAutomaticTax, QuoteCreateParamsAutomaticTaxLiability as QuoteCreateParamsAutomaticTaxLiability, QuoteCreateParamsDiscount as QuoteCreateParamsDiscount, QuoteCreateParamsFromQuote as QuoteCreateParamsFromQuote, QuoteCreateParamsInvoiceSettings as QuoteCreateParamsInvoiceSettings, QuoteCreateParamsInvoiceSettingsIssuer as QuoteCreateParamsInvoiceSettingsIssuer, QuoteCreateParamsLineItem as QuoteCreateParamsLineItem, QuoteCreateParamsLineItemDiscount as QuoteCreateParamsLineItemDiscount, QuoteCreateParamsLineItemPriceData as QuoteCreateParamsLineItemPriceData, QuoteCreateParamsLineItemPriceDataRecurring as QuoteCreateParamsLineItemPriceDataRecurring, QuoteCreateParamsSubscriptionData as QuoteCreateParamsSubscriptionData, QuoteCreateParamsSubscriptionDataBillingMode as QuoteCreateParamsSubscriptionDataBillingMode, QuoteCreateParamsSubscriptionDataBillingModeFlexible as QuoteCreateParamsSubscriptionDataBillingModeFlexible, QuoteCreateParamsTransferData as QuoteCreateParamsTransferData, ) from stripe.params._quote_finalize_quote_params import ( QuoteFinalizeQuoteParams as QuoteFinalizeQuoteParams, ) from stripe.params._quote_line_item_list_params import ( QuoteLineItemListParams as QuoteLineItemListParams, ) from stripe.params._quote_list_computed_upfront_line_items_params import ( QuoteListComputedUpfrontLineItemsParams as QuoteListComputedUpfrontLineItemsParams, ) from stripe.params._quote_list_line_items_params import ( QuoteListLineItemsParams as QuoteListLineItemsParams, ) from stripe.params._quote_list_params import ( QuoteListParams as QuoteListParams, ) from stripe.params._quote_modify_params import ( QuoteModifyParams as QuoteModifyParams, QuoteModifyParamsAutomaticTax as QuoteModifyParamsAutomaticTax, QuoteModifyParamsAutomaticTaxLiability as QuoteModifyParamsAutomaticTaxLiability, QuoteModifyParamsDiscount as QuoteModifyParamsDiscount, QuoteModifyParamsInvoiceSettings as QuoteModifyParamsInvoiceSettings, QuoteModifyParamsInvoiceSettingsIssuer as QuoteModifyParamsInvoiceSettingsIssuer, QuoteModifyParamsLineItem as QuoteModifyParamsLineItem, QuoteModifyParamsLineItemDiscount as QuoteModifyParamsLineItemDiscount, QuoteModifyParamsLineItemPriceData as QuoteModifyParamsLineItemPriceData, QuoteModifyParamsLineItemPriceDataRecurring as QuoteModifyParamsLineItemPriceDataRecurring, QuoteModifyParamsSubscriptionData as QuoteModifyParamsSubscriptionData, QuoteModifyParamsTransferData as QuoteModifyParamsTransferData, ) from stripe.params._quote_pdf_params import ( QuotePdfParams as QuotePdfParams, ) from stripe.params._quote_retrieve_params import ( QuoteRetrieveParams as QuoteRetrieveParams, ) from stripe.params._quote_update_params import ( QuoteUpdateParams as QuoteUpdateParams, QuoteUpdateParamsAutomaticTax as QuoteUpdateParamsAutomaticTax, QuoteUpdateParamsAutomaticTaxLiability as QuoteUpdateParamsAutomaticTaxLiability, QuoteUpdateParamsDiscount as QuoteUpdateParamsDiscount, QuoteUpdateParamsInvoiceSettings as QuoteUpdateParamsInvoiceSettings, QuoteUpdateParamsInvoiceSettingsIssuer as QuoteUpdateParamsInvoiceSettingsIssuer, QuoteUpdateParamsLineItem as QuoteUpdateParamsLineItem, QuoteUpdateParamsLineItemDiscount as QuoteUpdateParamsLineItemDiscount, QuoteUpdateParamsLineItemPriceData as QuoteUpdateParamsLineItemPriceData, QuoteUpdateParamsLineItemPriceDataRecurring as QuoteUpdateParamsLineItemPriceDataRecurring, QuoteUpdateParamsSubscriptionData as QuoteUpdateParamsSubscriptionData, QuoteUpdateParamsTransferData as QuoteUpdateParamsTransferData, ) from stripe.params._refund_cancel_params import ( RefundCancelParams as RefundCancelParams, ) from stripe.params._refund_create_params import ( RefundCreateParams as RefundCreateParams, ) from stripe.params._refund_expire_params import ( RefundExpireParams as RefundExpireParams, ) from stripe.params._refund_list_params import ( RefundListParams as RefundListParams, RefundListParamsCreated as RefundListParamsCreated, ) from stripe.params._refund_modify_params import ( RefundModifyParams as RefundModifyParams, ) from stripe.params._refund_retrieve_params import ( RefundRetrieveParams as RefundRetrieveParams, ) from stripe.params._refund_update_params import ( RefundUpdateParams as RefundUpdateParams, ) from stripe.params._review_approve_params import ( ReviewApproveParams as ReviewApproveParams, ) from stripe.params._review_list_params import ( ReviewListParams as ReviewListParams, ReviewListParamsCreated as ReviewListParamsCreated, ) from stripe.params._review_retrieve_params import ( ReviewRetrieveParams as ReviewRetrieveParams, ) from stripe.params._setup_attempt_list_params import ( SetupAttemptListParams as SetupAttemptListParams, SetupAttemptListParamsCreated as SetupAttemptListParamsCreated, ) from stripe.params._setup_intent_cancel_params import ( SetupIntentCancelParams as SetupIntentCancelParams, ) from stripe.params._setup_intent_confirm_params import ( SetupIntentConfirmParams as SetupIntentConfirmParams, SetupIntentConfirmParamsMandateData as SetupIntentConfirmParamsMandateData, SetupIntentConfirmParamsMandateDataCustomerAcceptance as SetupIntentConfirmParamsMandateDataCustomerAcceptance, SetupIntentConfirmParamsMandateDataCustomerAcceptanceOffline as SetupIntentConfirmParamsMandateDataCustomerAcceptanceOffline, SetupIntentConfirmParamsMandateDataCustomerAcceptanceOnline as SetupIntentConfirmParamsMandateDataCustomerAcceptanceOnline, SetupIntentConfirmParamsPaymentMethodData as SetupIntentConfirmParamsPaymentMethodData, SetupIntentConfirmParamsPaymentMethodDataAcssDebit as SetupIntentConfirmParamsPaymentMethodDataAcssDebit, SetupIntentConfirmParamsPaymentMethodDataAffirm as SetupIntentConfirmParamsPaymentMethodDataAffirm, SetupIntentConfirmParamsPaymentMethodDataAfterpayClearpay as SetupIntentConfirmParamsPaymentMethodDataAfterpayClearpay, SetupIntentConfirmParamsPaymentMethodDataAlipay as SetupIntentConfirmParamsPaymentMethodDataAlipay, SetupIntentConfirmParamsPaymentMethodDataAlma as SetupIntentConfirmParamsPaymentMethodDataAlma, SetupIntentConfirmParamsPaymentMethodDataAmazonPay as SetupIntentConfirmParamsPaymentMethodDataAmazonPay, SetupIntentConfirmParamsPaymentMethodDataAuBecsDebit as SetupIntentConfirmParamsPaymentMethodDataAuBecsDebit, SetupIntentConfirmParamsPaymentMethodDataBacsDebit as SetupIntentConfirmParamsPaymentMethodDataBacsDebit, SetupIntentConfirmParamsPaymentMethodDataBancontact as SetupIntentConfirmParamsPaymentMethodDataBancontact, SetupIntentConfirmParamsPaymentMethodDataBillie as SetupIntentConfirmParamsPaymentMethodDataBillie, SetupIntentConfirmParamsPaymentMethodDataBillingDetails as SetupIntentConfirmParamsPaymentMethodDataBillingDetails, SetupIntentConfirmParamsPaymentMethodDataBillingDetailsAddress as SetupIntentConfirmParamsPaymentMethodDataBillingDetailsAddress, SetupIntentConfirmParamsPaymentMethodDataBlik as SetupIntentConfirmParamsPaymentMethodDataBlik, SetupIntentConfirmParamsPaymentMethodDataBoleto as SetupIntentConfirmParamsPaymentMethodDataBoleto, SetupIntentConfirmParamsPaymentMethodDataCashapp as SetupIntentConfirmParamsPaymentMethodDataCashapp, SetupIntentConfirmParamsPaymentMethodDataCrypto as SetupIntentConfirmParamsPaymentMethodDataCrypto, SetupIntentConfirmParamsPaymentMethodDataCustomerBalance as SetupIntentConfirmParamsPaymentMethodDataCustomerBalance, SetupIntentConfirmParamsPaymentMethodDataEps as SetupIntentConfirmParamsPaymentMethodDataEps, SetupIntentConfirmParamsPaymentMethodDataFpx as SetupIntentConfirmParamsPaymentMethodDataFpx, SetupIntentConfirmParamsPaymentMethodDataGiropay as SetupIntentConfirmParamsPaymentMethodDataGiropay, SetupIntentConfirmParamsPaymentMethodDataGrabpay as SetupIntentConfirmParamsPaymentMethodDataGrabpay, SetupIntentConfirmParamsPaymentMethodDataIdeal as SetupIntentConfirmParamsPaymentMethodDataIdeal, SetupIntentConfirmParamsPaymentMethodDataInteracPresent as SetupIntentConfirmParamsPaymentMethodDataInteracPresent, SetupIntentConfirmParamsPaymentMethodDataKakaoPay as SetupIntentConfirmParamsPaymentMethodDataKakaoPay, SetupIntentConfirmParamsPaymentMethodDataKlarna as SetupIntentConfirmParamsPaymentMethodDataKlarna, SetupIntentConfirmParamsPaymentMethodDataKlarnaDob as SetupIntentConfirmParamsPaymentMethodDataKlarnaDob, SetupIntentConfirmParamsPaymentMethodDataKonbini as SetupIntentConfirmParamsPaymentMethodDataKonbini, SetupIntentConfirmParamsPaymentMethodDataKrCard as SetupIntentConfirmParamsPaymentMethodDataKrCard, SetupIntentConfirmParamsPaymentMethodDataLink as SetupIntentConfirmParamsPaymentMethodDataLink, SetupIntentConfirmParamsPaymentMethodDataMbWay as SetupIntentConfirmParamsPaymentMethodDataMbWay, SetupIntentConfirmParamsPaymentMethodDataMobilepay as SetupIntentConfirmParamsPaymentMethodDataMobilepay, SetupIntentConfirmParamsPaymentMethodDataMultibanco as SetupIntentConfirmParamsPaymentMethodDataMultibanco, SetupIntentConfirmParamsPaymentMethodDataNaverPay as SetupIntentConfirmParamsPaymentMethodDataNaverPay, SetupIntentConfirmParamsPaymentMethodDataNzBankAccount as SetupIntentConfirmParamsPaymentMethodDataNzBankAccount, SetupIntentConfirmParamsPaymentMethodDataOxxo as SetupIntentConfirmParamsPaymentMethodDataOxxo, SetupIntentConfirmParamsPaymentMethodDataP24 as SetupIntentConfirmParamsPaymentMethodDataP24, SetupIntentConfirmParamsPaymentMethodDataPayByBank as SetupIntentConfirmParamsPaymentMethodDataPayByBank, SetupIntentConfirmParamsPaymentMethodDataPayco as SetupIntentConfirmParamsPaymentMethodDataPayco, SetupIntentConfirmParamsPaymentMethodDataPaynow as SetupIntentConfirmParamsPaymentMethodDataPaynow, SetupIntentConfirmParamsPaymentMethodDataPaypal as SetupIntentConfirmParamsPaymentMethodDataPaypal, SetupIntentConfirmParamsPaymentMethodDataPix as SetupIntentConfirmParamsPaymentMethodDataPix, SetupIntentConfirmParamsPaymentMethodDataPromptpay as SetupIntentConfirmParamsPaymentMethodDataPromptpay, SetupIntentConfirmParamsPaymentMethodDataRadarOptions as SetupIntentConfirmParamsPaymentMethodDataRadarOptions, SetupIntentConfirmParamsPaymentMethodDataRevolutPay as SetupIntentConfirmParamsPaymentMethodDataRevolutPay, SetupIntentConfirmParamsPaymentMethodDataSamsungPay as SetupIntentConfirmParamsPaymentMethodDataSamsungPay, SetupIntentConfirmParamsPaymentMethodDataSatispay as SetupIntentConfirmParamsPaymentMethodDataSatispay, SetupIntentConfirmParamsPaymentMethodDataSepaDebit as SetupIntentConfirmParamsPaymentMethodDataSepaDebit, SetupIntentConfirmParamsPaymentMethodDataSofort as SetupIntentConfirmParamsPaymentMethodDataSofort, SetupIntentConfirmParamsPaymentMethodDataSwish as SetupIntentConfirmParamsPaymentMethodDataSwish, SetupIntentConfirmParamsPaymentMethodDataTwint as SetupIntentConfirmParamsPaymentMethodDataTwint, SetupIntentConfirmParamsPaymentMethodDataUsBankAccount as SetupIntentConfirmParamsPaymentMethodDataUsBankAccount, SetupIntentConfirmParamsPaymentMethodDataWechatPay as SetupIntentConfirmParamsPaymentMethodDataWechatPay, SetupIntentConfirmParamsPaymentMethodDataZip as SetupIntentConfirmParamsPaymentMethodDataZip, SetupIntentConfirmParamsPaymentMethodOptions as SetupIntentConfirmParamsPaymentMethodOptions, SetupIntentConfirmParamsPaymentMethodOptionsAcssDebit as SetupIntentConfirmParamsPaymentMethodOptionsAcssDebit, SetupIntentConfirmParamsPaymentMethodOptionsAcssDebitMandateOptions as SetupIntentConfirmParamsPaymentMethodOptionsAcssDebitMandateOptions, SetupIntentConfirmParamsPaymentMethodOptionsAmazonPay as SetupIntentConfirmParamsPaymentMethodOptionsAmazonPay, SetupIntentConfirmParamsPaymentMethodOptionsBacsDebit as SetupIntentConfirmParamsPaymentMethodOptionsBacsDebit, SetupIntentConfirmParamsPaymentMethodOptionsBacsDebitMandateOptions as SetupIntentConfirmParamsPaymentMethodOptionsBacsDebitMandateOptions, SetupIntentConfirmParamsPaymentMethodOptionsCard as SetupIntentConfirmParamsPaymentMethodOptionsCard, SetupIntentConfirmParamsPaymentMethodOptionsCardMandateOptions as SetupIntentConfirmParamsPaymentMethodOptionsCardMandateOptions, SetupIntentConfirmParamsPaymentMethodOptionsCardPresent as SetupIntentConfirmParamsPaymentMethodOptionsCardPresent, SetupIntentConfirmParamsPaymentMethodOptionsCardThreeDSecure as SetupIntentConfirmParamsPaymentMethodOptionsCardThreeDSecure, SetupIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions as SetupIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions, SetupIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires as SetupIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires, SetupIntentConfirmParamsPaymentMethodOptionsKlarna as SetupIntentConfirmParamsPaymentMethodOptionsKlarna, SetupIntentConfirmParamsPaymentMethodOptionsKlarnaOnDemand as SetupIntentConfirmParamsPaymentMethodOptionsKlarnaOnDemand, SetupIntentConfirmParamsPaymentMethodOptionsKlarnaSubscription as SetupIntentConfirmParamsPaymentMethodOptionsKlarnaSubscription, SetupIntentConfirmParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling as SetupIntentConfirmParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling, SetupIntentConfirmParamsPaymentMethodOptionsLink as SetupIntentConfirmParamsPaymentMethodOptionsLink, SetupIntentConfirmParamsPaymentMethodOptionsPaypal as SetupIntentConfirmParamsPaymentMethodOptionsPaypal, SetupIntentConfirmParamsPaymentMethodOptionsSepaDebit as SetupIntentConfirmParamsPaymentMethodOptionsSepaDebit, SetupIntentConfirmParamsPaymentMethodOptionsSepaDebitMandateOptions as SetupIntentConfirmParamsPaymentMethodOptionsSepaDebitMandateOptions, SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccount as SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccount, SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnections as SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnections, SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters as SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters, SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountMandateOptions as SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountMandateOptions, SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountNetworks as SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountNetworks, ) from stripe.params._setup_intent_create_params import ( SetupIntentCreateParams as SetupIntentCreateParams, SetupIntentCreateParamsAutomaticPaymentMethods as SetupIntentCreateParamsAutomaticPaymentMethods, SetupIntentCreateParamsMandateData as SetupIntentCreateParamsMandateData, SetupIntentCreateParamsMandateDataCustomerAcceptance as SetupIntentCreateParamsMandateDataCustomerAcceptance, SetupIntentCreateParamsMandateDataCustomerAcceptanceOffline as SetupIntentCreateParamsMandateDataCustomerAcceptanceOffline, SetupIntentCreateParamsMandateDataCustomerAcceptanceOnline as SetupIntentCreateParamsMandateDataCustomerAcceptanceOnline, SetupIntentCreateParamsPaymentMethodData as SetupIntentCreateParamsPaymentMethodData, SetupIntentCreateParamsPaymentMethodDataAcssDebit as SetupIntentCreateParamsPaymentMethodDataAcssDebit, SetupIntentCreateParamsPaymentMethodDataAffirm as SetupIntentCreateParamsPaymentMethodDataAffirm, SetupIntentCreateParamsPaymentMethodDataAfterpayClearpay as SetupIntentCreateParamsPaymentMethodDataAfterpayClearpay, SetupIntentCreateParamsPaymentMethodDataAlipay as SetupIntentCreateParamsPaymentMethodDataAlipay, SetupIntentCreateParamsPaymentMethodDataAlma as SetupIntentCreateParamsPaymentMethodDataAlma, SetupIntentCreateParamsPaymentMethodDataAmazonPay as SetupIntentCreateParamsPaymentMethodDataAmazonPay, SetupIntentCreateParamsPaymentMethodDataAuBecsDebit as SetupIntentCreateParamsPaymentMethodDataAuBecsDebit, SetupIntentCreateParamsPaymentMethodDataBacsDebit as SetupIntentCreateParamsPaymentMethodDataBacsDebit, SetupIntentCreateParamsPaymentMethodDataBancontact as SetupIntentCreateParamsPaymentMethodDataBancontact, SetupIntentCreateParamsPaymentMethodDataBillie as SetupIntentCreateParamsPaymentMethodDataBillie, SetupIntentCreateParamsPaymentMethodDataBillingDetails as SetupIntentCreateParamsPaymentMethodDataBillingDetails, SetupIntentCreateParamsPaymentMethodDataBillingDetailsAddress as SetupIntentCreateParamsPaymentMethodDataBillingDetailsAddress, SetupIntentCreateParamsPaymentMethodDataBlik as SetupIntentCreateParamsPaymentMethodDataBlik, SetupIntentCreateParamsPaymentMethodDataBoleto as SetupIntentCreateParamsPaymentMethodDataBoleto, SetupIntentCreateParamsPaymentMethodDataCashapp as SetupIntentCreateParamsPaymentMethodDataCashapp, SetupIntentCreateParamsPaymentMethodDataCrypto as SetupIntentCreateParamsPaymentMethodDataCrypto, SetupIntentCreateParamsPaymentMethodDataCustomerBalance as SetupIntentCreateParamsPaymentMethodDataCustomerBalance, SetupIntentCreateParamsPaymentMethodDataEps as SetupIntentCreateParamsPaymentMethodDataEps, SetupIntentCreateParamsPaymentMethodDataFpx as SetupIntentCreateParamsPaymentMethodDataFpx, SetupIntentCreateParamsPaymentMethodDataGiropay as SetupIntentCreateParamsPaymentMethodDataGiropay, SetupIntentCreateParamsPaymentMethodDataGrabpay as SetupIntentCreateParamsPaymentMethodDataGrabpay, SetupIntentCreateParamsPaymentMethodDataIdeal as SetupIntentCreateParamsPaymentMethodDataIdeal, SetupIntentCreateParamsPaymentMethodDataInteracPresent as SetupIntentCreateParamsPaymentMethodDataInteracPresent, SetupIntentCreateParamsPaymentMethodDataKakaoPay as SetupIntentCreateParamsPaymentMethodDataKakaoPay, SetupIntentCreateParamsPaymentMethodDataKlarna as SetupIntentCreateParamsPaymentMethodDataKlarna, SetupIntentCreateParamsPaymentMethodDataKlarnaDob as SetupIntentCreateParamsPaymentMethodDataKlarnaDob, SetupIntentCreateParamsPaymentMethodDataKonbini as SetupIntentCreateParamsPaymentMethodDataKonbini, SetupIntentCreateParamsPaymentMethodDataKrCard as SetupIntentCreateParamsPaymentMethodDataKrCard, SetupIntentCreateParamsPaymentMethodDataLink as SetupIntentCreateParamsPaymentMethodDataLink, SetupIntentCreateParamsPaymentMethodDataMbWay as SetupIntentCreateParamsPaymentMethodDataMbWay, SetupIntentCreateParamsPaymentMethodDataMobilepay as SetupIntentCreateParamsPaymentMethodDataMobilepay, SetupIntentCreateParamsPaymentMethodDataMultibanco as SetupIntentCreateParamsPaymentMethodDataMultibanco, SetupIntentCreateParamsPaymentMethodDataNaverPay as SetupIntentCreateParamsPaymentMethodDataNaverPay, SetupIntentCreateParamsPaymentMethodDataNzBankAccount as SetupIntentCreateParamsPaymentMethodDataNzBankAccount, SetupIntentCreateParamsPaymentMethodDataOxxo as SetupIntentCreateParamsPaymentMethodDataOxxo, SetupIntentCreateParamsPaymentMethodDataP24 as SetupIntentCreateParamsPaymentMethodDataP24, SetupIntentCreateParamsPaymentMethodDataPayByBank as SetupIntentCreateParamsPaymentMethodDataPayByBank, SetupIntentCreateParamsPaymentMethodDataPayco as SetupIntentCreateParamsPaymentMethodDataPayco, SetupIntentCreateParamsPaymentMethodDataPaynow as SetupIntentCreateParamsPaymentMethodDataPaynow, SetupIntentCreateParamsPaymentMethodDataPaypal as SetupIntentCreateParamsPaymentMethodDataPaypal, SetupIntentCreateParamsPaymentMethodDataPix as SetupIntentCreateParamsPaymentMethodDataPix, SetupIntentCreateParamsPaymentMethodDataPromptpay as SetupIntentCreateParamsPaymentMethodDataPromptpay, SetupIntentCreateParamsPaymentMethodDataRadarOptions as SetupIntentCreateParamsPaymentMethodDataRadarOptions, SetupIntentCreateParamsPaymentMethodDataRevolutPay as SetupIntentCreateParamsPaymentMethodDataRevolutPay, SetupIntentCreateParamsPaymentMethodDataSamsungPay as SetupIntentCreateParamsPaymentMethodDataSamsungPay, SetupIntentCreateParamsPaymentMethodDataSatispay as SetupIntentCreateParamsPaymentMethodDataSatispay, SetupIntentCreateParamsPaymentMethodDataSepaDebit as SetupIntentCreateParamsPaymentMethodDataSepaDebit, SetupIntentCreateParamsPaymentMethodDataSofort as SetupIntentCreateParamsPaymentMethodDataSofort, SetupIntentCreateParamsPaymentMethodDataSwish as SetupIntentCreateParamsPaymentMethodDataSwish, SetupIntentCreateParamsPaymentMethodDataTwint as SetupIntentCreateParamsPaymentMethodDataTwint, SetupIntentCreateParamsPaymentMethodDataUsBankAccount as SetupIntentCreateParamsPaymentMethodDataUsBankAccount, SetupIntentCreateParamsPaymentMethodDataWechatPay as SetupIntentCreateParamsPaymentMethodDataWechatPay, SetupIntentCreateParamsPaymentMethodDataZip as SetupIntentCreateParamsPaymentMethodDataZip, SetupIntentCreateParamsPaymentMethodOptions as SetupIntentCreateParamsPaymentMethodOptions, SetupIntentCreateParamsPaymentMethodOptionsAcssDebit as SetupIntentCreateParamsPaymentMethodOptionsAcssDebit, SetupIntentCreateParamsPaymentMethodOptionsAcssDebitMandateOptions as SetupIntentCreateParamsPaymentMethodOptionsAcssDebitMandateOptions, SetupIntentCreateParamsPaymentMethodOptionsAmazonPay as SetupIntentCreateParamsPaymentMethodOptionsAmazonPay, SetupIntentCreateParamsPaymentMethodOptionsBacsDebit as SetupIntentCreateParamsPaymentMethodOptionsBacsDebit, SetupIntentCreateParamsPaymentMethodOptionsBacsDebitMandateOptions as SetupIntentCreateParamsPaymentMethodOptionsBacsDebitMandateOptions, SetupIntentCreateParamsPaymentMethodOptionsCard as SetupIntentCreateParamsPaymentMethodOptionsCard, SetupIntentCreateParamsPaymentMethodOptionsCardMandateOptions as SetupIntentCreateParamsPaymentMethodOptionsCardMandateOptions, SetupIntentCreateParamsPaymentMethodOptionsCardPresent as SetupIntentCreateParamsPaymentMethodOptionsCardPresent, SetupIntentCreateParamsPaymentMethodOptionsCardThreeDSecure as SetupIntentCreateParamsPaymentMethodOptionsCardThreeDSecure, SetupIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions as SetupIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions, SetupIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires as SetupIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires, SetupIntentCreateParamsPaymentMethodOptionsKlarna as SetupIntentCreateParamsPaymentMethodOptionsKlarna, SetupIntentCreateParamsPaymentMethodOptionsKlarnaOnDemand as SetupIntentCreateParamsPaymentMethodOptionsKlarnaOnDemand, SetupIntentCreateParamsPaymentMethodOptionsKlarnaSubscription as SetupIntentCreateParamsPaymentMethodOptionsKlarnaSubscription, SetupIntentCreateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling as SetupIntentCreateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling, SetupIntentCreateParamsPaymentMethodOptionsLink as SetupIntentCreateParamsPaymentMethodOptionsLink, SetupIntentCreateParamsPaymentMethodOptionsPaypal as SetupIntentCreateParamsPaymentMethodOptionsPaypal, SetupIntentCreateParamsPaymentMethodOptionsSepaDebit as SetupIntentCreateParamsPaymentMethodOptionsSepaDebit, SetupIntentCreateParamsPaymentMethodOptionsSepaDebitMandateOptions as SetupIntentCreateParamsPaymentMethodOptionsSepaDebitMandateOptions, SetupIntentCreateParamsPaymentMethodOptionsUsBankAccount as SetupIntentCreateParamsPaymentMethodOptionsUsBankAccount, SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnections as SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnections, SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters as SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters, SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountMandateOptions as SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountMandateOptions, SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountNetworks as SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountNetworks, SetupIntentCreateParamsSingleUse as SetupIntentCreateParamsSingleUse, ) from stripe.params._setup_intent_list_params import ( SetupIntentListParams as SetupIntentListParams, SetupIntentListParamsCreated as SetupIntentListParamsCreated, ) from stripe.params._setup_intent_modify_params import ( SetupIntentModifyParams as SetupIntentModifyParams, SetupIntentModifyParamsPaymentMethodData as SetupIntentModifyParamsPaymentMethodData, SetupIntentModifyParamsPaymentMethodDataAcssDebit as SetupIntentModifyParamsPaymentMethodDataAcssDebit, SetupIntentModifyParamsPaymentMethodDataAffirm as SetupIntentModifyParamsPaymentMethodDataAffirm, SetupIntentModifyParamsPaymentMethodDataAfterpayClearpay as SetupIntentModifyParamsPaymentMethodDataAfterpayClearpay, SetupIntentModifyParamsPaymentMethodDataAlipay as SetupIntentModifyParamsPaymentMethodDataAlipay, SetupIntentModifyParamsPaymentMethodDataAlma as SetupIntentModifyParamsPaymentMethodDataAlma, SetupIntentModifyParamsPaymentMethodDataAmazonPay as SetupIntentModifyParamsPaymentMethodDataAmazonPay, SetupIntentModifyParamsPaymentMethodDataAuBecsDebit as SetupIntentModifyParamsPaymentMethodDataAuBecsDebit, SetupIntentModifyParamsPaymentMethodDataBacsDebit as SetupIntentModifyParamsPaymentMethodDataBacsDebit, SetupIntentModifyParamsPaymentMethodDataBancontact as SetupIntentModifyParamsPaymentMethodDataBancontact, SetupIntentModifyParamsPaymentMethodDataBillie as SetupIntentModifyParamsPaymentMethodDataBillie, SetupIntentModifyParamsPaymentMethodDataBillingDetails as SetupIntentModifyParamsPaymentMethodDataBillingDetails, SetupIntentModifyParamsPaymentMethodDataBillingDetailsAddress as SetupIntentModifyParamsPaymentMethodDataBillingDetailsAddress, SetupIntentModifyParamsPaymentMethodDataBlik as SetupIntentModifyParamsPaymentMethodDataBlik, SetupIntentModifyParamsPaymentMethodDataBoleto as SetupIntentModifyParamsPaymentMethodDataBoleto, SetupIntentModifyParamsPaymentMethodDataCashapp as SetupIntentModifyParamsPaymentMethodDataCashapp, SetupIntentModifyParamsPaymentMethodDataCrypto as SetupIntentModifyParamsPaymentMethodDataCrypto, SetupIntentModifyParamsPaymentMethodDataCustomerBalance as SetupIntentModifyParamsPaymentMethodDataCustomerBalance, SetupIntentModifyParamsPaymentMethodDataEps as SetupIntentModifyParamsPaymentMethodDataEps, SetupIntentModifyParamsPaymentMethodDataFpx as SetupIntentModifyParamsPaymentMethodDataFpx, SetupIntentModifyParamsPaymentMethodDataGiropay as SetupIntentModifyParamsPaymentMethodDataGiropay, SetupIntentModifyParamsPaymentMethodDataGrabpay as SetupIntentModifyParamsPaymentMethodDataGrabpay, SetupIntentModifyParamsPaymentMethodDataIdeal as SetupIntentModifyParamsPaymentMethodDataIdeal, SetupIntentModifyParamsPaymentMethodDataInteracPresent as SetupIntentModifyParamsPaymentMethodDataInteracPresent, SetupIntentModifyParamsPaymentMethodDataKakaoPay as SetupIntentModifyParamsPaymentMethodDataKakaoPay, SetupIntentModifyParamsPaymentMethodDataKlarna as SetupIntentModifyParamsPaymentMethodDataKlarna, SetupIntentModifyParamsPaymentMethodDataKlarnaDob as SetupIntentModifyParamsPaymentMethodDataKlarnaDob, SetupIntentModifyParamsPaymentMethodDataKonbini as SetupIntentModifyParamsPaymentMethodDataKonbini, SetupIntentModifyParamsPaymentMethodDataKrCard as SetupIntentModifyParamsPaymentMethodDataKrCard, SetupIntentModifyParamsPaymentMethodDataLink as SetupIntentModifyParamsPaymentMethodDataLink, SetupIntentModifyParamsPaymentMethodDataMbWay as SetupIntentModifyParamsPaymentMethodDataMbWay, SetupIntentModifyParamsPaymentMethodDataMobilepay as SetupIntentModifyParamsPaymentMethodDataMobilepay, SetupIntentModifyParamsPaymentMethodDataMultibanco as SetupIntentModifyParamsPaymentMethodDataMultibanco, SetupIntentModifyParamsPaymentMethodDataNaverPay as SetupIntentModifyParamsPaymentMethodDataNaverPay, SetupIntentModifyParamsPaymentMethodDataNzBankAccount as SetupIntentModifyParamsPaymentMethodDataNzBankAccount, SetupIntentModifyParamsPaymentMethodDataOxxo as SetupIntentModifyParamsPaymentMethodDataOxxo, SetupIntentModifyParamsPaymentMethodDataP24 as SetupIntentModifyParamsPaymentMethodDataP24, SetupIntentModifyParamsPaymentMethodDataPayByBank as SetupIntentModifyParamsPaymentMethodDataPayByBank, SetupIntentModifyParamsPaymentMethodDataPayco as SetupIntentModifyParamsPaymentMethodDataPayco, SetupIntentModifyParamsPaymentMethodDataPaynow as SetupIntentModifyParamsPaymentMethodDataPaynow, SetupIntentModifyParamsPaymentMethodDataPaypal as SetupIntentModifyParamsPaymentMethodDataPaypal, SetupIntentModifyParamsPaymentMethodDataPix as SetupIntentModifyParamsPaymentMethodDataPix, SetupIntentModifyParamsPaymentMethodDataPromptpay as SetupIntentModifyParamsPaymentMethodDataPromptpay, SetupIntentModifyParamsPaymentMethodDataRadarOptions as SetupIntentModifyParamsPaymentMethodDataRadarOptions, SetupIntentModifyParamsPaymentMethodDataRevolutPay as SetupIntentModifyParamsPaymentMethodDataRevolutPay, SetupIntentModifyParamsPaymentMethodDataSamsungPay as SetupIntentModifyParamsPaymentMethodDataSamsungPay, SetupIntentModifyParamsPaymentMethodDataSatispay as SetupIntentModifyParamsPaymentMethodDataSatispay, SetupIntentModifyParamsPaymentMethodDataSepaDebit as SetupIntentModifyParamsPaymentMethodDataSepaDebit, SetupIntentModifyParamsPaymentMethodDataSofort as SetupIntentModifyParamsPaymentMethodDataSofort, SetupIntentModifyParamsPaymentMethodDataSwish as SetupIntentModifyParamsPaymentMethodDataSwish, SetupIntentModifyParamsPaymentMethodDataTwint as SetupIntentModifyParamsPaymentMethodDataTwint, SetupIntentModifyParamsPaymentMethodDataUsBankAccount as SetupIntentModifyParamsPaymentMethodDataUsBankAccount, SetupIntentModifyParamsPaymentMethodDataWechatPay as SetupIntentModifyParamsPaymentMethodDataWechatPay, SetupIntentModifyParamsPaymentMethodDataZip as SetupIntentModifyParamsPaymentMethodDataZip, SetupIntentModifyParamsPaymentMethodOptions as SetupIntentModifyParamsPaymentMethodOptions, SetupIntentModifyParamsPaymentMethodOptionsAcssDebit as SetupIntentModifyParamsPaymentMethodOptionsAcssDebit, SetupIntentModifyParamsPaymentMethodOptionsAcssDebitMandateOptions as SetupIntentModifyParamsPaymentMethodOptionsAcssDebitMandateOptions, SetupIntentModifyParamsPaymentMethodOptionsAmazonPay as SetupIntentModifyParamsPaymentMethodOptionsAmazonPay, SetupIntentModifyParamsPaymentMethodOptionsBacsDebit as SetupIntentModifyParamsPaymentMethodOptionsBacsDebit, SetupIntentModifyParamsPaymentMethodOptionsBacsDebitMandateOptions as SetupIntentModifyParamsPaymentMethodOptionsBacsDebitMandateOptions, SetupIntentModifyParamsPaymentMethodOptionsCard as SetupIntentModifyParamsPaymentMethodOptionsCard, SetupIntentModifyParamsPaymentMethodOptionsCardMandateOptions as SetupIntentModifyParamsPaymentMethodOptionsCardMandateOptions, SetupIntentModifyParamsPaymentMethodOptionsCardPresent as SetupIntentModifyParamsPaymentMethodOptionsCardPresent, SetupIntentModifyParamsPaymentMethodOptionsCardThreeDSecure as SetupIntentModifyParamsPaymentMethodOptionsCardThreeDSecure, SetupIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions as SetupIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions, SetupIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires as SetupIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires, SetupIntentModifyParamsPaymentMethodOptionsKlarna as SetupIntentModifyParamsPaymentMethodOptionsKlarna, SetupIntentModifyParamsPaymentMethodOptionsKlarnaOnDemand as SetupIntentModifyParamsPaymentMethodOptionsKlarnaOnDemand, SetupIntentModifyParamsPaymentMethodOptionsKlarnaSubscription as SetupIntentModifyParamsPaymentMethodOptionsKlarnaSubscription, SetupIntentModifyParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling as SetupIntentModifyParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling, SetupIntentModifyParamsPaymentMethodOptionsLink as SetupIntentModifyParamsPaymentMethodOptionsLink, SetupIntentModifyParamsPaymentMethodOptionsPaypal as SetupIntentModifyParamsPaymentMethodOptionsPaypal, SetupIntentModifyParamsPaymentMethodOptionsSepaDebit as SetupIntentModifyParamsPaymentMethodOptionsSepaDebit, SetupIntentModifyParamsPaymentMethodOptionsSepaDebitMandateOptions as SetupIntentModifyParamsPaymentMethodOptionsSepaDebitMandateOptions, SetupIntentModifyParamsPaymentMethodOptionsUsBankAccount as SetupIntentModifyParamsPaymentMethodOptionsUsBankAccount, SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnections as SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnections, SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters as SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters, SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountMandateOptions as SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountMandateOptions, SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountNetworks as SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountNetworks, ) from stripe.params._setup_intent_retrieve_params import ( SetupIntentRetrieveParams as SetupIntentRetrieveParams, ) from stripe.params._setup_intent_update_params import ( SetupIntentUpdateParams as SetupIntentUpdateParams, SetupIntentUpdateParamsPaymentMethodData as SetupIntentUpdateParamsPaymentMethodData, SetupIntentUpdateParamsPaymentMethodDataAcssDebit as SetupIntentUpdateParamsPaymentMethodDataAcssDebit, SetupIntentUpdateParamsPaymentMethodDataAffirm as SetupIntentUpdateParamsPaymentMethodDataAffirm, SetupIntentUpdateParamsPaymentMethodDataAfterpayClearpay as SetupIntentUpdateParamsPaymentMethodDataAfterpayClearpay, SetupIntentUpdateParamsPaymentMethodDataAlipay as SetupIntentUpdateParamsPaymentMethodDataAlipay, SetupIntentUpdateParamsPaymentMethodDataAlma as SetupIntentUpdateParamsPaymentMethodDataAlma, SetupIntentUpdateParamsPaymentMethodDataAmazonPay as SetupIntentUpdateParamsPaymentMethodDataAmazonPay, SetupIntentUpdateParamsPaymentMethodDataAuBecsDebit as SetupIntentUpdateParamsPaymentMethodDataAuBecsDebit, SetupIntentUpdateParamsPaymentMethodDataBacsDebit as SetupIntentUpdateParamsPaymentMethodDataBacsDebit, SetupIntentUpdateParamsPaymentMethodDataBancontact as SetupIntentUpdateParamsPaymentMethodDataBancontact, SetupIntentUpdateParamsPaymentMethodDataBillie as SetupIntentUpdateParamsPaymentMethodDataBillie, SetupIntentUpdateParamsPaymentMethodDataBillingDetails as SetupIntentUpdateParamsPaymentMethodDataBillingDetails, SetupIntentUpdateParamsPaymentMethodDataBillingDetailsAddress as SetupIntentUpdateParamsPaymentMethodDataBillingDetailsAddress, SetupIntentUpdateParamsPaymentMethodDataBlik as SetupIntentUpdateParamsPaymentMethodDataBlik, SetupIntentUpdateParamsPaymentMethodDataBoleto as SetupIntentUpdateParamsPaymentMethodDataBoleto, SetupIntentUpdateParamsPaymentMethodDataCashapp as SetupIntentUpdateParamsPaymentMethodDataCashapp, SetupIntentUpdateParamsPaymentMethodDataCrypto as SetupIntentUpdateParamsPaymentMethodDataCrypto, SetupIntentUpdateParamsPaymentMethodDataCustomerBalance as SetupIntentUpdateParamsPaymentMethodDataCustomerBalance, SetupIntentUpdateParamsPaymentMethodDataEps as SetupIntentUpdateParamsPaymentMethodDataEps, SetupIntentUpdateParamsPaymentMethodDataFpx as SetupIntentUpdateParamsPaymentMethodDataFpx, SetupIntentUpdateParamsPaymentMethodDataGiropay as SetupIntentUpdateParamsPaymentMethodDataGiropay, SetupIntentUpdateParamsPaymentMethodDataGrabpay as SetupIntentUpdateParamsPaymentMethodDataGrabpay, SetupIntentUpdateParamsPaymentMethodDataIdeal as SetupIntentUpdateParamsPaymentMethodDataIdeal, SetupIntentUpdateParamsPaymentMethodDataInteracPresent as SetupIntentUpdateParamsPaymentMethodDataInteracPresent, SetupIntentUpdateParamsPaymentMethodDataKakaoPay as SetupIntentUpdateParamsPaymentMethodDataKakaoPay, SetupIntentUpdateParamsPaymentMethodDataKlarna as SetupIntentUpdateParamsPaymentMethodDataKlarna, SetupIntentUpdateParamsPaymentMethodDataKlarnaDob as SetupIntentUpdateParamsPaymentMethodDataKlarnaDob, SetupIntentUpdateParamsPaymentMethodDataKonbini as SetupIntentUpdateParamsPaymentMethodDataKonbini, SetupIntentUpdateParamsPaymentMethodDataKrCard as SetupIntentUpdateParamsPaymentMethodDataKrCard, SetupIntentUpdateParamsPaymentMethodDataLink as SetupIntentUpdateParamsPaymentMethodDataLink, SetupIntentUpdateParamsPaymentMethodDataMbWay as SetupIntentUpdateParamsPaymentMethodDataMbWay, SetupIntentUpdateParamsPaymentMethodDataMobilepay as SetupIntentUpdateParamsPaymentMethodDataMobilepay, SetupIntentUpdateParamsPaymentMethodDataMultibanco as SetupIntentUpdateParamsPaymentMethodDataMultibanco, SetupIntentUpdateParamsPaymentMethodDataNaverPay as SetupIntentUpdateParamsPaymentMethodDataNaverPay, SetupIntentUpdateParamsPaymentMethodDataNzBankAccount as SetupIntentUpdateParamsPaymentMethodDataNzBankAccount, SetupIntentUpdateParamsPaymentMethodDataOxxo as SetupIntentUpdateParamsPaymentMethodDataOxxo, SetupIntentUpdateParamsPaymentMethodDataP24 as SetupIntentUpdateParamsPaymentMethodDataP24, SetupIntentUpdateParamsPaymentMethodDataPayByBank as SetupIntentUpdateParamsPaymentMethodDataPayByBank, SetupIntentUpdateParamsPaymentMethodDataPayco as SetupIntentUpdateParamsPaymentMethodDataPayco, SetupIntentUpdateParamsPaymentMethodDataPaynow as SetupIntentUpdateParamsPaymentMethodDataPaynow, SetupIntentUpdateParamsPaymentMethodDataPaypal as SetupIntentUpdateParamsPaymentMethodDataPaypal, SetupIntentUpdateParamsPaymentMethodDataPix as SetupIntentUpdateParamsPaymentMethodDataPix, SetupIntentUpdateParamsPaymentMethodDataPromptpay as SetupIntentUpdateParamsPaymentMethodDataPromptpay, SetupIntentUpdateParamsPaymentMethodDataRadarOptions as SetupIntentUpdateParamsPaymentMethodDataRadarOptions, SetupIntentUpdateParamsPaymentMethodDataRevolutPay as SetupIntentUpdateParamsPaymentMethodDataRevolutPay, SetupIntentUpdateParamsPaymentMethodDataSamsungPay as SetupIntentUpdateParamsPaymentMethodDataSamsungPay, SetupIntentUpdateParamsPaymentMethodDataSatispay as SetupIntentUpdateParamsPaymentMethodDataSatispay, SetupIntentUpdateParamsPaymentMethodDataSepaDebit as SetupIntentUpdateParamsPaymentMethodDataSepaDebit, SetupIntentUpdateParamsPaymentMethodDataSofort as SetupIntentUpdateParamsPaymentMethodDataSofort, SetupIntentUpdateParamsPaymentMethodDataSwish as SetupIntentUpdateParamsPaymentMethodDataSwish, SetupIntentUpdateParamsPaymentMethodDataTwint as SetupIntentUpdateParamsPaymentMethodDataTwint, SetupIntentUpdateParamsPaymentMethodDataUsBankAccount as SetupIntentUpdateParamsPaymentMethodDataUsBankAccount, SetupIntentUpdateParamsPaymentMethodDataWechatPay as SetupIntentUpdateParamsPaymentMethodDataWechatPay, SetupIntentUpdateParamsPaymentMethodDataZip as SetupIntentUpdateParamsPaymentMethodDataZip, SetupIntentUpdateParamsPaymentMethodOptions as SetupIntentUpdateParamsPaymentMethodOptions, SetupIntentUpdateParamsPaymentMethodOptionsAcssDebit as SetupIntentUpdateParamsPaymentMethodOptionsAcssDebit, SetupIntentUpdateParamsPaymentMethodOptionsAcssDebitMandateOptions as SetupIntentUpdateParamsPaymentMethodOptionsAcssDebitMandateOptions, SetupIntentUpdateParamsPaymentMethodOptionsAmazonPay as SetupIntentUpdateParamsPaymentMethodOptionsAmazonPay, SetupIntentUpdateParamsPaymentMethodOptionsBacsDebit as SetupIntentUpdateParamsPaymentMethodOptionsBacsDebit, SetupIntentUpdateParamsPaymentMethodOptionsBacsDebitMandateOptions as SetupIntentUpdateParamsPaymentMethodOptionsBacsDebitMandateOptions, SetupIntentUpdateParamsPaymentMethodOptionsCard as SetupIntentUpdateParamsPaymentMethodOptionsCard, SetupIntentUpdateParamsPaymentMethodOptionsCardMandateOptions as SetupIntentUpdateParamsPaymentMethodOptionsCardMandateOptions, SetupIntentUpdateParamsPaymentMethodOptionsCardPresent as SetupIntentUpdateParamsPaymentMethodOptionsCardPresent, SetupIntentUpdateParamsPaymentMethodOptionsCardThreeDSecure as SetupIntentUpdateParamsPaymentMethodOptionsCardThreeDSecure, SetupIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions as SetupIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions, SetupIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires as SetupIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires, SetupIntentUpdateParamsPaymentMethodOptionsKlarna as SetupIntentUpdateParamsPaymentMethodOptionsKlarna, SetupIntentUpdateParamsPaymentMethodOptionsKlarnaOnDemand as SetupIntentUpdateParamsPaymentMethodOptionsKlarnaOnDemand, SetupIntentUpdateParamsPaymentMethodOptionsKlarnaSubscription as SetupIntentUpdateParamsPaymentMethodOptionsKlarnaSubscription, SetupIntentUpdateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling as SetupIntentUpdateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling, SetupIntentUpdateParamsPaymentMethodOptionsLink as SetupIntentUpdateParamsPaymentMethodOptionsLink, SetupIntentUpdateParamsPaymentMethodOptionsPaypal as SetupIntentUpdateParamsPaymentMethodOptionsPaypal, SetupIntentUpdateParamsPaymentMethodOptionsSepaDebit as SetupIntentUpdateParamsPaymentMethodOptionsSepaDebit, SetupIntentUpdateParamsPaymentMethodOptionsSepaDebitMandateOptions as SetupIntentUpdateParamsPaymentMethodOptionsSepaDebitMandateOptions, SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccount as SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccount, SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnections as SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnections, SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters as SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters, SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountMandateOptions as SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountMandateOptions, SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountNetworks as SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountNetworks, ) from stripe.params._setup_intent_verify_microdeposits_params import ( SetupIntentVerifyMicrodepositsParams as SetupIntentVerifyMicrodepositsParams, ) from stripe.params._shipping_rate_create_params import ( ShippingRateCreateParams as ShippingRateCreateParams, ShippingRateCreateParamsDeliveryEstimate as ShippingRateCreateParamsDeliveryEstimate, ShippingRateCreateParamsDeliveryEstimateMaximum as ShippingRateCreateParamsDeliveryEstimateMaximum, ShippingRateCreateParamsDeliveryEstimateMinimum as ShippingRateCreateParamsDeliveryEstimateMinimum, ShippingRateCreateParamsFixedAmount as ShippingRateCreateParamsFixedAmount, ShippingRateCreateParamsFixedAmountCurrencyOptions as ShippingRateCreateParamsFixedAmountCurrencyOptions, ) from stripe.params._shipping_rate_list_params import ( ShippingRateListParams as ShippingRateListParams, ShippingRateListParamsCreated as ShippingRateListParamsCreated, ) from stripe.params._shipping_rate_modify_params import ( ShippingRateModifyParams as ShippingRateModifyParams, ShippingRateModifyParamsFixedAmount as ShippingRateModifyParamsFixedAmount, ShippingRateModifyParamsFixedAmountCurrencyOptions as ShippingRateModifyParamsFixedAmountCurrencyOptions, ) from stripe.params._shipping_rate_retrieve_params import ( ShippingRateRetrieveParams as ShippingRateRetrieveParams, ) from stripe.params._shipping_rate_update_params import ( ShippingRateUpdateParams as ShippingRateUpdateParams, ShippingRateUpdateParamsFixedAmount as ShippingRateUpdateParamsFixedAmount, ShippingRateUpdateParamsFixedAmountCurrencyOptions as ShippingRateUpdateParamsFixedAmountCurrencyOptions, ) from stripe.params._source_create_params import ( SourceCreateParams as SourceCreateParams, SourceCreateParamsMandate as SourceCreateParamsMandate, SourceCreateParamsMandateAcceptance as SourceCreateParamsMandateAcceptance, SourceCreateParamsMandateAcceptanceOffline as SourceCreateParamsMandateAcceptanceOffline, SourceCreateParamsMandateAcceptanceOnline as SourceCreateParamsMandateAcceptanceOnline, SourceCreateParamsOwner as SourceCreateParamsOwner, SourceCreateParamsOwnerAddress as SourceCreateParamsOwnerAddress, SourceCreateParamsReceiver as SourceCreateParamsReceiver, SourceCreateParamsRedirect as SourceCreateParamsRedirect, SourceCreateParamsSourceOrder as SourceCreateParamsSourceOrder, SourceCreateParamsSourceOrderItem as SourceCreateParamsSourceOrderItem, SourceCreateParamsSourceOrderShipping as SourceCreateParamsSourceOrderShipping, SourceCreateParamsSourceOrderShippingAddress as SourceCreateParamsSourceOrderShippingAddress, ) from stripe.params._source_detach_params import ( SourceDetachParams as SourceDetachParams, ) from stripe.params._source_list_source_transactions_params import ( SourceListSourceTransactionsParams as SourceListSourceTransactionsParams, ) from stripe.params._source_modify_params import ( SourceModifyParams as SourceModifyParams, SourceModifyParamsMandate as SourceModifyParamsMandate, SourceModifyParamsMandateAcceptance as SourceModifyParamsMandateAcceptance, SourceModifyParamsMandateAcceptanceOffline as SourceModifyParamsMandateAcceptanceOffline, SourceModifyParamsMandateAcceptanceOnline as SourceModifyParamsMandateAcceptanceOnline, SourceModifyParamsOwner as SourceModifyParamsOwner, SourceModifyParamsOwnerAddress as SourceModifyParamsOwnerAddress, SourceModifyParamsSourceOrder as SourceModifyParamsSourceOrder, SourceModifyParamsSourceOrderItem as SourceModifyParamsSourceOrderItem, SourceModifyParamsSourceOrderShipping as SourceModifyParamsSourceOrderShipping, SourceModifyParamsSourceOrderShippingAddress as SourceModifyParamsSourceOrderShippingAddress, ) from stripe.params._source_retrieve_params import ( SourceRetrieveParams as SourceRetrieveParams, ) from stripe.params._source_transaction_list_params import ( SourceTransactionListParams as SourceTransactionListParams, ) from stripe.params._source_update_params import ( SourceUpdateParams as SourceUpdateParams, SourceUpdateParamsMandate as SourceUpdateParamsMandate, SourceUpdateParamsMandateAcceptance as SourceUpdateParamsMandateAcceptance, SourceUpdateParamsMandateAcceptanceOffline as SourceUpdateParamsMandateAcceptanceOffline, SourceUpdateParamsMandateAcceptanceOnline as SourceUpdateParamsMandateAcceptanceOnline, SourceUpdateParamsOwner as SourceUpdateParamsOwner, SourceUpdateParamsOwnerAddress as SourceUpdateParamsOwnerAddress, SourceUpdateParamsSourceOrder as SourceUpdateParamsSourceOrder, SourceUpdateParamsSourceOrderItem as SourceUpdateParamsSourceOrderItem, SourceUpdateParamsSourceOrderShipping as SourceUpdateParamsSourceOrderShipping, SourceUpdateParamsSourceOrderShippingAddress as SourceUpdateParamsSourceOrderShippingAddress, ) from stripe.params._source_verify_params import ( SourceVerifyParams as SourceVerifyParams, ) from stripe.params._subscription_cancel_params import ( SubscriptionCancelParams as SubscriptionCancelParams, SubscriptionCancelParamsCancellationDetails as SubscriptionCancelParamsCancellationDetails, ) from stripe.params._subscription_create_params import ( SubscriptionCreateParams as SubscriptionCreateParams, SubscriptionCreateParamsAddInvoiceItem as SubscriptionCreateParamsAddInvoiceItem, SubscriptionCreateParamsAddInvoiceItemDiscount as SubscriptionCreateParamsAddInvoiceItemDiscount, SubscriptionCreateParamsAddInvoiceItemPeriod as SubscriptionCreateParamsAddInvoiceItemPeriod, SubscriptionCreateParamsAddInvoiceItemPeriodEnd as SubscriptionCreateParamsAddInvoiceItemPeriodEnd, SubscriptionCreateParamsAddInvoiceItemPeriodStart as SubscriptionCreateParamsAddInvoiceItemPeriodStart, SubscriptionCreateParamsAddInvoiceItemPriceData as SubscriptionCreateParamsAddInvoiceItemPriceData, SubscriptionCreateParamsAutomaticTax as SubscriptionCreateParamsAutomaticTax, SubscriptionCreateParamsAutomaticTaxLiability as SubscriptionCreateParamsAutomaticTaxLiability, SubscriptionCreateParamsBillingCycleAnchorConfig as SubscriptionCreateParamsBillingCycleAnchorConfig, SubscriptionCreateParamsBillingMode as SubscriptionCreateParamsBillingMode, SubscriptionCreateParamsBillingModeFlexible as SubscriptionCreateParamsBillingModeFlexible, SubscriptionCreateParamsBillingThresholds as SubscriptionCreateParamsBillingThresholds, SubscriptionCreateParamsDiscount as SubscriptionCreateParamsDiscount, SubscriptionCreateParamsInvoiceSettings as SubscriptionCreateParamsInvoiceSettings, SubscriptionCreateParamsInvoiceSettingsIssuer as SubscriptionCreateParamsInvoiceSettingsIssuer, SubscriptionCreateParamsItem as SubscriptionCreateParamsItem, SubscriptionCreateParamsItemBillingThresholds as SubscriptionCreateParamsItemBillingThresholds, SubscriptionCreateParamsItemDiscount as SubscriptionCreateParamsItemDiscount, SubscriptionCreateParamsItemPriceData as SubscriptionCreateParamsItemPriceData, SubscriptionCreateParamsItemPriceDataRecurring as SubscriptionCreateParamsItemPriceDataRecurring, SubscriptionCreateParamsPaymentSettings as SubscriptionCreateParamsPaymentSettings, SubscriptionCreateParamsPaymentSettingsPaymentMethodOptions as SubscriptionCreateParamsPaymentSettingsPaymentMethodOptions, SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebit as SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebit, SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions as SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions, SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsBancontact as SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsBancontact, SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCard as SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCard, SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCardMandateOptions as SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCardMandateOptions, SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance as SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance, SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer as SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer, SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer as SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer, SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsKonbini as SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsKonbini, SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsSepaDebit as SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsSepaDebit, SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount as SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount, SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections as SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections, SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters as SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters, SubscriptionCreateParamsPendingInvoiceItemInterval as SubscriptionCreateParamsPendingInvoiceItemInterval, SubscriptionCreateParamsTransferData as SubscriptionCreateParamsTransferData, SubscriptionCreateParamsTrialSettings as SubscriptionCreateParamsTrialSettings, SubscriptionCreateParamsTrialSettingsEndBehavior as SubscriptionCreateParamsTrialSettingsEndBehavior, ) from stripe.params._subscription_delete_discount_params import ( SubscriptionDeleteDiscountParams as SubscriptionDeleteDiscountParams, ) from stripe.params._subscription_item_create_params import ( SubscriptionItemCreateParams as SubscriptionItemCreateParams, SubscriptionItemCreateParamsBillingThresholds as SubscriptionItemCreateParamsBillingThresholds, SubscriptionItemCreateParamsDiscount as SubscriptionItemCreateParamsDiscount, SubscriptionItemCreateParamsPriceData as SubscriptionItemCreateParamsPriceData, SubscriptionItemCreateParamsPriceDataRecurring as SubscriptionItemCreateParamsPriceDataRecurring, ) from stripe.params._subscription_item_delete_params import ( SubscriptionItemDeleteParams as SubscriptionItemDeleteParams, ) from stripe.params._subscription_item_list_params import ( SubscriptionItemListParams as SubscriptionItemListParams, ) from stripe.params._subscription_item_modify_params import ( SubscriptionItemModifyParams as SubscriptionItemModifyParams, SubscriptionItemModifyParamsBillingThresholds as SubscriptionItemModifyParamsBillingThresholds, SubscriptionItemModifyParamsDiscount as SubscriptionItemModifyParamsDiscount, SubscriptionItemModifyParamsPriceData as SubscriptionItemModifyParamsPriceData, SubscriptionItemModifyParamsPriceDataRecurring as SubscriptionItemModifyParamsPriceDataRecurring, ) from stripe.params._subscription_item_retrieve_params import ( SubscriptionItemRetrieveParams as SubscriptionItemRetrieveParams, ) from stripe.params._subscription_item_update_params import ( SubscriptionItemUpdateParams as SubscriptionItemUpdateParams, SubscriptionItemUpdateParamsBillingThresholds as SubscriptionItemUpdateParamsBillingThresholds, SubscriptionItemUpdateParamsDiscount as SubscriptionItemUpdateParamsDiscount, SubscriptionItemUpdateParamsPriceData as SubscriptionItemUpdateParamsPriceData, SubscriptionItemUpdateParamsPriceDataRecurring as SubscriptionItemUpdateParamsPriceDataRecurring, ) from stripe.params._subscription_list_params import ( SubscriptionListParams as SubscriptionListParams, SubscriptionListParamsAutomaticTax as SubscriptionListParamsAutomaticTax, SubscriptionListParamsCreated as SubscriptionListParamsCreated, SubscriptionListParamsCurrentPeriodEnd as SubscriptionListParamsCurrentPeriodEnd, SubscriptionListParamsCurrentPeriodStart as SubscriptionListParamsCurrentPeriodStart, ) from stripe.params._subscription_migrate_params import ( SubscriptionMigrateParams as SubscriptionMigrateParams, SubscriptionMigrateParamsBillingMode as SubscriptionMigrateParamsBillingMode, SubscriptionMigrateParamsBillingModeFlexible as SubscriptionMigrateParamsBillingModeFlexible, ) from stripe.params._subscription_modify_params import ( SubscriptionModifyParams as SubscriptionModifyParams, SubscriptionModifyParamsAddInvoiceItem as SubscriptionModifyParamsAddInvoiceItem, SubscriptionModifyParamsAddInvoiceItemDiscount as SubscriptionModifyParamsAddInvoiceItemDiscount, SubscriptionModifyParamsAddInvoiceItemPeriod as SubscriptionModifyParamsAddInvoiceItemPeriod, SubscriptionModifyParamsAddInvoiceItemPeriodEnd as SubscriptionModifyParamsAddInvoiceItemPeriodEnd, SubscriptionModifyParamsAddInvoiceItemPeriodStart as SubscriptionModifyParamsAddInvoiceItemPeriodStart, SubscriptionModifyParamsAddInvoiceItemPriceData as SubscriptionModifyParamsAddInvoiceItemPriceData, SubscriptionModifyParamsAutomaticTax as SubscriptionModifyParamsAutomaticTax, SubscriptionModifyParamsAutomaticTaxLiability as SubscriptionModifyParamsAutomaticTaxLiability, SubscriptionModifyParamsBillingThresholds as SubscriptionModifyParamsBillingThresholds, SubscriptionModifyParamsCancellationDetails as SubscriptionModifyParamsCancellationDetails, SubscriptionModifyParamsDiscount as SubscriptionModifyParamsDiscount, SubscriptionModifyParamsInvoiceSettings as SubscriptionModifyParamsInvoiceSettings, SubscriptionModifyParamsInvoiceSettingsIssuer as SubscriptionModifyParamsInvoiceSettingsIssuer, SubscriptionModifyParamsItem as SubscriptionModifyParamsItem, SubscriptionModifyParamsItemBillingThresholds as SubscriptionModifyParamsItemBillingThresholds, SubscriptionModifyParamsItemDiscount as SubscriptionModifyParamsItemDiscount, SubscriptionModifyParamsItemPriceData as SubscriptionModifyParamsItemPriceData, SubscriptionModifyParamsItemPriceDataRecurring as SubscriptionModifyParamsItemPriceDataRecurring, SubscriptionModifyParamsPauseCollection as SubscriptionModifyParamsPauseCollection, SubscriptionModifyParamsPaymentSettings as SubscriptionModifyParamsPaymentSettings, SubscriptionModifyParamsPaymentSettingsPaymentMethodOptions as SubscriptionModifyParamsPaymentSettingsPaymentMethodOptions, SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebit as SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebit, SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions as SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions, SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsBancontact as SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsBancontact, SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCard as SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCard, SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCardMandateOptions as SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCardMandateOptions, SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalance as SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalance, SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer as SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer, SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer as SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer, SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsKonbini as SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsKonbini, SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsSepaDebit as SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsSepaDebit, SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccount as SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccount, SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections as SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections, SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters as SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters, SubscriptionModifyParamsPendingInvoiceItemInterval as SubscriptionModifyParamsPendingInvoiceItemInterval, SubscriptionModifyParamsTransferData as SubscriptionModifyParamsTransferData, SubscriptionModifyParamsTrialSettings as SubscriptionModifyParamsTrialSettings, SubscriptionModifyParamsTrialSettingsEndBehavior as SubscriptionModifyParamsTrialSettingsEndBehavior, ) from stripe.params._subscription_resume_params import ( SubscriptionResumeParams as SubscriptionResumeParams, ) from stripe.params._subscription_retrieve_params import ( SubscriptionRetrieveParams as SubscriptionRetrieveParams, ) from stripe.params._subscription_schedule_cancel_params import ( SubscriptionScheduleCancelParams as SubscriptionScheduleCancelParams, ) from stripe.params._subscription_schedule_create_params import ( SubscriptionScheduleCreateParams as SubscriptionScheduleCreateParams, SubscriptionScheduleCreateParamsBillingMode as SubscriptionScheduleCreateParamsBillingMode, SubscriptionScheduleCreateParamsBillingModeFlexible as SubscriptionScheduleCreateParamsBillingModeFlexible, SubscriptionScheduleCreateParamsDefaultSettings as SubscriptionScheduleCreateParamsDefaultSettings, SubscriptionScheduleCreateParamsDefaultSettingsAutomaticTax as SubscriptionScheduleCreateParamsDefaultSettingsAutomaticTax, SubscriptionScheduleCreateParamsDefaultSettingsAutomaticTaxLiability as SubscriptionScheduleCreateParamsDefaultSettingsAutomaticTaxLiability, SubscriptionScheduleCreateParamsDefaultSettingsBillingThresholds as SubscriptionScheduleCreateParamsDefaultSettingsBillingThresholds, SubscriptionScheduleCreateParamsDefaultSettingsInvoiceSettings as SubscriptionScheduleCreateParamsDefaultSettingsInvoiceSettings, SubscriptionScheduleCreateParamsDefaultSettingsInvoiceSettingsIssuer as SubscriptionScheduleCreateParamsDefaultSettingsInvoiceSettingsIssuer, SubscriptionScheduleCreateParamsDefaultSettingsTransferData as SubscriptionScheduleCreateParamsDefaultSettingsTransferData, SubscriptionScheduleCreateParamsPhase as SubscriptionScheduleCreateParamsPhase, SubscriptionScheduleCreateParamsPhaseAddInvoiceItem as SubscriptionScheduleCreateParamsPhaseAddInvoiceItem, SubscriptionScheduleCreateParamsPhaseAddInvoiceItemDiscount as SubscriptionScheduleCreateParamsPhaseAddInvoiceItemDiscount, SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPeriod as SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPeriod, SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPeriodEnd as SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPeriodEnd, SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPeriodStart as SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPeriodStart, SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPriceData as SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPriceData, SubscriptionScheduleCreateParamsPhaseAutomaticTax as SubscriptionScheduleCreateParamsPhaseAutomaticTax, SubscriptionScheduleCreateParamsPhaseAutomaticTaxLiability as SubscriptionScheduleCreateParamsPhaseAutomaticTaxLiability, SubscriptionScheduleCreateParamsPhaseBillingThresholds as SubscriptionScheduleCreateParamsPhaseBillingThresholds, SubscriptionScheduleCreateParamsPhaseDiscount as SubscriptionScheduleCreateParamsPhaseDiscount, SubscriptionScheduleCreateParamsPhaseDuration as SubscriptionScheduleCreateParamsPhaseDuration, SubscriptionScheduleCreateParamsPhaseInvoiceSettings as SubscriptionScheduleCreateParamsPhaseInvoiceSettings, SubscriptionScheduleCreateParamsPhaseInvoiceSettingsIssuer as SubscriptionScheduleCreateParamsPhaseInvoiceSettingsIssuer, SubscriptionScheduleCreateParamsPhaseItem as SubscriptionScheduleCreateParamsPhaseItem, SubscriptionScheduleCreateParamsPhaseItemBillingThresholds as SubscriptionScheduleCreateParamsPhaseItemBillingThresholds, SubscriptionScheduleCreateParamsPhaseItemDiscount as SubscriptionScheduleCreateParamsPhaseItemDiscount, SubscriptionScheduleCreateParamsPhaseItemPriceData as SubscriptionScheduleCreateParamsPhaseItemPriceData, SubscriptionScheduleCreateParamsPhaseItemPriceDataRecurring as SubscriptionScheduleCreateParamsPhaseItemPriceDataRecurring, SubscriptionScheduleCreateParamsPhaseTransferData as SubscriptionScheduleCreateParamsPhaseTransferData, ) from stripe.params._subscription_schedule_list_params import ( SubscriptionScheduleListParams as SubscriptionScheduleListParams, SubscriptionScheduleListParamsCanceledAt as SubscriptionScheduleListParamsCanceledAt, SubscriptionScheduleListParamsCompletedAt as SubscriptionScheduleListParamsCompletedAt, SubscriptionScheduleListParamsCreated as SubscriptionScheduleListParamsCreated, SubscriptionScheduleListParamsReleasedAt as SubscriptionScheduleListParamsReleasedAt, ) from stripe.params._subscription_schedule_modify_params import ( SubscriptionScheduleModifyParams as SubscriptionScheduleModifyParams, SubscriptionScheduleModifyParamsDefaultSettings as SubscriptionScheduleModifyParamsDefaultSettings, SubscriptionScheduleModifyParamsDefaultSettingsAutomaticTax as SubscriptionScheduleModifyParamsDefaultSettingsAutomaticTax, SubscriptionScheduleModifyParamsDefaultSettingsAutomaticTaxLiability as SubscriptionScheduleModifyParamsDefaultSettingsAutomaticTaxLiability, SubscriptionScheduleModifyParamsDefaultSettingsBillingThresholds as SubscriptionScheduleModifyParamsDefaultSettingsBillingThresholds, SubscriptionScheduleModifyParamsDefaultSettingsInvoiceSettings as SubscriptionScheduleModifyParamsDefaultSettingsInvoiceSettings, SubscriptionScheduleModifyParamsDefaultSettingsInvoiceSettingsIssuer as SubscriptionScheduleModifyParamsDefaultSettingsInvoiceSettingsIssuer, SubscriptionScheduleModifyParamsDefaultSettingsTransferData as SubscriptionScheduleModifyParamsDefaultSettingsTransferData, SubscriptionScheduleModifyParamsPhase as SubscriptionScheduleModifyParamsPhase, SubscriptionScheduleModifyParamsPhaseAddInvoiceItem as SubscriptionScheduleModifyParamsPhaseAddInvoiceItem, SubscriptionScheduleModifyParamsPhaseAddInvoiceItemDiscount as SubscriptionScheduleModifyParamsPhaseAddInvoiceItemDiscount, SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPeriod as SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPeriod, SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPeriodEnd as SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPeriodEnd, SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPeriodStart as SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPeriodStart, SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPriceData as SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPriceData, SubscriptionScheduleModifyParamsPhaseAutomaticTax as SubscriptionScheduleModifyParamsPhaseAutomaticTax, SubscriptionScheduleModifyParamsPhaseAutomaticTaxLiability as SubscriptionScheduleModifyParamsPhaseAutomaticTaxLiability, SubscriptionScheduleModifyParamsPhaseBillingThresholds as SubscriptionScheduleModifyParamsPhaseBillingThresholds, SubscriptionScheduleModifyParamsPhaseDiscount as SubscriptionScheduleModifyParamsPhaseDiscount, SubscriptionScheduleModifyParamsPhaseDuration as SubscriptionScheduleModifyParamsPhaseDuration, SubscriptionScheduleModifyParamsPhaseInvoiceSettings as SubscriptionScheduleModifyParamsPhaseInvoiceSettings, SubscriptionScheduleModifyParamsPhaseInvoiceSettingsIssuer as SubscriptionScheduleModifyParamsPhaseInvoiceSettingsIssuer, SubscriptionScheduleModifyParamsPhaseItem as SubscriptionScheduleModifyParamsPhaseItem, SubscriptionScheduleModifyParamsPhaseItemBillingThresholds as SubscriptionScheduleModifyParamsPhaseItemBillingThresholds, SubscriptionScheduleModifyParamsPhaseItemDiscount as SubscriptionScheduleModifyParamsPhaseItemDiscount, SubscriptionScheduleModifyParamsPhaseItemPriceData as SubscriptionScheduleModifyParamsPhaseItemPriceData, SubscriptionScheduleModifyParamsPhaseItemPriceDataRecurring as SubscriptionScheduleModifyParamsPhaseItemPriceDataRecurring, SubscriptionScheduleModifyParamsPhaseTransferData as SubscriptionScheduleModifyParamsPhaseTransferData, ) from stripe.params._subscription_schedule_release_params import ( SubscriptionScheduleReleaseParams as SubscriptionScheduleReleaseParams, ) from stripe.params._subscription_schedule_retrieve_params import ( SubscriptionScheduleRetrieveParams as SubscriptionScheduleRetrieveParams, ) from stripe.params._subscription_schedule_update_params import ( SubscriptionScheduleUpdateParams as SubscriptionScheduleUpdateParams, SubscriptionScheduleUpdateParamsDefaultSettings as SubscriptionScheduleUpdateParamsDefaultSettings, SubscriptionScheduleUpdateParamsDefaultSettingsAutomaticTax as SubscriptionScheduleUpdateParamsDefaultSettingsAutomaticTax, SubscriptionScheduleUpdateParamsDefaultSettingsAutomaticTaxLiability as SubscriptionScheduleUpdateParamsDefaultSettingsAutomaticTaxLiability, SubscriptionScheduleUpdateParamsDefaultSettingsBillingThresholds as SubscriptionScheduleUpdateParamsDefaultSettingsBillingThresholds, SubscriptionScheduleUpdateParamsDefaultSettingsInvoiceSettings as SubscriptionScheduleUpdateParamsDefaultSettingsInvoiceSettings, SubscriptionScheduleUpdateParamsDefaultSettingsInvoiceSettingsIssuer as SubscriptionScheduleUpdateParamsDefaultSettingsInvoiceSettingsIssuer, SubscriptionScheduleUpdateParamsDefaultSettingsTransferData as SubscriptionScheduleUpdateParamsDefaultSettingsTransferData, SubscriptionScheduleUpdateParamsPhase as SubscriptionScheduleUpdateParamsPhase, SubscriptionScheduleUpdateParamsPhaseAddInvoiceItem as SubscriptionScheduleUpdateParamsPhaseAddInvoiceItem, SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemDiscount as SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemDiscount, SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPeriod as SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPeriod, SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPeriodEnd as SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPeriodEnd, SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPeriodStart as SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPeriodStart, SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPriceData as SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPriceData, SubscriptionScheduleUpdateParamsPhaseAutomaticTax as SubscriptionScheduleUpdateParamsPhaseAutomaticTax, SubscriptionScheduleUpdateParamsPhaseAutomaticTaxLiability as SubscriptionScheduleUpdateParamsPhaseAutomaticTaxLiability, SubscriptionScheduleUpdateParamsPhaseBillingThresholds as SubscriptionScheduleUpdateParamsPhaseBillingThresholds, SubscriptionScheduleUpdateParamsPhaseDiscount as SubscriptionScheduleUpdateParamsPhaseDiscount, SubscriptionScheduleUpdateParamsPhaseDuration as SubscriptionScheduleUpdateParamsPhaseDuration, SubscriptionScheduleUpdateParamsPhaseInvoiceSettings as SubscriptionScheduleUpdateParamsPhaseInvoiceSettings, SubscriptionScheduleUpdateParamsPhaseInvoiceSettingsIssuer as SubscriptionScheduleUpdateParamsPhaseInvoiceSettingsIssuer, SubscriptionScheduleUpdateParamsPhaseItem as SubscriptionScheduleUpdateParamsPhaseItem, SubscriptionScheduleUpdateParamsPhaseItemBillingThresholds as SubscriptionScheduleUpdateParamsPhaseItemBillingThresholds, SubscriptionScheduleUpdateParamsPhaseItemDiscount as SubscriptionScheduleUpdateParamsPhaseItemDiscount, SubscriptionScheduleUpdateParamsPhaseItemPriceData as SubscriptionScheduleUpdateParamsPhaseItemPriceData, SubscriptionScheduleUpdateParamsPhaseItemPriceDataRecurring as SubscriptionScheduleUpdateParamsPhaseItemPriceDataRecurring, SubscriptionScheduleUpdateParamsPhaseTransferData as SubscriptionScheduleUpdateParamsPhaseTransferData, ) from stripe.params._subscription_search_params import ( SubscriptionSearchParams as SubscriptionSearchParams, ) from stripe.params._subscription_update_params import ( SubscriptionUpdateParams as SubscriptionUpdateParams, SubscriptionUpdateParamsAddInvoiceItem as SubscriptionUpdateParamsAddInvoiceItem, SubscriptionUpdateParamsAddInvoiceItemDiscount as SubscriptionUpdateParamsAddInvoiceItemDiscount, SubscriptionUpdateParamsAddInvoiceItemPeriod as SubscriptionUpdateParamsAddInvoiceItemPeriod, SubscriptionUpdateParamsAddInvoiceItemPeriodEnd as SubscriptionUpdateParamsAddInvoiceItemPeriodEnd, SubscriptionUpdateParamsAddInvoiceItemPeriodStart as SubscriptionUpdateParamsAddInvoiceItemPeriodStart, SubscriptionUpdateParamsAddInvoiceItemPriceData as SubscriptionUpdateParamsAddInvoiceItemPriceData, SubscriptionUpdateParamsAutomaticTax as SubscriptionUpdateParamsAutomaticTax, SubscriptionUpdateParamsAutomaticTaxLiability as SubscriptionUpdateParamsAutomaticTaxLiability, SubscriptionUpdateParamsBillingThresholds as SubscriptionUpdateParamsBillingThresholds, SubscriptionUpdateParamsCancellationDetails as SubscriptionUpdateParamsCancellationDetails, SubscriptionUpdateParamsDiscount as SubscriptionUpdateParamsDiscount, SubscriptionUpdateParamsInvoiceSettings as SubscriptionUpdateParamsInvoiceSettings, SubscriptionUpdateParamsInvoiceSettingsIssuer as SubscriptionUpdateParamsInvoiceSettingsIssuer, SubscriptionUpdateParamsItem as SubscriptionUpdateParamsItem, SubscriptionUpdateParamsItemBillingThresholds as SubscriptionUpdateParamsItemBillingThresholds, SubscriptionUpdateParamsItemDiscount as SubscriptionUpdateParamsItemDiscount, SubscriptionUpdateParamsItemPriceData as SubscriptionUpdateParamsItemPriceData, SubscriptionUpdateParamsItemPriceDataRecurring as SubscriptionUpdateParamsItemPriceDataRecurring, SubscriptionUpdateParamsPauseCollection as SubscriptionUpdateParamsPauseCollection, SubscriptionUpdateParamsPaymentSettings as SubscriptionUpdateParamsPaymentSettings, SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptions as SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptions, SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebit as SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebit, SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions as SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions, SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsBancontact as SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsBancontact, SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCard as SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCard, SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCardMandateOptions as SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCardMandateOptions, SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance as SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance, SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer as SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer, SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer as SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer, SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsKonbini as SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsKonbini, SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsSepaDebit as SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsSepaDebit, SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount as SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount, SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections as SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections, SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters as SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters, SubscriptionUpdateParamsPendingInvoiceItemInterval as SubscriptionUpdateParamsPendingInvoiceItemInterval, SubscriptionUpdateParamsTransferData as SubscriptionUpdateParamsTransferData, SubscriptionUpdateParamsTrialSettings as SubscriptionUpdateParamsTrialSettings, SubscriptionUpdateParamsTrialSettingsEndBehavior as SubscriptionUpdateParamsTrialSettingsEndBehavior, ) from stripe.params._tax_code_list_params import ( TaxCodeListParams as TaxCodeListParams, ) from stripe.params._tax_code_retrieve_params import ( TaxCodeRetrieveParams as TaxCodeRetrieveParams, ) from stripe.params._tax_id_create_params import ( TaxIdCreateParams as TaxIdCreateParams, TaxIdCreateParamsOwner as TaxIdCreateParamsOwner, ) from stripe.params._tax_id_delete_params import ( TaxIdDeleteParams as TaxIdDeleteParams, ) from stripe.params._tax_id_list_params import ( TaxIdListParams as TaxIdListParams, TaxIdListParamsOwner as TaxIdListParamsOwner, ) from stripe.params._tax_id_retrieve_params import ( TaxIdRetrieveParams as TaxIdRetrieveParams, ) from stripe.params._tax_rate_create_params import ( TaxRateCreateParams as TaxRateCreateParams, ) from stripe.params._tax_rate_list_params import ( TaxRateListParams as TaxRateListParams, TaxRateListParamsCreated as TaxRateListParamsCreated, ) from stripe.params._tax_rate_modify_params import ( TaxRateModifyParams as TaxRateModifyParams, ) from stripe.params._tax_rate_retrieve_params import ( TaxRateRetrieveParams as TaxRateRetrieveParams, ) from stripe.params._tax_rate_update_params import ( TaxRateUpdateParams as TaxRateUpdateParams, ) from stripe.params._token_create_params import ( TokenCreateParams as TokenCreateParams, TokenCreateParamsAccount as TokenCreateParamsAccount, TokenCreateParamsAccountCompany as TokenCreateParamsAccountCompany, TokenCreateParamsAccountCompanyAddress as TokenCreateParamsAccountCompanyAddress, TokenCreateParamsAccountCompanyAddressKana as TokenCreateParamsAccountCompanyAddressKana, TokenCreateParamsAccountCompanyAddressKanji as TokenCreateParamsAccountCompanyAddressKanji, TokenCreateParamsAccountCompanyDirectorshipDeclaration as TokenCreateParamsAccountCompanyDirectorshipDeclaration, TokenCreateParamsAccountCompanyOwnershipDeclaration as TokenCreateParamsAccountCompanyOwnershipDeclaration, TokenCreateParamsAccountCompanyRegistrationDate as TokenCreateParamsAccountCompanyRegistrationDate, TokenCreateParamsAccountCompanyRepresentativeDeclaration as TokenCreateParamsAccountCompanyRepresentativeDeclaration, TokenCreateParamsAccountCompanyVerification as TokenCreateParamsAccountCompanyVerification, TokenCreateParamsAccountCompanyVerificationDocument as TokenCreateParamsAccountCompanyVerificationDocument, TokenCreateParamsAccountIndividual as TokenCreateParamsAccountIndividual, TokenCreateParamsAccountIndividualAddress as TokenCreateParamsAccountIndividualAddress, TokenCreateParamsAccountIndividualAddressKana as TokenCreateParamsAccountIndividualAddressKana, TokenCreateParamsAccountIndividualAddressKanji as TokenCreateParamsAccountIndividualAddressKanji, TokenCreateParamsAccountIndividualDob as TokenCreateParamsAccountIndividualDob, TokenCreateParamsAccountIndividualRegisteredAddress as TokenCreateParamsAccountIndividualRegisteredAddress, TokenCreateParamsAccountIndividualRelationship as TokenCreateParamsAccountIndividualRelationship, TokenCreateParamsAccountIndividualVerification as TokenCreateParamsAccountIndividualVerification, TokenCreateParamsAccountIndividualVerificationAdditionalDocument as TokenCreateParamsAccountIndividualVerificationAdditionalDocument, TokenCreateParamsAccountIndividualVerificationDocument as TokenCreateParamsAccountIndividualVerificationDocument, TokenCreateParamsBankAccount as TokenCreateParamsBankAccount, TokenCreateParamsCard as TokenCreateParamsCard, TokenCreateParamsCardNetworks as TokenCreateParamsCardNetworks, TokenCreateParamsCvcUpdate as TokenCreateParamsCvcUpdate, TokenCreateParamsPerson as TokenCreateParamsPerson, TokenCreateParamsPersonAdditionalTosAcceptances as TokenCreateParamsPersonAdditionalTosAcceptances, TokenCreateParamsPersonAdditionalTosAcceptancesAccount as TokenCreateParamsPersonAdditionalTosAcceptancesAccount, TokenCreateParamsPersonAddress as TokenCreateParamsPersonAddress, TokenCreateParamsPersonAddressKana as TokenCreateParamsPersonAddressKana, TokenCreateParamsPersonAddressKanji as TokenCreateParamsPersonAddressKanji, TokenCreateParamsPersonDob as TokenCreateParamsPersonDob, TokenCreateParamsPersonDocuments as TokenCreateParamsPersonDocuments, TokenCreateParamsPersonDocumentsCompanyAuthorization as TokenCreateParamsPersonDocumentsCompanyAuthorization, TokenCreateParamsPersonDocumentsPassport as TokenCreateParamsPersonDocumentsPassport, TokenCreateParamsPersonDocumentsVisa as TokenCreateParamsPersonDocumentsVisa, TokenCreateParamsPersonRegisteredAddress as TokenCreateParamsPersonRegisteredAddress, TokenCreateParamsPersonRelationship as TokenCreateParamsPersonRelationship, TokenCreateParamsPersonUsCfpbData as TokenCreateParamsPersonUsCfpbData, TokenCreateParamsPersonUsCfpbDataEthnicityDetails as TokenCreateParamsPersonUsCfpbDataEthnicityDetails, TokenCreateParamsPersonUsCfpbDataRaceDetails as TokenCreateParamsPersonUsCfpbDataRaceDetails, TokenCreateParamsPersonVerification as TokenCreateParamsPersonVerification, TokenCreateParamsPersonVerificationAdditionalDocument as TokenCreateParamsPersonVerificationAdditionalDocument, TokenCreateParamsPersonVerificationDocument as TokenCreateParamsPersonVerificationDocument, TokenCreateParamsPii as TokenCreateParamsPii, ) from stripe.params._token_retrieve_params import ( TokenRetrieveParams as TokenRetrieveParams, ) from stripe.params._topup_cancel_params import ( TopupCancelParams as TopupCancelParams, ) from stripe.params._topup_create_params import ( TopupCreateParams as TopupCreateParams, ) from stripe.params._topup_list_params import ( TopupListParams as TopupListParams, TopupListParamsAmount as TopupListParamsAmount, TopupListParamsCreated as TopupListParamsCreated, ) from stripe.params._topup_modify_params import ( TopupModifyParams as TopupModifyParams, ) from stripe.params._topup_retrieve_params import ( TopupRetrieveParams as TopupRetrieveParams, ) from stripe.params._topup_update_params import ( TopupUpdateParams as TopupUpdateParams, ) from stripe.params._transfer_create_params import ( TransferCreateParams as TransferCreateParams, ) from stripe.params._transfer_create_reversal_params import ( TransferCreateReversalParams as TransferCreateReversalParams, ) from stripe.params._transfer_list_params import ( TransferListParams as TransferListParams, TransferListParamsCreated as TransferListParamsCreated, ) from stripe.params._transfer_list_reversals_params import ( TransferListReversalsParams as TransferListReversalsParams, ) from stripe.params._transfer_modify_params import ( TransferModifyParams as TransferModifyParams, ) from stripe.params._transfer_modify_reversal_params import ( TransferModifyReversalParams as TransferModifyReversalParams, ) from stripe.params._transfer_retrieve_params import ( TransferRetrieveParams as TransferRetrieveParams, ) from stripe.params._transfer_retrieve_reversal_params import ( TransferRetrieveReversalParams as TransferRetrieveReversalParams, ) from stripe.params._transfer_reversal_create_params import ( TransferReversalCreateParams as TransferReversalCreateParams, ) from stripe.params._transfer_reversal_list_params import ( TransferReversalListParams as TransferReversalListParams, ) from stripe.params._transfer_reversal_retrieve_params import ( TransferReversalRetrieveParams as TransferReversalRetrieveParams, ) from stripe.params._transfer_reversal_update_params import ( TransferReversalUpdateParams as TransferReversalUpdateParams, ) from stripe.params._transfer_update_params import ( TransferUpdateParams as TransferUpdateParams, ) from stripe.params._webhook_endpoint_create_params import ( WebhookEndpointCreateParams as WebhookEndpointCreateParams, ) from stripe.params._webhook_endpoint_delete_params import ( WebhookEndpointDeleteParams as WebhookEndpointDeleteParams, ) from stripe.params._webhook_endpoint_list_params import ( WebhookEndpointListParams as WebhookEndpointListParams, ) from stripe.params._webhook_endpoint_modify_params import ( WebhookEndpointModifyParams as WebhookEndpointModifyParams, ) from stripe.params._webhook_endpoint_retrieve_params import ( WebhookEndpointRetrieveParams as WebhookEndpointRetrieveParams, ) from stripe.params._webhook_endpoint_update_params import ( WebhookEndpointUpdateParams as WebhookEndpointUpdateParams, ) # name -> (import_target, is_submodule) _import_map = { "apps": ("stripe.params.apps", True), "billing": ("stripe.params.billing", True), "billing_portal": ("stripe.params.billing_portal", True), "checkout": ("stripe.params.checkout", True), "climate": ("stripe.params.climate", True), "entitlements": ("stripe.params.entitlements", True), "financial_connections": ("stripe.params.financial_connections", True), "forwarding": ("stripe.params.forwarding", True), "identity": ("stripe.params.identity", True), "issuing": ("stripe.params.issuing", True), "radar": ("stripe.params.radar", True), "reporting": ("stripe.params.reporting", True), "sigma": ("stripe.params.sigma", True), "tax": ("stripe.params.tax", True), "terminal": ("stripe.params.terminal", True), "test_helpers": ("stripe.params.test_helpers", True), "treasury": ("stripe.params.treasury", True), "AccountCapabilityListParams": ( "stripe.params._account_capability_list_params", False, ), "AccountCapabilityRetrieveParams": ( "stripe.params._account_capability_retrieve_params", False, ), "AccountCapabilityUpdateParams": ( "stripe.params._account_capability_update_params", False, ), "AccountCreateExternalAccountParams": ( "stripe.params._account_create_external_account_params", False, ), "AccountCreateExternalAccountParamsBankAccount": ( "stripe.params._account_create_external_account_params", False, ), "AccountCreateExternalAccountParamsCard": ( "stripe.params._account_create_external_account_params", False, ), "AccountCreateExternalAccountParamsCardToken": ( "stripe.params._account_create_external_account_params", False, ), "AccountCreateLoginLinkParams": ( "stripe.params._account_create_login_link_params", False, ), "AccountCreateParams": ("stripe.params._account_create_params", False), "AccountCreateParamsBankAccount": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsBusinessProfile": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsBusinessProfileAnnualRevenue": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsBusinessProfileMonthlyEstimatedRevenue": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsBusinessProfileSupportAddress": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilities": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesAcssDebitPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesAffirmPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesAfterpayClearpayPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesAlmaPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesAmazonPayPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesAuBecsDebitPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesBacsDebitPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesBancontactPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesBankTransferPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesBilliePayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesBlikPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesBoletoPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesCardIssuing": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesCardPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesCartesBancairesPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesCashappPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesCryptoPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesEpsPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesFpxPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesGbBankTransferPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesGiropayPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesGrabpayPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesIdealPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesIndiaInternationalPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesJcbPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesJpBankTransferPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesKakaoPayPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesKlarnaPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesKonbiniPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesKrCardPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesLegacyPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesLinkPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesMbWayPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesMobilepayPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesMultibancoPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesMxBankTransferPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesNaverPayPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesNzBankAccountBecsDebitPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesOxxoPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesP24Payments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesPayByBankPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesPaycoPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesPaynowPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesPixPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesPromptpayPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesRevolutPayPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesSamsungPayPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesSatispayPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesSepaBankTransferPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesSepaDebitPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesSofortPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesSwishPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesTaxReportingUs1099K": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesTaxReportingUs1099Misc": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesTransfers": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesTreasury": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesTwintPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesUsBankAccountAchPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesUsBankTransferPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCapabilitiesZipPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCard": ("stripe.params._account_create_params", False), "AccountCreateParamsCardToken": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCompany": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCompanyAddress": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCompanyAddressKana": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCompanyAddressKanji": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCompanyDirectorshipDeclaration": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCompanyOwnershipDeclaration": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCompanyRegistrationDate": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCompanyRepresentativeDeclaration": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCompanyVerification": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsCompanyVerificationDocument": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsController": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsControllerFees": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsControllerLosses": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsControllerStripeDashboard": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsDocuments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsDocumentsBankAccountOwnershipVerification": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsDocumentsCompanyLicense": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsDocumentsCompanyMemorandumOfAssociation": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsDocumentsCompanyMinisterialDecree": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsDocumentsCompanyRegistrationVerification": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsDocumentsCompanyTaxIdVerification": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsDocumentsProofOfAddress": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsDocumentsProofOfRegistration": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsDocumentsProofOfUltimateBeneficialOwnership": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsGroups": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsIndividual": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsIndividualAddress": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsIndividualAddressKana": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsIndividualAddressKanji": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsIndividualDob": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsIndividualRegisteredAddress": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsIndividualRelationship": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsIndividualVerification": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsIndividualVerificationAdditionalDocument": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsIndividualVerificationDocument": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsSettings": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsSettingsBacsDebitPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsSettingsBranding": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsSettingsCardIssuing": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsSettingsCardIssuingTosAcceptance": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsSettingsCardPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsSettingsCardPaymentsDeclineOn": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsSettingsInvoices": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsSettingsPayments": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsSettingsPayouts": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsSettingsPayoutsSchedule": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsSettingsTreasury": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsSettingsTreasuryTosAcceptance": ( "stripe.params._account_create_params", False, ), "AccountCreateParamsTosAcceptance": ( "stripe.params._account_create_params", False, ), "AccountCreatePersonParams": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsAdditionalTosAcceptances": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsAdditionalTosAcceptancesAccount": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsAddress": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsAddressKana": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsAddressKanji": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsDob": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsDocuments": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsDocumentsCompanyAuthorization": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsDocumentsPassport": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsDocumentsVisa": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsRegisteredAddress": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsRelationship": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsUsCfpbData": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsUsCfpbDataEthnicityDetails": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsUsCfpbDataRaceDetails": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsVerification": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsVerificationAdditionalDocument": ( "stripe.params._account_create_person_params", False, ), "AccountCreatePersonParamsVerificationDocument": ( "stripe.params._account_create_person_params", False, ), "AccountDeleteExternalAccountParams": ( "stripe.params._account_delete_external_account_params", False, ), "AccountDeleteParams": ("stripe.params._account_delete_params", False), "AccountDeletePersonParams": ( "stripe.params._account_delete_person_params", False, ), "AccountExternalAccountCreateParams": ( "stripe.params._account_external_account_create_params", False, ), "AccountExternalAccountCreateParamsBankAccount": ( "stripe.params._account_external_account_create_params", False, ), "AccountExternalAccountCreateParamsCard": ( "stripe.params._account_external_account_create_params", False, ), "AccountExternalAccountCreateParamsCardToken": ( "stripe.params._account_external_account_create_params", False, ), "AccountExternalAccountDeleteParams": ( "stripe.params._account_external_account_delete_params", False, ), "AccountExternalAccountListParams": ( "stripe.params._account_external_account_list_params", False, ), "AccountExternalAccountRetrieveParams": ( "stripe.params._account_external_account_retrieve_params", False, ), "AccountExternalAccountUpdateParams": ( "stripe.params._account_external_account_update_params", False, ), "AccountExternalAccountUpdateParamsDocuments": ( "stripe.params._account_external_account_update_params", False, ), "AccountExternalAccountUpdateParamsDocumentsBankAccountOwnershipVerification": ( "stripe.params._account_external_account_update_params", False, ), "AccountLinkCreateParams": ( "stripe.params._account_link_create_params", False, ), "AccountLinkCreateParamsCollectionOptions": ( "stripe.params._account_link_create_params", False, ), "AccountListCapabilitiesParams": ( "stripe.params._account_list_capabilities_params", False, ), "AccountListExternalAccountsParams": ( "stripe.params._account_list_external_accounts_params", False, ), "AccountListParams": ("stripe.params._account_list_params", False), "AccountListParamsCreated": ("stripe.params._account_list_params", False), "AccountListPersonsParams": ( "stripe.params._account_list_persons_params", False, ), "AccountListPersonsParamsRelationship": ( "stripe.params._account_list_persons_params", False, ), "AccountLoginLinkCreateParams": ( "stripe.params._account_login_link_create_params", False, ), "AccountModifyCapabilityParams": ( "stripe.params._account_modify_capability_params", False, ), "AccountModifyExternalAccountParams": ( "stripe.params._account_modify_external_account_params", False, ), "AccountModifyExternalAccountParamsDocuments": ( "stripe.params._account_modify_external_account_params", False, ), "AccountModifyExternalAccountParamsDocumentsBankAccountOwnershipVerification": ( "stripe.params._account_modify_external_account_params", False, ), "AccountModifyPersonParams": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsAdditionalTosAcceptances": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsAdditionalTosAcceptancesAccount": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsAddress": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsAddressKana": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsAddressKanji": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsDob": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsDocuments": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsDocumentsCompanyAuthorization": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsDocumentsPassport": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsDocumentsVisa": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsRegisteredAddress": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsRelationship": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsUsCfpbData": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsUsCfpbDataEthnicityDetails": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsUsCfpbDataRaceDetails": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsVerification": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsVerificationAdditionalDocument": ( "stripe.params._account_modify_person_params", False, ), "AccountModifyPersonParamsVerificationDocument": ( "stripe.params._account_modify_person_params", False, ), "AccountPersonCreateParams": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsAdditionalTosAcceptances": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsAdditionalTosAcceptancesAccount": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsAddress": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsAddressKana": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsAddressKanji": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsDob": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsDocuments": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsDocumentsCompanyAuthorization": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsDocumentsPassport": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsDocumentsVisa": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsRegisteredAddress": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsRelationship": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsUsCfpbData": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsUsCfpbDataEthnicityDetails": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsUsCfpbDataRaceDetails": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsVerification": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsVerificationAdditionalDocument": ( "stripe.params._account_person_create_params", False, ), "AccountPersonCreateParamsVerificationDocument": ( "stripe.params._account_person_create_params", False, ), "AccountPersonDeleteParams": ( "stripe.params._account_person_delete_params", False, ), "AccountPersonListParams": ( "stripe.params._account_person_list_params", False, ), "AccountPersonListParamsRelationship": ( "stripe.params._account_person_list_params", False, ), "AccountPersonRetrieveParams": ( "stripe.params._account_person_retrieve_params", False, ), "AccountPersonUpdateParams": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsAdditionalTosAcceptances": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsAdditionalTosAcceptancesAccount": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsAddress": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsAddressKana": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsAddressKanji": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsDob": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsDocuments": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsDocumentsCompanyAuthorization": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsDocumentsPassport": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsDocumentsVisa": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsRegisteredAddress": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsRelationship": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsUsCfpbData": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsUsCfpbDataEthnicityDetails": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsUsCfpbDataRaceDetails": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsVerification": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsVerificationAdditionalDocument": ( "stripe.params._account_person_update_params", False, ), "AccountPersonUpdateParamsVerificationDocument": ( "stripe.params._account_person_update_params", False, ), "AccountPersonsParams": ("stripe.params._account_persons_params", False), "AccountPersonsParamsRelationship": ( "stripe.params._account_persons_params", False, ), "AccountRejectParams": ("stripe.params._account_reject_params", False), "AccountRetrieveCapabilityParams": ( "stripe.params._account_retrieve_capability_params", False, ), "AccountRetrieveCurrentParams": ( "stripe.params._account_retrieve_current_params", False, ), "AccountRetrieveExternalAccountParams": ( "stripe.params._account_retrieve_external_account_params", False, ), "AccountRetrieveParams": ("stripe.params._account_retrieve_params", False), "AccountRetrievePersonParams": ( "stripe.params._account_retrieve_person_params", False, ), "AccountSessionCreateParams": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponents": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsAccountManagement": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsAccountManagementFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsAccountOnboarding": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsAccountOnboardingFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsBalances": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsBalancesFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsDisputesList": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsDisputesListFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsDocuments": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsDocumentsFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsFinancialAccount": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsFinancialAccountFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsFinancialAccountTransactions": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsFinancialAccountTransactionsFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsInstantPayoutsPromotion": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsInstantPayoutsPromotionFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsIssuingCard": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsIssuingCardFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsIssuingCardsList": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsIssuingCardsListFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsNotificationBanner": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsNotificationBannerFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsPaymentDetails": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsPaymentDetailsFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsPaymentDisputes": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsPaymentDisputesFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsPayments": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsPaymentsFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsPayoutDetails": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsPayoutDetailsFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsPayouts": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsPayoutsFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsPayoutsList": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsPayoutsListFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsTaxRegistrations": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsTaxRegistrationsFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsTaxSettings": ( "stripe.params._account_session_create_params", False, ), "AccountSessionCreateParamsComponentsTaxSettingsFeatures": ( "stripe.params._account_session_create_params", False, ), "AccountUpdateParams": ("stripe.params._account_update_params", False), "AccountUpdateParamsBankAccount": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsBusinessProfile": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsBusinessProfileAnnualRevenue": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsBusinessProfileMonthlyEstimatedRevenue": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsBusinessProfileSupportAddress": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilities": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesAcssDebitPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesAffirmPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesAfterpayClearpayPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesAlmaPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesAmazonPayPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesAuBecsDebitPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesBacsDebitPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesBancontactPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesBankTransferPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesBilliePayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesBlikPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesBoletoPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesCardIssuing": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesCardPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesCartesBancairesPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesCashappPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesCryptoPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesEpsPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesFpxPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesGbBankTransferPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesGiropayPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesGrabpayPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesIdealPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesIndiaInternationalPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesJcbPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesJpBankTransferPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesKakaoPayPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesKlarnaPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesKonbiniPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesKrCardPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesLegacyPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesLinkPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesMbWayPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesMobilepayPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesMultibancoPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesMxBankTransferPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesNaverPayPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesNzBankAccountBecsDebitPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesOxxoPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesP24Payments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesPayByBankPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesPaycoPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesPaynowPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesPixPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesPromptpayPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesRevolutPayPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesSamsungPayPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesSatispayPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesSepaBankTransferPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesSepaDebitPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesSofortPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesSwishPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesTaxReportingUs1099K": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesTaxReportingUs1099Misc": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesTransfers": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesTreasury": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesTwintPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesUsBankAccountAchPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesUsBankTransferPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCapabilitiesZipPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCard": ("stripe.params._account_update_params", False), "AccountUpdateParamsCardToken": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCompany": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCompanyAddress": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCompanyAddressKana": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCompanyAddressKanji": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCompanyDirectorshipDeclaration": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCompanyOwnershipDeclaration": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCompanyRegistrationDate": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCompanyRepresentativeDeclaration": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCompanyVerification": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsCompanyVerificationDocument": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsDocuments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsDocumentsBankAccountOwnershipVerification": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsDocumentsCompanyLicense": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsDocumentsCompanyMemorandumOfAssociation": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsDocumentsCompanyMinisterialDecree": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsDocumentsCompanyRegistrationVerification": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsDocumentsCompanyTaxIdVerification": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsDocumentsProofOfAddress": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsDocumentsProofOfRegistration": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsDocumentsProofOfUltimateBeneficialOwnership": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsGroups": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsIndividual": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsIndividualAddress": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsIndividualAddressKana": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsIndividualAddressKanji": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsIndividualDob": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsIndividualRegisteredAddress": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsIndividualRelationship": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsIndividualVerification": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsIndividualVerificationAdditionalDocument": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsIndividualVerificationDocument": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsSettings": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsSettingsBacsDebitPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsSettingsBranding": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsSettingsCardIssuing": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsSettingsCardIssuingTosAcceptance": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsSettingsCardPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsSettingsCardPaymentsDeclineOn": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsSettingsInvoices": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsSettingsPayments": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsSettingsPayouts": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsSettingsPayoutsSchedule": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsSettingsTreasury": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsSettingsTreasuryTosAcceptance": ( "stripe.params._account_update_params", False, ), "AccountUpdateParamsTosAcceptance": ( "stripe.params._account_update_params", False, ), "ApplePayDomainCreateParams": ( "stripe.params._apple_pay_domain_create_params", False, ), "ApplePayDomainDeleteParams": ( "stripe.params._apple_pay_domain_delete_params", False, ), "ApplePayDomainListParams": ( "stripe.params._apple_pay_domain_list_params", False, ), "ApplePayDomainRetrieveParams": ( "stripe.params._apple_pay_domain_retrieve_params", False, ), "ApplicationFeeCreateRefundParams": ( "stripe.params._application_fee_create_refund_params", False, ), "ApplicationFeeListParams": ( "stripe.params._application_fee_list_params", False, ), "ApplicationFeeListParamsCreated": ( "stripe.params._application_fee_list_params", False, ), "ApplicationFeeListRefundsParams": ( "stripe.params._application_fee_list_refunds_params", False, ), "ApplicationFeeModifyRefundParams": ( "stripe.params._application_fee_modify_refund_params", False, ), "ApplicationFeeRefundCreateParams": ( "stripe.params._application_fee_refund_create_params", False, ), "ApplicationFeeRefundListParams": ( "stripe.params._application_fee_refund_list_params", False, ), "ApplicationFeeRefundParams": ( "stripe.params._application_fee_refund_params", False, ), "ApplicationFeeRefundRetrieveParams": ( "stripe.params._application_fee_refund_retrieve_params", False, ), "ApplicationFeeRefundUpdateParams": ( "stripe.params._application_fee_refund_update_params", False, ), "ApplicationFeeRetrieveParams": ( "stripe.params._application_fee_retrieve_params", False, ), "ApplicationFeeRetrieveRefundParams": ( "stripe.params._application_fee_retrieve_refund_params", False, ), "BalanceRetrieveParams": ("stripe.params._balance_retrieve_params", False), "BalanceSettingsModifyParams": ( "stripe.params._balance_settings_modify_params", False, ), "BalanceSettingsModifyParamsPayments": ( "stripe.params._balance_settings_modify_params", False, ), "BalanceSettingsModifyParamsPaymentsPayouts": ( "stripe.params._balance_settings_modify_params", False, ), "BalanceSettingsModifyParamsPaymentsPayoutsSchedule": ( "stripe.params._balance_settings_modify_params", False, ), "BalanceSettingsModifyParamsPaymentsSettlementTiming": ( "stripe.params._balance_settings_modify_params", False, ), "BalanceSettingsRetrieveParams": ( "stripe.params._balance_settings_retrieve_params", False, ), "BalanceSettingsUpdateParams": ( "stripe.params._balance_settings_update_params", False, ), "BalanceSettingsUpdateParamsPayments": ( "stripe.params._balance_settings_update_params", False, ), "BalanceSettingsUpdateParamsPaymentsPayouts": ( "stripe.params._balance_settings_update_params", False, ), "BalanceSettingsUpdateParamsPaymentsPayoutsSchedule": ( "stripe.params._balance_settings_update_params", False, ), "BalanceSettingsUpdateParamsPaymentsSettlementTiming": ( "stripe.params._balance_settings_update_params", False, ), "BalanceTransactionListParams": ( "stripe.params._balance_transaction_list_params", False, ), "BalanceTransactionListParamsCreated": ( "stripe.params._balance_transaction_list_params", False, ), "BalanceTransactionRetrieveParams": ( "stripe.params._balance_transaction_retrieve_params", False, ), "BankAccountDeleteParams": ( "stripe.params._bank_account_delete_params", False, ), "CardDeleteParams": ("stripe.params._card_delete_params", False), "ChargeCaptureParams": ("stripe.params._charge_capture_params", False), "ChargeCaptureParamsTransferData": ( "stripe.params._charge_capture_params", False, ), "ChargeCreateParams": ("stripe.params._charge_create_params", False), "ChargeCreateParamsDestination": ( "stripe.params._charge_create_params", False, ), "ChargeCreateParamsRadarOptions": ( "stripe.params._charge_create_params", False, ), "ChargeCreateParamsShipping": ( "stripe.params._charge_create_params", False, ), "ChargeCreateParamsShippingAddress": ( "stripe.params._charge_create_params", False, ), "ChargeCreateParamsTransferData": ( "stripe.params._charge_create_params", False, ), "ChargeListParams": ("stripe.params._charge_list_params", False), "ChargeListParamsCreated": ("stripe.params._charge_list_params", False), "ChargeListRefundsParams": ( "stripe.params._charge_list_refunds_params", False, ), "ChargeModifyParams": ("stripe.params._charge_modify_params", False), "ChargeModifyParamsFraudDetails": ( "stripe.params._charge_modify_params", False, ), "ChargeModifyParamsShipping": ( "stripe.params._charge_modify_params", False, ), "ChargeModifyParamsShippingAddress": ( "stripe.params._charge_modify_params", False, ), "ChargeRetrieveParams": ("stripe.params._charge_retrieve_params", False), "ChargeRetrieveRefundParams": ( "stripe.params._charge_retrieve_refund_params", False, ), "ChargeSearchParams": ("stripe.params._charge_search_params", False), "ChargeUpdateParams": ("stripe.params._charge_update_params", False), "ChargeUpdateParamsFraudDetails": ( "stripe.params._charge_update_params", False, ), "ChargeUpdateParamsShipping": ( "stripe.params._charge_update_params", False, ), "ChargeUpdateParamsShippingAddress": ( "stripe.params._charge_update_params", False, ), "ConfirmationTokenCreateParams": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodData": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataAcssDebit": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataAffirm": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataAfterpayClearpay": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataAlipay": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataAlma": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataAmazonPay": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataAuBecsDebit": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataBacsDebit": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataBancontact": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataBillie": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataBillingDetails": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataBillingDetailsAddress": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataBlik": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataBoleto": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataCashapp": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataCrypto": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataCustomerBalance": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataEps": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataFpx": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataGiropay": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataGrabpay": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataIdeal": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataInteracPresent": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataKakaoPay": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataKlarna": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataKlarnaDob": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataKonbini": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataKrCard": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataLink": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataMbWay": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataMobilepay": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataMultibanco": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataNaverPay": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataNzBankAccount": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataOxxo": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataP24": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataPayByBank": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataPayco": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataPaynow": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataPaypal": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataPix": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataPromptpay": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataRadarOptions": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataRevolutPay": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataSamsungPay": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataSatispay": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataSepaDebit": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataSofort": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataSwish": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataTwint": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataWechatPay": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataZip": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodOptions": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodOptionsCard": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallments": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallmentsPlan": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsShipping": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsShippingAddress": ( "stripe.params._confirmation_token_create_params", False, ), "ConfirmationTokenRetrieveParams": ( "stripe.params._confirmation_token_retrieve_params", False, ), "CountrySpecListParams": ( "stripe.params._country_spec_list_params", False, ), "CountrySpecRetrieveParams": ( "stripe.params._country_spec_retrieve_params", False, ), "CouponCreateParams": ("stripe.params._coupon_create_params", False), "CouponCreateParamsAppliesTo": ( "stripe.params._coupon_create_params", False, ), "CouponCreateParamsCurrencyOptions": ( "stripe.params._coupon_create_params", False, ), "CouponDeleteParams": ("stripe.params._coupon_delete_params", False), "CouponListParams": ("stripe.params._coupon_list_params", False), "CouponListParamsCreated": ("stripe.params._coupon_list_params", False), "CouponModifyParams": ("stripe.params._coupon_modify_params", False), "CouponModifyParamsCurrencyOptions": ( "stripe.params._coupon_modify_params", False, ), "CouponRetrieveParams": ("stripe.params._coupon_retrieve_params", False), "CouponUpdateParams": ("stripe.params._coupon_update_params", False), "CouponUpdateParamsCurrencyOptions": ( "stripe.params._coupon_update_params", False, ), "CreditNoteCreateParams": ( "stripe.params._credit_note_create_params", False, ), "CreditNoteCreateParamsLine": ( "stripe.params._credit_note_create_params", False, ), "CreditNoteCreateParamsLineTaxAmount": ( "stripe.params._credit_note_create_params", False, ), "CreditNoteCreateParamsRefund": ( "stripe.params._credit_note_create_params", False, ), "CreditNoteCreateParamsRefundPaymentRecordRefund": ( "stripe.params._credit_note_create_params", False, ), "CreditNoteCreateParamsShippingCost": ( "stripe.params._credit_note_create_params", False, ), "CreditNoteLineItemListParams": ( "stripe.params._credit_note_line_item_list_params", False, ), "CreditNoteListLinesParams": ( "stripe.params._credit_note_list_lines_params", False, ), "CreditNoteListParams": ("stripe.params._credit_note_list_params", False), "CreditNoteListParamsCreated": ( "stripe.params._credit_note_list_params", False, ), "CreditNoteModifyParams": ( "stripe.params._credit_note_modify_params", False, ), "CreditNotePreviewLinesListParams": ( "stripe.params._credit_note_preview_lines_list_params", False, ), "CreditNotePreviewLinesListParamsLine": ( "stripe.params._credit_note_preview_lines_list_params", False, ), "CreditNotePreviewLinesListParamsLineTaxAmount": ( "stripe.params._credit_note_preview_lines_list_params", False, ), "CreditNotePreviewLinesListParamsRefund": ( "stripe.params._credit_note_preview_lines_list_params", False, ), "CreditNotePreviewLinesListParamsRefundPaymentRecordRefund": ( "stripe.params._credit_note_preview_lines_list_params", False, ), "CreditNotePreviewLinesListParamsShippingCost": ( "stripe.params._credit_note_preview_lines_list_params", False, ), "CreditNotePreviewLinesParams": ( "stripe.params._credit_note_preview_lines_params", False, ), "CreditNotePreviewLinesParamsLine": ( "stripe.params._credit_note_preview_lines_params", False, ), "CreditNotePreviewLinesParamsLineTaxAmount": ( "stripe.params._credit_note_preview_lines_params", False, ), "CreditNotePreviewLinesParamsRefund": ( "stripe.params._credit_note_preview_lines_params", False, ), "CreditNotePreviewLinesParamsRefundPaymentRecordRefund": ( "stripe.params._credit_note_preview_lines_params", False, ), "CreditNotePreviewLinesParamsShippingCost": ( "stripe.params._credit_note_preview_lines_params", False, ), "CreditNotePreviewParams": ( "stripe.params._credit_note_preview_params", False, ), "CreditNotePreviewParamsLine": ( "stripe.params._credit_note_preview_params", False, ), "CreditNotePreviewParamsLineTaxAmount": ( "stripe.params._credit_note_preview_params", False, ), "CreditNotePreviewParamsRefund": ( "stripe.params._credit_note_preview_params", False, ), "CreditNotePreviewParamsRefundPaymentRecordRefund": ( "stripe.params._credit_note_preview_params", False, ), "CreditNotePreviewParamsShippingCost": ( "stripe.params._credit_note_preview_params", False, ), "CreditNoteRetrieveParams": ( "stripe.params._credit_note_retrieve_params", False, ), "CreditNoteUpdateParams": ( "stripe.params._credit_note_update_params", False, ), "CreditNoteVoidCreditNoteParams": ( "stripe.params._credit_note_void_credit_note_params", False, ), "CustomerBalanceTransactionCreateParams": ( "stripe.params._customer_balance_transaction_create_params", False, ), "CustomerBalanceTransactionListParams": ( "stripe.params._customer_balance_transaction_list_params", False, ), "CustomerBalanceTransactionRetrieveParams": ( "stripe.params._customer_balance_transaction_retrieve_params", False, ), "CustomerBalanceTransactionUpdateParams": ( "stripe.params._customer_balance_transaction_update_params", False, ), "CustomerCashBalanceRetrieveParams": ( "stripe.params._customer_cash_balance_retrieve_params", False, ), "CustomerCashBalanceTransactionListParams": ( "stripe.params._customer_cash_balance_transaction_list_params", False, ), "CustomerCashBalanceTransactionRetrieveParams": ( "stripe.params._customer_cash_balance_transaction_retrieve_params", False, ), "CustomerCashBalanceUpdateParams": ( "stripe.params._customer_cash_balance_update_params", False, ), "CustomerCashBalanceUpdateParamsSettings": ( "stripe.params._customer_cash_balance_update_params", False, ), "CustomerCreateBalanceTransactionParams": ( "stripe.params._customer_create_balance_transaction_params", False, ), "CustomerCreateFundingInstructionsParams": ( "stripe.params._customer_create_funding_instructions_params", False, ), "CustomerCreateFundingInstructionsParamsBankTransfer": ( "stripe.params._customer_create_funding_instructions_params", False, ), "CustomerCreateFundingInstructionsParamsBankTransferEuBankTransfer": ( "stripe.params._customer_create_funding_instructions_params", False, ), "CustomerCreateParams": ("stripe.params._customer_create_params", False), "CustomerCreateParamsAddress": ( "stripe.params._customer_create_params", False, ), "CustomerCreateParamsCashBalance": ( "stripe.params._customer_create_params", False, ), "CustomerCreateParamsCashBalanceSettings": ( "stripe.params._customer_create_params", False, ), "CustomerCreateParamsInvoiceSettings": ( "stripe.params._customer_create_params", False, ), "CustomerCreateParamsInvoiceSettingsCustomField": ( "stripe.params._customer_create_params", False, ), "CustomerCreateParamsInvoiceSettingsRenderingOptions": ( "stripe.params._customer_create_params", False, ), "CustomerCreateParamsShipping": ( "stripe.params._customer_create_params", False, ), "CustomerCreateParamsShippingAddress": ( "stripe.params._customer_create_params", False, ), "CustomerCreateParamsTax": ( "stripe.params._customer_create_params", False, ), "CustomerCreateParamsTaxIdDatum": ( "stripe.params._customer_create_params", False, ), "CustomerCreateSourceParams": ( "stripe.params._customer_create_source_params", False, ), "CustomerCreateTaxIdParams": ( "stripe.params._customer_create_tax_id_params", False, ), "CustomerDeleteDiscountParams": ( "stripe.params._customer_delete_discount_params", False, ), "CustomerDeleteParams": ("stripe.params._customer_delete_params", False), "CustomerDeleteSourceParams": ( "stripe.params._customer_delete_source_params", False, ), "CustomerDeleteTaxIdParams": ( "stripe.params._customer_delete_tax_id_params", False, ), "CustomerFundCashBalanceParams": ( "stripe.params._customer_fund_cash_balance_params", False, ), "CustomerFundingInstructionsCreateParams": ( "stripe.params._customer_funding_instructions_create_params", False, ), "CustomerFundingInstructionsCreateParamsBankTransfer": ( "stripe.params._customer_funding_instructions_create_params", False, ), "CustomerFundingInstructionsCreateParamsBankTransferEuBankTransfer": ( "stripe.params._customer_funding_instructions_create_params", False, ), "CustomerListBalanceTransactionsParams": ( "stripe.params._customer_list_balance_transactions_params", False, ), "CustomerListCashBalanceTransactionsParams": ( "stripe.params._customer_list_cash_balance_transactions_params", False, ), "CustomerListParams": ("stripe.params._customer_list_params", False), "CustomerListParamsCreated": ( "stripe.params._customer_list_params", False, ), "CustomerListPaymentMethodsParams": ( "stripe.params._customer_list_payment_methods_params", False, ), "CustomerListSourcesParams": ( "stripe.params._customer_list_sources_params", False, ), "CustomerListTaxIdsParams": ( "stripe.params._customer_list_tax_ids_params", False, ), "CustomerModifyBalanceTransactionParams": ( "stripe.params._customer_modify_balance_transaction_params", False, ), "CustomerModifyCashBalanceParams": ( "stripe.params._customer_modify_cash_balance_params", False, ), "CustomerModifyCashBalanceParamsSettings": ( "stripe.params._customer_modify_cash_balance_params", False, ), "CustomerModifyParams": ("stripe.params._customer_modify_params", False), "CustomerModifyParamsAddress": ( "stripe.params._customer_modify_params", False, ), "CustomerModifyParamsCashBalance": ( "stripe.params._customer_modify_params", False, ), "CustomerModifyParamsCashBalanceSettings": ( "stripe.params._customer_modify_params", False, ), "CustomerModifyParamsInvoiceSettings": ( "stripe.params._customer_modify_params", False, ), "CustomerModifyParamsInvoiceSettingsCustomField": ( "stripe.params._customer_modify_params", False, ), "CustomerModifyParamsInvoiceSettingsRenderingOptions": ( "stripe.params._customer_modify_params", False, ), "CustomerModifyParamsShipping": ( "stripe.params._customer_modify_params", False, ), "CustomerModifyParamsShippingAddress": ( "stripe.params._customer_modify_params", False, ), "CustomerModifyParamsTax": ( "stripe.params._customer_modify_params", False, ), "CustomerModifySourceParams": ( "stripe.params._customer_modify_source_params", False, ), "CustomerModifySourceParamsOwner": ( "stripe.params._customer_modify_source_params", False, ), "CustomerModifySourceParamsOwnerAddress": ( "stripe.params._customer_modify_source_params", False, ), "CustomerPaymentMethodListParams": ( "stripe.params._customer_payment_method_list_params", False, ), "CustomerPaymentMethodRetrieveParams": ( "stripe.params._customer_payment_method_retrieve_params", False, ), "CustomerPaymentSourceCreateParams": ( "stripe.params._customer_payment_source_create_params", False, ), "CustomerPaymentSourceDeleteParams": ( "stripe.params._customer_payment_source_delete_params", False, ), "CustomerPaymentSourceListParams": ( "stripe.params._customer_payment_source_list_params", False, ), "CustomerPaymentSourceRetrieveParams": ( "stripe.params._customer_payment_source_retrieve_params", False, ), "CustomerPaymentSourceUpdateParams": ( "stripe.params._customer_payment_source_update_params", False, ), "CustomerPaymentSourceUpdateParamsOwner": ( "stripe.params._customer_payment_source_update_params", False, ), "CustomerPaymentSourceUpdateParamsOwnerAddress": ( "stripe.params._customer_payment_source_update_params", False, ), "CustomerPaymentSourceVerifyParams": ( "stripe.params._customer_payment_source_verify_params", False, ), "CustomerRetrieveBalanceTransactionParams": ( "stripe.params._customer_retrieve_balance_transaction_params", False, ), "CustomerRetrieveCashBalanceParams": ( "stripe.params._customer_retrieve_cash_balance_params", False, ), "CustomerRetrieveCashBalanceTransactionParams": ( "stripe.params._customer_retrieve_cash_balance_transaction_params", False, ), "CustomerRetrieveParams": ( "stripe.params._customer_retrieve_params", False, ), "CustomerRetrievePaymentMethodParams": ( "stripe.params._customer_retrieve_payment_method_params", False, ), "CustomerRetrieveSourceParams": ( "stripe.params._customer_retrieve_source_params", False, ), "CustomerRetrieveTaxIdParams": ( "stripe.params._customer_retrieve_tax_id_params", False, ), "CustomerSearchParams": ("stripe.params._customer_search_params", False), "CustomerSessionCreateParams": ( "stripe.params._customer_session_create_params", False, ), "CustomerSessionCreateParamsComponents": ( "stripe.params._customer_session_create_params", False, ), "CustomerSessionCreateParamsComponentsBuyButton": ( "stripe.params._customer_session_create_params", False, ), "CustomerSessionCreateParamsComponentsCustomerSheet": ( "stripe.params._customer_session_create_params", False, ), "CustomerSessionCreateParamsComponentsCustomerSheetFeatures": ( "stripe.params._customer_session_create_params", False, ), "CustomerSessionCreateParamsComponentsMobilePaymentElement": ( "stripe.params._customer_session_create_params", False, ), "CustomerSessionCreateParamsComponentsMobilePaymentElementFeatures": ( "stripe.params._customer_session_create_params", False, ), "CustomerSessionCreateParamsComponentsPaymentElement": ( "stripe.params._customer_session_create_params", False, ), "CustomerSessionCreateParamsComponentsPaymentElementFeatures": ( "stripe.params._customer_session_create_params", False, ), "CustomerSessionCreateParamsComponentsPricingTable": ( "stripe.params._customer_session_create_params", False, ), "CustomerTaxIdCreateParams": ( "stripe.params._customer_tax_id_create_params", False, ), "CustomerTaxIdDeleteParams": ( "stripe.params._customer_tax_id_delete_params", False, ), "CustomerTaxIdListParams": ( "stripe.params._customer_tax_id_list_params", False, ), "CustomerTaxIdRetrieveParams": ( "stripe.params._customer_tax_id_retrieve_params", False, ), "CustomerUpdateParams": ("stripe.params._customer_update_params", False), "CustomerUpdateParamsAddress": ( "stripe.params._customer_update_params", False, ), "CustomerUpdateParamsCashBalance": ( "stripe.params._customer_update_params", False, ), "CustomerUpdateParamsCashBalanceSettings": ( "stripe.params._customer_update_params", False, ), "CustomerUpdateParamsInvoiceSettings": ( "stripe.params._customer_update_params", False, ), "CustomerUpdateParamsInvoiceSettingsCustomField": ( "stripe.params._customer_update_params", False, ), "CustomerUpdateParamsInvoiceSettingsRenderingOptions": ( "stripe.params._customer_update_params", False, ), "CustomerUpdateParamsShipping": ( "stripe.params._customer_update_params", False, ), "CustomerUpdateParamsShippingAddress": ( "stripe.params._customer_update_params", False, ), "CustomerUpdateParamsTax": ( "stripe.params._customer_update_params", False, ), "DisputeCloseParams": ("stripe.params._dispute_close_params", False), "DisputeListParams": ("stripe.params._dispute_list_params", False), "DisputeListParamsCreated": ("stripe.params._dispute_list_params", False), "DisputeModifyParams": ("stripe.params._dispute_modify_params", False), "DisputeModifyParamsEvidence": ( "stripe.params._dispute_modify_params", False, ), "DisputeModifyParamsEvidenceEnhancedEvidence": ( "stripe.params._dispute_modify_params", False, ), "DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3": ( "stripe.params._dispute_modify_params", False, ), "DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransaction": ( "stripe.params._dispute_modify_params", False, ), "DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionShippingAddress": ( "stripe.params._dispute_modify_params", False, ), "DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransaction": ( "stripe.params._dispute_modify_params", False, ), "DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransactionShippingAddress": ( "stripe.params._dispute_modify_params", False, ), "DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompliance": ( "stripe.params._dispute_modify_params", False, ), "DisputeRetrieveParams": ("stripe.params._dispute_retrieve_params", False), "DisputeUpdateParams": ("stripe.params._dispute_update_params", False), "DisputeUpdateParamsEvidence": ( "stripe.params._dispute_update_params", False, ), "DisputeUpdateParamsEvidenceEnhancedEvidence": ( "stripe.params._dispute_update_params", False, ), "DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3": ( "stripe.params._dispute_update_params", False, ), "DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransaction": ( "stripe.params._dispute_update_params", False, ), "DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionShippingAddress": ( "stripe.params._dispute_update_params", False, ), "DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransaction": ( "stripe.params._dispute_update_params", False, ), "DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransactionShippingAddress": ( "stripe.params._dispute_update_params", False, ), "DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompliance": ( "stripe.params._dispute_update_params", False, ), "EphemeralKeyCreateParams": ( "stripe.params._ephemeral_key_create_params", False, ), "EphemeralKeyDeleteParams": ( "stripe.params._ephemeral_key_delete_params", False, ), "EventListParams": ("stripe.params._event_list_params", False), "EventListParamsCreated": ("stripe.params._event_list_params", False), "EventRetrieveParams": ("stripe.params._event_retrieve_params", False), "ExchangeRateListParams": ( "stripe.params._exchange_rate_list_params", False, ), "ExchangeRateRetrieveParams": ( "stripe.params._exchange_rate_retrieve_params", False, ), "FileCreateParams": ("stripe.params._file_create_params", False), "FileCreateParamsFileLinkData": ( "stripe.params._file_create_params", False, ), "FileLinkCreateParams": ("stripe.params._file_link_create_params", False), "FileLinkListParams": ("stripe.params._file_link_list_params", False), "FileLinkListParamsCreated": ( "stripe.params._file_link_list_params", False, ), "FileLinkModifyParams": ("stripe.params._file_link_modify_params", False), "FileLinkRetrieveParams": ( "stripe.params._file_link_retrieve_params", False, ), "FileLinkUpdateParams": ("stripe.params._file_link_update_params", False), "FileListParams": ("stripe.params._file_list_params", False), "FileListParamsCreated": ("stripe.params._file_list_params", False), "FileRetrieveParams": ("stripe.params._file_retrieve_params", False), "InvoiceAddLinesParams": ( "stripe.params._invoice_add_lines_params", False, ), "InvoiceAddLinesParamsLine": ( "stripe.params._invoice_add_lines_params", False, ), "InvoiceAddLinesParamsLineDiscount": ( "stripe.params._invoice_add_lines_params", False, ), "InvoiceAddLinesParamsLinePeriod": ( "stripe.params._invoice_add_lines_params", False, ), "InvoiceAddLinesParamsLinePriceData": ( "stripe.params._invoice_add_lines_params", False, ), "InvoiceAddLinesParamsLinePriceDataProductData": ( "stripe.params._invoice_add_lines_params", False, ), "InvoiceAddLinesParamsLinePricing": ( "stripe.params._invoice_add_lines_params", False, ), "InvoiceAddLinesParamsLineTaxAmount": ( "stripe.params._invoice_add_lines_params", False, ), "InvoiceAddLinesParamsLineTaxAmountTaxRateData": ( "stripe.params._invoice_add_lines_params", False, ), "InvoiceAttachPaymentParams": ( "stripe.params._invoice_attach_payment_params", False, ), "InvoiceCreateParams": ("stripe.params._invoice_create_params", False), "InvoiceCreateParamsAutomaticTax": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsAutomaticTaxLiability": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsCustomField": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsDiscount": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsFromInvoice": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsIssuer": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettings": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettingsPaymentMethodOptions": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebit": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsBancontact": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCard": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCardInstallments": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCardInstallmentsPlan": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsKonbini": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsSepaDebit": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsRendering": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsRenderingPdf": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsShippingCost": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsShippingCostShippingRateData": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsShippingCostShippingRateDataDeliveryEstimate": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsShippingCostShippingRateDataDeliveryEstimateMaximum": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsShippingCostShippingRateDataDeliveryEstimateMinimum": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsShippingCostShippingRateDataFixedAmount": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsShippingCostShippingRateDataFixedAmountCurrencyOptions": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsShippingDetails": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsShippingDetailsAddress": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreateParamsTransferData": ( "stripe.params._invoice_create_params", False, ), "InvoiceCreatePreviewParams": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsAutomaticTax": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsAutomaticTaxLiability": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsCustomerDetails": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsCustomerDetailsAddress": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsCustomerDetailsShipping": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsCustomerDetailsShippingAddress": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsCustomerDetailsTax": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsCustomerDetailsTaxId": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsDiscount": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsInvoiceItem": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsInvoiceItemDiscount": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsInvoiceItemPeriod": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsInvoiceItemPriceData": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsIssuer": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetails": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsBillingMode": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsBillingModeFlexible": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhase": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItem": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemDiscount": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPeriod": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPeriodEnd": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPeriodStart": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPriceData": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseAutomaticTax": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseAutomaticTaxLiability": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseBillingThresholds": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseDiscount": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseDuration": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseInvoiceSettings": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseInvoiceSettingsIssuer": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseItem": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseItemBillingThresholds": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseItemDiscount": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseItemPriceData": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseItemPriceDataRecurring": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsScheduleDetailsPhaseTransferData": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsSubscriptionDetails": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsSubscriptionDetailsBillingMode": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsSubscriptionDetailsBillingModeFlexible": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsSubscriptionDetailsItem": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsSubscriptionDetailsItemBillingThresholds": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsSubscriptionDetailsItemDiscount": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsSubscriptionDetailsItemPriceData": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceCreatePreviewParamsSubscriptionDetailsItemPriceDataRecurring": ( "stripe.params._invoice_create_preview_params", False, ), "InvoiceDeleteParams": ("stripe.params._invoice_delete_params", False), "InvoiceFinalizeInvoiceParams": ( "stripe.params._invoice_finalize_invoice_params", False, ), "InvoiceItemCreateParams": ( "stripe.params._invoice_item_create_params", False, ), "InvoiceItemCreateParamsDiscount": ( "stripe.params._invoice_item_create_params", False, ), "InvoiceItemCreateParamsPeriod": ( "stripe.params._invoice_item_create_params", False, ), "InvoiceItemCreateParamsPriceData": ( "stripe.params._invoice_item_create_params", False, ), "InvoiceItemCreateParamsPricing": ( "stripe.params._invoice_item_create_params", False, ), "InvoiceItemDeleteParams": ( "stripe.params._invoice_item_delete_params", False, ), "InvoiceItemListParams": ( "stripe.params._invoice_item_list_params", False, ), "InvoiceItemListParamsCreated": ( "stripe.params._invoice_item_list_params", False, ), "InvoiceItemModifyParams": ( "stripe.params._invoice_item_modify_params", False, ), "InvoiceItemModifyParamsDiscount": ( "stripe.params._invoice_item_modify_params", False, ), "InvoiceItemModifyParamsPeriod": ( "stripe.params._invoice_item_modify_params", False, ), "InvoiceItemModifyParamsPriceData": ( "stripe.params._invoice_item_modify_params", False, ), "InvoiceItemModifyParamsPricing": ( "stripe.params._invoice_item_modify_params", False, ), "InvoiceItemRetrieveParams": ( "stripe.params._invoice_item_retrieve_params", False, ), "InvoiceItemUpdateParams": ( "stripe.params._invoice_item_update_params", False, ), "InvoiceItemUpdateParamsDiscount": ( "stripe.params._invoice_item_update_params", False, ), "InvoiceItemUpdateParamsPeriod": ( "stripe.params._invoice_item_update_params", False, ), "InvoiceItemUpdateParamsPriceData": ( "stripe.params._invoice_item_update_params", False, ), "InvoiceItemUpdateParamsPricing": ( "stripe.params._invoice_item_update_params", False, ), "InvoiceLineItemListParams": ( "stripe.params._invoice_line_item_list_params", False, ), "InvoiceLineItemUpdateParams": ( "stripe.params._invoice_line_item_update_params", False, ), "InvoiceLineItemUpdateParamsDiscount": ( "stripe.params._invoice_line_item_update_params", False, ), "InvoiceLineItemUpdateParamsPeriod": ( "stripe.params._invoice_line_item_update_params", False, ), "InvoiceLineItemUpdateParamsPriceData": ( "stripe.params._invoice_line_item_update_params", False, ), "InvoiceLineItemUpdateParamsPriceDataProductData": ( "stripe.params._invoice_line_item_update_params", False, ), "InvoiceLineItemUpdateParamsPricing": ( "stripe.params._invoice_line_item_update_params", False, ), "InvoiceLineItemUpdateParamsTaxAmount": ( "stripe.params._invoice_line_item_update_params", False, ), "InvoiceLineItemUpdateParamsTaxAmountTaxRateData": ( "stripe.params._invoice_line_item_update_params", False, ), "InvoiceListLinesParams": ( "stripe.params._invoice_list_lines_params", False, ), "InvoiceListParams": ("stripe.params._invoice_list_params", False), "InvoiceListParamsCreated": ("stripe.params._invoice_list_params", False), "InvoiceListParamsDueDate": ("stripe.params._invoice_list_params", False), "InvoiceMarkUncollectibleParams": ( "stripe.params._invoice_mark_uncollectible_params", False, ), "InvoiceModifyParams": ("stripe.params._invoice_modify_params", False), "InvoiceModifyParamsAutomaticTax": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsAutomaticTaxLiability": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsCustomField": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsDiscount": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsIssuer": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettings": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettingsPaymentMethodOptions": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebit": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsBancontact": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCard": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCardInstallments": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCardInstallmentsPlan": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalance": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsKonbini": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsSepaDebit": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccount": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsRendering": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsRenderingPdf": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsShippingCost": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsShippingCostShippingRateData": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsShippingCostShippingRateDataDeliveryEstimate": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsShippingCostShippingRateDataDeliveryEstimateMaximum": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsShippingCostShippingRateDataDeliveryEstimateMinimum": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsShippingCostShippingRateDataFixedAmount": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsShippingCostShippingRateDataFixedAmountCurrencyOptions": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsShippingDetails": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsShippingDetailsAddress": ( "stripe.params._invoice_modify_params", False, ), "InvoiceModifyParamsTransferData": ( "stripe.params._invoice_modify_params", False, ), "InvoicePayParams": ("stripe.params._invoice_pay_params", False), "InvoicePaymentListParams": ( "stripe.params._invoice_payment_list_params", False, ), "InvoicePaymentListParamsPayment": ( "stripe.params._invoice_payment_list_params", False, ), "InvoicePaymentRetrieveParams": ( "stripe.params._invoice_payment_retrieve_params", False, ), "InvoiceRemoveLinesParams": ( "stripe.params._invoice_remove_lines_params", False, ), "InvoiceRemoveLinesParamsLine": ( "stripe.params._invoice_remove_lines_params", False, ), "InvoiceRenderingTemplateArchiveParams": ( "stripe.params._invoice_rendering_template_archive_params", False, ), "InvoiceRenderingTemplateListParams": ( "stripe.params._invoice_rendering_template_list_params", False, ), "InvoiceRenderingTemplateRetrieveParams": ( "stripe.params._invoice_rendering_template_retrieve_params", False, ), "InvoiceRenderingTemplateUnarchiveParams": ( "stripe.params._invoice_rendering_template_unarchive_params", False, ), "InvoiceRetrieveParams": ("stripe.params._invoice_retrieve_params", False), "InvoiceSearchParams": ("stripe.params._invoice_search_params", False), "InvoiceSendInvoiceParams": ( "stripe.params._invoice_send_invoice_params", False, ), "InvoiceUpdateLinesParams": ( "stripe.params._invoice_update_lines_params", False, ), "InvoiceUpdateLinesParamsLine": ( "stripe.params._invoice_update_lines_params", False, ), "InvoiceUpdateLinesParamsLineDiscount": ( "stripe.params._invoice_update_lines_params", False, ), "InvoiceUpdateLinesParamsLinePeriod": ( "stripe.params._invoice_update_lines_params", False, ), "InvoiceUpdateLinesParamsLinePriceData": ( "stripe.params._invoice_update_lines_params", False, ), "InvoiceUpdateLinesParamsLinePriceDataProductData": ( "stripe.params._invoice_update_lines_params", False, ), "InvoiceUpdateLinesParamsLinePricing": ( "stripe.params._invoice_update_lines_params", False, ), "InvoiceUpdateLinesParamsLineTaxAmount": ( "stripe.params._invoice_update_lines_params", False, ), "InvoiceUpdateLinesParamsLineTaxAmountTaxRateData": ( "stripe.params._invoice_update_lines_params", False, ), "InvoiceUpdateParams": ("stripe.params._invoice_update_params", False), "InvoiceUpdateParamsAutomaticTax": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsAutomaticTaxLiability": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsCustomField": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsDiscount": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsIssuer": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettings": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptions": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebit": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsBancontact": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCard": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCardInstallments": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCardInstallmentsPlan": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsKonbini": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsSepaDebit": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsRendering": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsRenderingPdf": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsShippingCost": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsShippingCostShippingRateData": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsShippingCostShippingRateDataDeliveryEstimate": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsShippingCostShippingRateDataDeliveryEstimateMaximum": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsShippingCostShippingRateDataDeliveryEstimateMinimum": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsShippingCostShippingRateDataFixedAmount": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsShippingCostShippingRateDataFixedAmountCurrencyOptions": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsShippingDetails": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsShippingDetailsAddress": ( "stripe.params._invoice_update_params", False, ), "InvoiceUpdateParamsTransferData": ( "stripe.params._invoice_update_params", False, ), "InvoiceVoidInvoiceParams": ( "stripe.params._invoice_void_invoice_params", False, ), "MandateRetrieveParams": ("stripe.params._mandate_retrieve_params", False), "PaymentAttemptRecordListParams": ( "stripe.params._payment_attempt_record_list_params", False, ), "PaymentAttemptRecordRetrieveParams": ( "stripe.params._payment_attempt_record_retrieve_params", False, ), "PaymentIntentAmountDetailsLineItemListParams": ( "stripe.params._payment_intent_amount_details_line_item_list_params", False, ), "PaymentIntentApplyCustomerBalanceParams": ( "stripe.params._payment_intent_apply_customer_balance_params", False, ), "PaymentIntentCancelParams": ( "stripe.params._payment_intent_cancel_params", False, ), "PaymentIntentCaptureParams": ( "stripe.params._payment_intent_capture_params", False, ), "PaymentIntentCaptureParamsAmountDetails": ( "stripe.params._payment_intent_capture_params", False, ), "PaymentIntentCaptureParamsAmountDetailsLineItem": ( "stripe.params._payment_intent_capture_params", False, ), "PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptions": ( "stripe.params._payment_intent_capture_params", False, ), "PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsCard": ( "stripe.params._payment_intent_capture_params", False, ), "PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent": ( "stripe.params._payment_intent_capture_params", False, ), "PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsKlarna": ( "stripe.params._payment_intent_capture_params", False, ), "PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsPaypal": ( "stripe.params._payment_intent_capture_params", False, ), "PaymentIntentCaptureParamsAmountDetailsLineItemTax": ( "stripe.params._payment_intent_capture_params", False, ), "PaymentIntentCaptureParamsAmountDetailsShipping": ( "stripe.params._payment_intent_capture_params", False, ), "PaymentIntentCaptureParamsAmountDetailsTax": ( "stripe.params._payment_intent_capture_params", False, ), "PaymentIntentCaptureParamsPaymentDetails": ( "stripe.params._payment_intent_capture_params", False, ), "PaymentIntentCaptureParamsTransferData": ( "stripe.params._payment_intent_capture_params", False, ), "PaymentIntentConfirmParams": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsAmountDetails": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsAmountDetailsLineItem": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptions": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsCard": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsKlarna": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsPaypal": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsAmountDetailsLineItemTax": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsAmountDetailsShipping": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsAmountDetailsTax": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsMandateData": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsMandateDataCustomerAcceptance": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsMandateDataCustomerAcceptanceOffline": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsMandateDataCustomerAcceptanceOnline": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentDetails": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodData": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataAcssDebit": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataAffirm": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataAfterpayClearpay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataAlipay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataAlma": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataAmazonPay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataAuBecsDebit": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataBacsDebit": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataBancontact": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataBillie": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataBillingDetails": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataBillingDetailsAddress": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataBlik": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataBoleto": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataCashapp": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataCrypto": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataCustomerBalance": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataEps": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataFpx": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataGiropay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataGrabpay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataIdeal": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataInteracPresent": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataKakaoPay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataKlarna": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataKlarnaDob": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataKonbini": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataKrCard": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataLink": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataMbWay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataMobilepay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataMultibanco": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataNaverPay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataNzBankAccount": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataOxxo": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataP24": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataPayByBank": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataPayco": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataPaynow": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataPaypal": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataPix": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataPromptpay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataRadarOptions": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataRevolutPay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataSamsungPay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataSatispay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataSepaDebit": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataSofort": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataSwish": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataTwint": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataUsBankAccount": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataWechatPay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodDataZip": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptions": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsAcssDebit": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsAcssDebitMandateOptions": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsAffirm": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsAfterpayClearpay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsAlipay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsAlma": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsAmazonPay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsAuBecsDebit": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsBacsDebit": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsBacsDebitMandateOptions": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsBancontact": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsBillie": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsBlik": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsBoleto": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsCard": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsCardInstallments": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsCardInstallmentsPlan": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsCardMandateOptions": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsCardPresent": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsCardPresentRouting": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecure": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsCashapp": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsCrypto": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsCustomerBalance": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsCustomerBalanceBankTransfer": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsEps": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsFpx": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsGiropay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsGrabpay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsIdeal": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsInteracPresent": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsKakaoPay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsKlarna": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsKlarnaOnDemand": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsKlarnaSubscription": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsKonbini": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsKrCard": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsLink": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsMbWay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsMobilepay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsMultibanco": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsNaverPay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsNzBankAccount": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsOxxo": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsP24": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsPayByBank": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsPayco": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsPaynow": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsPaypal": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsPix": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsPromptpay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsRevolutPay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsSamsungPay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsSatispay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsSepaDebit": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsSepaDebitMandateOptions": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsSofort": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsSwish": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsTwint": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccount": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnections": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountMandateOptions": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountNetworks": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsWechatPay": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsPaymentMethodOptionsZip": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsRadarOptions": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsShipping": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentConfirmParamsShippingAddress": ( "stripe.params._payment_intent_confirm_params", False, ), "PaymentIntentCreateParams": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsAmountDetails": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsAmountDetailsLineItem": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptions": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsCard": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsKlarna": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsPaypal": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsAmountDetailsLineItemTax": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsAmountDetailsShipping": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsAmountDetailsTax": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsAutomaticPaymentMethods": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsMandateData": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsMandateDataCustomerAcceptance": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsMandateDataCustomerAcceptanceOffline": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsMandateDataCustomerAcceptanceOnline": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentDetails": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodData": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataAcssDebit": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataAffirm": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataAfterpayClearpay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataAlipay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataAlma": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataAmazonPay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataAuBecsDebit": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataBacsDebit": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataBancontact": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataBillie": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataBillingDetails": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataBillingDetailsAddress": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataBlik": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataBoleto": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataCashapp": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataCrypto": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataCustomerBalance": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataEps": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataFpx": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataGiropay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataGrabpay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataIdeal": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataInteracPresent": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataKakaoPay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataKlarna": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataKlarnaDob": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataKonbini": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataKrCard": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataLink": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataMbWay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataMobilepay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataMultibanco": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataNaverPay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataNzBankAccount": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataOxxo": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataP24": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataPayByBank": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataPayco": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataPaynow": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataPaypal": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataPix": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataPromptpay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataRadarOptions": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataRevolutPay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataSamsungPay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataSatispay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataSepaDebit": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataSofort": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataSwish": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataTwint": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataUsBankAccount": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataWechatPay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodDataZip": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptions": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsAcssDebit": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsAcssDebitMandateOptions": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsAffirm": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsAfterpayClearpay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsAlipay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsAlma": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsAmazonPay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsAuBecsDebit": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsBacsDebit": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsBacsDebitMandateOptions": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsBancontact": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsBillie": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsBlik": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsBoleto": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsCard": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsCardInstallments": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsCardInstallmentsPlan": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsCardMandateOptions": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsCardPresent": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsCardPresentRouting": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecure": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsCashapp": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsCrypto": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsCustomerBalance": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsCustomerBalanceBankTransfer": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsEps": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsFpx": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsGiropay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsGrabpay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsIdeal": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsInteracPresent": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsKakaoPay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsKlarna": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsKlarnaOnDemand": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsKlarnaSubscription": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsKonbini": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsKrCard": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsLink": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsMbWay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsMobilepay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsMultibanco": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsNaverPay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsNzBankAccount": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsOxxo": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsP24": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsPayByBank": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsPayco": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsPaynow": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsPaypal": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsPix": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsPromptpay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsRevolutPay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsSamsungPay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsSatispay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsSepaDebit": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsSepaDebitMandateOptions": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsSofort": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsSwish": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsTwint": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccount": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnections": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountMandateOptions": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountNetworks": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsWechatPay": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsPaymentMethodOptionsZip": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsRadarOptions": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsShipping": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsShippingAddress": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentCreateParamsTransferData": ( "stripe.params._payment_intent_create_params", False, ), "PaymentIntentIncrementAuthorizationParams": ( "stripe.params._payment_intent_increment_authorization_params", False, ), "PaymentIntentIncrementAuthorizationParamsAmountDetails": ( "stripe.params._payment_intent_increment_authorization_params", False, ), "PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItem": ( "stripe.params._payment_intent_increment_authorization_params", False, ), "PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptions": ( "stripe.params._payment_intent_increment_authorization_params", False, ), "PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsCard": ( "stripe.params._payment_intent_increment_authorization_params", False, ), "PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent": ( "stripe.params._payment_intent_increment_authorization_params", False, ), "PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsKlarna": ( "stripe.params._payment_intent_increment_authorization_params", False, ), "PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsPaypal": ( "stripe.params._payment_intent_increment_authorization_params", False, ), "PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemTax": ( "stripe.params._payment_intent_increment_authorization_params", False, ), "PaymentIntentIncrementAuthorizationParamsAmountDetailsShipping": ( "stripe.params._payment_intent_increment_authorization_params", False, ), "PaymentIntentIncrementAuthorizationParamsAmountDetailsTax": ( "stripe.params._payment_intent_increment_authorization_params", False, ), "PaymentIntentIncrementAuthorizationParamsPaymentDetails": ( "stripe.params._payment_intent_increment_authorization_params", False, ), "PaymentIntentIncrementAuthorizationParamsTransferData": ( "stripe.params._payment_intent_increment_authorization_params", False, ), "PaymentIntentListAmountDetailsLineItemsParams": ( "stripe.params._payment_intent_list_amount_details_line_items_params", False, ), "PaymentIntentListParams": ( "stripe.params._payment_intent_list_params", False, ), "PaymentIntentListParamsCreated": ( "stripe.params._payment_intent_list_params", False, ), "PaymentIntentModifyParams": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsAmountDetails": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsAmountDetailsLineItem": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptions": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsCard": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsKlarna": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsPaypal": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsAmountDetailsLineItemTax": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsAmountDetailsShipping": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsAmountDetailsTax": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentDetails": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodData": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataAcssDebit": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataAffirm": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataAfterpayClearpay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataAlipay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataAlma": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataAmazonPay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataAuBecsDebit": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataBacsDebit": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataBancontact": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataBillie": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataBillingDetails": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataBillingDetailsAddress": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataBlik": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataBoleto": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataCashapp": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataCrypto": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataCustomerBalance": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataEps": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataFpx": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataGiropay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataGrabpay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataIdeal": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataInteracPresent": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataKakaoPay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataKlarna": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataKlarnaDob": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataKonbini": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataKrCard": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataLink": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataMbWay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataMobilepay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataMultibanco": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataNaverPay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataNzBankAccount": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataOxxo": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataP24": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataPayByBank": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataPayco": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataPaynow": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataPaypal": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataPix": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataPromptpay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataRadarOptions": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataRevolutPay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataSamsungPay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataSatispay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataSepaDebit": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataSofort": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataSwish": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataTwint": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataUsBankAccount": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataWechatPay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodDataZip": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptions": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsAcssDebit": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsAcssDebitMandateOptions": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsAffirm": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsAfterpayClearpay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsAlipay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsAlma": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsAmazonPay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsAuBecsDebit": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsBacsDebit": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsBacsDebitMandateOptions": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsBancontact": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsBillie": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsBlik": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsBoleto": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsCard": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsCardInstallments": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsCardInstallmentsPlan": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsCardMandateOptions": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsCardPresent": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsCardPresentRouting": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecure": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsCashapp": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsCrypto": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsCustomerBalance": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsCustomerBalanceBankTransfer": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsEps": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsFpx": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsGiropay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsGrabpay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsIdeal": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsInteracPresent": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsKakaoPay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsKlarna": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsKlarnaOnDemand": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsKlarnaSubscription": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsKonbini": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsKrCard": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsLink": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsMbWay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsMobilepay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsMultibanco": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsNaverPay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsNzBankAccount": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsOxxo": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsP24": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsPayByBank": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsPayco": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsPaynow": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsPaypal": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsPix": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsPromptpay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsRevolutPay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsSamsungPay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsSatispay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsSepaDebit": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsSepaDebitMandateOptions": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsSofort": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsSwish": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsTwint": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccount": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnections": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountMandateOptions": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountNetworks": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsWechatPay": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsPaymentMethodOptionsZip": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsShipping": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsShippingAddress": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentModifyParamsTransferData": ( "stripe.params._payment_intent_modify_params", False, ), "PaymentIntentRetrieveParams": ( "stripe.params._payment_intent_retrieve_params", False, ), "PaymentIntentSearchParams": ( "stripe.params._payment_intent_search_params", False, ), "PaymentIntentUpdateParams": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsAmountDetails": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsAmountDetailsLineItem": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptions": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsCard": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsKlarna": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsPaypal": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsAmountDetailsLineItemTax": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsAmountDetailsShipping": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsAmountDetailsTax": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentDetails": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodData": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataAcssDebit": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataAffirm": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataAfterpayClearpay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataAlipay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataAlma": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataAmazonPay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataAuBecsDebit": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataBacsDebit": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataBancontact": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataBillie": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataBillingDetails": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataBillingDetailsAddress": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataBlik": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataBoleto": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataCashapp": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataCrypto": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataCustomerBalance": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataEps": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataFpx": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataGiropay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataGrabpay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataIdeal": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataInteracPresent": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataKakaoPay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataKlarna": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataKlarnaDob": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataKonbini": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataKrCard": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataLink": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataMbWay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataMobilepay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataMultibanco": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataNaverPay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataNzBankAccount": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataOxxo": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataP24": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataPayByBank": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataPayco": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataPaynow": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataPaypal": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataPix": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataPromptpay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataRadarOptions": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataRevolutPay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataSamsungPay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataSatispay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataSepaDebit": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataSofort": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataSwish": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataTwint": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataUsBankAccount": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataWechatPay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodDataZip": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptions": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsAcssDebit": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsAcssDebitMandateOptions": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsAffirm": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsAfterpayClearpay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsAlipay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsAlma": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsAmazonPay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsAuBecsDebit": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsBacsDebit": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsBacsDebitMandateOptions": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsBancontact": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsBillie": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsBlik": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsBoleto": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsCard": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsCardInstallments": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsCardInstallmentsPlan": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsCardMandateOptions": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsCardPresent": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsCardPresentRouting": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecure": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsCashapp": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsCrypto": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsCustomerBalance": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsCustomerBalanceBankTransfer": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsEps": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsFpx": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsGiropay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsGrabpay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsIdeal": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsInteracPresent": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsKakaoPay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsKlarna": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsKlarnaOnDemand": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsKlarnaSubscription": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsKonbini": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsKrCard": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsLink": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsMbWay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsMobilepay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsMultibanco": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsNaverPay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsNzBankAccount": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsOxxo": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsP24": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsPayByBank": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsPayco": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsPaynow": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsPaypal": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsPix": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsPromptpay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsRevolutPay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsSamsungPay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsSatispay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsSepaDebit": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsSepaDebitMandateOptions": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsSofort": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsSwish": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsTwint": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccount": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnections": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountMandateOptions": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountNetworks": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsWechatPay": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsPaymentMethodOptionsZip": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsShipping": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsShippingAddress": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentUpdateParamsTransferData": ( "stripe.params._payment_intent_update_params", False, ), "PaymentIntentVerifyMicrodepositsParams": ( "stripe.params._payment_intent_verify_microdeposits_params", False, ), "PaymentLinkCreateParams": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsAfterCompletion": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsAfterCompletionHostedConfirmation": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsAfterCompletionRedirect": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsAutomaticTax": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsAutomaticTaxLiability": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsConsentCollection": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsConsentCollectionPaymentMethodReuseAgreement": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsCustomField": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsCustomFieldDropdown": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsCustomFieldDropdownOption": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsCustomFieldLabel": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsCustomFieldNumeric": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsCustomFieldText": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsCustomText": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsCustomTextAfterSubmit": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsCustomTextShippingAddress": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsCustomTextSubmit": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsCustomTextTermsOfServiceAcceptance": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsInvoiceCreation": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsInvoiceCreationInvoiceData": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsInvoiceCreationInvoiceDataCustomField": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsInvoiceCreationInvoiceDataIssuer": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsInvoiceCreationInvoiceDataRenderingOptions": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsLineItem": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsLineItemAdjustableQuantity": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsLineItemPriceData": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsLineItemPriceDataProductData": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsLineItemPriceDataRecurring": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsNameCollection": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsNameCollectionBusiness": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsNameCollectionIndividual": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsOptionalItem": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsOptionalItemAdjustableQuantity": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsPaymentIntentData": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsPhoneNumberCollection": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsRestrictions": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsRestrictionsCompletedSessions": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsShippingAddressCollection": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsShippingOption": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsSubscriptionData": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsSubscriptionDataInvoiceSettings": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsSubscriptionDataInvoiceSettingsIssuer": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsSubscriptionDataTrialSettings": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsSubscriptionDataTrialSettingsEndBehavior": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsTaxIdCollection": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkCreateParamsTransferData": ( "stripe.params._payment_link_create_params", False, ), "PaymentLinkLineItemListParams": ( "stripe.params._payment_link_line_item_list_params", False, ), "PaymentLinkListLineItemsParams": ( "stripe.params._payment_link_list_line_items_params", False, ), "PaymentLinkListParams": ( "stripe.params._payment_link_list_params", False, ), "PaymentLinkModifyParams": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsAfterCompletion": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsAfterCompletionHostedConfirmation": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsAfterCompletionRedirect": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsAutomaticTax": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsAutomaticTaxLiability": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsCustomField": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsCustomFieldDropdown": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsCustomFieldDropdownOption": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsCustomFieldLabel": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsCustomFieldNumeric": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsCustomFieldText": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsCustomText": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsCustomTextAfterSubmit": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsCustomTextShippingAddress": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsCustomTextSubmit": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsCustomTextTermsOfServiceAcceptance": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsInvoiceCreation": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsInvoiceCreationInvoiceData": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsInvoiceCreationInvoiceDataCustomField": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsInvoiceCreationInvoiceDataIssuer": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsInvoiceCreationInvoiceDataRenderingOptions": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsLineItem": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsLineItemAdjustableQuantity": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsNameCollection": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsNameCollectionBusiness": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsNameCollectionIndividual": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsPaymentIntentData": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsPhoneNumberCollection": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsRestrictions": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsRestrictionsCompletedSessions": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsShippingAddressCollection": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsSubscriptionData": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsSubscriptionDataInvoiceSettings": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsSubscriptionDataInvoiceSettingsIssuer": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsSubscriptionDataTrialSettings": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsSubscriptionDataTrialSettingsEndBehavior": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkModifyParamsTaxIdCollection": ( "stripe.params._payment_link_modify_params", False, ), "PaymentLinkRetrieveParams": ( "stripe.params._payment_link_retrieve_params", False, ), "PaymentLinkUpdateParams": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsAfterCompletion": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsAfterCompletionHostedConfirmation": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsAfterCompletionRedirect": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsAutomaticTax": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsAutomaticTaxLiability": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsCustomField": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsCustomFieldDropdown": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsCustomFieldDropdownOption": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsCustomFieldLabel": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsCustomFieldNumeric": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsCustomFieldText": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsCustomText": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsCustomTextAfterSubmit": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsCustomTextShippingAddress": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsCustomTextSubmit": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsCustomTextTermsOfServiceAcceptance": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsInvoiceCreation": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsInvoiceCreationInvoiceData": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsInvoiceCreationInvoiceDataCustomField": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsInvoiceCreationInvoiceDataIssuer": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsInvoiceCreationInvoiceDataRenderingOptions": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsLineItem": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsLineItemAdjustableQuantity": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsNameCollection": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsNameCollectionBusiness": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsNameCollectionIndividual": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsPaymentIntentData": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsPhoneNumberCollection": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsRestrictions": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsRestrictionsCompletedSessions": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsShippingAddressCollection": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsSubscriptionData": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsSubscriptionDataInvoiceSettings": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsSubscriptionDataInvoiceSettingsIssuer": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsSubscriptionDataTrialSettings": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsSubscriptionDataTrialSettingsEndBehavior": ( "stripe.params._payment_link_update_params", False, ), "PaymentLinkUpdateParamsTaxIdCollection": ( "stripe.params._payment_link_update_params", False, ), "PaymentMethodAttachParams": ( "stripe.params._payment_method_attach_params", False, ), "PaymentMethodConfigurationCreateParams": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsAcssDebit": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsAcssDebitDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsAffirm": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsAffirmDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsAfterpayClearpay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsAfterpayClearpayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsAlipay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsAlipayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsAlma": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsAlmaDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsAmazonPay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsAmazonPayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsApplePay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsApplePayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsApplePayLater": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsApplePayLaterDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsAuBecsDebit": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsAuBecsDebitDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsBacsDebit": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsBacsDebitDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsBancontact": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsBancontactDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsBillie": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsBillieDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsBlik": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsBlikDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsBoleto": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsBoletoDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsCard": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsCardDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsCartesBancaires": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsCartesBancairesDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsCashapp": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsCashappDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsCrypto": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsCryptoDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsCustomerBalance": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsCustomerBalanceDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsEps": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsEpsDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsFpx": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsFpxDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsFrMealVoucherConecs": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsFrMealVoucherConecsDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsGiropay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsGiropayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsGooglePay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsGooglePayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsGrabpay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsGrabpayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsIdeal": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsIdealDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsJcb": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsJcbDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsKakaoPay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsKakaoPayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsKlarna": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsKlarnaDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsKonbini": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsKonbiniDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsKrCard": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsKrCardDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsLink": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsLinkDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsMbWay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsMbWayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsMobilepay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsMobilepayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsMultibanco": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsMultibancoDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsNaverPay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsNaverPayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsNzBankAccount": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsNzBankAccountDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsOxxo": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsOxxoDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsP24": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsP24DisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsPayByBank": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsPayByBankDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsPayco": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsPaycoDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsPaynow": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsPaynowDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsPaypal": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsPaypalDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsPix": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsPixDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsPromptpay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsPromptpayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsRevolutPay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsRevolutPayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsSamsungPay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsSamsungPayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsSatispay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsSatispayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsSepaDebit": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsSepaDebitDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsSofort": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsSofortDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsSwish": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsSwishDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsTwint": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsTwintDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsUsBankAccount": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsUsBankAccountDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsWechatPay": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsWechatPayDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsZip": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationCreateParamsZipDisplayPreference": ( "stripe.params._payment_method_configuration_create_params", False, ), "PaymentMethodConfigurationListParams": ( "stripe.params._payment_method_configuration_list_params", False, ), "PaymentMethodConfigurationModifyParams": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsAcssDebit": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsAcssDebitDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsAffirm": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsAffirmDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsAfterpayClearpay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsAfterpayClearpayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsAlipay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsAlipayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsAlma": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsAlmaDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsAmazonPay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsAmazonPayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsApplePay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsApplePayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsApplePayLater": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsApplePayLaterDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsAuBecsDebit": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsAuBecsDebitDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsBacsDebit": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsBacsDebitDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsBancontact": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsBancontactDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsBillie": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsBillieDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsBlik": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsBlikDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsBoleto": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsBoletoDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsCard": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsCardDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsCartesBancaires": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsCartesBancairesDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsCashapp": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsCashappDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsCrypto": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsCryptoDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsCustomerBalance": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsCustomerBalanceDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsEps": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsEpsDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsFpx": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsFpxDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsFrMealVoucherConecs": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsFrMealVoucherConecsDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsGiropay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsGiropayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsGooglePay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsGooglePayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsGrabpay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsGrabpayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsIdeal": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsIdealDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsJcb": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsJcbDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsKakaoPay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsKakaoPayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsKlarna": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsKlarnaDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsKonbini": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsKonbiniDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsKrCard": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsKrCardDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsLink": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsLinkDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsMbWay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsMbWayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsMobilepay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsMobilepayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsMultibanco": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsMultibancoDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsNaverPay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsNaverPayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsNzBankAccount": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsNzBankAccountDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsOxxo": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsOxxoDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsP24": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsP24DisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsPayByBank": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsPayByBankDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsPayco": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsPaycoDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsPaynow": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsPaynowDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsPaypal": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsPaypalDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsPix": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsPixDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsPromptpay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsPromptpayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsRevolutPay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsRevolutPayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsSamsungPay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsSamsungPayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsSatispay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsSatispayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsSepaDebit": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsSepaDebitDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsSofort": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsSofortDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsSwish": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsSwishDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsTwint": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsTwintDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsUsBankAccount": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsUsBankAccountDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsWechatPay": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsWechatPayDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsZip": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationModifyParamsZipDisplayPreference": ( "stripe.params._payment_method_configuration_modify_params", False, ), "PaymentMethodConfigurationRetrieveParams": ( "stripe.params._payment_method_configuration_retrieve_params", False, ), "PaymentMethodConfigurationUpdateParams": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsAcssDebit": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsAcssDebitDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsAffirm": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsAffirmDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsAfterpayClearpay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsAfterpayClearpayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsAlipay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsAlipayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsAlma": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsAlmaDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsAmazonPay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsAmazonPayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsApplePay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsApplePayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsApplePayLater": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsApplePayLaterDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsAuBecsDebit": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsAuBecsDebitDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsBacsDebit": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsBacsDebitDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsBancontact": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsBancontactDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsBillie": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsBillieDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsBlik": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsBlikDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsBoleto": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsBoletoDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsCard": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsCardDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsCartesBancaires": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsCartesBancairesDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsCashapp": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsCashappDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsCrypto": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsCryptoDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsCustomerBalance": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsCustomerBalanceDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsEps": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsEpsDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsFpx": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsFpxDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsFrMealVoucherConecs": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsFrMealVoucherConecsDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsGiropay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsGiropayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsGooglePay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsGooglePayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsGrabpay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsGrabpayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsIdeal": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsIdealDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsJcb": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsJcbDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsKakaoPay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsKakaoPayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsKlarna": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsKlarnaDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsKonbini": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsKonbiniDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsKrCard": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsKrCardDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsLink": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsLinkDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsMbWay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsMbWayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsMobilepay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsMobilepayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsMultibanco": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsMultibancoDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsNaverPay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsNaverPayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsNzBankAccount": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsNzBankAccountDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsOxxo": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsOxxoDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsP24": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsP24DisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsPayByBank": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsPayByBankDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsPayco": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsPaycoDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsPaynow": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsPaynowDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsPaypal": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsPaypalDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsPix": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsPixDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsPromptpay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsPromptpayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsRevolutPay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsRevolutPayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsSamsungPay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsSamsungPayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsSatispay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsSatispayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsSepaDebit": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsSepaDebitDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsSofort": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsSofortDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsSwish": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsSwishDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsTwint": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsTwintDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsUsBankAccount": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsUsBankAccountDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsWechatPay": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsWechatPayDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsZip": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodConfigurationUpdateParamsZipDisplayPreference": ( "stripe.params._payment_method_configuration_update_params", False, ), "PaymentMethodCreateParams": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsAcssDebit": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsAffirm": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsAfterpayClearpay": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsAlipay": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsAlma": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsAmazonPay": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsAuBecsDebit": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsBacsDebit": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsBancontact": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsBillie": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsBillingDetails": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsBillingDetailsAddress": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsBlik": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsBoleto": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsCard": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsCardNetworks": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsCashapp": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsCrypto": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsCustom": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsCustomerBalance": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsEps": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsFpx": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsGiropay": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsGrabpay": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsIdeal": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsInteracPresent": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsKakaoPay": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsKlarna": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsKlarnaDob": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsKonbini": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsKrCard": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsLink": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsMbWay": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsMobilepay": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsMultibanco": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsNaverPay": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsNzBankAccount": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsOxxo": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsP24": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsPayByBank": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsPayco": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsPaynow": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsPaypal": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsPix": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsPromptpay": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsRadarOptions": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsRevolutPay": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsSamsungPay": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsSatispay": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsSepaDebit": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsSofort": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsSwish": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsTwint": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsUsBankAccount": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsWechatPay": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodCreateParamsZip": ( "stripe.params._payment_method_create_params", False, ), "PaymentMethodDetachParams": ( "stripe.params._payment_method_detach_params", False, ), "PaymentMethodDomainCreateParams": ( "stripe.params._payment_method_domain_create_params", False, ), "PaymentMethodDomainListParams": ( "stripe.params._payment_method_domain_list_params", False, ), "PaymentMethodDomainModifyParams": ( "stripe.params._payment_method_domain_modify_params", False, ), "PaymentMethodDomainRetrieveParams": ( "stripe.params._payment_method_domain_retrieve_params", False, ), "PaymentMethodDomainUpdateParams": ( "stripe.params._payment_method_domain_update_params", False, ), "PaymentMethodDomainValidateParams": ( "stripe.params._payment_method_domain_validate_params", False, ), "PaymentMethodListParams": ( "stripe.params._payment_method_list_params", False, ), "PaymentMethodModifyParams": ( "stripe.params._payment_method_modify_params", False, ), "PaymentMethodModifyParamsBillingDetails": ( "stripe.params._payment_method_modify_params", False, ), "PaymentMethodModifyParamsBillingDetailsAddress": ( "stripe.params._payment_method_modify_params", False, ), "PaymentMethodModifyParamsCard": ( "stripe.params._payment_method_modify_params", False, ), "PaymentMethodModifyParamsCardNetworks": ( "stripe.params._payment_method_modify_params", False, ), "PaymentMethodModifyParamsUsBankAccount": ( "stripe.params._payment_method_modify_params", False, ), "PaymentMethodRetrieveParams": ( "stripe.params._payment_method_retrieve_params", False, ), "PaymentMethodUpdateParams": ( "stripe.params._payment_method_update_params", False, ), "PaymentMethodUpdateParamsBillingDetails": ( "stripe.params._payment_method_update_params", False, ), "PaymentMethodUpdateParamsBillingDetailsAddress": ( "stripe.params._payment_method_update_params", False, ), "PaymentMethodUpdateParamsCard": ( "stripe.params._payment_method_update_params", False, ), "PaymentMethodUpdateParamsCardNetworks": ( "stripe.params._payment_method_update_params", False, ), "PaymentMethodUpdateParamsUsBankAccount": ( "stripe.params._payment_method_update_params", False, ), "PaymentRecordReportPaymentAttemptCanceledParams": ( "stripe.params._payment_record_report_payment_attempt_canceled_params", False, ), "PaymentRecordReportPaymentAttemptFailedParams": ( "stripe.params._payment_record_report_payment_attempt_failed_params", False, ), "PaymentRecordReportPaymentAttemptGuaranteedParams": ( "stripe.params._payment_record_report_payment_attempt_guaranteed_params", False, ), "PaymentRecordReportPaymentAttemptInformationalParams": ( "stripe.params._payment_record_report_payment_attempt_informational_params", False, ), "PaymentRecordReportPaymentAttemptInformationalParamsCustomerDetails": ( "stripe.params._payment_record_report_payment_attempt_informational_params", False, ), "PaymentRecordReportPaymentAttemptInformationalParamsShippingDetails": ( "stripe.params._payment_record_report_payment_attempt_informational_params", False, ), "PaymentRecordReportPaymentAttemptInformationalParamsShippingDetailsAddress": ( "stripe.params._payment_record_report_payment_attempt_informational_params", False, ), "PaymentRecordReportPaymentAttemptParams": ( "stripe.params._payment_record_report_payment_attempt_params", False, ), "PaymentRecordReportPaymentAttemptParamsFailed": ( "stripe.params._payment_record_report_payment_attempt_params", False, ), "PaymentRecordReportPaymentAttemptParamsGuaranteed": ( "stripe.params._payment_record_report_payment_attempt_params", False, ), "PaymentRecordReportPaymentAttemptParamsPaymentMethodDetails": ( "stripe.params._payment_record_report_payment_attempt_params", False, ), "PaymentRecordReportPaymentAttemptParamsPaymentMethodDetailsBillingDetails": ( "stripe.params._payment_record_report_payment_attempt_params", False, ), "PaymentRecordReportPaymentAttemptParamsPaymentMethodDetailsBillingDetailsAddress": ( "stripe.params._payment_record_report_payment_attempt_params", False, ), "PaymentRecordReportPaymentAttemptParamsPaymentMethodDetailsCustom": ( "stripe.params._payment_record_report_payment_attempt_params", False, ), "PaymentRecordReportPaymentAttemptParamsShippingDetails": ( "stripe.params._payment_record_report_payment_attempt_params", False, ), "PaymentRecordReportPaymentAttemptParamsShippingDetailsAddress": ( "stripe.params._payment_record_report_payment_attempt_params", False, ), "PaymentRecordReportPaymentParams": ( "stripe.params._payment_record_report_payment_params", False, ), "PaymentRecordReportPaymentParamsAmountRequested": ( "stripe.params._payment_record_report_payment_params", False, ), "PaymentRecordReportPaymentParamsCustomerDetails": ( "stripe.params._payment_record_report_payment_params", False, ), "PaymentRecordReportPaymentParamsFailed": ( "stripe.params._payment_record_report_payment_params", False, ), "PaymentRecordReportPaymentParamsGuaranteed": ( "stripe.params._payment_record_report_payment_params", False, ), "PaymentRecordReportPaymentParamsPaymentMethodDetails": ( "stripe.params._payment_record_report_payment_params", False, ), "PaymentRecordReportPaymentParamsPaymentMethodDetailsBillingDetails": ( "stripe.params._payment_record_report_payment_params", False, ), "PaymentRecordReportPaymentParamsPaymentMethodDetailsBillingDetailsAddress": ( "stripe.params._payment_record_report_payment_params", False, ), "PaymentRecordReportPaymentParamsPaymentMethodDetailsCustom": ( "stripe.params._payment_record_report_payment_params", False, ), "PaymentRecordReportPaymentParamsProcessorDetails": ( "stripe.params._payment_record_report_payment_params", False, ), "PaymentRecordReportPaymentParamsProcessorDetailsCustom": ( "stripe.params._payment_record_report_payment_params", False, ), "PaymentRecordReportPaymentParamsShippingDetails": ( "stripe.params._payment_record_report_payment_params", False, ), "PaymentRecordReportPaymentParamsShippingDetailsAddress": ( "stripe.params._payment_record_report_payment_params", False, ), "PaymentRecordReportRefundParams": ( "stripe.params._payment_record_report_refund_params", False, ), "PaymentRecordReportRefundParamsAmount": ( "stripe.params._payment_record_report_refund_params", False, ), "PaymentRecordReportRefundParamsProcessorDetails": ( "stripe.params._payment_record_report_refund_params", False, ), "PaymentRecordReportRefundParamsProcessorDetailsCustom": ( "stripe.params._payment_record_report_refund_params", False, ), "PaymentRecordReportRefundParamsRefunded": ( "stripe.params._payment_record_report_refund_params", False, ), "PaymentRecordRetrieveParams": ( "stripe.params._payment_record_retrieve_params", False, ), "PayoutCancelParams": ("stripe.params._payout_cancel_params", False), "PayoutCreateParams": ("stripe.params._payout_create_params", False), "PayoutListParams": ("stripe.params._payout_list_params", False), "PayoutListParamsArrivalDate": ( "stripe.params._payout_list_params", False, ), "PayoutListParamsCreated": ("stripe.params._payout_list_params", False), "PayoutModifyParams": ("stripe.params._payout_modify_params", False), "PayoutRetrieveParams": ("stripe.params._payout_retrieve_params", False), "PayoutReverseParams": ("stripe.params._payout_reverse_params", False), "PayoutUpdateParams": ("stripe.params._payout_update_params", False), "PlanCreateParams": ("stripe.params._plan_create_params", False), "PlanCreateParamsProduct": ("stripe.params._plan_create_params", False), "PlanCreateParamsTier": ("stripe.params._plan_create_params", False), "PlanCreateParamsTransformUsage": ( "stripe.params._plan_create_params", False, ), "PlanDeleteParams": ("stripe.params._plan_delete_params", False), "PlanListParams": ("stripe.params._plan_list_params", False), "PlanListParamsCreated": ("stripe.params._plan_list_params", False), "PlanModifyParams": ("stripe.params._plan_modify_params", False), "PlanRetrieveParams": ("stripe.params._plan_retrieve_params", False), "PlanUpdateParams": ("stripe.params._plan_update_params", False), "PriceCreateParams": ("stripe.params._price_create_params", False), "PriceCreateParamsCurrencyOptions": ( "stripe.params._price_create_params", False, ), "PriceCreateParamsCurrencyOptionsCustomUnitAmount": ( "stripe.params._price_create_params", False, ), "PriceCreateParamsCurrencyOptionsTier": ( "stripe.params._price_create_params", False, ), "PriceCreateParamsCustomUnitAmount": ( "stripe.params._price_create_params", False, ), "PriceCreateParamsProductData": ( "stripe.params._price_create_params", False, ), "PriceCreateParamsRecurring": ( "stripe.params._price_create_params", False, ), "PriceCreateParamsTier": ("stripe.params._price_create_params", False), "PriceCreateParamsTransformQuantity": ( "stripe.params._price_create_params", False, ), "PriceListParams": ("stripe.params._price_list_params", False), "PriceListParamsCreated": ("stripe.params._price_list_params", False), "PriceListParamsRecurring": ("stripe.params._price_list_params", False), "PriceModifyParams": ("stripe.params._price_modify_params", False), "PriceModifyParamsCurrencyOptions": ( "stripe.params._price_modify_params", False, ), "PriceModifyParamsCurrencyOptionsCustomUnitAmount": ( "stripe.params._price_modify_params", False, ), "PriceModifyParamsCurrencyOptionsTier": ( "stripe.params._price_modify_params", False, ), "PriceRetrieveParams": ("stripe.params._price_retrieve_params", False), "PriceSearchParams": ("stripe.params._price_search_params", False), "PriceUpdateParams": ("stripe.params._price_update_params", False), "PriceUpdateParamsCurrencyOptions": ( "stripe.params._price_update_params", False, ), "PriceUpdateParamsCurrencyOptionsCustomUnitAmount": ( "stripe.params._price_update_params", False, ), "PriceUpdateParamsCurrencyOptionsTier": ( "stripe.params._price_update_params", False, ), "ProductCreateFeatureParams": ( "stripe.params._product_create_feature_params", False, ), "ProductCreateParams": ("stripe.params._product_create_params", False), "ProductCreateParamsDefaultPriceData": ( "stripe.params._product_create_params", False, ), "ProductCreateParamsDefaultPriceDataCurrencyOptions": ( "stripe.params._product_create_params", False, ), "ProductCreateParamsDefaultPriceDataCurrencyOptionsCustomUnitAmount": ( "stripe.params._product_create_params", False, ), "ProductCreateParamsDefaultPriceDataCurrencyOptionsTier": ( "stripe.params._product_create_params", False, ), "ProductCreateParamsDefaultPriceDataCustomUnitAmount": ( "stripe.params._product_create_params", False, ), "ProductCreateParamsDefaultPriceDataRecurring": ( "stripe.params._product_create_params", False, ), "ProductCreateParamsMarketingFeature": ( "stripe.params._product_create_params", False, ), "ProductCreateParamsPackageDimensions": ( "stripe.params._product_create_params", False, ), "ProductDeleteFeatureParams": ( "stripe.params._product_delete_feature_params", False, ), "ProductDeleteParams": ("stripe.params._product_delete_params", False), "ProductFeatureCreateParams": ( "stripe.params._product_feature_create_params", False, ), "ProductFeatureDeleteParams": ( "stripe.params._product_feature_delete_params", False, ), "ProductFeatureListParams": ( "stripe.params._product_feature_list_params", False, ), "ProductFeatureRetrieveParams": ( "stripe.params._product_feature_retrieve_params", False, ), "ProductListFeaturesParams": ( "stripe.params._product_list_features_params", False, ), "ProductListParams": ("stripe.params._product_list_params", False), "ProductListParamsCreated": ("stripe.params._product_list_params", False), "ProductModifyParams": ("stripe.params._product_modify_params", False), "ProductModifyParamsMarketingFeature": ( "stripe.params._product_modify_params", False, ), "ProductModifyParamsPackageDimensions": ( "stripe.params._product_modify_params", False, ), "ProductRetrieveFeatureParams": ( "stripe.params._product_retrieve_feature_params", False, ), "ProductRetrieveParams": ("stripe.params._product_retrieve_params", False), "ProductSearchParams": ("stripe.params._product_search_params", False), "ProductUpdateParams": ("stripe.params._product_update_params", False), "ProductUpdateParamsMarketingFeature": ( "stripe.params._product_update_params", False, ), "ProductUpdateParamsPackageDimensions": ( "stripe.params._product_update_params", False, ), "PromotionCodeCreateParams": ( "stripe.params._promotion_code_create_params", False, ), "PromotionCodeCreateParamsPromotion": ( "stripe.params._promotion_code_create_params", False, ), "PromotionCodeCreateParamsRestrictions": ( "stripe.params._promotion_code_create_params", False, ), "PromotionCodeCreateParamsRestrictionsCurrencyOptions": ( "stripe.params._promotion_code_create_params", False, ), "PromotionCodeListParams": ( "stripe.params._promotion_code_list_params", False, ), "PromotionCodeListParamsCreated": ( "stripe.params._promotion_code_list_params", False, ), "PromotionCodeModifyParams": ( "stripe.params._promotion_code_modify_params", False, ), "PromotionCodeModifyParamsRestrictions": ( "stripe.params._promotion_code_modify_params", False, ), "PromotionCodeModifyParamsRestrictionsCurrencyOptions": ( "stripe.params._promotion_code_modify_params", False, ), "PromotionCodeRetrieveParams": ( "stripe.params._promotion_code_retrieve_params", False, ), "PromotionCodeUpdateParams": ( "stripe.params._promotion_code_update_params", False, ), "PromotionCodeUpdateParamsRestrictions": ( "stripe.params._promotion_code_update_params", False, ), "PromotionCodeUpdateParamsRestrictionsCurrencyOptions": ( "stripe.params._promotion_code_update_params", False, ), "QuoteAcceptParams": ("stripe.params._quote_accept_params", False), "QuoteCancelParams": ("stripe.params._quote_cancel_params", False), "QuoteComputedUpfrontLineItemsListParams": ( "stripe.params._quote_computed_upfront_line_items_list_params", False, ), "QuoteCreateParams": ("stripe.params._quote_create_params", False), "QuoteCreateParamsAutomaticTax": ( "stripe.params._quote_create_params", False, ), "QuoteCreateParamsAutomaticTaxLiability": ( "stripe.params._quote_create_params", False, ), "QuoteCreateParamsDiscount": ("stripe.params._quote_create_params", False), "QuoteCreateParamsFromQuote": ( "stripe.params._quote_create_params", False, ), "QuoteCreateParamsInvoiceSettings": ( "stripe.params._quote_create_params", False, ), "QuoteCreateParamsInvoiceSettingsIssuer": ( "stripe.params._quote_create_params", False, ), "QuoteCreateParamsLineItem": ("stripe.params._quote_create_params", False), "QuoteCreateParamsLineItemDiscount": ( "stripe.params._quote_create_params", False, ), "QuoteCreateParamsLineItemPriceData": ( "stripe.params._quote_create_params", False, ), "QuoteCreateParamsLineItemPriceDataRecurring": ( "stripe.params._quote_create_params", False, ), "QuoteCreateParamsSubscriptionData": ( "stripe.params._quote_create_params", False, ), "QuoteCreateParamsSubscriptionDataBillingMode": ( "stripe.params._quote_create_params", False, ), "QuoteCreateParamsSubscriptionDataBillingModeFlexible": ( "stripe.params._quote_create_params", False, ), "QuoteCreateParamsTransferData": ( "stripe.params._quote_create_params", False, ), "QuoteFinalizeQuoteParams": ( "stripe.params._quote_finalize_quote_params", False, ), "QuoteLineItemListParams": ( "stripe.params._quote_line_item_list_params", False, ), "QuoteListComputedUpfrontLineItemsParams": ( "stripe.params._quote_list_computed_upfront_line_items_params", False, ), "QuoteListLineItemsParams": ( "stripe.params._quote_list_line_items_params", False, ), "QuoteListParams": ("stripe.params._quote_list_params", False), "QuoteModifyParams": ("stripe.params._quote_modify_params", False), "QuoteModifyParamsAutomaticTax": ( "stripe.params._quote_modify_params", False, ), "QuoteModifyParamsAutomaticTaxLiability": ( "stripe.params._quote_modify_params", False, ), "QuoteModifyParamsDiscount": ("stripe.params._quote_modify_params", False), "QuoteModifyParamsInvoiceSettings": ( "stripe.params._quote_modify_params", False, ), "QuoteModifyParamsInvoiceSettingsIssuer": ( "stripe.params._quote_modify_params", False, ), "QuoteModifyParamsLineItem": ("stripe.params._quote_modify_params", False), "QuoteModifyParamsLineItemDiscount": ( "stripe.params._quote_modify_params", False, ), "QuoteModifyParamsLineItemPriceData": ( "stripe.params._quote_modify_params", False, ), "QuoteModifyParamsLineItemPriceDataRecurring": ( "stripe.params._quote_modify_params", False, ), "QuoteModifyParamsSubscriptionData": ( "stripe.params._quote_modify_params", False, ), "QuoteModifyParamsTransferData": ( "stripe.params._quote_modify_params", False, ), "QuotePdfParams": ("stripe.params._quote_pdf_params", False), "QuoteRetrieveParams": ("stripe.params._quote_retrieve_params", False), "QuoteUpdateParams": ("stripe.params._quote_update_params", False), "QuoteUpdateParamsAutomaticTax": ( "stripe.params._quote_update_params", False, ), "QuoteUpdateParamsAutomaticTaxLiability": ( "stripe.params._quote_update_params", False, ), "QuoteUpdateParamsDiscount": ("stripe.params._quote_update_params", False), "QuoteUpdateParamsInvoiceSettings": ( "stripe.params._quote_update_params", False, ), "QuoteUpdateParamsInvoiceSettingsIssuer": ( "stripe.params._quote_update_params", False, ), "QuoteUpdateParamsLineItem": ("stripe.params._quote_update_params", False), "QuoteUpdateParamsLineItemDiscount": ( "stripe.params._quote_update_params", False, ), "QuoteUpdateParamsLineItemPriceData": ( "stripe.params._quote_update_params", False, ), "QuoteUpdateParamsLineItemPriceDataRecurring": ( "stripe.params._quote_update_params", False, ), "QuoteUpdateParamsSubscriptionData": ( "stripe.params._quote_update_params", False, ), "QuoteUpdateParamsTransferData": ( "stripe.params._quote_update_params", False, ), "RefundCancelParams": ("stripe.params._refund_cancel_params", False), "RefundCreateParams": ("stripe.params._refund_create_params", False), "RefundExpireParams": ("stripe.params._refund_expire_params", False), "RefundListParams": ("stripe.params._refund_list_params", False), "RefundListParamsCreated": ("stripe.params._refund_list_params", False), "RefundModifyParams": ("stripe.params._refund_modify_params", False), "RefundRetrieveParams": ("stripe.params._refund_retrieve_params", False), "RefundUpdateParams": ("stripe.params._refund_update_params", False), "ReviewApproveParams": ("stripe.params._review_approve_params", False), "ReviewListParams": ("stripe.params._review_list_params", False), "ReviewListParamsCreated": ("stripe.params._review_list_params", False), "ReviewRetrieveParams": ("stripe.params._review_retrieve_params", False), "SetupAttemptListParams": ( "stripe.params._setup_attempt_list_params", False, ), "SetupAttemptListParamsCreated": ( "stripe.params._setup_attempt_list_params", False, ), "SetupIntentCancelParams": ( "stripe.params._setup_intent_cancel_params", False, ), "SetupIntentConfirmParams": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsMandateData": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsMandateDataCustomerAcceptance": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsMandateDataCustomerAcceptanceOffline": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsMandateDataCustomerAcceptanceOnline": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodData": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataAcssDebit": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataAffirm": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataAfterpayClearpay": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataAlipay": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataAlma": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataAmazonPay": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataAuBecsDebit": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataBacsDebit": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataBancontact": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataBillie": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataBillingDetails": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataBillingDetailsAddress": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataBlik": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataBoleto": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataCashapp": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataCrypto": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataCustomerBalance": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataEps": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataFpx": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataGiropay": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataGrabpay": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataIdeal": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataInteracPresent": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataKakaoPay": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataKlarna": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataKlarnaDob": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataKonbini": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataKrCard": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataLink": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataMbWay": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataMobilepay": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataMultibanco": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataNaverPay": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataNzBankAccount": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataOxxo": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataP24": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataPayByBank": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataPayco": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataPaynow": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataPaypal": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataPix": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataPromptpay": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataRadarOptions": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataRevolutPay": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataSamsungPay": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataSatispay": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataSepaDebit": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataSofort": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataSwish": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataTwint": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataUsBankAccount": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataWechatPay": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodDataZip": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptions": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsAcssDebit": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsAcssDebitMandateOptions": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsAmazonPay": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsBacsDebit": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsBacsDebitMandateOptions": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsCard": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsCardMandateOptions": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsCardPresent": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsCardThreeDSecure": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsKlarna": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsKlarnaOnDemand": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsKlarnaSubscription": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsLink": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsPaypal": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsSepaDebit": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsSepaDebitMandateOptions": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccount": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnections": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountMandateOptions": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountNetworks": ( "stripe.params._setup_intent_confirm_params", False, ), "SetupIntentCreateParams": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsAutomaticPaymentMethods": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsMandateData": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsMandateDataCustomerAcceptance": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsMandateDataCustomerAcceptanceOffline": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsMandateDataCustomerAcceptanceOnline": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodData": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataAcssDebit": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataAffirm": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataAfterpayClearpay": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataAlipay": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataAlma": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataAmazonPay": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataAuBecsDebit": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataBacsDebit": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataBancontact": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataBillie": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataBillingDetails": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataBillingDetailsAddress": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataBlik": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataBoleto": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataCashapp": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataCrypto": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataCustomerBalance": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataEps": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataFpx": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataGiropay": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataGrabpay": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataIdeal": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataInteracPresent": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataKakaoPay": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataKlarna": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataKlarnaDob": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataKonbini": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataKrCard": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataLink": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataMbWay": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataMobilepay": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataMultibanco": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataNaverPay": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataNzBankAccount": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataOxxo": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataP24": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataPayByBank": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataPayco": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataPaynow": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataPaypal": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataPix": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataPromptpay": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataRadarOptions": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataRevolutPay": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataSamsungPay": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataSatispay": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataSepaDebit": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataSofort": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataSwish": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataTwint": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataUsBankAccount": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataWechatPay": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodDataZip": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptions": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsAcssDebit": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsAcssDebitMandateOptions": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsAmazonPay": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsBacsDebit": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsBacsDebitMandateOptions": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsCard": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsCardMandateOptions": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsCardPresent": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsCardThreeDSecure": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsKlarna": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsKlarnaOnDemand": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsKlarnaSubscription": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsLink": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsPaypal": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsSepaDebit": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsSepaDebitMandateOptions": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsUsBankAccount": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnections": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountMandateOptions": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountNetworks": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentCreateParamsSingleUse": ( "stripe.params._setup_intent_create_params", False, ), "SetupIntentListParams": ( "stripe.params._setup_intent_list_params", False, ), "SetupIntentListParamsCreated": ( "stripe.params._setup_intent_list_params", False, ), "SetupIntentModifyParams": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodData": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataAcssDebit": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataAffirm": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataAfterpayClearpay": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataAlipay": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataAlma": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataAmazonPay": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataAuBecsDebit": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataBacsDebit": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataBancontact": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataBillie": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataBillingDetails": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataBillingDetailsAddress": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataBlik": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataBoleto": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataCashapp": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataCrypto": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataCustomerBalance": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataEps": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataFpx": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataGiropay": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataGrabpay": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataIdeal": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataInteracPresent": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataKakaoPay": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataKlarna": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataKlarnaDob": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataKonbini": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataKrCard": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataLink": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataMbWay": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataMobilepay": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataMultibanco": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataNaverPay": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataNzBankAccount": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataOxxo": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataP24": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataPayByBank": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataPayco": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataPaynow": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataPaypal": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataPix": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataPromptpay": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataRadarOptions": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataRevolutPay": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataSamsungPay": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataSatispay": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataSepaDebit": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataSofort": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataSwish": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataTwint": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataUsBankAccount": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataWechatPay": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodDataZip": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptions": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsAcssDebit": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsAcssDebitMandateOptions": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsAmazonPay": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsBacsDebit": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsBacsDebitMandateOptions": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsCard": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsCardMandateOptions": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsCardPresent": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsCardThreeDSecure": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsKlarna": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsKlarnaOnDemand": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsKlarnaSubscription": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsLink": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsPaypal": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsSepaDebit": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsSepaDebitMandateOptions": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsUsBankAccount": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnections": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountMandateOptions": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountNetworks": ( "stripe.params._setup_intent_modify_params", False, ), "SetupIntentRetrieveParams": ( "stripe.params._setup_intent_retrieve_params", False, ), "SetupIntentUpdateParams": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodData": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataAcssDebit": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataAffirm": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataAfterpayClearpay": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataAlipay": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataAlma": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataAmazonPay": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataAuBecsDebit": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataBacsDebit": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataBancontact": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataBillie": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataBillingDetails": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataBillingDetailsAddress": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataBlik": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataBoleto": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataCashapp": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataCrypto": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataCustomerBalance": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataEps": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataFpx": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataGiropay": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataGrabpay": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataIdeal": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataInteracPresent": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataKakaoPay": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataKlarna": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataKlarnaDob": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataKonbini": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataKrCard": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataLink": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataMbWay": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataMobilepay": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataMultibanco": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataNaverPay": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataNzBankAccount": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataOxxo": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataP24": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataPayByBank": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataPayco": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataPaynow": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataPaypal": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataPix": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataPromptpay": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataRadarOptions": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataRevolutPay": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataSamsungPay": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataSatispay": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataSepaDebit": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataSofort": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataSwish": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataTwint": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataUsBankAccount": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataWechatPay": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodDataZip": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptions": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsAcssDebit": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsAcssDebitMandateOptions": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsAmazonPay": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsBacsDebit": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsBacsDebitMandateOptions": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsCard": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsCardMandateOptions": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsCardPresent": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsCardThreeDSecure": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsKlarna": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsKlarnaOnDemand": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsKlarnaSubscription": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsLink": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsPaypal": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsSepaDebit": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsSepaDebitMandateOptions": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccount": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnections": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountMandateOptions": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountNetworks": ( "stripe.params._setup_intent_update_params", False, ), "SetupIntentVerifyMicrodepositsParams": ( "stripe.params._setup_intent_verify_microdeposits_params", False, ), "ShippingRateCreateParams": ( "stripe.params._shipping_rate_create_params", False, ), "ShippingRateCreateParamsDeliveryEstimate": ( "stripe.params._shipping_rate_create_params", False, ), "ShippingRateCreateParamsDeliveryEstimateMaximum": ( "stripe.params._shipping_rate_create_params", False, ), "ShippingRateCreateParamsDeliveryEstimateMinimum": ( "stripe.params._shipping_rate_create_params", False, ), "ShippingRateCreateParamsFixedAmount": ( "stripe.params._shipping_rate_create_params", False, ), "ShippingRateCreateParamsFixedAmountCurrencyOptions": ( "stripe.params._shipping_rate_create_params", False, ), "ShippingRateListParams": ( "stripe.params._shipping_rate_list_params", False, ), "ShippingRateListParamsCreated": ( "stripe.params._shipping_rate_list_params", False, ), "ShippingRateModifyParams": ( "stripe.params._shipping_rate_modify_params", False, ), "ShippingRateModifyParamsFixedAmount": ( "stripe.params._shipping_rate_modify_params", False, ), "ShippingRateModifyParamsFixedAmountCurrencyOptions": ( "stripe.params._shipping_rate_modify_params", False, ), "ShippingRateRetrieveParams": ( "stripe.params._shipping_rate_retrieve_params", False, ), "ShippingRateUpdateParams": ( "stripe.params._shipping_rate_update_params", False, ), "ShippingRateUpdateParamsFixedAmount": ( "stripe.params._shipping_rate_update_params", False, ), "ShippingRateUpdateParamsFixedAmountCurrencyOptions": ( "stripe.params._shipping_rate_update_params", False, ), "SourceCreateParams": ("stripe.params._source_create_params", False), "SourceCreateParamsMandate": ( "stripe.params._source_create_params", False, ), "SourceCreateParamsMandateAcceptance": ( "stripe.params._source_create_params", False, ), "SourceCreateParamsMandateAcceptanceOffline": ( "stripe.params._source_create_params", False, ), "SourceCreateParamsMandateAcceptanceOnline": ( "stripe.params._source_create_params", False, ), "SourceCreateParamsOwner": ("stripe.params._source_create_params", False), "SourceCreateParamsOwnerAddress": ( "stripe.params._source_create_params", False, ), "SourceCreateParamsReceiver": ( "stripe.params._source_create_params", False, ), "SourceCreateParamsRedirect": ( "stripe.params._source_create_params", False, ), "SourceCreateParamsSourceOrder": ( "stripe.params._source_create_params", False, ), "SourceCreateParamsSourceOrderItem": ( "stripe.params._source_create_params", False, ), "SourceCreateParamsSourceOrderShipping": ( "stripe.params._source_create_params", False, ), "SourceCreateParamsSourceOrderShippingAddress": ( "stripe.params._source_create_params", False, ), "SourceDetachParams": ("stripe.params._source_detach_params", False), "SourceListSourceTransactionsParams": ( "stripe.params._source_list_source_transactions_params", False, ), "SourceModifyParams": ("stripe.params._source_modify_params", False), "SourceModifyParamsMandate": ( "stripe.params._source_modify_params", False, ), "SourceModifyParamsMandateAcceptance": ( "stripe.params._source_modify_params", False, ), "SourceModifyParamsMandateAcceptanceOffline": ( "stripe.params._source_modify_params", False, ), "SourceModifyParamsMandateAcceptanceOnline": ( "stripe.params._source_modify_params", False, ), "SourceModifyParamsOwner": ("stripe.params._source_modify_params", False), "SourceModifyParamsOwnerAddress": ( "stripe.params._source_modify_params", False, ), "SourceModifyParamsSourceOrder": ( "stripe.params._source_modify_params", False, ), "SourceModifyParamsSourceOrderItem": ( "stripe.params._source_modify_params", False, ), "SourceModifyParamsSourceOrderShipping": ( "stripe.params._source_modify_params", False, ), "SourceModifyParamsSourceOrderShippingAddress": ( "stripe.params._source_modify_params", False, ), "SourceRetrieveParams": ("stripe.params._source_retrieve_params", False), "SourceTransactionListParams": ( "stripe.params._source_transaction_list_params", False, ), "SourceUpdateParams": ("stripe.params._source_update_params", False), "SourceUpdateParamsMandate": ( "stripe.params._source_update_params", False, ), "SourceUpdateParamsMandateAcceptance": ( "stripe.params._source_update_params", False, ), "SourceUpdateParamsMandateAcceptanceOffline": ( "stripe.params._source_update_params", False, ), "SourceUpdateParamsMandateAcceptanceOnline": ( "stripe.params._source_update_params", False, ), "SourceUpdateParamsOwner": ("stripe.params._source_update_params", False), "SourceUpdateParamsOwnerAddress": ( "stripe.params._source_update_params", False, ), "SourceUpdateParamsSourceOrder": ( "stripe.params._source_update_params", False, ), "SourceUpdateParamsSourceOrderItem": ( "stripe.params._source_update_params", False, ), "SourceUpdateParamsSourceOrderShipping": ( "stripe.params._source_update_params", False, ), "SourceUpdateParamsSourceOrderShippingAddress": ( "stripe.params._source_update_params", False, ), "SourceVerifyParams": ("stripe.params._source_verify_params", False), "SubscriptionCancelParams": ( "stripe.params._subscription_cancel_params", False, ), "SubscriptionCancelParamsCancellationDetails": ( "stripe.params._subscription_cancel_params", False, ), "SubscriptionCreateParams": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsAddInvoiceItem": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsAddInvoiceItemDiscount": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsAddInvoiceItemPeriod": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsAddInvoiceItemPeriodEnd": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsAddInvoiceItemPeriodStart": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsAddInvoiceItemPriceData": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsAutomaticTax": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsAutomaticTaxLiability": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsBillingCycleAnchorConfig": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsBillingMode": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsBillingModeFlexible": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsBillingThresholds": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsDiscount": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsInvoiceSettings": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsInvoiceSettingsIssuer": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsItem": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsItemBillingThresholds": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsItemDiscount": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsItemPriceData": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsItemPriceDataRecurring": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPaymentSettings": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptions": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebit": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsBancontact": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCard": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCardMandateOptions": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsKonbini": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsSepaDebit": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsPendingInvoiceItemInterval": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsTransferData": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsTrialSettings": ( "stripe.params._subscription_create_params", False, ), "SubscriptionCreateParamsTrialSettingsEndBehavior": ( "stripe.params._subscription_create_params", False, ), "SubscriptionDeleteDiscountParams": ( "stripe.params._subscription_delete_discount_params", False, ), "SubscriptionItemCreateParams": ( "stripe.params._subscription_item_create_params", False, ), "SubscriptionItemCreateParamsBillingThresholds": ( "stripe.params._subscription_item_create_params", False, ), "SubscriptionItemCreateParamsDiscount": ( "stripe.params._subscription_item_create_params", False, ), "SubscriptionItemCreateParamsPriceData": ( "stripe.params._subscription_item_create_params", False, ), "SubscriptionItemCreateParamsPriceDataRecurring": ( "stripe.params._subscription_item_create_params", False, ), "SubscriptionItemDeleteParams": ( "stripe.params._subscription_item_delete_params", False, ), "SubscriptionItemListParams": ( "stripe.params._subscription_item_list_params", False, ), "SubscriptionItemModifyParams": ( "stripe.params._subscription_item_modify_params", False, ), "SubscriptionItemModifyParamsBillingThresholds": ( "stripe.params._subscription_item_modify_params", False, ), "SubscriptionItemModifyParamsDiscount": ( "stripe.params._subscription_item_modify_params", False, ), "SubscriptionItemModifyParamsPriceData": ( "stripe.params._subscription_item_modify_params", False, ), "SubscriptionItemModifyParamsPriceDataRecurring": ( "stripe.params._subscription_item_modify_params", False, ), "SubscriptionItemRetrieveParams": ( "stripe.params._subscription_item_retrieve_params", False, ), "SubscriptionItemUpdateParams": ( "stripe.params._subscription_item_update_params", False, ), "SubscriptionItemUpdateParamsBillingThresholds": ( "stripe.params._subscription_item_update_params", False, ), "SubscriptionItemUpdateParamsDiscount": ( "stripe.params._subscription_item_update_params", False, ), "SubscriptionItemUpdateParamsPriceData": ( "stripe.params._subscription_item_update_params", False, ), "SubscriptionItemUpdateParamsPriceDataRecurring": ( "stripe.params._subscription_item_update_params", False, ), "SubscriptionListParams": ( "stripe.params._subscription_list_params", False, ), "SubscriptionListParamsAutomaticTax": ( "stripe.params._subscription_list_params", False, ), "SubscriptionListParamsCreated": ( "stripe.params._subscription_list_params", False, ), "SubscriptionListParamsCurrentPeriodEnd": ( "stripe.params._subscription_list_params", False, ), "SubscriptionListParamsCurrentPeriodStart": ( "stripe.params._subscription_list_params", False, ), "SubscriptionMigrateParams": ( "stripe.params._subscription_migrate_params", False, ), "SubscriptionMigrateParamsBillingMode": ( "stripe.params._subscription_migrate_params", False, ), "SubscriptionMigrateParamsBillingModeFlexible": ( "stripe.params._subscription_migrate_params", False, ), "SubscriptionModifyParams": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsAddInvoiceItem": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsAddInvoiceItemDiscount": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsAddInvoiceItemPeriod": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsAddInvoiceItemPeriodEnd": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsAddInvoiceItemPeriodStart": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsAddInvoiceItemPriceData": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsAutomaticTax": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsAutomaticTaxLiability": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsBillingThresholds": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsCancellationDetails": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsDiscount": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsInvoiceSettings": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsInvoiceSettingsIssuer": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsItem": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsItemBillingThresholds": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsItemDiscount": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsItemPriceData": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsItemPriceDataRecurring": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPauseCollection": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPaymentSettings": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptions": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebit": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsBancontact": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCard": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCardMandateOptions": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalance": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsKonbini": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsSepaDebit": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccount": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsPendingInvoiceItemInterval": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsTransferData": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsTrialSettings": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionModifyParamsTrialSettingsEndBehavior": ( "stripe.params._subscription_modify_params", False, ), "SubscriptionResumeParams": ( "stripe.params._subscription_resume_params", False, ), "SubscriptionRetrieveParams": ( "stripe.params._subscription_retrieve_params", False, ), "SubscriptionScheduleCancelParams": ( "stripe.params._subscription_schedule_cancel_params", False, ), "SubscriptionScheduleCreateParams": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsBillingMode": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsBillingModeFlexible": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsDefaultSettings": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsDefaultSettingsAutomaticTax": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsDefaultSettingsAutomaticTaxLiability": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsDefaultSettingsBillingThresholds": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsDefaultSettingsInvoiceSettings": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsDefaultSettingsInvoiceSettingsIssuer": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsDefaultSettingsTransferData": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhase": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseAddInvoiceItem": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseAddInvoiceItemDiscount": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPeriod": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPeriodEnd": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPeriodStart": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPriceData": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseAutomaticTax": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseAutomaticTaxLiability": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseBillingThresholds": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseDiscount": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseDuration": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseInvoiceSettings": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseInvoiceSettingsIssuer": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseItem": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseItemBillingThresholds": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseItemDiscount": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseItemPriceData": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseItemPriceDataRecurring": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleCreateParamsPhaseTransferData": ( "stripe.params._subscription_schedule_create_params", False, ), "SubscriptionScheduleListParams": ( "stripe.params._subscription_schedule_list_params", False, ), "SubscriptionScheduleListParamsCanceledAt": ( "stripe.params._subscription_schedule_list_params", False, ), "SubscriptionScheduleListParamsCompletedAt": ( "stripe.params._subscription_schedule_list_params", False, ), "SubscriptionScheduleListParamsCreated": ( "stripe.params._subscription_schedule_list_params", False, ), "SubscriptionScheduleListParamsReleasedAt": ( "stripe.params._subscription_schedule_list_params", False, ), "SubscriptionScheduleModifyParams": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsDefaultSettings": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsDefaultSettingsAutomaticTax": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsDefaultSettingsAutomaticTaxLiability": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsDefaultSettingsBillingThresholds": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsDefaultSettingsInvoiceSettings": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsDefaultSettingsInvoiceSettingsIssuer": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsDefaultSettingsTransferData": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhase": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseAddInvoiceItem": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseAddInvoiceItemDiscount": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPeriod": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPeriodEnd": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPeriodStart": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPriceData": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseAutomaticTax": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseAutomaticTaxLiability": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseBillingThresholds": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseDiscount": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseDuration": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseInvoiceSettings": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseInvoiceSettingsIssuer": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseItem": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseItemBillingThresholds": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseItemDiscount": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseItemPriceData": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseItemPriceDataRecurring": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleModifyParamsPhaseTransferData": ( "stripe.params._subscription_schedule_modify_params", False, ), "SubscriptionScheduleReleaseParams": ( "stripe.params._subscription_schedule_release_params", False, ), "SubscriptionScheduleRetrieveParams": ( "stripe.params._subscription_schedule_retrieve_params", False, ), "SubscriptionScheduleUpdateParams": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsDefaultSettings": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsDefaultSettingsAutomaticTax": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsDefaultSettingsAutomaticTaxLiability": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsDefaultSettingsBillingThresholds": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsDefaultSettingsInvoiceSettings": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsDefaultSettingsInvoiceSettingsIssuer": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsDefaultSettingsTransferData": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhase": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseAddInvoiceItem": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemDiscount": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPeriod": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPeriodEnd": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPeriodStart": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPriceData": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseAutomaticTax": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseAutomaticTaxLiability": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseBillingThresholds": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseDiscount": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseDuration": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseInvoiceSettings": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseInvoiceSettingsIssuer": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseItem": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseItemBillingThresholds": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseItemDiscount": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseItemPriceData": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseItemPriceDataRecurring": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionScheduleUpdateParamsPhaseTransferData": ( "stripe.params._subscription_schedule_update_params", False, ), "SubscriptionSearchParams": ( "stripe.params._subscription_search_params", False, ), "SubscriptionUpdateParams": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsAddInvoiceItem": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsAddInvoiceItemDiscount": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsAddInvoiceItemPeriod": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsAddInvoiceItemPeriodEnd": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsAddInvoiceItemPeriodStart": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsAddInvoiceItemPriceData": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsAutomaticTax": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsAutomaticTaxLiability": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsBillingThresholds": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsCancellationDetails": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsDiscount": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsInvoiceSettings": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsInvoiceSettingsIssuer": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsItem": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsItemBillingThresholds": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsItemDiscount": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsItemPriceData": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsItemPriceDataRecurring": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPauseCollection": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPaymentSettings": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptions": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebit": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsBancontact": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCard": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCardMandateOptions": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsKonbini": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsSepaDebit": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsPendingInvoiceItemInterval": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsTransferData": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsTrialSettings": ( "stripe.params._subscription_update_params", False, ), "SubscriptionUpdateParamsTrialSettingsEndBehavior": ( "stripe.params._subscription_update_params", False, ), "TaxCodeListParams": ("stripe.params._tax_code_list_params", False), "TaxCodeRetrieveParams": ( "stripe.params._tax_code_retrieve_params", False, ), "TaxIdCreateParams": ("stripe.params._tax_id_create_params", False), "TaxIdCreateParamsOwner": ("stripe.params._tax_id_create_params", False), "TaxIdDeleteParams": ("stripe.params._tax_id_delete_params", False), "TaxIdListParams": ("stripe.params._tax_id_list_params", False), "TaxIdListParamsOwner": ("stripe.params._tax_id_list_params", False), "TaxIdRetrieveParams": ("stripe.params._tax_id_retrieve_params", False), "TaxRateCreateParams": ("stripe.params._tax_rate_create_params", False), "TaxRateListParams": ("stripe.params._tax_rate_list_params", False), "TaxRateListParamsCreated": ("stripe.params._tax_rate_list_params", False), "TaxRateModifyParams": ("stripe.params._tax_rate_modify_params", False), "TaxRateRetrieveParams": ( "stripe.params._tax_rate_retrieve_params", False, ), "TaxRateUpdateParams": ("stripe.params._tax_rate_update_params", False), "TokenCreateParams": ("stripe.params._token_create_params", False), "TokenCreateParamsAccount": ("stripe.params._token_create_params", False), "TokenCreateParamsAccountCompany": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountCompanyAddress": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountCompanyAddressKana": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountCompanyAddressKanji": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountCompanyDirectorshipDeclaration": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountCompanyOwnershipDeclaration": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountCompanyRegistrationDate": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountCompanyRepresentativeDeclaration": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountCompanyVerification": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountCompanyVerificationDocument": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountIndividual": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountIndividualAddress": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountIndividualAddressKana": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountIndividualAddressKanji": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountIndividualDob": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountIndividualRegisteredAddress": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountIndividualRelationship": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountIndividualVerification": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountIndividualVerificationAdditionalDocument": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsAccountIndividualVerificationDocument": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsBankAccount": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsCard": ("stripe.params._token_create_params", False), "TokenCreateParamsCardNetworks": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsCvcUpdate": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPerson": ("stripe.params._token_create_params", False), "TokenCreateParamsPersonAdditionalTosAcceptances": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonAdditionalTosAcceptancesAccount": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonAddress": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonAddressKana": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonAddressKanji": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonDob": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonDocuments": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonDocumentsCompanyAuthorization": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonDocumentsPassport": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonDocumentsVisa": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonRegisteredAddress": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonRelationship": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonUsCfpbData": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonUsCfpbDataEthnicityDetails": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonUsCfpbDataRaceDetails": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonVerification": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonVerificationAdditionalDocument": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPersonVerificationDocument": ( "stripe.params._token_create_params", False, ), "TokenCreateParamsPii": ("stripe.params._token_create_params", False), "TokenRetrieveParams": ("stripe.params._token_retrieve_params", False), "TopupCancelParams": ("stripe.params._topup_cancel_params", False), "TopupCreateParams": ("stripe.params._topup_create_params", False), "TopupListParams": ("stripe.params._topup_list_params", False), "TopupListParamsAmount": ("stripe.params._topup_list_params", False), "TopupListParamsCreated": ("stripe.params._topup_list_params", False), "TopupModifyParams": ("stripe.params._topup_modify_params", False), "TopupRetrieveParams": ("stripe.params._topup_retrieve_params", False), "TopupUpdateParams": ("stripe.params._topup_update_params", False), "TransferCreateParams": ("stripe.params._transfer_create_params", False), "TransferCreateReversalParams": ( "stripe.params._transfer_create_reversal_params", False, ), "TransferListParams": ("stripe.params._transfer_list_params", False), "TransferListParamsCreated": ( "stripe.params._transfer_list_params", False, ), "TransferListReversalsParams": ( "stripe.params._transfer_list_reversals_params", False, ), "TransferModifyParams": ("stripe.params._transfer_modify_params", False), "TransferModifyReversalParams": ( "stripe.params._transfer_modify_reversal_params", False, ), "TransferRetrieveParams": ( "stripe.params._transfer_retrieve_params", False, ), "TransferRetrieveReversalParams": ( "stripe.params._transfer_retrieve_reversal_params", False, ), "TransferReversalCreateParams": ( "stripe.params._transfer_reversal_create_params", False, ), "TransferReversalListParams": ( "stripe.params._transfer_reversal_list_params", False, ), "TransferReversalRetrieveParams": ( "stripe.params._transfer_reversal_retrieve_params", False, ), "TransferReversalUpdateParams": ( "stripe.params._transfer_reversal_update_params", False, ), "TransferUpdateParams": ("stripe.params._transfer_update_params", False), "WebhookEndpointCreateParams": ( "stripe.params._webhook_endpoint_create_params", False, ), "WebhookEndpointDeleteParams": ( "stripe.params._webhook_endpoint_delete_params", False, ), "WebhookEndpointListParams": ( "stripe.params._webhook_endpoint_list_params", False, ), "WebhookEndpointModifyParams": ( "stripe.params._webhook_endpoint_modify_params", False, ), "WebhookEndpointRetrieveParams": ( "stripe.params._webhook_endpoint_retrieve_params", False, ), "WebhookEndpointUpdateParams": ( "stripe.params._webhook_endpoint_update_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3430622 stripe-13.2.0/stripe/params/_account_capability_list_params.py0000644000000000000000000000045615102753431021574 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class AccountCapabilityListParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3430622 stripe-13.2.0/stripe/params/_account_capability_retrieve_params.py0000644000000000000000000000046215102753431022443 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class AccountCapabilityRetrieveParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3430622 stripe-13.2.0/stripe/params/_account_capability_update_params.py0000644000000000000000000000144415102753431022101 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class AccountCapabilityUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ requested: NotRequired[bool] """ To request a new capability for an account, pass true. There can be a delay before the requested capability becomes active. If the capability has any activation requirements, the response includes them in the `requirements` arrays. If a capability isn't permanent, you can remove it from the account by passing false. Some capabilities are permanent after they've been requested. Attempting to remove a permanent capability returns an error. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_create_external_account_params.py0000644000000000000000000000700115102753431023272 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict class AccountCreateExternalAccountParams(RequestOptions): default_for_currency: NotRequired[bool] """ When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ external_account: Union[ str, "AccountCreateExternalAccountParamsCard", "AccountCreateExternalAccountParamsBankAccount", "AccountCreateExternalAccountParamsCardToken", ] """ A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js) or a dictionary containing a user's external account details (with the options shown below). Please refer to full [documentation](https://stripe.com/docs/api/external_accounts) instead. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ class AccountCreateExternalAccountParamsCard(TypedDict): object: Literal["card"] address_city: NotRequired[str] address_country: NotRequired[str] address_line1: NotRequired[str] address_line2: NotRequired[str] address_state: NotRequired[str] address_zip: NotRequired[str] currency: NotRequired[str] cvc: NotRequired[str] exp_month: int exp_year: int name: NotRequired[str] number: str metadata: NotRequired[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. """ class AccountCreateExternalAccountParamsBankAccount(TypedDict): object: Literal["bank_account"] account_holder_name: NotRequired[str] """ The name of the person or business that owns the bank account.This field is required when attaching the bank account to a `Customer` object. """ account_holder_type: NotRequired[Literal["company", "individual"]] """ The type of entity that holds the account. It can be `company` or `individual`. This field is required when attaching the bank account to a `Customer` object. """ account_number: str """ The account number for the bank account, in string form. Must be a checking account. """ country: str """ The country in which the bank account is located. """ currency: NotRequired[str] """ The currency the bank account is in. This must be a country/currency pairing that [Stripe supports.](docs/payouts) """ routing_number: NotRequired[str] """ The routing number, sort code, or other country-appropriate institution number for the bank account. For US bank accounts, this is required and should be the ACH routing number, not the wire routing number. If you are providing an IBAN for `account_number`, this field is not required. """ class AccountCreateExternalAccountParamsCardToken(TypedDict): object: Literal["card"] currency: NotRequired[str] token: str ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_create_login_link_params.py0000644000000000000000000000053415102753431022065 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AccountCreateLoginLinkParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_create_params.py0000644000000000000000000023646015102753431017671 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class AccountCreateParams(RequestOptions): account_token: NotRequired[str] """ An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account. """ business_profile: NotRequired["AccountCreateParamsBusinessProfile"] """ Business information about the account. """ business_type: NotRequired[ Literal["company", "government_entity", "individual", "non_profit"] ] """ The business type. Once you create an [Account Link](https://docs.stripe.com/api/account_links) or [Account Session](https://docs.stripe.com/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. """ capabilities: NotRequired["AccountCreateParamsCapabilities"] """ Each key of the dictionary represents a capability, and each capability maps to its settings (for example, whether it has been requested or not). Each capability is inactive until you have provided its specific requirements and Stripe has verified them. An account might have some of its requested capabilities be active and some be inactive. Required when [account.controller.stripe_dashboard.type](https://docs.stripe.com/api/accounts/create#create_account-controller-dashboard-type) is `none`, which includes Custom accounts. """ company: NotRequired["AccountCreateParamsCompany"] """ Information about the company or business. This field is available for any `business_type`. Once you create an [Account Link](https://docs.stripe.com/api/account_links) or [Account Session](https://docs.stripe.com/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. """ controller: NotRequired["AccountCreateParamsController"] """ A hash of configuration describing the account controller's attributes. """ country: NotRequired[str] """ The country in which the account holder resides, or in which the business is legally established. This should be an ISO 3166-1 alpha-2 country code. For example, if you are in the United States and the business for which you're creating an account is legally represented in Canada, you would use `CA` as the country for the account being created. Available countries include [Stripe's global markets](https://stripe.com/global) as well as countries where [cross-border payouts](https://stripe.com/docs/connect/cross-border-payouts) are supported. """ default_currency: NotRequired[str] """ Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://docs.stripe.com/payouts). """ documents: NotRequired["AccountCreateParamsDocuments"] """ Documents that may be submitted to satisfy various informational requests. """ email: NotRequired[str] """ The email address of the account holder. This is only to make the account easier to identify to you. If [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts, Stripe doesn't email the account without your consent. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ external_account: NotRequired[ "str|AccountCreateParamsBankAccount|AccountCreateParamsCard|AccountCreateParamsCardToken" ] """ A card or bank account to attach to the account for receiving [payouts](https://docs.stripe.com/connect/bank-debit-card-payouts) (you won't be able to use it for top-ups). You can provide either a token, like the ones returned by [Stripe.js](https://docs.stripe.com/js), or a dictionary, as documented in the `external_account` parameter for [bank account](https://docs.stripe.com/api#account_create_bank_account) creation. By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the [bank account](https://docs.stripe.com/api#account_create_bank_account) or [card creation](https://docs.stripe.com/api#account_create_card) APIs. After you create an [Account Link](https://docs.stripe.com/api/account_links) or [Account Session](https://docs.stripe.com/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. """ groups: NotRequired["AccountCreateParamsGroups"] """ A hash of account group type to tokens. These are account groups this account should be added to. """ individual: NotRequired["AccountCreateParamsIndividual"] """ Information about the person represented by the account. This field is null unless `business_type` is set to `individual`. Once you create an [Account Link](https://docs.stripe.com/api/account_links) or [Account Session](https://docs.stripe.com/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ settings: NotRequired["AccountCreateParamsSettings"] """ Options for customizing how the account functions within Stripe. """ tos_acceptance: NotRequired["AccountCreateParamsTosAcceptance"] """ Details on the account's acceptance of the [Stripe Services Agreement](https://docs.stripe.com/connect/updating-accounts#tos-acceptance). This property can only be updated for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. This property defaults to a `full` service agreement when empty. """ type: NotRequired[Literal["custom", "express", "standard"]] """ The type of Stripe account to create. May be one of `custom`, `express` or `standard`. """ class AccountCreateParamsBusinessProfile(TypedDict): annual_revenue: NotRequired[ "AccountCreateParamsBusinessProfileAnnualRevenue" ] """ The applicant's gross annual revenue for its preceding fiscal year. """ estimated_worker_count: NotRequired[int] """ An estimated upper bound of employees, contractors, vendors, etc. currently working for the business. """ mcc: NotRequired[str] """ [The merchant category code for the account](https://docs.stripe.com/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide. """ minority_owned_business_designation: NotRequired[ List[ Literal[ "lgbtqi_owned_business", "minority_owned_business", "none_of_these_apply", "prefer_not_to_answer", "women_owned_business", ] ] ] """ Whether the business is a minority-owned, women-owned, and/or LGBTQI+ -owned business. """ monthly_estimated_revenue: NotRequired[ "AccountCreateParamsBusinessProfileMonthlyEstimatedRevenue" ] """ An estimate of the monthly revenue of the business. Only accepted for accounts in Brazil and India. """ name: NotRequired[str] """ The customer-facing business name. """ product_description: NotRequired[str] """ Internal-only description of the product sold by, or service provided by, the business. Used by Stripe for risk and underwriting purposes. """ support_address: NotRequired[ "AccountCreateParamsBusinessProfileSupportAddress" ] """ A publicly available mailing address for sending support issues to. """ support_email: NotRequired[str] """ A publicly available email address for sending support issues to. """ support_phone: NotRequired[str] """ A publicly available phone number to call with support issues. """ support_url: NotRequired["Literal['']|str"] """ A publicly available website for handling support issues. """ url: NotRequired[str] """ The business's publicly available website. """ class AccountCreateParamsBusinessProfileAnnualRevenue(TypedDict): amount: int """ A non-negative integer representing the amount in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal). """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ fiscal_year_end: str """ The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for the 31st of December, 2023. """ class AccountCreateParamsBusinessProfileMonthlyEstimatedRevenue(TypedDict): amount: int """ A non-negative integer representing how much to charge in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal). """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ class AccountCreateParamsBusinessProfileSupportAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountCreateParamsCapabilities(TypedDict): acss_debit_payments: NotRequired[ "AccountCreateParamsCapabilitiesAcssDebitPayments" ] """ The acss_debit_payments capability. """ affirm_payments: NotRequired[ "AccountCreateParamsCapabilitiesAffirmPayments" ] """ The affirm_payments capability. """ afterpay_clearpay_payments: NotRequired[ "AccountCreateParamsCapabilitiesAfterpayClearpayPayments" ] """ The afterpay_clearpay_payments capability. """ alma_payments: NotRequired["AccountCreateParamsCapabilitiesAlmaPayments"] """ The alma_payments capability. """ amazon_pay_payments: NotRequired[ "AccountCreateParamsCapabilitiesAmazonPayPayments" ] """ The amazon_pay_payments capability. """ au_becs_debit_payments: NotRequired[ "AccountCreateParamsCapabilitiesAuBecsDebitPayments" ] """ The au_becs_debit_payments capability. """ bacs_debit_payments: NotRequired[ "AccountCreateParamsCapabilitiesBacsDebitPayments" ] """ The bacs_debit_payments capability. """ bancontact_payments: NotRequired[ "AccountCreateParamsCapabilitiesBancontactPayments" ] """ The bancontact_payments capability. """ bank_transfer_payments: NotRequired[ "AccountCreateParamsCapabilitiesBankTransferPayments" ] """ The bank_transfer_payments capability. """ billie_payments: NotRequired[ "AccountCreateParamsCapabilitiesBilliePayments" ] """ The billie_payments capability. """ blik_payments: NotRequired["AccountCreateParamsCapabilitiesBlikPayments"] """ The blik_payments capability. """ boleto_payments: NotRequired[ "AccountCreateParamsCapabilitiesBoletoPayments" ] """ The boleto_payments capability. """ card_issuing: NotRequired["AccountCreateParamsCapabilitiesCardIssuing"] """ The card_issuing capability. """ card_payments: NotRequired["AccountCreateParamsCapabilitiesCardPayments"] """ The card_payments capability. """ cartes_bancaires_payments: NotRequired[ "AccountCreateParamsCapabilitiesCartesBancairesPayments" ] """ The cartes_bancaires_payments capability. """ cashapp_payments: NotRequired[ "AccountCreateParamsCapabilitiesCashappPayments" ] """ The cashapp_payments capability. """ crypto_payments: NotRequired[ "AccountCreateParamsCapabilitiesCryptoPayments" ] """ The crypto_payments capability. """ eps_payments: NotRequired["AccountCreateParamsCapabilitiesEpsPayments"] """ The eps_payments capability. """ fpx_payments: NotRequired["AccountCreateParamsCapabilitiesFpxPayments"] """ The fpx_payments capability. """ gb_bank_transfer_payments: NotRequired[ "AccountCreateParamsCapabilitiesGbBankTransferPayments" ] """ The gb_bank_transfer_payments capability. """ giropay_payments: NotRequired[ "AccountCreateParamsCapabilitiesGiropayPayments" ] """ The giropay_payments capability. """ grabpay_payments: NotRequired[ "AccountCreateParamsCapabilitiesGrabpayPayments" ] """ The grabpay_payments capability. """ ideal_payments: NotRequired["AccountCreateParamsCapabilitiesIdealPayments"] """ The ideal_payments capability. """ india_international_payments: NotRequired[ "AccountCreateParamsCapabilitiesIndiaInternationalPayments" ] """ The india_international_payments capability. """ jcb_payments: NotRequired["AccountCreateParamsCapabilitiesJcbPayments"] """ The jcb_payments capability. """ jp_bank_transfer_payments: NotRequired[ "AccountCreateParamsCapabilitiesJpBankTransferPayments" ] """ The jp_bank_transfer_payments capability. """ kakao_pay_payments: NotRequired[ "AccountCreateParamsCapabilitiesKakaoPayPayments" ] """ The kakao_pay_payments capability. """ klarna_payments: NotRequired[ "AccountCreateParamsCapabilitiesKlarnaPayments" ] """ The klarna_payments capability. """ konbini_payments: NotRequired[ "AccountCreateParamsCapabilitiesKonbiniPayments" ] """ The konbini_payments capability. """ kr_card_payments: NotRequired[ "AccountCreateParamsCapabilitiesKrCardPayments" ] """ The kr_card_payments capability. """ legacy_payments: NotRequired[ "AccountCreateParamsCapabilitiesLegacyPayments" ] """ The legacy_payments capability. """ link_payments: NotRequired["AccountCreateParamsCapabilitiesLinkPayments"] """ The link_payments capability. """ mb_way_payments: NotRequired[ "AccountCreateParamsCapabilitiesMbWayPayments" ] """ The mb_way_payments capability. """ mobilepay_payments: NotRequired[ "AccountCreateParamsCapabilitiesMobilepayPayments" ] """ The mobilepay_payments capability. """ multibanco_payments: NotRequired[ "AccountCreateParamsCapabilitiesMultibancoPayments" ] """ The multibanco_payments capability. """ mx_bank_transfer_payments: NotRequired[ "AccountCreateParamsCapabilitiesMxBankTransferPayments" ] """ The mx_bank_transfer_payments capability. """ naver_pay_payments: NotRequired[ "AccountCreateParamsCapabilitiesNaverPayPayments" ] """ The naver_pay_payments capability. """ nz_bank_account_becs_debit_payments: NotRequired[ "AccountCreateParamsCapabilitiesNzBankAccountBecsDebitPayments" ] """ The nz_bank_account_becs_debit_payments capability. """ oxxo_payments: NotRequired["AccountCreateParamsCapabilitiesOxxoPayments"] """ The oxxo_payments capability. """ p24_payments: NotRequired["AccountCreateParamsCapabilitiesP24Payments"] """ The p24_payments capability. """ pay_by_bank_payments: NotRequired[ "AccountCreateParamsCapabilitiesPayByBankPayments" ] """ The pay_by_bank_payments capability. """ payco_payments: NotRequired["AccountCreateParamsCapabilitiesPaycoPayments"] """ The payco_payments capability. """ paynow_payments: NotRequired[ "AccountCreateParamsCapabilitiesPaynowPayments" ] """ The paynow_payments capability. """ pix_payments: NotRequired["AccountCreateParamsCapabilitiesPixPayments"] """ The pix_payments capability. """ promptpay_payments: NotRequired[ "AccountCreateParamsCapabilitiesPromptpayPayments" ] """ The promptpay_payments capability. """ revolut_pay_payments: NotRequired[ "AccountCreateParamsCapabilitiesRevolutPayPayments" ] """ The revolut_pay_payments capability. """ samsung_pay_payments: NotRequired[ "AccountCreateParamsCapabilitiesSamsungPayPayments" ] """ The samsung_pay_payments capability. """ satispay_payments: NotRequired[ "AccountCreateParamsCapabilitiesSatispayPayments" ] """ The satispay_payments capability. """ sepa_bank_transfer_payments: NotRequired[ "AccountCreateParamsCapabilitiesSepaBankTransferPayments" ] """ The sepa_bank_transfer_payments capability. """ sepa_debit_payments: NotRequired[ "AccountCreateParamsCapabilitiesSepaDebitPayments" ] """ The sepa_debit_payments capability. """ sofort_payments: NotRequired[ "AccountCreateParamsCapabilitiesSofortPayments" ] """ The sofort_payments capability. """ swish_payments: NotRequired["AccountCreateParamsCapabilitiesSwishPayments"] """ The swish_payments capability. """ tax_reporting_us_1099_k: NotRequired[ "AccountCreateParamsCapabilitiesTaxReportingUs1099K" ] """ The tax_reporting_us_1099_k capability. """ tax_reporting_us_1099_misc: NotRequired[ "AccountCreateParamsCapabilitiesTaxReportingUs1099Misc" ] """ The tax_reporting_us_1099_misc capability. """ transfers: NotRequired["AccountCreateParamsCapabilitiesTransfers"] """ The transfers capability. """ treasury: NotRequired["AccountCreateParamsCapabilitiesTreasury"] """ The treasury capability. """ twint_payments: NotRequired["AccountCreateParamsCapabilitiesTwintPayments"] """ The twint_payments capability. """ us_bank_account_ach_payments: NotRequired[ "AccountCreateParamsCapabilitiesUsBankAccountAchPayments" ] """ The us_bank_account_ach_payments capability. """ us_bank_transfer_payments: NotRequired[ "AccountCreateParamsCapabilitiesUsBankTransferPayments" ] """ The us_bank_transfer_payments capability. """ zip_payments: NotRequired["AccountCreateParamsCapabilitiesZipPayments"] """ The zip_payments capability. """ class AccountCreateParamsCapabilitiesAcssDebitPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesAffirmPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesAfterpayClearpayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesAlmaPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesAmazonPayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesAuBecsDebitPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesBacsDebitPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesBancontactPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesBankTransferPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesBilliePayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesBlikPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesBoletoPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesCardIssuing(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesCardPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesCartesBancairesPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesCashappPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesCryptoPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesEpsPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesFpxPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesGbBankTransferPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesGiropayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesGrabpayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesIdealPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesIndiaInternationalPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesJcbPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesJpBankTransferPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesKakaoPayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesKlarnaPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesKonbiniPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesKrCardPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesLegacyPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesLinkPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesMbWayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesMobilepayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesMultibancoPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesMxBankTransferPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesNaverPayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesNzBankAccountBecsDebitPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesOxxoPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesP24Payments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesPayByBankPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesPaycoPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesPaynowPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesPixPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesPromptpayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesRevolutPayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesSamsungPayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesSatispayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesSepaBankTransferPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesSepaDebitPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesSofortPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesSwishPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesTaxReportingUs1099K(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesTaxReportingUs1099Misc(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesTransfers(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesTreasury(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesTwintPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesUsBankAccountAchPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesUsBankTransferPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCapabilitiesZipPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountCreateParamsCompany(TypedDict): address: NotRequired["AccountCreateParamsCompanyAddress"] """ The company's primary address. """ address_kana: NotRequired["AccountCreateParamsCompanyAddressKana"] """ The Kana variation of the company's primary address (Japan only). """ address_kanji: NotRequired["AccountCreateParamsCompanyAddressKanji"] """ The Kanji variation of the company's primary address (Japan only). """ directors_provided: NotRequired[bool] """ Whether the company's directors have been provided. Set this Boolean to `true` after creating all the company's directors with [the Persons API](https://docs.stripe.com/api/persons) for accounts with a `relationship.director` requirement. This value is not automatically set to `true` after creating directors, so it needs to be updated to indicate all directors have been provided. """ directorship_declaration: NotRequired[ "AccountCreateParamsCompanyDirectorshipDeclaration" ] """ This hash is used to attest that the directors information provided to Stripe is both current and correct. """ executives_provided: NotRequired[bool] """ Whether the company's executives have been provided. Set this Boolean to `true` after creating all the company's executives with [the Persons API](https://docs.stripe.com/api/persons) for accounts with a `relationship.executive` requirement. """ export_license_id: NotRequired[str] """ The export license ID number of the company, also referred as Import Export Code (India only). """ export_purpose_code: NotRequired[str] """ The purpose code to use for export transactions (India only). """ name: NotRequired[str] """ The company's legal name. """ name_kana: NotRequired[str] """ The Kana variation of the company's legal name (Japan only). """ name_kanji: NotRequired[str] """ The Kanji variation of the company's legal name (Japan only). """ owners_provided: NotRequired[bool] """ Whether the company's owners have been provided. Set this Boolean to `true` after creating all the company's owners with [the Persons API](https://docs.stripe.com/api/persons) for accounts with a `relationship.owner` requirement. """ ownership_declaration: NotRequired[ "AccountCreateParamsCompanyOwnershipDeclaration" ] """ This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct. """ ownership_exemption_reason: NotRequired[ "Literal['']|Literal['qualified_entity_exceeds_ownership_threshold', 'qualifies_as_financial_institution']" ] """ This value is used to determine if a business is exempt from providing ultimate beneficial owners. See [this support article](https://support.stripe.com/questions/exemption-from-providing-ownership-details) and [changelog](https://docs.stripe.com/changelog/acacia/2025-01-27/ownership-exemption-reason-accounts-api) for more details. """ phone: NotRequired[str] """ The company's phone number (used for verification). """ registration_date: NotRequired[ "Literal['']|AccountCreateParamsCompanyRegistrationDate" ] """ When the business was incorporated or registered. """ registration_number: NotRequired[str] """ The identification number given to a company when it is registered or incorporated, if distinct from the identification number used for filing taxes. (Examples are the CIN for companies and LLP IN for partnerships in India, and the Company Registration Number in Hong Kong). """ representative_declaration: NotRequired[ "AccountCreateParamsCompanyRepresentativeDeclaration" ] """ This hash is used to attest that the representative is authorized to act as the representative of their legal entity. """ structure: NotRequired[ "Literal['']|Literal['free_zone_establishment', 'free_zone_llc', 'government_instrumentality', 'governmental_unit', 'incorporated_non_profit', 'incorporated_partnership', 'limited_liability_partnership', 'llc', 'multi_member_llc', 'private_company', 'private_corporation', 'private_partnership', 'public_company', 'public_corporation', 'public_partnership', 'registered_charity', 'single_member_llc', 'sole_establishment', 'sole_proprietorship', 'tax_exempt_government_instrumentality', 'unincorporated_association', 'unincorporated_non_profit', 'unincorporated_partnership']" ] """ The category identifying the legal structure of the company or legal entity. See [Business structure](https://docs.stripe.com/connect/identity-verification#business-structure) for more details. Pass an empty string to unset this value. """ tax_id: NotRequired[str] """ The business ID number of the company, as appropriate for the company's country. (Examples are an Employer ID Number in the U.S., a Business Number in Canada, or a Company Number in the UK.) """ tax_id_registrar: NotRequired[str] """ The jurisdiction in which the `tax_id` is registered (Germany-based companies only). """ vat_id: NotRequired[str] """ The VAT number of the company. """ verification: NotRequired["AccountCreateParamsCompanyVerification"] """ Information on the verification state of the company. """ class AccountCreateParamsCompanyAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountCreateParamsCompanyAddressKana(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountCreateParamsCompanyAddressKanji(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountCreateParamsCompanyDirectorshipDeclaration(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the directorship declaration attestation was made. """ ip: NotRequired[str] """ The IP address from which the directorship declaration attestation was made. """ user_agent: NotRequired[str] """ The user agent of the browser from which the directorship declaration attestation was made. """ class AccountCreateParamsCompanyOwnershipDeclaration(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the beneficial owner attestation was made. """ ip: NotRequired[str] """ The IP address from which the beneficial owner attestation was made. """ user_agent: NotRequired[str] """ The user agent of the browser from which the beneficial owner attestation was made. """ class AccountCreateParamsCompanyRegistrationDate(TypedDict): day: int """ The day of registration, between 1 and 31. """ month: int """ The month of registration, between 1 and 12. """ year: int """ The four-digit year of registration. """ class AccountCreateParamsCompanyRepresentativeDeclaration(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the representative declaration attestation was made. """ ip: NotRequired[str] """ The IP address from which the representative declaration attestation was made. """ user_agent: NotRequired[str] """ The user agent of the browser from which the representative declaration attestation was made. """ class AccountCreateParamsCompanyVerification(TypedDict): document: NotRequired["AccountCreateParamsCompanyVerificationDocument"] """ A document verifying the business. """ class AccountCreateParamsCompanyVerificationDocument(TypedDict): back: NotRequired[str] """ The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ class AccountCreateParamsController(TypedDict): fees: NotRequired["AccountCreateParamsControllerFees"] """ A hash of configuration for who pays Stripe fees for product usage on this account. """ losses: NotRequired["AccountCreateParamsControllerLosses"] """ A hash of configuration for products that have negative balance liability, and whether Stripe or a Connect application is responsible for them. """ requirement_collection: NotRequired[Literal["application", "stripe"]] """ A value indicating responsibility for collecting updated information when requirements on the account are due or change. Defaults to `stripe`. """ stripe_dashboard: NotRequired[ "AccountCreateParamsControllerStripeDashboard" ] """ A hash of configuration for Stripe-hosted dashboards. """ class AccountCreateParamsControllerFees(TypedDict): payer: NotRequired[Literal["account", "application"]] """ A value indicating the responsible payer of Stripe fees on this account. Defaults to `account`. Learn more about [fee behavior on connected accounts](https://docs.stripe.com/connect/direct-charges-fee-payer-behavior). """ class AccountCreateParamsControllerLosses(TypedDict): payments: NotRequired[Literal["application", "stripe"]] """ A value indicating who is liable when this account can't pay back negative balances resulting from payments. Defaults to `stripe`. """ class AccountCreateParamsControllerStripeDashboard(TypedDict): type: NotRequired[Literal["express", "full", "none"]] """ Whether this account should have access to the full Stripe Dashboard (`full`), to the Express Dashboard (`express`), or to no Stripe-hosted dashboard (`none`). Defaults to `full`. """ class AccountCreateParamsDocuments(TypedDict): bank_account_ownership_verification: NotRequired[ "AccountCreateParamsDocumentsBankAccountOwnershipVerification" ] """ One or more documents that support the [Bank account ownership verification](https://support.stripe.com/questions/bank-account-ownership-verification) requirement. Must be a document associated with the account's primary active bank account that displays the last 4 digits of the account number, either a statement or a check. """ company_license: NotRequired["AccountCreateParamsDocumentsCompanyLicense"] """ One or more documents that demonstrate proof of a company's license to operate. """ company_memorandum_of_association: NotRequired[ "AccountCreateParamsDocumentsCompanyMemorandumOfAssociation" ] """ One or more documents showing the company's Memorandum of Association. """ company_ministerial_decree: NotRequired[ "AccountCreateParamsDocumentsCompanyMinisterialDecree" ] """ (Certain countries only) One or more documents showing the ministerial decree legalizing the company's establishment. """ company_registration_verification: NotRequired[ "AccountCreateParamsDocumentsCompanyRegistrationVerification" ] """ One or more documents that demonstrate proof of a company's registration with the appropriate local authorities. """ company_tax_id_verification: NotRequired[ "AccountCreateParamsDocumentsCompanyTaxIdVerification" ] """ One or more documents that demonstrate proof of a company's tax ID. """ proof_of_address: NotRequired["AccountCreateParamsDocumentsProofOfAddress"] """ One or more documents that demonstrate proof of address. """ proof_of_registration: NotRequired[ "AccountCreateParamsDocumentsProofOfRegistration" ] """ One or more documents showing the company's proof of registration with the national business registry. """ proof_of_ultimate_beneficial_ownership: NotRequired[ "AccountCreateParamsDocumentsProofOfUltimateBeneficialOwnership" ] """ One or more documents that demonstrate proof of ultimate beneficial ownership. """ class AccountCreateParamsDocumentsBankAccountOwnershipVerification(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountCreateParamsDocumentsCompanyLicense(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountCreateParamsDocumentsCompanyMemorandumOfAssociation(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountCreateParamsDocumentsCompanyMinisterialDecree(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountCreateParamsDocumentsCompanyRegistrationVerification(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountCreateParamsDocumentsCompanyTaxIdVerification(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountCreateParamsDocumentsProofOfAddress(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountCreateParamsDocumentsProofOfRegistration(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountCreateParamsDocumentsProofOfUltimateBeneficialOwnership( TypedDict ): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountCreateParamsBankAccount(TypedDict): object: Literal["bank_account"] account_holder_name: NotRequired[str] """ The name of the person or business that owns the bank account.This field is required when attaching the bank account to a `Customer` object. """ account_holder_type: NotRequired[Literal["company", "individual"]] """ The type of entity that holds the account. It can be `company` or `individual`. This field is required when attaching the bank account to a `Customer` object. """ account_number: str """ The account number for the bank account, in string form. Must be a checking account. """ country: str """ The country in which the bank account is located. """ currency: NotRequired[str] """ The currency the bank account is in. This must be a country/currency pairing that [Stripe supports.](docs/payouts) """ routing_number: NotRequired[str] """ The routing number, sort code, or other country-appropriate institution number for the bank account. For US bank accounts, this is required and should be the ACH routing number, not the wire routing number. If you are providing an IBAN for `account_number`, this field is not required. """ class AccountCreateParamsCard(TypedDict): object: Literal["card"] address_city: NotRequired[str] address_country: NotRequired[str] address_line1: NotRequired[str] address_line2: NotRequired[str] address_state: NotRequired[str] address_zip: NotRequired[str] currency: NotRequired[str] cvc: NotRequired[str] exp_month: int exp_year: int name: NotRequired[str] number: str metadata: NotRequired[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. """ default_for_currency: NotRequired[bool] class AccountCreateParamsCardToken(TypedDict): object: Literal["card"] currency: NotRequired[str] token: str class AccountCreateParamsGroups(TypedDict): payments_pricing: NotRequired["Literal['']|str"] """ The group the account is in to determine their payments pricing, and null if the account is on customized pricing. [See the Platform pricing tool documentation](https://stripe.com/docs/connect/platform-pricing-tools) for details. """ class AccountCreateParamsIndividual(TypedDict): address: NotRequired["AccountCreateParamsIndividualAddress"] """ The individual's primary address. """ address_kana: NotRequired["AccountCreateParamsIndividualAddressKana"] """ The Kana variation of the individual's primary address (Japan only). """ address_kanji: NotRequired["AccountCreateParamsIndividualAddressKanji"] """ The Kanji variation of the individual's primary address (Japan only). """ dob: NotRequired["Literal['']|AccountCreateParamsIndividualDob"] """ The individual's date of birth. """ email: NotRequired[str] """ The individual's email address. """ first_name: NotRequired[str] """ The individual's first name. """ first_name_kana: NotRequired[str] """ The Kana variation of the individual's first name (Japan only). """ first_name_kanji: NotRequired[str] """ The Kanji variation of the individual's first name (Japan only). """ full_name_aliases: NotRequired["Literal['']|List[str]"] """ A list of alternate names or aliases that the individual is known by. """ gender: NotRequired[str] """ The individual's gender """ id_number: NotRequired[str] """ The government-issued ID number of the individual, as appropriate for the representative's country. (Examples are a Social Security Number in the U.S., or a Social Insurance Number in Canada). Instead of the number itself, you can also provide a [PII token created with Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ id_number_secondary: NotRequired[str] """ The government-issued secondary ID number of the individual, as appropriate for the representative's country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token created with Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ last_name: NotRequired[str] """ The individual's last name. """ last_name_kana: NotRequired[str] """ The Kana variation of the individual's last name (Japan only). """ last_name_kanji: NotRequired[str] """ The Kanji variation of the individual's last name (Japan only). """ maiden_name: NotRequired[str] """ The individual's maiden name. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ phone: NotRequired[str] """ The individual's phone number. """ political_exposure: NotRequired[Literal["existing", "none"]] """ Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. """ registered_address: NotRequired[ "AccountCreateParamsIndividualRegisteredAddress" ] """ The individual's registered address. """ relationship: NotRequired["AccountCreateParamsIndividualRelationship"] """ Describes the person's relationship to the account. """ ssn_last_4: NotRequired[str] """ The last four digits of the individual's Social Security Number (U.S. only). """ verification: NotRequired["AccountCreateParamsIndividualVerification"] """ The individual's verification document information. """ class AccountCreateParamsIndividualAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountCreateParamsIndividualAddressKana(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountCreateParamsIndividualAddressKanji(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountCreateParamsIndividualDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class AccountCreateParamsIndividualRegisteredAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountCreateParamsIndividualRelationship(TypedDict): director: NotRequired[bool] """ Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. """ executive: NotRequired[bool] """ Whether the person has significant responsibility to control, manage, or direct the organization. """ owner: NotRequired[bool] """ Whether the person is an owner of the account's legal entity. """ percent_ownership: NotRequired["Literal['']|float"] """ The percent owned by the person of the account's legal entity. """ title: NotRequired[str] """ The person's title (e.g., CEO, Support Engineer). """ class AccountCreateParamsIndividualVerification(TypedDict): additional_document: NotRequired[ "AccountCreateParamsIndividualVerificationAdditionalDocument" ] """ A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. """ document: NotRequired["AccountCreateParamsIndividualVerificationDocument"] """ An identifying document, either a passport or local ID card. """ class AccountCreateParamsIndividualVerificationAdditionalDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ class AccountCreateParamsIndividualVerificationDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ class AccountCreateParamsSettings(TypedDict): bacs_debit_payments: NotRequired[ "AccountCreateParamsSettingsBacsDebitPayments" ] """ Settings specific to Bacs Direct Debit. """ branding: NotRequired["AccountCreateParamsSettingsBranding"] """ Settings used to apply the account's branding to email receipts, invoices, Checkout, and other products. """ card_issuing: NotRequired["AccountCreateParamsSettingsCardIssuing"] """ Settings specific to the account's use of the Card Issuing product. """ card_payments: NotRequired["AccountCreateParamsSettingsCardPayments"] """ Settings specific to card charging on the account. """ invoices: NotRequired["AccountCreateParamsSettingsInvoices"] """ Settings specific to the account's use of Invoices. """ payments: NotRequired["AccountCreateParamsSettingsPayments"] """ Settings that apply across payment methods for charging on the account. """ payouts: NotRequired["AccountCreateParamsSettingsPayouts"] """ Settings specific to the account's payouts. """ treasury: NotRequired["AccountCreateParamsSettingsTreasury"] """ Settings specific to the account's Treasury FinancialAccounts. """ class AccountCreateParamsSettingsBacsDebitPayments(TypedDict): display_name: NotRequired[str] """ The Bacs Direct Debit Display Name for this account. For payments made with Bacs Direct Debit, this name appears on the mandate as the statement descriptor. Mobile banking apps display it as the name of the business. To use custom branding, set the Bacs Direct Debit Display Name during or right after creation. Custom branding incurs an additional monthly fee for the platform. If you don't set the display name before requesting Bacs capability, it's automatically set as "Stripe" and the account is onboarded to Stripe branding, which is free. """ class AccountCreateParamsSettingsBranding(TypedDict): icon: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) An icon for the account. Must be square and at least 128px x 128px. """ logo: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A logo for the account that will be used in Checkout instead of the icon and without the account's name next to it if provided. Must be at least 128px x 128px. """ primary_color: NotRequired[str] """ A CSS hex color value representing the primary branding color for this account. """ secondary_color: NotRequired[str] """ A CSS hex color value representing the secondary branding color for this account. """ class AccountCreateParamsSettingsCardIssuing(TypedDict): tos_acceptance: NotRequired[ "AccountCreateParamsSettingsCardIssuingTosAcceptance" ] """ Details on the account's acceptance of the [Stripe Issuing Terms and Disclosures](https://docs.stripe.com/issuing/connect/tos_acceptance). """ class AccountCreateParamsSettingsCardIssuingTosAcceptance(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the account representative accepted the service agreement. """ ip: NotRequired[str] """ The IP address from which the account representative accepted the service agreement. """ user_agent: NotRequired["Literal['']|str"] """ The user agent of the browser from which the account representative accepted the service agreement. """ class AccountCreateParamsSettingsCardPayments(TypedDict): decline_on: NotRequired["AccountCreateParamsSettingsCardPaymentsDeclineOn"] """ Automatically declines certain charge types regardless of whether the card issuer accepted or declined the charge. """ statement_descriptor_prefix: NotRequired[str] """ The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge. `statement_descriptor_prefix` is useful for maximizing descriptor space for the dynamic portion. """ statement_descriptor_prefix_kana: NotRequired["Literal['']|str"] """ The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge. `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion. """ statement_descriptor_prefix_kanji: NotRequired["Literal['']|str"] """ The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge. `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion. """ class AccountCreateParamsSettingsCardPaymentsDeclineOn(TypedDict): avs_failure: NotRequired[bool] """ Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This setting only applies when a ZIP or postal code is provided and they fail bank verification. """ cvc_failure: NotRequired[bool] """ Whether Stripe automatically declines charges with an incorrect CVC. This setting only applies when a CVC is provided and it fails bank verification. """ class AccountCreateParamsSettingsInvoices(TypedDict): hosted_payment_method_save: NotRequired[ Literal["always", "never", "offer"] ] """ 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 AccountCreateParamsSettingsPayments(TypedDict): statement_descriptor: NotRequired[str] """ The default text that appears on statements for non-card charges outside of Japan. For card charges, if you don't set a `statement_descriptor_prefix`, this text is also used as the statement descriptor prefix. In that case, if concatenating the statement descriptor suffix causes the combined statement descriptor to exceed 22 characters, we truncate the `statement_descriptor` text to limit the full descriptor to 22 characters. For more information about statement descriptors and their requirements, see the [account settings documentation](https://docs.stripe.com/get-started/account/statement-descriptors). """ statement_descriptor_kana: NotRequired[str] """ The Kana variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). """ statement_descriptor_kanji: NotRequired[str] """ The Kanji variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). """ class AccountCreateParamsSettingsPayouts(TypedDict): debit_negative_balances: NotRequired[bool] """ A Boolean indicating whether Stripe should try to reclaim negative balances from an attached bank account. For details, see [Understanding Connect Account Balances](https://docs.stripe.com/connect/account-balances). """ schedule: NotRequired["AccountCreateParamsSettingsPayoutsSchedule"] """ Details on when funds from charges are available, and when they are paid out to an external account. For details, see our [Setting Bank and Debit Card Payouts](https://docs.stripe.com/connect/bank-transfers#payout-information) documentation. """ statement_descriptor: NotRequired[str] """ The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard. """ class AccountCreateParamsSettingsPayoutsSchedule(TypedDict): delay_days: NotRequired["Literal['minimum']|int"] """ The number of days charge funds are held before being paid out. May also be set to `minimum`, representing the lowest available value for the account country. Default is `minimum`. The `delay_days` parameter remains at the last configured value if `interval` is `manual`. [Learn more about controlling payout delay days](https://docs.stripe.com/connect/manage-payout-schedule). """ interval: NotRequired[Literal["daily", "manual", "monthly", "weekly"]] """ How frequently available funds are paid out. One of: `daily`, `manual`, `weekly`, or `monthly`. Default is `daily`. """ monthly_anchor: NotRequired[int] """ The day of the month when available funds are paid out, specified as a number between 1--31. Payouts nominally scheduled between the 29th and 31st of the month are instead sent on the last day of a shorter month. Required and applicable only if `interval` is `monthly`. """ monthly_payout_days: NotRequired[List[int]] """ The days of the month when available funds are paid out, specified as an array of numbers between 1--31. Payouts nominally scheduled between the 29th and 31st of the month are instead sent on the last day of a shorter month. Required and applicable only if `interval` is `monthly` and `monthly_anchor` is not set. """ weekly_anchor: NotRequired[ Literal[ "friday", "monday", "saturday", "sunday", "thursday", "tuesday", "wednesday", ] ] """ The day of the week when available funds are paid out, specified as `monday`, `tuesday`, etc. Required and applicable only if `interval` is `weekly`. """ weekly_payout_days: NotRequired[ List[Literal["friday", "monday", "thursday", "tuesday", "wednesday"]] ] """ The days of the week when available funds are paid out, specified as an array, e.g., [`monday`, `tuesday`]. Required and applicable only if `interval` is `weekly`. """ class AccountCreateParamsSettingsTreasury(TypedDict): tos_acceptance: NotRequired[ "AccountCreateParamsSettingsTreasuryTosAcceptance" ] """ Details on the account's acceptance of the Stripe Treasury Services Agreement. """ class AccountCreateParamsSettingsTreasuryTosAcceptance(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the account representative accepted the service agreement. """ ip: NotRequired[str] """ The IP address from which the account representative accepted the service agreement. """ user_agent: NotRequired["Literal['']|str"] """ The user agent of the browser from which the account representative accepted the service agreement. """ class AccountCreateParamsTosAcceptance(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the account representative accepted their service agreement. """ ip: NotRequired[str] """ The IP address from which the account representative accepted their service agreement. """ service_agreement: NotRequired[str] """ The user's service agreement type. """ user_agent: NotRequired[str] """ The user agent of the browser from which the account representative accepted their service agreement. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_create_person_params.py0000644000000000000000000003610715102753431021253 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class AccountCreatePersonParams(RequestOptions): additional_tos_acceptances: NotRequired[ "AccountCreatePersonParamsAdditionalTosAcceptances" ] """ Details on the legal guardian's or authorizer's acceptance of the required Stripe agreements. """ address: NotRequired["AccountCreatePersonParamsAddress"] """ The person's address. """ address_kana: NotRequired["AccountCreatePersonParamsAddressKana"] """ The Kana variation of the person's address (Japan only). """ address_kanji: NotRequired["AccountCreatePersonParamsAddressKanji"] """ The Kanji variation of the person's address (Japan only). """ dob: NotRequired["Literal['']|AccountCreatePersonParamsDob"] """ The person's date of birth. """ documents: NotRequired["AccountCreatePersonParamsDocuments"] """ Documents that may be submitted to satisfy various informational requests. """ email: NotRequired[str] """ The person's email address. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ first_name: NotRequired[str] """ The person's first name. """ first_name_kana: NotRequired[str] """ The Kana variation of the person's first name (Japan only). """ first_name_kanji: NotRequired[str] """ The Kanji variation of the person's first name (Japan only). """ full_name_aliases: NotRequired["Literal['']|List[str]"] """ A list of alternate names or aliases that the person is known by. """ gender: NotRequired[str] """ The person's gender (International regulations require either "male" or "female"). """ id_number: NotRequired[str] """ The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ id_number_secondary: NotRequired[str] """ The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ last_name: NotRequired[str] """ The person's last name. """ last_name_kana: NotRequired[str] """ The Kana variation of the person's last name (Japan only). """ last_name_kanji: NotRequired[str] """ The Kanji variation of the person's last name (Japan only). """ maiden_name: NotRequired[str] """ The person's maiden name. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ nationality: NotRequired[str] """ The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. """ person_token: NotRequired[str] """ A [person token](https://docs.stripe.com/connect/account-tokens), used to securely provide details to the person. """ phone: NotRequired[str] """ The person's phone number. """ political_exposure: NotRequired[Literal["existing", "none"]] """ Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. """ registered_address: NotRequired[ "AccountCreatePersonParamsRegisteredAddress" ] """ The person's registered address. """ relationship: NotRequired["AccountCreatePersonParamsRelationship"] """ The relationship that this person has with the account's legal entity. """ ssn_last_4: NotRequired[str] """ The last four digits of the person's Social Security number (U.S. only). """ us_cfpb_data: NotRequired["AccountCreatePersonParamsUsCfpbData"] """ Demographic data related to the person. """ verification: NotRequired["AccountCreatePersonParamsVerification"] """ The person's verification status. """ class AccountCreatePersonParamsAdditionalTosAcceptances(TypedDict): account: NotRequired[ "AccountCreatePersonParamsAdditionalTosAcceptancesAccount" ] """ Details on the legal guardian's acceptance of the main Stripe service agreement. """ class AccountCreatePersonParamsAdditionalTosAcceptancesAccount(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the account representative accepted the service agreement. """ ip: NotRequired[str] """ The IP address from which the account representative accepted the service agreement. """ user_agent: NotRequired["Literal['']|str"] """ The user agent of the browser from which the account representative accepted the service agreement. """ class AccountCreatePersonParamsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountCreatePersonParamsAddressKana(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountCreatePersonParamsAddressKanji(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountCreatePersonParamsDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class AccountCreatePersonParamsDocuments(TypedDict): company_authorization: NotRequired[ "AccountCreatePersonParamsDocumentsCompanyAuthorization" ] """ One or more documents that demonstrate proof that this person is authorized to represent the company. """ passport: NotRequired["AccountCreatePersonParamsDocumentsPassport"] """ One or more documents showing the person's passport page with photo and personal data. """ visa: NotRequired["AccountCreatePersonParamsDocumentsVisa"] """ One or more documents showing the person's visa required for living in the country where they are residing. """ class AccountCreatePersonParamsDocumentsCompanyAuthorization(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountCreatePersonParamsDocumentsPassport(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountCreatePersonParamsDocumentsVisa(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountCreatePersonParamsRegisteredAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountCreatePersonParamsRelationship(TypedDict): authorizer: NotRequired[bool] """ Whether the person is the authorizer of the account's representative. """ director: NotRequired[bool] """ Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. """ executive: NotRequired[bool] """ Whether the person has significant responsibility to control, manage, or direct the organization. """ legal_guardian: NotRequired[bool] """ Whether the person is the legal guardian of the account's representative. """ owner: NotRequired[bool] """ Whether the person is an owner of the account's legal entity. """ percent_ownership: NotRequired["Literal['']|float"] """ The percent owned by the person of the account's legal entity. """ representative: NotRequired[bool] """ Whether the person is authorized as the primary representative of the account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account. """ title: NotRequired[str] """ The person's title (e.g., CEO, Support Engineer). """ class AccountCreatePersonParamsUsCfpbData(TypedDict): ethnicity_details: NotRequired[ "AccountCreatePersonParamsUsCfpbDataEthnicityDetails" ] """ The persons ethnicity details """ race_details: NotRequired["AccountCreatePersonParamsUsCfpbDataRaceDetails"] """ The persons race details """ self_identified_gender: NotRequired[str] """ The persons self-identified gender """ class AccountCreatePersonParamsUsCfpbDataEthnicityDetails(TypedDict): ethnicity: NotRequired[ List[ Literal[ "cuban", "hispanic_or_latino", "mexican", "not_hispanic_or_latino", "other_hispanic_or_latino", "prefer_not_to_answer", "puerto_rican", ] ] ] """ The persons ethnicity """ ethnicity_other: NotRequired[str] """ Please specify your origin, when other is selected. """ class AccountCreatePersonParamsUsCfpbDataRaceDetails(TypedDict): race: NotRequired[ List[ Literal[ "african_american", "american_indian_or_alaska_native", "asian", "asian_indian", "black_or_african_american", "chinese", "ethiopian", "filipino", "guamanian_or_chamorro", "haitian", "jamaican", "japanese", "korean", "native_hawaiian", "native_hawaiian_or_other_pacific_islander", "nigerian", "other_asian", "other_black_or_african_american", "other_pacific_islander", "prefer_not_to_answer", "samoan", "somali", "vietnamese", "white", ] ] ] """ The persons race. """ race_other: NotRequired[str] """ Please specify your race, when other is selected. """ class AccountCreatePersonParamsVerification(TypedDict): additional_document: NotRequired[ "AccountCreatePersonParamsVerificationAdditionalDocument" ] """ A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. """ document: NotRequired["AccountCreatePersonParamsVerificationDocument"] """ An identifying document, either a passport or local ID card. """ class AccountCreatePersonParamsVerificationAdditionalDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ class AccountCreatePersonParamsVerificationDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_delete_external_account_params.py0000644000000000000000000000026715102753431023300 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class AccountDeleteExternalAccountParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_delete_params.py0000644000000000000000000000025015102753431017652 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class AccountDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_delete_person_params.py0000644000000000000000000000025615102753431021246 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class AccountDeletePersonParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_external_account_create_params.py0000644000000000000000000000671115102753431023301 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict class AccountExternalAccountCreateParams(TypedDict): default_for_currency: NotRequired[bool] """ When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ external_account: Union[ str, "AccountExternalAccountCreateParamsCard", "AccountExternalAccountCreateParamsBankAccount", "AccountExternalAccountCreateParamsCardToken", ] """ A token, like the ones returned by [Stripe.js](https://stripe.com/docs/js) or a dictionary containing a user's external account details (with the options shown below). Please refer to full [documentation](https://stripe.com/docs/api/external_accounts) instead. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ class AccountExternalAccountCreateParamsCard(TypedDict): object: Literal["card"] address_city: NotRequired[str] address_country: NotRequired[str] address_line1: NotRequired[str] address_line2: NotRequired[str] address_state: NotRequired[str] address_zip: NotRequired[str] currency: NotRequired[str] cvc: NotRequired[str] exp_month: int exp_year: int name: NotRequired[str] number: str metadata: NotRequired[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. """ class AccountExternalAccountCreateParamsBankAccount(TypedDict): object: Literal["bank_account"] account_holder_name: NotRequired[str] """ The name of the person or business that owns the bank account.This field is required when attaching the bank account to a `Customer` object. """ account_holder_type: NotRequired[Literal["company", "individual"]] """ The type of entity that holds the account. It can be `company` or `individual`. This field is required when attaching the bank account to a `Customer` object. """ account_number: str """ The account number for the bank account, in string form. Must be a checking account. """ country: str """ The country in which the bank account is located. """ currency: NotRequired[str] """ The currency the bank account is in. This must be a country/currency pairing that [Stripe supports.](docs/payouts) """ routing_number: NotRequired[str] """ The routing number, sort code, or other country-appropriate institution number for the bank account. For US bank accounts, this is required and should be the ACH routing number, not the wire routing number. If you are providing an IBAN for `account_number`, this field is not required. """ class AccountExternalAccountCreateParamsCardToken(TypedDict): object: Literal["card"] currency: NotRequired[str] token: str ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_external_account_delete_params.py0000644000000000000000000000024715102753431023276 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing_extensions import TypedDict class AccountExternalAccountDeleteParams(TypedDict): pass ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_external_account_list_params.py0000644000000000000000000000244515102753431023011 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class AccountExternalAccountListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ object: NotRequired[Literal["bank_account", "card"]] """ Filter external accounts according to a particular object type. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_external_account_retrieve_params.py0000644000000000000000000000046715102753431023665 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class AccountExternalAccountRetrieveParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_external_account_update_params.py0000644000000000000000000000632615102753431023322 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class AccountExternalAccountUpdateParams(TypedDict): account_holder_name: NotRequired[str] """ The name of the person or business that owns the bank account. """ account_holder_type: NotRequired[ "Literal['']|Literal['company', 'individual']" ] """ The type of entity that holds the account. This can be either `individual` or `company`. """ account_type: NotRequired[Literal["checking", "futsu", "savings", "toza"]] """ The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`. """ address_city: NotRequired[str] """ City/District/Suburb/Town/Village. """ address_country: NotRequired[str] """ Billing address country, if provided when creating card. """ address_line1: NotRequired[str] """ Address line 1 (Street address/PO Box/Company name). """ address_line2: NotRequired[str] """ Address line 2 (Apartment/Suite/Unit/Building). """ address_state: NotRequired[str] """ State/County/Province/Region. """ address_zip: NotRequired[str] """ ZIP or postal code. """ default_for_currency: NotRequired[bool] """ When set to true, this becomes the default external account for its currency. """ documents: NotRequired["AccountExternalAccountUpdateParamsDocuments"] """ Documents that may be submitted to satisfy various informational requests. """ exp_month: NotRequired[str] """ Two digit number representing the card's expiration month. """ exp_year: NotRequired[str] """ Four digit number representing the card's expiration year. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired[str] """ Cardholder name. """ class AccountExternalAccountUpdateParamsDocuments(TypedDict): bank_account_ownership_verification: NotRequired[ "AccountExternalAccountUpdateParamsDocumentsBankAccountOwnershipVerification" ] """ One or more documents that support the [Bank account ownership verification](https://support.stripe.com/questions/bank-account-ownership-verification) requirement. Must be a document associated with the bank account that displays the last 4 digits of the account number, either a statement or a check. """ class AccountExternalAccountUpdateParamsDocumentsBankAccountOwnershipVerification( TypedDict, ): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_link_create_params.py0000644000000000000000000000542615102753431020702 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class AccountLinkCreateParams(RequestOptions): account: str """ The identifier of the account to create an account link for. """ collect: NotRequired[Literal["currently_due", "eventually_due"]] """ The collect parameter is deprecated. Use `collection_options` instead. """ collection_options: NotRequired["AccountLinkCreateParamsCollectionOptions"] """ Specifies the requirements that Stripe collects from connected accounts in the Connect Onboarding flow. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ refresh_url: NotRequired[str] """ The URL the user will be redirected to if the account link is expired, has been previously-visited, or is otherwise invalid. The URL you specify should attempt to generate a new account link with the same parameters used to create the original account link, then redirect the user to the new account link's URL so they can continue with Connect Onboarding. If a new account link cannot be generated or the redirect fails you should display a useful error to the user. """ return_url: NotRequired[str] """ The URL that the user will be redirected to upon leaving or completing the linked flow. """ type: Literal["account_onboarding", "account_update"] """ The type of account link the user is requesting. You can create Account Links of type `account_update` only for connected accounts where your platform is responsible for collecting requirements, including Custom accounts. You can't create them for accounts that have access to a Stripe-hosted Dashboard. If you use [Connect embedded components](https://docs.stripe.com/connect/get-started-connect-embedded-components), you can include components that allow your connected accounts to update their own information. For an account without Stripe-hosted Dashboard access where Stripe is liable for negative balances, you must use embedded components. """ class AccountLinkCreateParamsCollectionOptions(TypedDict): fields: NotRequired[Literal["currently_due", "eventually_due"]] """ Specifies whether the platform collects only currently_due requirements (`currently_due`) or both currently_due and eventually_due requirements (`eventually_due`). If you don't specify `collection_options`, the default value is `currently_due`. """ future_requirements: NotRequired[Literal["include", "omit"]] """ Specifies whether the platform collects future_requirements in addition to requirements in Connect Onboarding. The default value is `omit`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_list_capabilities_params.py0000644000000000000000000000053515102753431022102 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AccountListCapabilitiesParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_list_external_accounts_params.py0000644000000000000000000000252315102753431023171 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class AccountListExternalAccountsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ object: NotRequired[Literal["bank_account", "card"]] """ Filter external accounts according to a particular object type. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_list_params.py0000644000000000000000000000332515102753431017371 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class AccountListParams(RequestOptions): created: NotRequired["AccountListParamsCreated|int"] """ Only return connected accounts that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class AccountListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_list_persons_params.py0000644000000000000000000000465315102753431021147 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class AccountListPersonsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ relationship: NotRequired["AccountListPersonsParamsRelationship"] """ Filters on the list of people returned based on the person's relationship to the account's company. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class AccountListPersonsParamsRelationship(TypedDict): authorizer: NotRequired[bool] """ A filter on the list of people returned based on whether these people are authorizers of the account's representative. """ director: NotRequired[bool] """ A filter on the list of people returned based on whether these people are directors of the account's company. """ executive: NotRequired[bool] """ A filter on the list of people returned based on whether these people are executives of the account's company. """ legal_guardian: NotRequired[bool] """ A filter on the list of people returned based on whether these people are legal guardians of the account's representative. """ owner: NotRequired[bool] """ A filter on the list of people returned based on whether these people are owners of the account's company. """ representative: NotRequired[bool] """ A filter on the list of people returned based on whether these people are the representative of the account's company. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_login_link_create_params.py0000644000000000000000000000045715102753431022071 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class AccountLoginLinkCreateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_modify_capability_params.py0000644000000000000000000000152115102753431022102 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AccountModifyCapabilityParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ requested: NotRequired[bool] """ To request a new capability for an account, pass true. There can be a delay before the requested capability becomes active. If the capability has any activation requirements, the response includes them in the `requirements` arrays. If a capability isn't permanent, you can remove it from the account by passing false. Some capabilities are permanent after they've been requested. Attempting to remove a permanent capability returns an error. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.344062 stripe-13.2.0/stripe/params/_account_modify_external_account_params.py0000644000000000000000000000641615102753431023327 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class AccountModifyExternalAccountParams(RequestOptions): account_holder_name: NotRequired[str] """ The name of the person or business that owns the bank account. """ account_holder_type: NotRequired[ "Literal['']|Literal['company', 'individual']" ] """ The type of entity that holds the account. This can be either `individual` or `company`. """ account_type: NotRequired[Literal["checking", "futsu", "savings", "toza"]] """ The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`. """ address_city: NotRequired[str] """ City/District/Suburb/Town/Village. """ address_country: NotRequired[str] """ Billing address country, if provided when creating card. """ address_line1: NotRequired[str] """ Address line 1 (Street address/PO Box/Company name). """ address_line2: NotRequired[str] """ Address line 2 (Apartment/Suite/Unit/Building). """ address_state: NotRequired[str] """ State/County/Province/Region. """ address_zip: NotRequired[str] """ ZIP or postal code. """ default_for_currency: NotRequired[bool] """ When set to true, this becomes the default external account for its currency. """ documents: NotRequired["AccountModifyExternalAccountParamsDocuments"] """ Documents that may be submitted to satisfy various informational requests. """ exp_month: NotRequired[str] """ Two digit number representing the card's expiration month. """ exp_year: NotRequired[str] """ Four digit number representing the card's expiration year. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired[str] """ Cardholder name. """ class AccountModifyExternalAccountParamsDocuments(TypedDict): bank_account_ownership_verification: NotRequired[ "AccountModifyExternalAccountParamsDocumentsBankAccountOwnershipVerification" ] """ One or more documents that support the [Bank account ownership verification](https://support.stripe.com/questions/bank-account-ownership-verification) requirement. Must be a document associated with the bank account that displays the last 4 digits of the account number, either a statement or a check. """ class AccountModifyExternalAccountParamsDocumentsBankAccountOwnershipVerification( TypedDict, ): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_account_modify_person_params.py0000644000000000000000000003610715102753431021277 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class AccountModifyPersonParams(RequestOptions): additional_tos_acceptances: NotRequired[ "AccountModifyPersonParamsAdditionalTosAcceptances" ] """ Details on the legal guardian's or authorizer's acceptance of the required Stripe agreements. """ address: NotRequired["AccountModifyPersonParamsAddress"] """ The person's address. """ address_kana: NotRequired["AccountModifyPersonParamsAddressKana"] """ The Kana variation of the person's address (Japan only). """ address_kanji: NotRequired["AccountModifyPersonParamsAddressKanji"] """ The Kanji variation of the person's address (Japan only). """ dob: NotRequired["Literal['']|AccountModifyPersonParamsDob"] """ The person's date of birth. """ documents: NotRequired["AccountModifyPersonParamsDocuments"] """ Documents that may be submitted to satisfy various informational requests. """ email: NotRequired[str] """ The person's email address. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ first_name: NotRequired[str] """ The person's first name. """ first_name_kana: NotRequired[str] """ The Kana variation of the person's first name (Japan only). """ first_name_kanji: NotRequired[str] """ The Kanji variation of the person's first name (Japan only). """ full_name_aliases: NotRequired["Literal['']|List[str]"] """ A list of alternate names or aliases that the person is known by. """ gender: NotRequired[str] """ The person's gender (International regulations require either "male" or "female"). """ id_number: NotRequired[str] """ The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ id_number_secondary: NotRequired[str] """ The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ last_name: NotRequired[str] """ The person's last name. """ last_name_kana: NotRequired[str] """ The Kana variation of the person's last name (Japan only). """ last_name_kanji: NotRequired[str] """ The Kanji variation of the person's last name (Japan only). """ maiden_name: NotRequired[str] """ The person's maiden name. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ nationality: NotRequired[str] """ The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. """ person_token: NotRequired[str] """ A [person token](https://docs.stripe.com/connect/account-tokens), used to securely provide details to the person. """ phone: NotRequired[str] """ The person's phone number. """ political_exposure: NotRequired[Literal["existing", "none"]] """ Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. """ registered_address: NotRequired[ "AccountModifyPersonParamsRegisteredAddress" ] """ The person's registered address. """ relationship: NotRequired["AccountModifyPersonParamsRelationship"] """ The relationship that this person has with the account's legal entity. """ ssn_last_4: NotRequired[str] """ The last four digits of the person's Social Security number (U.S. only). """ us_cfpb_data: NotRequired["AccountModifyPersonParamsUsCfpbData"] """ Demographic data related to the person. """ verification: NotRequired["AccountModifyPersonParamsVerification"] """ The person's verification status. """ class AccountModifyPersonParamsAdditionalTosAcceptances(TypedDict): account: NotRequired[ "AccountModifyPersonParamsAdditionalTosAcceptancesAccount" ] """ Details on the legal guardian's acceptance of the main Stripe service agreement. """ class AccountModifyPersonParamsAdditionalTosAcceptancesAccount(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the account representative accepted the service agreement. """ ip: NotRequired[str] """ The IP address from which the account representative accepted the service agreement. """ user_agent: NotRequired["Literal['']|str"] """ The user agent of the browser from which the account representative accepted the service agreement. """ class AccountModifyPersonParamsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountModifyPersonParamsAddressKana(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountModifyPersonParamsAddressKanji(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountModifyPersonParamsDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class AccountModifyPersonParamsDocuments(TypedDict): company_authorization: NotRequired[ "AccountModifyPersonParamsDocumentsCompanyAuthorization" ] """ One or more documents that demonstrate proof that this person is authorized to represent the company. """ passport: NotRequired["AccountModifyPersonParamsDocumentsPassport"] """ One or more documents showing the person's passport page with photo and personal data. """ visa: NotRequired["AccountModifyPersonParamsDocumentsVisa"] """ One or more documents showing the person's visa required for living in the country where they are residing. """ class AccountModifyPersonParamsDocumentsCompanyAuthorization(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountModifyPersonParamsDocumentsPassport(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountModifyPersonParamsDocumentsVisa(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountModifyPersonParamsRegisteredAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountModifyPersonParamsRelationship(TypedDict): authorizer: NotRequired[bool] """ Whether the person is the authorizer of the account's representative. """ director: NotRequired[bool] """ Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. """ executive: NotRequired[bool] """ Whether the person has significant responsibility to control, manage, or direct the organization. """ legal_guardian: NotRequired[bool] """ Whether the person is the legal guardian of the account's representative. """ owner: NotRequired[bool] """ Whether the person is an owner of the account's legal entity. """ percent_ownership: NotRequired["Literal['']|float"] """ The percent owned by the person of the account's legal entity. """ representative: NotRequired[bool] """ Whether the person is authorized as the primary representative of the account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account. """ title: NotRequired[str] """ The person's title (e.g., CEO, Support Engineer). """ class AccountModifyPersonParamsUsCfpbData(TypedDict): ethnicity_details: NotRequired[ "AccountModifyPersonParamsUsCfpbDataEthnicityDetails" ] """ The persons ethnicity details """ race_details: NotRequired["AccountModifyPersonParamsUsCfpbDataRaceDetails"] """ The persons race details """ self_identified_gender: NotRequired[str] """ The persons self-identified gender """ class AccountModifyPersonParamsUsCfpbDataEthnicityDetails(TypedDict): ethnicity: NotRequired[ List[ Literal[ "cuban", "hispanic_or_latino", "mexican", "not_hispanic_or_latino", "other_hispanic_or_latino", "prefer_not_to_answer", "puerto_rican", ] ] ] """ The persons ethnicity """ ethnicity_other: NotRequired[str] """ Please specify your origin, when other is selected. """ class AccountModifyPersonParamsUsCfpbDataRaceDetails(TypedDict): race: NotRequired[ List[ Literal[ "african_american", "american_indian_or_alaska_native", "asian", "asian_indian", "black_or_african_american", "chinese", "ethiopian", "filipino", "guamanian_or_chamorro", "haitian", "jamaican", "japanese", "korean", "native_hawaiian", "native_hawaiian_or_other_pacific_islander", "nigerian", "other_asian", "other_black_or_african_american", "other_pacific_islander", "prefer_not_to_answer", "samoan", "somali", "vietnamese", "white", ] ] ] """ The persons race. """ race_other: NotRequired[str] """ Please specify your race, when other is selected. """ class AccountModifyPersonParamsVerification(TypedDict): additional_document: NotRequired[ "AccountModifyPersonParamsVerificationAdditionalDocument" ] """ A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. """ document: NotRequired["AccountModifyPersonParamsVerificationDocument"] """ An identifying document, either a passport or local ID card. """ class AccountModifyPersonParamsVerificationAdditionalDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ class AccountModifyPersonParamsVerificationDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_account_person_create_params.py0000644000000000000000000003601715102753431021253 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class AccountPersonCreateParams(TypedDict): additional_tos_acceptances: NotRequired[ "AccountPersonCreateParamsAdditionalTosAcceptances" ] """ Details on the legal guardian's or authorizer's acceptance of the required Stripe agreements. """ address: NotRequired["AccountPersonCreateParamsAddress"] """ The person's address. """ address_kana: NotRequired["AccountPersonCreateParamsAddressKana"] """ The Kana variation of the person's address (Japan only). """ address_kanji: NotRequired["AccountPersonCreateParamsAddressKanji"] """ The Kanji variation of the person's address (Japan only). """ dob: NotRequired["Literal['']|AccountPersonCreateParamsDob"] """ The person's date of birth. """ documents: NotRequired["AccountPersonCreateParamsDocuments"] """ Documents that may be submitted to satisfy various informational requests. """ email: NotRequired[str] """ The person's email address. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ first_name: NotRequired[str] """ The person's first name. """ first_name_kana: NotRequired[str] """ The Kana variation of the person's first name (Japan only). """ first_name_kanji: NotRequired[str] """ The Kanji variation of the person's first name (Japan only). """ full_name_aliases: NotRequired["Literal['']|List[str]"] """ A list of alternate names or aliases that the person is known by. """ gender: NotRequired[str] """ The person's gender (International regulations require either "male" or "female"). """ id_number: NotRequired[str] """ The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ id_number_secondary: NotRequired[str] """ The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ last_name: NotRequired[str] """ The person's last name. """ last_name_kana: NotRequired[str] """ The Kana variation of the person's last name (Japan only). """ last_name_kanji: NotRequired[str] """ The Kanji variation of the person's last name (Japan only). """ maiden_name: NotRequired[str] """ The person's maiden name. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ nationality: NotRequired[str] """ The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. """ person_token: NotRequired[str] """ A [person token](https://docs.stripe.com/connect/account-tokens), used to securely provide details to the person. """ phone: NotRequired[str] """ The person's phone number. """ political_exposure: NotRequired[Literal["existing", "none"]] """ Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. """ registered_address: NotRequired[ "AccountPersonCreateParamsRegisteredAddress" ] """ The person's registered address. """ relationship: NotRequired["AccountPersonCreateParamsRelationship"] """ The relationship that this person has with the account's legal entity. """ ssn_last_4: NotRequired[str] """ The last four digits of the person's Social Security number (U.S. only). """ us_cfpb_data: NotRequired["AccountPersonCreateParamsUsCfpbData"] """ Demographic data related to the person. """ verification: NotRequired["AccountPersonCreateParamsVerification"] """ The person's verification status. """ class AccountPersonCreateParamsAdditionalTosAcceptances(TypedDict): account: NotRequired[ "AccountPersonCreateParamsAdditionalTosAcceptancesAccount" ] """ Details on the legal guardian's acceptance of the main Stripe service agreement. """ class AccountPersonCreateParamsAdditionalTosAcceptancesAccount(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the account representative accepted the service agreement. """ ip: NotRequired[str] """ The IP address from which the account representative accepted the service agreement. """ user_agent: NotRequired["Literal['']|str"] """ The user agent of the browser from which the account representative accepted the service agreement. """ class AccountPersonCreateParamsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountPersonCreateParamsAddressKana(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountPersonCreateParamsAddressKanji(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountPersonCreateParamsDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class AccountPersonCreateParamsDocuments(TypedDict): company_authorization: NotRequired[ "AccountPersonCreateParamsDocumentsCompanyAuthorization" ] """ One or more documents that demonstrate proof that this person is authorized to represent the company. """ passport: NotRequired["AccountPersonCreateParamsDocumentsPassport"] """ One or more documents showing the person's passport page with photo and personal data. """ visa: NotRequired["AccountPersonCreateParamsDocumentsVisa"] """ One or more documents showing the person's visa required for living in the country where they are residing. """ class AccountPersonCreateParamsDocumentsCompanyAuthorization(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountPersonCreateParamsDocumentsPassport(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountPersonCreateParamsDocumentsVisa(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountPersonCreateParamsRegisteredAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountPersonCreateParamsRelationship(TypedDict): authorizer: NotRequired[bool] """ Whether the person is the authorizer of the account's representative. """ director: NotRequired[bool] """ Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. """ executive: NotRequired[bool] """ Whether the person has significant responsibility to control, manage, or direct the organization. """ legal_guardian: NotRequired[bool] """ Whether the person is the legal guardian of the account's representative. """ owner: NotRequired[bool] """ Whether the person is an owner of the account's legal entity. """ percent_ownership: NotRequired["Literal['']|float"] """ The percent owned by the person of the account's legal entity. """ representative: NotRequired[bool] """ Whether the person is authorized as the primary representative of the account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account. """ title: NotRequired[str] """ The person's title (e.g., CEO, Support Engineer). """ class AccountPersonCreateParamsUsCfpbData(TypedDict): ethnicity_details: NotRequired[ "AccountPersonCreateParamsUsCfpbDataEthnicityDetails" ] """ The persons ethnicity details """ race_details: NotRequired["AccountPersonCreateParamsUsCfpbDataRaceDetails"] """ The persons race details """ self_identified_gender: NotRequired[str] """ The persons self-identified gender """ class AccountPersonCreateParamsUsCfpbDataEthnicityDetails(TypedDict): ethnicity: NotRequired[ List[ Literal[ "cuban", "hispanic_or_latino", "mexican", "not_hispanic_or_latino", "other_hispanic_or_latino", "prefer_not_to_answer", "puerto_rican", ] ] ] """ The persons ethnicity """ ethnicity_other: NotRequired[str] """ Please specify your origin, when other is selected. """ class AccountPersonCreateParamsUsCfpbDataRaceDetails(TypedDict): race: NotRequired[ List[ Literal[ "african_american", "american_indian_or_alaska_native", "asian", "asian_indian", "black_or_african_american", "chinese", "ethiopian", "filipino", "guamanian_or_chamorro", "haitian", "jamaican", "japanese", "korean", "native_hawaiian", "native_hawaiian_or_other_pacific_islander", "nigerian", "other_asian", "other_black_or_african_american", "other_pacific_islander", "prefer_not_to_answer", "samoan", "somali", "vietnamese", "white", ] ] ] """ The persons race. """ race_other: NotRequired[str] """ Please specify your race, when other is selected. """ class AccountPersonCreateParamsVerification(TypedDict): additional_document: NotRequired[ "AccountPersonCreateParamsVerificationAdditionalDocument" ] """ A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. """ document: NotRequired["AccountPersonCreateParamsVerificationDocument"] """ An identifying document, either a passport or local ID card. """ class AccountPersonCreateParamsVerificationAdditionalDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ class AccountPersonCreateParamsVerificationDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_account_person_delete_params.py0000644000000000000000000000023615102753431021244 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing_extensions import TypedDict class AccountPersonDeleteParams(TypedDict): pass ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_account_person_list_params.py0000644000000000000000000000456015102753431020761 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class AccountPersonListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ relationship: NotRequired["AccountPersonListParamsRelationship"] """ Filters on the list of people returned based on the person's relationship to the account's company. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class AccountPersonListParamsRelationship(TypedDict): authorizer: NotRequired[bool] """ A filter on the list of people returned based on whether these people are authorizers of the account's representative. """ director: NotRequired[bool] """ A filter on the list of people returned based on whether these people are directors of the account's company. """ executive: NotRequired[bool] """ A filter on the list of people returned based on whether these people are executives of the account's company. """ legal_guardian: NotRequired[bool] """ A filter on the list of people returned based on whether these people are legal guardians of the account's representative. """ owner: NotRequired[bool] """ A filter on the list of people returned based on whether these people are owners of the account's company. """ representative: NotRequired[bool] """ A filter on the list of people returned based on whether these people are the representative of the account's company. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_account_person_retrieve_params.py0000644000000000000000000000045615102753431021633 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class AccountPersonRetrieveParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_account_person_update_params.py0000644000000000000000000003601715102753431021272 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class AccountPersonUpdateParams(TypedDict): additional_tos_acceptances: NotRequired[ "AccountPersonUpdateParamsAdditionalTosAcceptances" ] """ Details on the legal guardian's or authorizer's acceptance of the required Stripe agreements. """ address: NotRequired["AccountPersonUpdateParamsAddress"] """ The person's address. """ address_kana: NotRequired["AccountPersonUpdateParamsAddressKana"] """ The Kana variation of the person's address (Japan only). """ address_kanji: NotRequired["AccountPersonUpdateParamsAddressKanji"] """ The Kanji variation of the person's address (Japan only). """ dob: NotRequired["Literal['']|AccountPersonUpdateParamsDob"] """ The person's date of birth. """ documents: NotRequired["AccountPersonUpdateParamsDocuments"] """ Documents that may be submitted to satisfy various informational requests. """ email: NotRequired[str] """ The person's email address. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ first_name: NotRequired[str] """ The person's first name. """ first_name_kana: NotRequired[str] """ The Kana variation of the person's first name (Japan only). """ first_name_kanji: NotRequired[str] """ The Kanji variation of the person's first name (Japan only). """ full_name_aliases: NotRequired["Literal['']|List[str]"] """ A list of alternate names or aliases that the person is known by. """ gender: NotRequired[str] """ The person's gender (International regulations require either "male" or "female"). """ id_number: NotRequired[str] """ The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ id_number_secondary: NotRequired[str] """ The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ last_name: NotRequired[str] """ The person's last name. """ last_name_kana: NotRequired[str] """ The Kana variation of the person's last name (Japan only). """ last_name_kanji: NotRequired[str] """ The Kanji variation of the person's last name (Japan only). """ maiden_name: NotRequired[str] """ The person's maiden name. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ nationality: NotRequired[str] """ The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. """ person_token: NotRequired[str] """ A [person token](https://docs.stripe.com/connect/account-tokens), used to securely provide details to the person. """ phone: NotRequired[str] """ The person's phone number. """ political_exposure: NotRequired[Literal["existing", "none"]] """ Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. """ registered_address: NotRequired[ "AccountPersonUpdateParamsRegisteredAddress" ] """ The person's registered address. """ relationship: NotRequired["AccountPersonUpdateParamsRelationship"] """ The relationship that this person has with the account's legal entity. """ ssn_last_4: NotRequired[str] """ The last four digits of the person's Social Security number (U.S. only). """ us_cfpb_data: NotRequired["AccountPersonUpdateParamsUsCfpbData"] """ Demographic data related to the person. """ verification: NotRequired["AccountPersonUpdateParamsVerification"] """ The person's verification status. """ class AccountPersonUpdateParamsAdditionalTosAcceptances(TypedDict): account: NotRequired[ "AccountPersonUpdateParamsAdditionalTosAcceptancesAccount" ] """ Details on the legal guardian's acceptance of the main Stripe service agreement. """ class AccountPersonUpdateParamsAdditionalTosAcceptancesAccount(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the account representative accepted the service agreement. """ ip: NotRequired[str] """ The IP address from which the account representative accepted the service agreement. """ user_agent: NotRequired["Literal['']|str"] """ The user agent of the browser from which the account representative accepted the service agreement. """ class AccountPersonUpdateParamsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountPersonUpdateParamsAddressKana(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountPersonUpdateParamsAddressKanji(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountPersonUpdateParamsDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class AccountPersonUpdateParamsDocuments(TypedDict): company_authorization: NotRequired[ "AccountPersonUpdateParamsDocumentsCompanyAuthorization" ] """ One or more documents that demonstrate proof that this person is authorized to represent the company. """ passport: NotRequired["AccountPersonUpdateParamsDocumentsPassport"] """ One or more documents showing the person's passport page with photo and personal data. """ visa: NotRequired["AccountPersonUpdateParamsDocumentsVisa"] """ One or more documents showing the person's visa required for living in the country where they are residing. """ class AccountPersonUpdateParamsDocumentsCompanyAuthorization(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountPersonUpdateParamsDocumentsPassport(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountPersonUpdateParamsDocumentsVisa(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountPersonUpdateParamsRegisteredAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountPersonUpdateParamsRelationship(TypedDict): authorizer: NotRequired[bool] """ Whether the person is the authorizer of the account's representative. """ director: NotRequired[bool] """ Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. """ executive: NotRequired[bool] """ Whether the person has significant responsibility to control, manage, or direct the organization. """ legal_guardian: NotRequired[bool] """ Whether the person is the legal guardian of the account's representative. """ owner: NotRequired[bool] """ Whether the person is an owner of the account's legal entity. """ percent_ownership: NotRequired["Literal['']|float"] """ The percent owned by the person of the account's legal entity. """ representative: NotRequired[bool] """ Whether the person is authorized as the primary representative of the account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account. """ title: NotRequired[str] """ The person's title (e.g., CEO, Support Engineer). """ class AccountPersonUpdateParamsUsCfpbData(TypedDict): ethnicity_details: NotRequired[ "AccountPersonUpdateParamsUsCfpbDataEthnicityDetails" ] """ The persons ethnicity details """ race_details: NotRequired["AccountPersonUpdateParamsUsCfpbDataRaceDetails"] """ The persons race details """ self_identified_gender: NotRequired[str] """ The persons self-identified gender """ class AccountPersonUpdateParamsUsCfpbDataEthnicityDetails(TypedDict): ethnicity: NotRequired[ List[ Literal[ "cuban", "hispanic_or_latino", "mexican", "not_hispanic_or_latino", "other_hispanic_or_latino", "prefer_not_to_answer", "puerto_rican", ] ] ] """ The persons ethnicity """ ethnicity_other: NotRequired[str] """ Please specify your origin, when other is selected. """ class AccountPersonUpdateParamsUsCfpbDataRaceDetails(TypedDict): race: NotRequired[ List[ Literal[ "african_american", "american_indian_or_alaska_native", "asian", "asian_indian", "black_or_african_american", "chinese", "ethiopian", "filipino", "guamanian_or_chamorro", "haitian", "jamaican", "japanese", "korean", "native_hawaiian", "native_hawaiian_or_other_pacific_islander", "nigerian", "other_asian", "other_black_or_african_american", "other_pacific_islander", "prefer_not_to_answer", "samoan", "somali", "vietnamese", "white", ] ] ] """ The persons race. """ race_other: NotRequired[str] """ Please specify your race, when other is selected. """ class AccountPersonUpdateParamsVerification(TypedDict): additional_document: NotRequired[ "AccountPersonUpdateParamsVerificationAdditionalDocument" ] """ A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. """ document: NotRequired["AccountPersonUpdateParamsVerificationDocument"] """ An identifying document, either a passport or local ID card. """ class AccountPersonUpdateParamsVerificationAdditionalDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ class AccountPersonUpdateParamsVerificationDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_account_persons_params.py0000644000000000000000000000463715102753431020116 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class AccountPersonsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ relationship: NotRequired["AccountPersonsParamsRelationship"] """ Filters on the list of people returned based on the person's relationship to the account's company. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class AccountPersonsParamsRelationship(TypedDict): authorizer: NotRequired[bool] """ A filter on the list of people returned based on whether these people are authorizers of the account's representative. """ director: NotRequired[bool] """ A filter on the list of people returned based on whether these people are directors of the account's company. """ executive: NotRequired[bool] """ A filter on the list of people returned based on whether these people are executives of the account's company. """ legal_guardian: NotRequired[bool] """ A filter on the list of people returned based on whether these people are legal guardians of the account's representative. """ owner: NotRequired[bool] """ A filter on the list of people returned based on whether these people are owners of the account's company. """ representative: NotRequired[bool] """ A filter on the list of people returned based on whether these people are the representative of the account's company. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_account_reject_params.py0000644000000000000000000000071515102753431017672 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AccountRejectParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ reason: str """ The reason for rejecting the account. Can be `fraud`, `terms_of_service`, or `other`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_account_retrieve_capability_params.py0000644000000000000000000000053715102753431022446 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AccountRetrieveCapabilityParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_account_retrieve_current_params.py0000644000000000000000000000045715102753431022010 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class AccountRetrieveCurrentParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_account_retrieve_external_account_params.py0000644000000000000000000000054415102753431023661 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AccountRetrieveExternalAccountParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_account_retrieve_params.py0000644000000000000000000000045015102753431020237 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class AccountRetrieveParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_account_retrieve_person_params.py0000644000000000000000000000053315102753431021627 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AccountRetrievePersonParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_account_session_create_params.py0000644000000000000000000006045715102753431021435 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class AccountSessionCreateParams(RequestOptions): account: str """ The identifier of the account to create an Account Session for. """ components: "AccountSessionCreateParamsComponents" """ Each key of the dictionary represents an embedded component, and each embedded component maps to its configuration (e.g. whether it has been enabled or not). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ class AccountSessionCreateParamsComponents(TypedDict): account_management: NotRequired[ "AccountSessionCreateParamsComponentsAccountManagement" ] """ Configuration for the [account management](https://docs.stripe.com/connect/supported-embedded-components/account-management/) embedded component. """ account_onboarding: NotRequired[ "AccountSessionCreateParamsComponentsAccountOnboarding" ] """ Configuration for the [account onboarding](https://docs.stripe.com/connect/supported-embedded-components/account-onboarding/) embedded component. """ balances: NotRequired["AccountSessionCreateParamsComponentsBalances"] """ Configuration for the [balances](https://docs.stripe.com/connect/supported-embedded-components/balances/) embedded component. """ disputes_list: NotRequired[ "AccountSessionCreateParamsComponentsDisputesList" ] """ Configuration for the [disputes list](https://docs.stripe.com/connect/supported-embedded-components/disputes-list/) embedded component. """ documents: NotRequired["AccountSessionCreateParamsComponentsDocuments"] """ Configuration for the [documents](https://docs.stripe.com/connect/supported-embedded-components/documents/) embedded component. """ financial_account: NotRequired[ "AccountSessionCreateParamsComponentsFinancialAccount" ] """ Configuration for the [financial account](https://docs.stripe.com/connect/supported-embedded-components/financial-account/) embedded component. """ financial_account_transactions: NotRequired[ "AccountSessionCreateParamsComponentsFinancialAccountTransactions" ] """ Configuration for the [financial account transactions](https://docs.stripe.com/connect/supported-embedded-components/financial-account-transactions/) embedded component. """ instant_payouts_promotion: NotRequired[ "AccountSessionCreateParamsComponentsInstantPayoutsPromotion" ] """ Configuration for the [instant payouts promotion](https://docs.stripe.com/connect/supported-embedded-components/instant-payouts-promotion/) embedded component. """ issuing_card: NotRequired[ "AccountSessionCreateParamsComponentsIssuingCard" ] """ Configuration for the [issuing card](https://docs.stripe.com/connect/supported-embedded-components/issuing-card/) embedded component. """ issuing_cards_list: NotRequired[ "AccountSessionCreateParamsComponentsIssuingCardsList" ] """ Configuration for the [issuing cards list](https://docs.stripe.com/connect/supported-embedded-components/issuing-cards-list/) embedded component. """ notification_banner: NotRequired[ "AccountSessionCreateParamsComponentsNotificationBanner" ] """ Configuration for the [notification banner](https://docs.stripe.com/connect/supported-embedded-components/notification-banner/) embedded component. """ payment_details: NotRequired[ "AccountSessionCreateParamsComponentsPaymentDetails" ] """ Configuration for the [payment details](https://docs.stripe.com/connect/supported-embedded-components/payment-details/) embedded component. """ payment_disputes: NotRequired[ "AccountSessionCreateParamsComponentsPaymentDisputes" ] """ Configuration for the [payment disputes](https://docs.stripe.com/connect/supported-embedded-components/payment-disputes/) embedded component. """ payments: NotRequired["AccountSessionCreateParamsComponentsPayments"] """ Configuration for the [payments](https://docs.stripe.com/connect/supported-embedded-components/payments/) embedded component. """ payout_details: NotRequired[ "AccountSessionCreateParamsComponentsPayoutDetails" ] """ Configuration for the [payout details](https://docs.stripe.com/connect/supported-embedded-components/payout-details/) embedded component. """ payouts: NotRequired["AccountSessionCreateParamsComponentsPayouts"] """ Configuration for the [payouts](https://docs.stripe.com/connect/supported-embedded-components/payouts/) embedded component. """ payouts_list: NotRequired[ "AccountSessionCreateParamsComponentsPayoutsList" ] """ Configuration for the [payouts list](https://docs.stripe.com/connect/supported-embedded-components/payouts-list/) embedded component. """ tax_registrations: NotRequired[ "AccountSessionCreateParamsComponentsTaxRegistrations" ] """ Configuration for the [tax registrations](https://docs.stripe.com/connect/supported-embedded-components/tax-registrations/) embedded component. """ tax_settings: NotRequired[ "AccountSessionCreateParamsComponentsTaxSettings" ] """ Configuration for the [tax settings](https://docs.stripe.com/connect/supported-embedded-components/tax-settings/) embedded component. """ class AccountSessionCreateParamsComponentsAccountManagement(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsAccountManagementFeatures" ] """ The list of features enabled in the embedded component. """ class AccountSessionCreateParamsComponentsAccountManagementFeatures(TypedDict): disable_stripe_user_authentication: NotRequired[bool] """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ external_account_collection: NotRequired[bool] """ Whether external account collection is enabled. This feature can only be `false` for accounts where you're responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`. """ class AccountSessionCreateParamsComponentsAccountOnboarding(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsAccountOnboardingFeatures" ] """ The list of features enabled in the embedded component. """ class AccountSessionCreateParamsComponentsAccountOnboardingFeatures(TypedDict): disable_stripe_user_authentication: NotRequired[bool] """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ external_account_collection: NotRequired[bool] """ Whether external account collection is enabled. This feature can only be `false` for accounts where you're responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`. """ class AccountSessionCreateParamsComponentsBalances(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsBalancesFeatures" ] """ The list of features enabled in the embedded component. """ class AccountSessionCreateParamsComponentsBalancesFeatures(TypedDict): disable_stripe_user_authentication: NotRequired[bool] """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ edit_payout_schedule: NotRequired[bool] """ Whether to allow payout schedule to be changed. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`. """ external_account_collection: NotRequired[bool] """ Whether external account collection is enabled. This feature can only be `false` for accounts where you're responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`. """ instant_payouts: NotRequired[bool] """ Whether to allow creation of instant payouts. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`. """ standard_payouts: NotRequired[bool] """ Whether to allow creation of standard payouts. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`. """ class AccountSessionCreateParamsComponentsDisputesList(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsDisputesListFeatures" ] """ The list of features enabled in the embedded component. """ class AccountSessionCreateParamsComponentsDisputesListFeatures(TypedDict): capture_payments: NotRequired[bool] """ Whether to allow capturing and cancelling payment intents. This is `true` by default. """ destination_on_behalf_of_charge_management: NotRequired[bool] """ Whether connected accounts can manage destination charges that are created on behalf of them. This is `false` by default. """ dispute_management: NotRequired[bool] """ Whether responding to disputes is enabled, including submitting evidence and accepting disputes. This is `true` by default. """ refund_management: NotRequired[bool] """ Whether sending refunds is enabled. This is `true` by default. """ class AccountSessionCreateParamsComponentsDocuments(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsDocumentsFeatures" ] """ An empty list, because this embedded component has no features. """ class AccountSessionCreateParamsComponentsDocumentsFeatures(TypedDict): pass class AccountSessionCreateParamsComponentsFinancialAccount(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsFinancialAccountFeatures" ] """ The list of features enabled in the embedded component. """ class AccountSessionCreateParamsComponentsFinancialAccountFeatures(TypedDict): disable_stripe_user_authentication: NotRequired[bool] """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ external_account_collection: NotRequired[bool] """ Whether external account collection is enabled. This feature can only be `false` for accounts where you're responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`. """ send_money: NotRequired[bool] """ Whether to allow sending money. """ transfer_balance: NotRequired[bool] """ Whether to allow transferring balance. """ class AccountSessionCreateParamsComponentsFinancialAccountTransactions( TypedDict, ): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsFinancialAccountTransactionsFeatures" ] """ The list of features enabled in the embedded component. """ class AccountSessionCreateParamsComponentsFinancialAccountTransactionsFeatures( TypedDict, ): card_spend_dispute_management: NotRequired[bool] """ Whether to allow card spend dispute management features. """ class AccountSessionCreateParamsComponentsInstantPayoutsPromotion(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsInstantPayoutsPromotionFeatures" ] """ The list of features enabled in the embedded component. """ class AccountSessionCreateParamsComponentsInstantPayoutsPromotionFeatures( TypedDict, ): disable_stripe_user_authentication: NotRequired[bool] """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ external_account_collection: NotRequired[bool] """ Whether external account collection is enabled. This feature can only be `false` for accounts where you're responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`. """ instant_payouts: NotRequired[bool] """ Whether to allow creation of instant payouts. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`. """ class AccountSessionCreateParamsComponentsIssuingCard(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsIssuingCardFeatures" ] """ The list of features enabled in the embedded component. """ class AccountSessionCreateParamsComponentsIssuingCardFeatures(TypedDict): card_management: NotRequired[bool] """ Whether to allow card management features. """ card_spend_dispute_management: NotRequired[bool] """ Whether to allow card spend dispute management features. """ cardholder_management: NotRequired[bool] """ Whether to allow cardholder management features. """ spend_control_management: NotRequired[bool] """ Whether to allow spend control management features. """ class AccountSessionCreateParamsComponentsIssuingCardsList(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsIssuingCardsListFeatures" ] """ The list of features enabled in the embedded component. """ class AccountSessionCreateParamsComponentsIssuingCardsListFeatures(TypedDict): card_management: NotRequired[bool] """ Whether to allow card management features. """ card_spend_dispute_management: NotRequired[bool] """ Whether to allow card spend dispute management features. """ cardholder_management: NotRequired[bool] """ Whether to allow cardholder management features. """ disable_stripe_user_authentication: NotRequired[bool] """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ spend_control_management: NotRequired[bool] """ Whether to allow spend control management features. """ class AccountSessionCreateParamsComponentsNotificationBanner(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsNotificationBannerFeatures" ] """ The list of features enabled in the embedded component. """ class AccountSessionCreateParamsComponentsNotificationBannerFeatures( TypedDict ): disable_stripe_user_authentication: NotRequired[bool] """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ external_account_collection: NotRequired[bool] """ Whether external account collection is enabled. This feature can only be `false` for accounts where you're responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`. """ class AccountSessionCreateParamsComponentsPaymentDetails(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsPaymentDetailsFeatures" ] """ The list of features enabled in the embedded component. """ class AccountSessionCreateParamsComponentsPaymentDetailsFeatures(TypedDict): capture_payments: NotRequired[bool] """ Whether to allow capturing and cancelling payment intents. This is `true` by default. """ destination_on_behalf_of_charge_management: NotRequired[bool] """ Whether connected accounts can manage destination charges that are created on behalf of them. This is `false` by default. """ dispute_management: NotRequired[bool] """ Whether responding to disputes is enabled, including submitting evidence and accepting disputes. This is `true` by default. """ refund_management: NotRequired[bool] """ Whether sending refunds is enabled. This is `true` by default. """ class AccountSessionCreateParamsComponentsPaymentDisputes(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsPaymentDisputesFeatures" ] """ The list of features enabled in the embedded component. """ class AccountSessionCreateParamsComponentsPaymentDisputesFeatures(TypedDict): destination_on_behalf_of_charge_management: NotRequired[bool] """ Whether connected accounts can manage destination charges that are created on behalf of them. This is `false` by default. """ dispute_management: NotRequired[bool] """ Whether responding to disputes is enabled, including submitting evidence and accepting disputes. This is `true` by default. """ refund_management: NotRequired[bool] """ Whether sending refunds is enabled. This is `true` by default. """ class AccountSessionCreateParamsComponentsPayments(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsPaymentsFeatures" ] """ The list of features enabled in the embedded component. """ class AccountSessionCreateParamsComponentsPaymentsFeatures(TypedDict): capture_payments: NotRequired[bool] """ Whether to allow capturing and cancelling payment intents. This is `true` by default. """ destination_on_behalf_of_charge_management: NotRequired[bool] """ Whether connected accounts can manage destination charges that are created on behalf of them. This is `false` by default. """ dispute_management: NotRequired[bool] """ Whether responding to disputes is enabled, including submitting evidence and accepting disputes. This is `true` by default. """ refund_management: NotRequired[bool] """ Whether sending refunds is enabled. This is `true` by default. """ class AccountSessionCreateParamsComponentsPayoutDetails(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsPayoutDetailsFeatures" ] """ An empty list, because this embedded component has no features. """ class AccountSessionCreateParamsComponentsPayoutDetailsFeatures(TypedDict): pass class AccountSessionCreateParamsComponentsPayouts(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsPayoutsFeatures" ] """ The list of features enabled in the embedded component. """ class AccountSessionCreateParamsComponentsPayoutsFeatures(TypedDict): disable_stripe_user_authentication: NotRequired[bool] """ Whether Stripe user authentication is disabled. This value can only be `true` for accounts where `controller.requirement_collection` is `application` for the account. The default value is the opposite of the `external_account_collection` value. For example, if you don't set `external_account_collection`, it defaults to `true` and `disable_stripe_user_authentication` defaults to `false`. """ edit_payout_schedule: NotRequired[bool] """ Whether to allow payout schedule to be changed. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`. """ external_account_collection: NotRequired[bool] """ Whether external account collection is enabled. This feature can only be `false` for accounts where you're responsible for collecting updated information when requirements are due or change, like Custom accounts. The default value for this feature is `true`. """ instant_payouts: NotRequired[bool] """ Whether to allow creation of instant payouts. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`. """ standard_payouts: NotRequired[bool] """ Whether to allow creation of standard payouts. Defaults to `true` when `controller.losses.payments` is set to `stripe` for the account, otherwise `false`. """ class AccountSessionCreateParamsComponentsPayoutsList(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsPayoutsListFeatures" ] """ An empty list, because this embedded component has no features. """ class AccountSessionCreateParamsComponentsPayoutsListFeatures(TypedDict): pass class AccountSessionCreateParamsComponentsTaxRegistrations(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsTaxRegistrationsFeatures" ] """ An empty list, because this embedded component has no features. """ class AccountSessionCreateParamsComponentsTaxRegistrationsFeatures(TypedDict): pass class AccountSessionCreateParamsComponentsTaxSettings(TypedDict): enabled: bool """ Whether the embedded component is enabled. """ features: NotRequired[ "AccountSessionCreateParamsComponentsTaxSettingsFeatures" ] """ An empty list, because this embedded component has no features. """ class AccountSessionCreateParamsComponentsTaxSettingsFeatures(TypedDict): pass ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_account_update_params.py0000644000000000000000000023141315102753431017701 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class AccountUpdateParams(TypedDict): account_token: NotRequired[str] """ An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account. """ business_profile: NotRequired["AccountUpdateParamsBusinessProfile"] """ Business information about the account. """ business_type: NotRequired[ Literal["company", "government_entity", "individual", "non_profit"] ] """ The business type. Once you create an [Account Link](https://docs.stripe.com/api/account_links) or [Account Session](https://docs.stripe.com/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. """ capabilities: NotRequired["AccountUpdateParamsCapabilities"] """ Each key of the dictionary represents a capability, and each capability maps to its settings (for example, whether it has been requested or not). Each capability is inactive until you have provided its specific requirements and Stripe has verified them. An account might have some of its requested capabilities be active and some be inactive. Required when [account.controller.stripe_dashboard.type](https://docs.stripe.com/api/accounts/create#create_account-controller-dashboard-type) is `none`, which includes Custom accounts. """ company: NotRequired["AccountUpdateParamsCompany"] """ Information about the company or business. This field is available for any `business_type`. Once you create an [Account Link](https://docs.stripe.com/api/account_links) or [Account Session](https://docs.stripe.com/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. """ default_currency: NotRequired[str] """ Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://docs.stripe.com/payouts). """ documents: NotRequired["AccountUpdateParamsDocuments"] """ Documents that may be submitted to satisfy various informational requests. """ email: NotRequired[str] """ The email address of the account holder. This is only to make the account easier to identify to you. If [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts, Stripe doesn't email the account without your consent. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ external_account: NotRequired[ "Literal['']|str|AccountUpdateParamsBankAccount|AccountUpdateParamsCard|AccountUpdateParamsCardToken" ] """ A card or bank account to attach to the account for receiving [payouts](https://docs.stripe.com/connect/bank-debit-card-payouts) (you won't be able to use it for top-ups). You can provide either a token, like the ones returned by [Stripe.js](https://docs.stripe.com/js), or a dictionary, as documented in the `external_account` parameter for [bank account](https://docs.stripe.com/api#account_create_bank_account) creation. By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the [bank account](https://docs.stripe.com/api#account_create_bank_account) or [card creation](https://docs.stripe.com/api#account_create_card) APIs. After you create an [Account Link](https://docs.stripe.com/api/account_links) or [Account Session](https://docs.stripe.com/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. """ groups: NotRequired["AccountUpdateParamsGroups"] """ A hash of account group type to tokens. These are account groups this account should be added to. """ individual: NotRequired["AccountUpdateParamsIndividual"] """ Information about the person represented by the account. This field is null unless `business_type` is set to `individual`. Once you create an [Account Link](https://docs.stripe.com/api/account_links) or [Account Session](https://docs.stripe.com/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ settings: NotRequired["AccountUpdateParamsSettings"] """ Options for customizing how the account functions within Stripe. """ tos_acceptance: NotRequired["AccountUpdateParamsTosAcceptance"] """ Details on the account's acceptance of the [Stripe Services Agreement](https://docs.stripe.com/connect/updating-accounts#tos-acceptance). This property can only be updated for accounts where [controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. This property defaults to a `full` service agreement when empty. """ class AccountUpdateParamsBusinessProfile(TypedDict): annual_revenue: NotRequired[ "AccountUpdateParamsBusinessProfileAnnualRevenue" ] """ The applicant's gross annual revenue for its preceding fiscal year. """ estimated_worker_count: NotRequired[int] """ An estimated upper bound of employees, contractors, vendors, etc. currently working for the business. """ mcc: NotRequired[str] """ [The merchant category code for the account](https://docs.stripe.com/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide. """ minority_owned_business_designation: NotRequired[ List[ Literal[ "lgbtqi_owned_business", "minority_owned_business", "none_of_these_apply", "prefer_not_to_answer", "women_owned_business", ] ] ] """ Whether the business is a minority-owned, women-owned, and/or LGBTQI+ -owned business. """ monthly_estimated_revenue: NotRequired[ "AccountUpdateParamsBusinessProfileMonthlyEstimatedRevenue" ] """ An estimate of the monthly revenue of the business. Only accepted for accounts in Brazil and India. """ name: NotRequired[str] """ The customer-facing business name. """ product_description: NotRequired[str] """ Internal-only description of the product sold by, or service provided by, the business. Used by Stripe for risk and underwriting purposes. """ support_address: NotRequired[ "AccountUpdateParamsBusinessProfileSupportAddress" ] """ A publicly available mailing address for sending support issues to. """ support_email: NotRequired[str] """ A publicly available email address for sending support issues to. """ support_phone: NotRequired[str] """ A publicly available phone number to call with support issues. """ support_url: NotRequired["Literal['']|str"] """ A publicly available website for handling support issues. """ url: NotRequired[str] """ The business's publicly available website. """ class AccountUpdateParamsBusinessProfileAnnualRevenue(TypedDict): amount: int """ A non-negative integer representing the amount in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal). """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ fiscal_year_end: str """ The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for the 31st of December, 2023. """ class AccountUpdateParamsBusinessProfileMonthlyEstimatedRevenue(TypedDict): amount: int """ A non-negative integer representing how much to charge in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal). """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ class AccountUpdateParamsBusinessProfileSupportAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountUpdateParamsCapabilities(TypedDict): acss_debit_payments: NotRequired[ "AccountUpdateParamsCapabilitiesAcssDebitPayments" ] """ The acss_debit_payments capability. """ affirm_payments: NotRequired[ "AccountUpdateParamsCapabilitiesAffirmPayments" ] """ The affirm_payments capability. """ afterpay_clearpay_payments: NotRequired[ "AccountUpdateParamsCapabilitiesAfterpayClearpayPayments" ] """ The afterpay_clearpay_payments capability. """ alma_payments: NotRequired["AccountUpdateParamsCapabilitiesAlmaPayments"] """ The alma_payments capability. """ amazon_pay_payments: NotRequired[ "AccountUpdateParamsCapabilitiesAmazonPayPayments" ] """ The amazon_pay_payments capability. """ au_becs_debit_payments: NotRequired[ "AccountUpdateParamsCapabilitiesAuBecsDebitPayments" ] """ The au_becs_debit_payments capability. """ bacs_debit_payments: NotRequired[ "AccountUpdateParamsCapabilitiesBacsDebitPayments" ] """ The bacs_debit_payments capability. """ bancontact_payments: NotRequired[ "AccountUpdateParamsCapabilitiesBancontactPayments" ] """ The bancontact_payments capability. """ bank_transfer_payments: NotRequired[ "AccountUpdateParamsCapabilitiesBankTransferPayments" ] """ The bank_transfer_payments capability. """ billie_payments: NotRequired[ "AccountUpdateParamsCapabilitiesBilliePayments" ] """ The billie_payments capability. """ blik_payments: NotRequired["AccountUpdateParamsCapabilitiesBlikPayments"] """ The blik_payments capability. """ boleto_payments: NotRequired[ "AccountUpdateParamsCapabilitiesBoletoPayments" ] """ The boleto_payments capability. """ card_issuing: NotRequired["AccountUpdateParamsCapabilitiesCardIssuing"] """ The card_issuing capability. """ card_payments: NotRequired["AccountUpdateParamsCapabilitiesCardPayments"] """ The card_payments capability. """ cartes_bancaires_payments: NotRequired[ "AccountUpdateParamsCapabilitiesCartesBancairesPayments" ] """ The cartes_bancaires_payments capability. """ cashapp_payments: NotRequired[ "AccountUpdateParamsCapabilitiesCashappPayments" ] """ The cashapp_payments capability. """ crypto_payments: NotRequired[ "AccountUpdateParamsCapabilitiesCryptoPayments" ] """ The crypto_payments capability. """ eps_payments: NotRequired["AccountUpdateParamsCapabilitiesEpsPayments"] """ The eps_payments capability. """ fpx_payments: NotRequired["AccountUpdateParamsCapabilitiesFpxPayments"] """ The fpx_payments capability. """ gb_bank_transfer_payments: NotRequired[ "AccountUpdateParamsCapabilitiesGbBankTransferPayments" ] """ The gb_bank_transfer_payments capability. """ giropay_payments: NotRequired[ "AccountUpdateParamsCapabilitiesGiropayPayments" ] """ The giropay_payments capability. """ grabpay_payments: NotRequired[ "AccountUpdateParamsCapabilitiesGrabpayPayments" ] """ The grabpay_payments capability. """ ideal_payments: NotRequired["AccountUpdateParamsCapabilitiesIdealPayments"] """ The ideal_payments capability. """ india_international_payments: NotRequired[ "AccountUpdateParamsCapabilitiesIndiaInternationalPayments" ] """ The india_international_payments capability. """ jcb_payments: NotRequired["AccountUpdateParamsCapabilitiesJcbPayments"] """ The jcb_payments capability. """ jp_bank_transfer_payments: NotRequired[ "AccountUpdateParamsCapabilitiesJpBankTransferPayments" ] """ The jp_bank_transfer_payments capability. """ kakao_pay_payments: NotRequired[ "AccountUpdateParamsCapabilitiesKakaoPayPayments" ] """ The kakao_pay_payments capability. """ klarna_payments: NotRequired[ "AccountUpdateParamsCapabilitiesKlarnaPayments" ] """ The klarna_payments capability. """ konbini_payments: NotRequired[ "AccountUpdateParamsCapabilitiesKonbiniPayments" ] """ The konbini_payments capability. """ kr_card_payments: NotRequired[ "AccountUpdateParamsCapabilitiesKrCardPayments" ] """ The kr_card_payments capability. """ legacy_payments: NotRequired[ "AccountUpdateParamsCapabilitiesLegacyPayments" ] """ The legacy_payments capability. """ link_payments: NotRequired["AccountUpdateParamsCapabilitiesLinkPayments"] """ The link_payments capability. """ mb_way_payments: NotRequired[ "AccountUpdateParamsCapabilitiesMbWayPayments" ] """ The mb_way_payments capability. """ mobilepay_payments: NotRequired[ "AccountUpdateParamsCapabilitiesMobilepayPayments" ] """ The mobilepay_payments capability. """ multibanco_payments: NotRequired[ "AccountUpdateParamsCapabilitiesMultibancoPayments" ] """ The multibanco_payments capability. """ mx_bank_transfer_payments: NotRequired[ "AccountUpdateParamsCapabilitiesMxBankTransferPayments" ] """ The mx_bank_transfer_payments capability. """ naver_pay_payments: NotRequired[ "AccountUpdateParamsCapabilitiesNaverPayPayments" ] """ The naver_pay_payments capability. """ nz_bank_account_becs_debit_payments: NotRequired[ "AccountUpdateParamsCapabilitiesNzBankAccountBecsDebitPayments" ] """ The nz_bank_account_becs_debit_payments capability. """ oxxo_payments: NotRequired["AccountUpdateParamsCapabilitiesOxxoPayments"] """ The oxxo_payments capability. """ p24_payments: NotRequired["AccountUpdateParamsCapabilitiesP24Payments"] """ The p24_payments capability. """ pay_by_bank_payments: NotRequired[ "AccountUpdateParamsCapabilitiesPayByBankPayments" ] """ The pay_by_bank_payments capability. """ payco_payments: NotRequired["AccountUpdateParamsCapabilitiesPaycoPayments"] """ The payco_payments capability. """ paynow_payments: NotRequired[ "AccountUpdateParamsCapabilitiesPaynowPayments" ] """ The paynow_payments capability. """ pix_payments: NotRequired["AccountUpdateParamsCapabilitiesPixPayments"] """ The pix_payments capability. """ promptpay_payments: NotRequired[ "AccountUpdateParamsCapabilitiesPromptpayPayments" ] """ The promptpay_payments capability. """ revolut_pay_payments: NotRequired[ "AccountUpdateParamsCapabilitiesRevolutPayPayments" ] """ The revolut_pay_payments capability. """ samsung_pay_payments: NotRequired[ "AccountUpdateParamsCapabilitiesSamsungPayPayments" ] """ The samsung_pay_payments capability. """ satispay_payments: NotRequired[ "AccountUpdateParamsCapabilitiesSatispayPayments" ] """ The satispay_payments capability. """ sepa_bank_transfer_payments: NotRequired[ "AccountUpdateParamsCapabilitiesSepaBankTransferPayments" ] """ The sepa_bank_transfer_payments capability. """ sepa_debit_payments: NotRequired[ "AccountUpdateParamsCapabilitiesSepaDebitPayments" ] """ The sepa_debit_payments capability. """ sofort_payments: NotRequired[ "AccountUpdateParamsCapabilitiesSofortPayments" ] """ The sofort_payments capability. """ swish_payments: NotRequired["AccountUpdateParamsCapabilitiesSwishPayments"] """ The swish_payments capability. """ tax_reporting_us_1099_k: NotRequired[ "AccountUpdateParamsCapabilitiesTaxReportingUs1099K" ] """ The tax_reporting_us_1099_k capability. """ tax_reporting_us_1099_misc: NotRequired[ "AccountUpdateParamsCapabilitiesTaxReportingUs1099Misc" ] """ The tax_reporting_us_1099_misc capability. """ transfers: NotRequired["AccountUpdateParamsCapabilitiesTransfers"] """ The transfers capability. """ treasury: NotRequired["AccountUpdateParamsCapabilitiesTreasury"] """ The treasury capability. """ twint_payments: NotRequired["AccountUpdateParamsCapabilitiesTwintPayments"] """ The twint_payments capability. """ us_bank_account_ach_payments: NotRequired[ "AccountUpdateParamsCapabilitiesUsBankAccountAchPayments" ] """ The us_bank_account_ach_payments capability. """ us_bank_transfer_payments: NotRequired[ "AccountUpdateParamsCapabilitiesUsBankTransferPayments" ] """ The us_bank_transfer_payments capability. """ zip_payments: NotRequired["AccountUpdateParamsCapabilitiesZipPayments"] """ The zip_payments capability. """ class AccountUpdateParamsCapabilitiesAcssDebitPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesAffirmPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesAfterpayClearpayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesAlmaPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesAmazonPayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesAuBecsDebitPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesBacsDebitPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesBancontactPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesBankTransferPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesBilliePayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesBlikPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesBoletoPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesCardIssuing(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesCardPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesCartesBancairesPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesCashappPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesCryptoPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesEpsPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesFpxPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesGbBankTransferPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesGiropayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesGrabpayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesIdealPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesIndiaInternationalPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesJcbPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesJpBankTransferPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesKakaoPayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesKlarnaPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesKonbiniPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesKrCardPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesLegacyPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesLinkPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesMbWayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesMobilepayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesMultibancoPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesMxBankTransferPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesNaverPayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesNzBankAccountBecsDebitPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesOxxoPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesP24Payments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesPayByBankPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesPaycoPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesPaynowPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesPixPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesPromptpayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesRevolutPayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesSamsungPayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesSatispayPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesSepaBankTransferPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesSepaDebitPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesSofortPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesSwishPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesTaxReportingUs1099K(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesTaxReportingUs1099Misc(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesTransfers(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesTreasury(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesTwintPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesUsBankAccountAchPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesUsBankTransferPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCapabilitiesZipPayments(TypedDict): requested: NotRequired[bool] """ Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays. """ class AccountUpdateParamsCompany(TypedDict): address: NotRequired["AccountUpdateParamsCompanyAddress"] """ The company's primary address. """ address_kana: NotRequired["AccountUpdateParamsCompanyAddressKana"] """ The Kana variation of the company's primary address (Japan only). """ address_kanji: NotRequired["AccountUpdateParamsCompanyAddressKanji"] """ The Kanji variation of the company's primary address (Japan only). """ directors_provided: NotRequired[bool] """ Whether the company's directors have been provided. Set this Boolean to `true` after creating all the company's directors with [the Persons API](https://docs.stripe.com/api/persons) for accounts with a `relationship.director` requirement. This value is not automatically set to `true` after creating directors, so it needs to be updated to indicate all directors have been provided. """ directorship_declaration: NotRequired[ "AccountUpdateParamsCompanyDirectorshipDeclaration" ] """ This hash is used to attest that the directors information provided to Stripe is both current and correct. """ executives_provided: NotRequired[bool] """ Whether the company's executives have been provided. Set this Boolean to `true` after creating all the company's executives with [the Persons API](https://docs.stripe.com/api/persons) for accounts with a `relationship.executive` requirement. """ export_license_id: NotRequired[str] """ The export license ID number of the company, also referred as Import Export Code (India only). """ export_purpose_code: NotRequired[str] """ The purpose code to use for export transactions (India only). """ name: NotRequired[str] """ The company's legal name. """ name_kana: NotRequired[str] """ The Kana variation of the company's legal name (Japan only). """ name_kanji: NotRequired[str] """ The Kanji variation of the company's legal name (Japan only). """ owners_provided: NotRequired[bool] """ Whether the company's owners have been provided. Set this Boolean to `true` after creating all the company's owners with [the Persons API](https://docs.stripe.com/api/persons) for accounts with a `relationship.owner` requirement. """ ownership_declaration: NotRequired[ "AccountUpdateParamsCompanyOwnershipDeclaration" ] """ This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct. """ ownership_exemption_reason: NotRequired[ "Literal['']|Literal['qualified_entity_exceeds_ownership_threshold', 'qualifies_as_financial_institution']" ] """ This value is used to determine if a business is exempt from providing ultimate beneficial owners. See [this support article](https://support.stripe.com/questions/exemption-from-providing-ownership-details) and [changelog](https://docs.stripe.com/changelog/acacia/2025-01-27/ownership-exemption-reason-accounts-api) for more details. """ phone: NotRequired[str] """ The company's phone number (used for verification). """ registration_date: NotRequired[ "Literal['']|AccountUpdateParamsCompanyRegistrationDate" ] registration_number: NotRequired[str] """ The identification number given to a company when it is registered or incorporated, if distinct from the identification number used for filing taxes. (Examples are the CIN for companies and LLP IN for partnerships in India, and the Company Registration Number in Hong Kong). """ representative_declaration: NotRequired[ "AccountUpdateParamsCompanyRepresentativeDeclaration" ] """ This hash is used to attest that the representative is authorized to act as the representative of their legal entity. """ structure: NotRequired[ "Literal['']|Literal['free_zone_establishment', 'free_zone_llc', 'government_instrumentality', 'governmental_unit', 'incorporated_non_profit', 'incorporated_partnership', 'limited_liability_partnership', 'llc', 'multi_member_llc', 'private_company', 'private_corporation', 'private_partnership', 'public_company', 'public_corporation', 'public_partnership', 'registered_charity', 'single_member_llc', 'sole_establishment', 'sole_proprietorship', 'tax_exempt_government_instrumentality', 'unincorporated_association', 'unincorporated_non_profit', 'unincorporated_partnership']" ] """ The category identifying the legal structure of the company or legal entity. See [Business structure](https://docs.stripe.com/connect/identity-verification#business-structure) for more details. Pass an empty string to unset this value. """ tax_id: NotRequired[str] """ The business ID number of the company, as appropriate for the company's country. (Examples are an Employer ID Number in the U.S., a Business Number in Canada, or a Company Number in the UK.) """ tax_id_registrar: NotRequired[str] """ The jurisdiction in which the `tax_id` is registered (Germany-based companies only). """ vat_id: NotRequired[str] """ The VAT number of the company. """ verification: NotRequired["AccountUpdateParamsCompanyVerification"] """ Information on the verification state of the company. """ class AccountUpdateParamsCompanyAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountUpdateParamsCompanyAddressKana(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountUpdateParamsCompanyAddressKanji(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountUpdateParamsCompanyDirectorshipDeclaration(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the directorship declaration attestation was made. """ ip: NotRequired[str] """ The IP address from which the directorship declaration attestation was made. """ user_agent: NotRequired[str] """ The user agent of the browser from which the directorship declaration attestation was made. """ class AccountUpdateParamsCompanyOwnershipDeclaration(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the beneficial owner attestation was made. """ ip: NotRequired[str] """ The IP address from which the beneficial owner attestation was made. """ user_agent: NotRequired[str] """ The user agent of the browser from which the beneficial owner attestation was made. """ class AccountUpdateParamsCompanyRegistrationDate(TypedDict): day: int """ The day of registration, between 1 and 31. """ month: int """ The month of registration, between 1 and 12. """ year: int """ The four-digit year of registration. """ class AccountUpdateParamsCompanyRepresentativeDeclaration(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the representative declaration attestation was made. """ ip: NotRequired[str] """ The IP address from which the representative declaration attestation was made. """ user_agent: NotRequired[str] """ The user agent of the browser from which the representative declaration attestation was made. """ class AccountUpdateParamsCompanyVerification(TypedDict): document: NotRequired["AccountUpdateParamsCompanyVerificationDocument"] """ A document verifying the business. """ class AccountUpdateParamsCompanyVerificationDocument(TypedDict): back: NotRequired[str] """ The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ class AccountUpdateParamsDocuments(TypedDict): bank_account_ownership_verification: NotRequired[ "AccountUpdateParamsDocumentsBankAccountOwnershipVerification" ] """ One or more documents that support the [Bank account ownership verification](https://support.stripe.com/questions/bank-account-ownership-verification) requirement. Must be a document associated with the account's primary active bank account that displays the last 4 digits of the account number, either a statement or a check. """ company_license: NotRequired["AccountUpdateParamsDocumentsCompanyLicense"] """ One or more documents that demonstrate proof of a company's license to operate. """ company_memorandum_of_association: NotRequired[ "AccountUpdateParamsDocumentsCompanyMemorandumOfAssociation" ] """ One or more documents showing the company's Memorandum of Association. """ company_ministerial_decree: NotRequired[ "AccountUpdateParamsDocumentsCompanyMinisterialDecree" ] """ (Certain countries only) One or more documents showing the ministerial decree legalizing the company's establishment. """ company_registration_verification: NotRequired[ "AccountUpdateParamsDocumentsCompanyRegistrationVerification" ] """ One or more documents that demonstrate proof of a company's registration with the appropriate local authorities. """ company_tax_id_verification: NotRequired[ "AccountUpdateParamsDocumentsCompanyTaxIdVerification" ] """ One or more documents that demonstrate proof of a company's tax ID. """ proof_of_address: NotRequired["AccountUpdateParamsDocumentsProofOfAddress"] """ One or more documents that demonstrate proof of address. """ proof_of_registration: NotRequired[ "AccountUpdateParamsDocumentsProofOfRegistration" ] """ One or more documents showing the company's proof of registration with the national business registry. """ proof_of_ultimate_beneficial_ownership: NotRequired[ "AccountUpdateParamsDocumentsProofOfUltimateBeneficialOwnership" ] """ One or more documents that demonstrate proof of ultimate beneficial ownership. """ class AccountUpdateParamsDocumentsBankAccountOwnershipVerification(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountUpdateParamsDocumentsCompanyLicense(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountUpdateParamsDocumentsCompanyMemorandumOfAssociation(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountUpdateParamsDocumentsCompanyMinisterialDecree(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountUpdateParamsDocumentsCompanyRegistrationVerification(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountUpdateParamsDocumentsCompanyTaxIdVerification(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountUpdateParamsDocumentsProofOfAddress(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountUpdateParamsDocumentsProofOfRegistration(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountUpdateParamsDocumentsProofOfUltimateBeneficialOwnership( TypedDict ): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class AccountUpdateParamsBankAccount(TypedDict): object: Literal["bank_account"] account_holder_name: NotRequired[str] """ The name of the person or business that owns the bank account.This field is required when attaching the bank account to a `Customer` object. """ account_holder_type: NotRequired[Literal["company", "individual"]] """ The type of entity that holds the account. It can be `company` or `individual`. This field is required when attaching the bank account to a `Customer` object. """ account_number: str """ The account number for the bank account, in string form. Must be a checking account. """ country: str """ The country in which the bank account is located. """ currency: NotRequired[str] """ The currency the bank account is in. This must be a country/currency pairing that [Stripe supports.](docs/payouts) """ routing_number: NotRequired[str] """ The routing number, sort code, or other country-appropriate institution number for the bank account. For US bank accounts, this is required and should be the ACH routing number, not the wire routing number. If you are providing an IBAN for `account_number`, this field is not required. """ class AccountUpdateParamsCard(TypedDict): object: Literal["card"] address_city: NotRequired[str] address_country: NotRequired[str] address_line1: NotRequired[str] address_line2: NotRequired[str] address_state: NotRequired[str] address_zip: NotRequired[str] currency: NotRequired[str] cvc: NotRequired[str] exp_month: int exp_year: int name: NotRequired[str] number: str metadata: NotRequired[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. """ default_for_currency: NotRequired[bool] class AccountUpdateParamsCardToken(TypedDict): object: Literal["card"] currency: NotRequired[str] token: str class AccountUpdateParamsGroups(TypedDict): payments_pricing: NotRequired["Literal['']|str"] """ The group the account is in to determine their payments pricing, and null if the account is on customized pricing. [See the Platform pricing tool documentation](https://stripe.com/docs/connect/platform-pricing-tools) for details. """ class AccountUpdateParamsIndividual(TypedDict): address: NotRequired["AccountUpdateParamsIndividualAddress"] """ The individual's primary address. """ address_kana: NotRequired["AccountUpdateParamsIndividualAddressKana"] """ The Kana variation of the individual's primary address (Japan only). """ address_kanji: NotRequired["AccountUpdateParamsIndividualAddressKanji"] """ The Kanji variation of the individual's primary address (Japan only). """ dob: NotRequired["Literal['']|AccountUpdateParamsIndividualDob"] """ The individual's date of birth. """ email: NotRequired[str] """ The individual's email address. """ first_name: NotRequired[str] """ The individual's first name. """ first_name_kana: NotRequired[str] """ The Kana variation of the individual's first name (Japan only). """ first_name_kanji: NotRequired[str] """ The Kanji variation of the individual's first name (Japan only). """ full_name_aliases: NotRequired["Literal['']|List[str]"] """ A list of alternate names or aliases that the individual is known by. """ gender: NotRequired[str] """ The individual's gender """ id_number: NotRequired[str] """ The government-issued ID number of the individual, as appropriate for the representative's country. (Examples are a Social Security Number in the U.S., or a Social Insurance Number in Canada). Instead of the number itself, you can also provide a [PII token created with Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ id_number_secondary: NotRequired[str] """ The government-issued secondary ID number of the individual, as appropriate for the representative's country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token created with Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ last_name: NotRequired[str] """ The individual's last name. """ last_name_kana: NotRequired[str] """ The Kana variation of the individual's last name (Japan only). """ last_name_kanji: NotRequired[str] """ The Kanji variation of the individual's last name (Japan only). """ maiden_name: NotRequired[str] """ The individual's maiden name. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ phone: NotRequired[str] """ The individual's phone number. """ political_exposure: NotRequired[Literal["existing", "none"]] """ Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. """ registered_address: NotRequired[ "AccountUpdateParamsIndividualRegisteredAddress" ] """ The individual's registered address. """ relationship: NotRequired["AccountUpdateParamsIndividualRelationship"] """ Describes the person's relationship to the account. """ ssn_last_4: NotRequired[str] """ The last four digits of the individual's Social Security Number (U.S. only). """ verification: NotRequired["AccountUpdateParamsIndividualVerification"] """ The individual's verification document information. """ class AccountUpdateParamsIndividualAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountUpdateParamsIndividualAddressKana(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountUpdateParamsIndividualAddressKanji(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class AccountUpdateParamsIndividualDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class AccountUpdateParamsIndividualRegisteredAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class AccountUpdateParamsIndividualRelationship(TypedDict): director: NotRequired[bool] """ Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. """ executive: NotRequired[bool] """ Whether the person has significant responsibility to control, manage, or direct the organization. """ owner: NotRequired[bool] """ Whether the person is an owner of the account's legal entity. """ percent_ownership: NotRequired["Literal['']|float"] """ The percent owned by the person of the account's legal entity. """ title: NotRequired[str] """ The person's title (e.g., CEO, Support Engineer). """ class AccountUpdateParamsIndividualVerification(TypedDict): additional_document: NotRequired[ "AccountUpdateParamsIndividualVerificationAdditionalDocument" ] """ A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. """ document: NotRequired["AccountUpdateParamsIndividualVerificationDocument"] """ An identifying document, either a passport or local ID card. """ class AccountUpdateParamsIndividualVerificationAdditionalDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ class AccountUpdateParamsIndividualVerificationDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ class AccountUpdateParamsSettings(TypedDict): bacs_debit_payments: NotRequired[ "AccountUpdateParamsSettingsBacsDebitPayments" ] """ Settings specific to Bacs Direct Debit payments. """ branding: NotRequired["AccountUpdateParamsSettingsBranding"] """ Settings used to apply the account's branding to email receipts, invoices, Checkout, and other products. """ card_issuing: NotRequired["AccountUpdateParamsSettingsCardIssuing"] """ Settings specific to the account's use of the Card Issuing product. """ card_payments: NotRequired["AccountUpdateParamsSettingsCardPayments"] """ Settings specific to card charging on the account. """ invoices: NotRequired["AccountUpdateParamsSettingsInvoices"] """ Settings specific to the account's use of Invoices. """ payments: NotRequired["AccountUpdateParamsSettingsPayments"] """ Settings that apply across payment methods for charging on the account. """ payouts: NotRequired["AccountUpdateParamsSettingsPayouts"] """ Settings specific to the account's payouts. """ treasury: NotRequired["AccountUpdateParamsSettingsTreasury"] """ Settings specific to the account's Treasury FinancialAccounts. """ class AccountUpdateParamsSettingsBacsDebitPayments(TypedDict): display_name: NotRequired[str] """ The Bacs Direct Debit Display Name for this account. For payments made with Bacs Direct Debit, this name appears on the mandate as the statement descriptor. Mobile banking apps display it as the name of the business. To use custom branding, set the Bacs Direct Debit Display Name during or right after creation. Custom branding incurs an additional monthly fee for the platform. If you don't set the display name before requesting Bacs capability, it's automatically set as "Stripe" and the account is onboarded to Stripe branding, which is free. """ class AccountUpdateParamsSettingsBranding(TypedDict): icon: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) An icon for the account. Must be square and at least 128px x 128px. """ logo: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A logo for the account that will be used in Checkout instead of the icon and without the account's name next to it if provided. Must be at least 128px x 128px. """ primary_color: NotRequired[str] """ A CSS hex color value representing the primary branding color for this account. """ secondary_color: NotRequired[str] """ A CSS hex color value representing the secondary branding color for this account. """ class AccountUpdateParamsSettingsCardIssuing(TypedDict): tos_acceptance: NotRequired[ "AccountUpdateParamsSettingsCardIssuingTosAcceptance" ] """ Details on the account's acceptance of the [Stripe Issuing Terms and Disclosures](https://docs.stripe.com/issuing/connect/tos_acceptance). """ class AccountUpdateParamsSettingsCardIssuingTosAcceptance(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the account representative accepted the service agreement. """ ip: NotRequired[str] """ The IP address from which the account representative accepted the service agreement. """ user_agent: NotRequired["Literal['']|str"] """ The user agent of the browser from which the account representative accepted the service agreement. """ class AccountUpdateParamsSettingsCardPayments(TypedDict): decline_on: NotRequired["AccountUpdateParamsSettingsCardPaymentsDeclineOn"] """ Automatically declines certain charge types regardless of whether the card issuer accepted or declined the charge. """ statement_descriptor_prefix: NotRequired[str] """ The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge. `statement_descriptor_prefix` is useful for maximizing descriptor space for the dynamic portion. """ statement_descriptor_prefix_kana: NotRequired["Literal['']|str"] """ The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge. `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion. """ statement_descriptor_prefix_kanji: NotRequired["Literal['']|str"] """ The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge. `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion. """ class AccountUpdateParamsSettingsCardPaymentsDeclineOn(TypedDict): avs_failure: NotRequired[bool] """ Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This setting only applies when a ZIP or postal code is provided and they fail bank verification. """ cvc_failure: NotRequired[bool] """ Whether Stripe automatically declines charges with an incorrect CVC. This setting only applies when a CVC is provided and it fails bank verification. """ class AccountUpdateParamsSettingsInvoices(TypedDict): default_account_tax_ids: NotRequired["Literal['']|List[str]"] """ The list of default Account Tax IDs to automatically include on invoices. Account Tax IDs get added when an invoice is finalized. """ hosted_payment_method_save: NotRequired[ Literal["always", "never", "offer"] ] """ 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 AccountUpdateParamsSettingsPayments(TypedDict): statement_descriptor: NotRequired[str] """ The default text that appears on statements for non-card charges outside of Japan. For card charges, if you don't set a `statement_descriptor_prefix`, this text is also used as the statement descriptor prefix. In that case, if concatenating the statement descriptor suffix causes the combined statement descriptor to exceed 22 characters, we truncate the `statement_descriptor` text to limit the full descriptor to 22 characters. For more information about statement descriptors and their requirements, see the [account settings documentation](https://docs.stripe.com/get-started/account/statement-descriptors). """ statement_descriptor_kana: NotRequired[str] """ The Kana variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). """ statement_descriptor_kanji: NotRequired[str] """ The Kanji variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors). """ class AccountUpdateParamsSettingsPayouts(TypedDict): debit_negative_balances: NotRequired[bool] """ A Boolean indicating whether Stripe should try to reclaim negative balances from an attached bank account. For details, see [Understanding Connect Account Balances](https://docs.stripe.com/connect/account-balances). """ schedule: NotRequired["AccountUpdateParamsSettingsPayoutsSchedule"] """ Details on when funds from charges are available, and when they are paid out to an external account. For details, see our [Setting Bank and Debit Card Payouts](https://docs.stripe.com/connect/bank-transfers#payout-information) documentation. """ statement_descriptor: NotRequired[str] """ The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard. """ class AccountUpdateParamsSettingsPayoutsSchedule(TypedDict): delay_days: NotRequired["Literal['minimum']|int"] """ The number of days charge funds are held before being paid out. May also be set to `minimum`, representing the lowest available value for the account country. Default is `minimum`. The `delay_days` parameter remains at the last configured value if `interval` is `manual`. [Learn more about controlling payout delay days](https://docs.stripe.com/connect/manage-payout-schedule). """ interval: NotRequired[Literal["daily", "manual", "monthly", "weekly"]] """ How frequently available funds are paid out. One of: `daily`, `manual`, `weekly`, or `monthly`. Default is `daily`. """ monthly_anchor: NotRequired[int] """ The day of the month when available funds are paid out, specified as a number between 1--31. Payouts nominally scheduled between the 29th and 31st of the month are instead sent on the last day of a shorter month. Required and applicable only if `interval` is `monthly`. """ monthly_payout_days: NotRequired[List[int]] """ The days of the month when available funds are paid out, specified as an array of numbers between 1--31. Payouts nominally scheduled between the 29th and 31st of the month are instead sent on the last day of a shorter month. Required and applicable only if `interval` is `monthly` and `monthly_anchor` is not set. """ weekly_anchor: NotRequired[ Literal[ "friday", "monday", "saturday", "sunday", "thursday", "tuesday", "wednesday", ] ] """ The day of the week when available funds are paid out, specified as `monday`, `tuesday`, etc. Required and applicable only if `interval` is `weekly`. """ weekly_payout_days: NotRequired[ List[Literal["friday", "monday", "thursday", "tuesday", "wednesday"]] ] """ The days of the week when available funds are paid out, specified as an array, e.g., [`monday`, `tuesday`]. Required and applicable only if `interval` is `weekly`. """ class AccountUpdateParamsSettingsTreasury(TypedDict): tos_acceptance: NotRequired[ "AccountUpdateParamsSettingsTreasuryTosAcceptance" ] """ Details on the account's acceptance of the Stripe Treasury Services Agreement. """ class AccountUpdateParamsSettingsTreasuryTosAcceptance(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the account representative accepted the service agreement. """ ip: NotRequired[str] """ The IP address from which the account representative accepted the service agreement. """ user_agent: NotRequired["Literal['']|str"] """ The user agent of the browser from which the account representative accepted the service agreement. """ class AccountUpdateParamsTosAcceptance(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the account representative accepted their service agreement. """ ip: NotRequired[str] """ The IP address from which the account representative accepted their service agreement. """ service_agreement: NotRequired[str] """ The user's service agreement type. """ user_agent: NotRequired[str] """ The user agent of the browser from which the account representative accepted their service agreement. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.345062 stripe-13.2.0/stripe/params/_apple_pay_domain_create_params.py0000644000000000000000000000055715102753431021532 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ApplePayDomainCreateParams(RequestOptions): domain_name: str expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_apple_pay_domain_delete_params.py0000644000000000000000000000025715102753431021526 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class ApplePayDomainDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_apple_pay_domain_list_params.py0000644000000000000000000000232615102753431021236 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ApplePayDomainListParams(RequestOptions): domain_name: NotRequired[str] ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_apple_pay_domain_retrieve_params.py0000644000000000000000000000053415102753431022107 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ApplePayDomainRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_application_fee_create_refund_params.py0000644000000000000000000000167115102753431022714 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import NotRequired class ApplicationFeeCreateRefundParams(RequestOptions): amount: NotRequired[int] """ A positive integer, in _cents (or local equivalent)_, representing how much of this fee to refund. Can refund only up to the remaining unrefunded amount of the fee. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_application_fee_list_params.py0000644000000000000000000000354315102753431021061 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class ApplicationFeeListParams(RequestOptions): charge: NotRequired[str] """ Only return application fees for the charge specified by this charge ID. """ created: NotRequired["ApplicationFeeListParamsCreated|int"] """ Only return applications fees that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class ApplicationFeeListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_application_fee_list_refunds_params.py0000644000000000000000000000227315102753431022606 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ApplicationFeeListRefundsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_application_fee_modify_refund_params.py0000644000000000000000000000137215102753431022736 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class ApplicationFeeModifyRefundParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_application_fee_refund_create_params.py0000644000000000000000000000161415102753431022711 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import NotRequired, TypedDict class ApplicationFeeRefundCreateParams(TypedDict): amount: NotRequired[int] """ A positive integer, in _cents (or local equivalent)_, representing how much of this fee to refund. Can refund only up to the remaining unrefunded amount of the fee. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_application_fee_refund_list_params.py0000644000000000000000000000221515102753431022417 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class ApplicationFeeRefundListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_application_fee_refund_params.py0000644000000000000000000000166315102753431021372 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import NotRequired class ApplicationFeeRefundParams(RequestOptions): amount: NotRequired[int] """ A positive integer, in _cents (or local equivalent)_, representing how much of this fee to refund. Can refund only up to the remaining unrefunded amount of the fee. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_application_fee_refund_retrieve_params.py0000644000000000000000000000046515102753431023276 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class ApplicationFeeRefundRetrieveParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_application_fee_refund_update_params.py0000644000000000000000000000131515102753431022726 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class ApplicationFeeRefundUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_application_fee_retrieve_params.py0000644000000000000000000000053415102753431021730 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ApplicationFeeRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_application_fee_retrieve_refund_params.py0000644000000000000000000000054215102753431023272 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ApplicationFeeRetrieveRefundParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_balance_retrieve_params.py0000644000000000000000000000052515102753431020173 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class BalanceRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_balance_settings_modify_params.py0000644000000000000000000000715315102753431021561 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict class BalanceSettingsModifyParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ payments: NotRequired["BalanceSettingsModifyParamsPayments"] """ Settings that apply to the [Payments Balance](https://docs.stripe.com/api/balance). """ class BalanceSettingsModifyParamsPayments(TypedDict): debit_negative_balances: NotRequired[bool] """ A Boolean indicating whether Stripe should try to reclaim negative balances from an attached bank account. For details, see [Understanding Connect Account Balances](https://docs.stripe.com/connect/account-balances). """ payouts: NotRequired["BalanceSettingsModifyParamsPaymentsPayouts"] """ Settings specific to the account's payouts. """ settlement_timing: NotRequired[ "BalanceSettingsModifyParamsPaymentsSettlementTiming" ] """ Settings related to the account's balance settlement timing. """ class BalanceSettingsModifyParamsPaymentsPayouts(TypedDict): minimum_balance_by_currency: NotRequired[ "Literal['']|Dict[str, Union[Literal[''], int]]" ] """ The minimum balance amount to retain per currency after automatic payouts. Only funds that exceed these amounts are paid out. Learn more about the [minimum balances for automatic payouts](https://docs.stripe.com/payouts/minimum-balances-for-automatic-payouts). """ schedule: NotRequired["BalanceSettingsModifyParamsPaymentsPayoutsSchedule"] """ Details on when funds from charges are available, and when they are paid out to an external account. For details, see our [Setting Bank and Debit Card Payouts](https://docs.stripe.com/connect/bank-transfers#payout-information) documentation. """ statement_descriptor: NotRequired[str] """ The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard. """ class BalanceSettingsModifyParamsPaymentsPayoutsSchedule(TypedDict): interval: NotRequired[Literal["daily", "manual", "monthly", "weekly"]] """ How frequently available funds are paid out. One of: `daily`, `manual`, `weekly`, or `monthly`. Default is `daily`. """ monthly_payout_days: NotRequired[List[int]] """ The days of the month when available funds are paid out, specified as an array of numbers between 1--31. Payouts nominally scheduled between the 29th and 31st of the month are instead sent on the last day of a shorter month. Required and applicable only if `interval` is `monthly`. """ weekly_payout_days: NotRequired[ List[Literal["friday", "monday", "thursday", "tuesday", "wednesday"]] ] """ The days of the week when available funds are paid out, specified as an array, e.g., [`monday`, `tuesday`]. Required and applicable only if `interval` is `weekly`. """ class BalanceSettingsModifyParamsPaymentsSettlementTiming(TypedDict): delay_days_override: NotRequired["Literal['']|int"] """ Change `delay_days` for this account, which determines the number of days charge funds are held before becoming available. The maximum value is 31. Passing an empty string to `delay_days_override` will return `delay_days` to the default, which is the lowest available value for the account. [Learn more about controlling delay days](https://docs.stripe.com/connect/manage-payout-schedule). """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_balance_settings_retrieve_params.py0000644000000000000000000000053515102753431022114 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class BalanceSettingsRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3460622 stripe-13.2.0/stripe/params/_balance_settings_update_params.py0000644000000000000000000000706315102753431021554 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict class BalanceSettingsUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ payments: NotRequired["BalanceSettingsUpdateParamsPayments"] """ Settings that apply to the [Payments Balance](https://docs.stripe.com/api/balance). """ class BalanceSettingsUpdateParamsPayments(TypedDict): debit_negative_balances: NotRequired[bool] """ A Boolean indicating whether Stripe should try to reclaim negative balances from an attached bank account. For details, see [Understanding Connect Account Balances](https://docs.stripe.com/connect/account-balances). """ payouts: NotRequired["BalanceSettingsUpdateParamsPaymentsPayouts"] """ Settings specific to the account's payouts. """ settlement_timing: NotRequired[ "BalanceSettingsUpdateParamsPaymentsSettlementTiming" ] """ Settings related to the account's balance settlement timing. """ class BalanceSettingsUpdateParamsPaymentsPayouts(TypedDict): minimum_balance_by_currency: NotRequired[ "Literal['']|Dict[str, Union[Literal[''], int]]" ] """ The minimum balance amount to retain per currency after automatic payouts. Only funds that exceed these amounts are paid out. Learn more about the [minimum balances for automatic payouts](https://docs.stripe.com/payouts/minimum-balances-for-automatic-payouts). """ schedule: NotRequired["BalanceSettingsUpdateParamsPaymentsPayoutsSchedule"] """ Details on when funds from charges are available, and when they are paid out to an external account. For details, see our [Setting Bank and Debit Card Payouts](https://docs.stripe.com/connect/bank-transfers#payout-information) documentation. """ statement_descriptor: NotRequired[str] """ The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard. """ class BalanceSettingsUpdateParamsPaymentsPayoutsSchedule(TypedDict): interval: NotRequired[Literal["daily", "manual", "monthly", "weekly"]] """ How frequently available funds are paid out. One of: `daily`, `manual`, `weekly`, or `monthly`. Default is `daily`. """ monthly_payout_days: NotRequired[List[int]] """ The days of the month when available funds are paid out, specified as an array of numbers between 1--31. Payouts nominally scheduled between the 29th and 31st of the month are instead sent on the last day of a shorter month. Required and applicable only if `interval` is `monthly`. """ weekly_payout_days: NotRequired[ List[Literal["friday", "monday", "thursday", "tuesday", "wednesday"]] ] """ The days of the week when available funds are paid out, specified as an array, e.g., [`monday`, `tuesday`]. Required and applicable only if `interval` is `weekly`. """ class BalanceSettingsUpdateParamsPaymentsSettlementTiming(TypedDict): delay_days_override: NotRequired["Literal['']|int"] """ Change `delay_days` for this account, which determines the number of days charge funds are held before becoming available. The maximum value is 31. Passing an empty string to `delay_days_override` will return `delay_days` to the default, which is the lowest available value for the account. [Learn more about controlling delay days](https://docs.stripe.com/connect/manage-payout-schedule). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.347062 stripe-13.2.0/stripe/params/_balance_transaction_list_params.py0000644000000000000000000000637715102753431021741 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class BalanceTransactionListParams(RequestOptions): created: NotRequired["BalanceTransactionListParamsCreated|int"] """ Only return transactions that were created during the given date interval. """ currency: NotRequired[str] """ Only return transactions in a certain currency. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ payout: NotRequired[str] """ For automatic Stripe payouts only, only returns transactions that were paid out on the specified payout ID. """ source: NotRequired[str] """ Only returns the original transaction. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ type: NotRequired[str] """ Only returns transactions of the given type. One of: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `climate_order_purchase`, `climate_order_refund`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `obligation_outbound`, `obligation_reversal_inbound`, `payment`, `payment_failure_refund`, `payment_network_reserve_hold`, `payment_network_reserve_release`, `payment_refund`, `payment_reversal`, `payment_unreconciled`, `payout`, `payout_cancel`, `payout_failure`, `payout_minimum_balance_hold`, `payout_minimum_balance_release`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `stripe_balance_payment_debit`, `stripe_balance_payment_debit_reversal`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. """ class BalanceTransactionListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.347062 stripe-13.2.0/stripe/params/_balance_transaction_retrieve_params.py0000644000000000000000000000054015102753431022575 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class BalanceTransactionRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.347062 stripe-13.2.0/stripe/params/_bank_account_delete_params.py0000644000000000000000000000025415102753431020651 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class BankAccountDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.347062 stripe-13.2.0/stripe/params/_card_delete_params.py0000644000000000000000000000024515102753431017133 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class CardDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.347062 stripe-13.2.0/stripe/params/_charge_capture_params.py0000644000000000000000000000540715102753431017661 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class ChargeCaptureParams(RequestOptions): amount: NotRequired[int] """ The amount to capture, which must be less than or equal to the original amount. """ application_fee: NotRequired[int] """ An application fee to add on to this charge. """ application_fee_amount: NotRequired[int] """ An application fee amount to add on to this charge, which must be less than or equal to the original amount. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ receipt_email: NotRequired[str] """ The email address to send this charge's receipt to. This will override the previously-specified email address for this charge, if one was set. Receipts will not be sent in test mode. """ statement_descriptor: NotRequired[str] """ For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). For a card charge, this value is ignored unless you don't specify a `statement_descriptor_suffix`, in which case this value is used as the suffix. """ statement_descriptor_suffix: NotRequired[str] """ Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor. """ transfer_data: NotRequired["ChargeCaptureParamsTransferData"] """ An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details. """ transfer_group: NotRequired[str] """ A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. """ class ChargeCaptureParamsTransferData(TypedDict): amount: NotRequired[int] """ The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.347062 stripe-13.2.0/stripe/params/_charge_create_params.py0000644000000000000000000002114115102753431017452 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class ChargeCreateParams(RequestOptions): amount: NotRequired[int] """ Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). """ application_fee: NotRequired[int] application_fee_amount: NotRequired[int] """ A fee in cents (or local equivalent) that will be applied to the charge and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the `Stripe-Account` header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/connect/direct-charges#collect-fees). """ capture: NotRequired[bool] """ Whether to immediately capture the charge. Defaults to `true`. When `false`, the charge issues an authorization (or pre-authorization), and will need to be [captured](https://stripe.com/docs/api#capture_charge) later. Uncaptured charges expire after a set number of days (7 by default). For more information, see the [authorizing charges and settling later](https://stripe.com/docs/charges/placing-a-hold) documentation. """ currency: NotRequired[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: NotRequired[str] """ The ID of an existing customer that will be charged in this request. """ description: NotRequired[str] """ An arbitrary string which you can attach to a `Charge` object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing. """ destination: NotRequired["ChargeCreateParamsDestination"] expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ on_behalf_of: NotRequired[str] """ The Stripe account ID for which these funds are intended. Automatically set if you use the `destination` parameter. For details, see [Creating Separate Charges and Transfers](https://stripe.com/docs/connect/separate-charges-and-transfers#settlement-merchant). """ radar_options: NotRequired["ChargeCreateParamsRadarOptions"] """ Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. """ receipt_email: NotRequired[str] """ The email address to which this charge's [receipt](https://stripe.com/docs/dashboard/receipts) will be sent. The receipt will not be sent until the charge is paid, and no receipts will be sent for test mode charges. If this charge is for a [Customer](https://stripe.com/docs/api/customers/object), the email address specified here will override the customer's email address. If `receipt_email` is specified for a charge in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). """ shipping: NotRequired["ChargeCreateParamsShipping"] """ Shipping information for the charge. Helps prevent fraud on charges for physical goods. """ source: NotRequired[str] """ A payment source to be charged. This can be the ID of a [card](https://stripe.com/docs/api#cards) (i.e., credit or debit card), a [bank account](https://stripe.com/docs/api#bank_accounts), a [source](https://stripe.com/docs/api#sources), a [token](https://stripe.com/docs/api#tokens), or a [connected account](https://stripe.com/docs/connect/account-debits#charging-a-connected-account). For certain sources---namely, [cards](https://stripe.com/docs/api#cards), [bank accounts](https://stripe.com/docs/api#bank_accounts), and attached [sources](https://stripe.com/docs/api#sources)---you must also pass the ID of the associated customer. """ statement_descriptor: NotRequired[str] """ For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). For a card charge, this value is ignored unless you don't specify a `statement_descriptor_suffix`, in which case this value is used as the suffix. """ statement_descriptor_suffix: NotRequired[str] """ Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor. """ transfer_data: NotRequired["ChargeCreateParamsTransferData"] """ An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details. """ transfer_group: NotRequired[str] """ A string that identifies this transaction as part of a group. For details, see [Grouping transactions](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options). """ class ChargeCreateParamsDestination(TypedDict): account: str """ ID of an existing, connected Stripe account. """ amount: NotRequired[int] """ The amount to transfer to the destination account without creating an `Application Fee` object. Cannot be combined with the `application_fee` parameter. Must be less than or equal to the charge amount. """ class ChargeCreateParamsRadarOptions(TypedDict): session: NotRequired[str] """ 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. """ class ChargeCreateParamsShipping(TypedDict): address: "ChargeCreateParamsShippingAddress" """ Shipping address. """ carrier: NotRequired[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: str """ Recipient name. """ phone: NotRequired[str] """ Recipient phone (including extension). """ tracking_number: NotRequired[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ class ChargeCreateParamsShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class ChargeCreateParamsTransferData(TypedDict): amount: NotRequired[int] """ The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account. """ destination: str """ ID of an existing, connected Stripe account. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.347062 stripe-13.2.0/stripe/params/_charge_list_params.py0000644000000000000000000000411415102753431017163 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class ChargeListParams(RequestOptions): created: NotRequired["ChargeListParamsCreated|int"] """ Only return charges that were created during the given date interval. """ customer: NotRequired[str] """ Only return charges for the customer specified by this customer ID. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ payment_intent: NotRequired[str] """ Only return charges that were created by the PaymentIntent specified by this PaymentIntent ID. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ transfer_group: NotRequired[str] """ Only return charges for this transfer group, limited to 100. """ class ChargeListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.347062 stripe-13.2.0/stripe/params/_charge_list_refunds_params.py0000644000000000000000000000226315102753431020714 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ChargeListRefundsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.347062 stripe-13.2.0/stripe/params/_charge_modify_params.py0000644000000000000000000000756015102753431017507 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict class ChargeModifyParams(RequestOptions): customer: NotRequired[str] """ The ID of an existing customer that will be associated with this request. This field may only be updated if there is no existing associated customer with this charge. """ description: NotRequired[str] """ An arbitrary string which you can attach to a charge object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ fraud_details: NotRequired["ChargeModifyParamsFraudDetails"] """ A set of key-value pairs you can attach to a charge giving information about its riskiness. If you believe a charge is fraudulent, include a `user_report` key with a value of `fraudulent`. If you believe a charge is safe, include a `user_report` key with a value of `safe`. Stripe will use the information you send to improve our fraud detection algorithms. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ receipt_email: NotRequired[str] """ This is the email address that the receipt for this charge will be sent to. If this field is updated, then a new email receipt will be sent to the updated address. """ shipping: NotRequired["ChargeModifyParamsShipping"] """ Shipping information for the charge. Helps prevent fraud on charges for physical goods. """ transfer_group: NotRequired[str] """ A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. """ class ChargeModifyParamsFraudDetails(TypedDict): user_report: Union[Literal[""], Literal["fraudulent", "safe"]] """ Either `safe` or `fraudulent`. """ class ChargeModifyParamsShipping(TypedDict): address: "ChargeModifyParamsShippingAddress" """ Shipping address. """ carrier: NotRequired[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: str """ Recipient name. """ phone: NotRequired[str] """ Recipient phone (including extension). """ tracking_number: NotRequired[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ class ChargeModifyParamsShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.347062 stripe-13.2.0/stripe/params/_charge_retrieve_params.py0000644000000000000000000000052415102753431020036 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ChargeRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.347062 stripe-13.2.0/stripe/params/_charge_retrieve_refund_params.py0000644000000000000000000000053215102753431021400 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ChargeRetrieveRefundParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.347062 stripe-13.2.0/stripe/params/_charge_search_params.py0000644000000000000000000000173215102753431017460 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ChargeSearchParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ page: NotRequired[str] """ A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. """ query: str """ The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for charges](https://stripe.com/docs/search#query-fields-for-charges). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.347062 stripe-13.2.0/stripe/params/_charge_update_params.py0000644000000000000000000000747015102753431017502 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict class ChargeUpdateParams(TypedDict): customer: NotRequired[str] """ The ID of an existing customer that will be associated with this request. This field may only be updated if there is no existing associated customer with this charge. """ description: NotRequired[str] """ An arbitrary string which you can attach to a charge object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ fraud_details: NotRequired["ChargeUpdateParamsFraudDetails"] """ A set of key-value pairs you can attach to a charge giving information about its riskiness. If you believe a charge is fraudulent, include a `user_report` key with a value of `fraudulent`. If you believe a charge is safe, include a `user_report` key with a value of `safe`. Stripe will use the information you send to improve our fraud detection algorithms. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ receipt_email: NotRequired[str] """ This is the email address that the receipt for this charge will be sent to. If this field is updated, then a new email receipt will be sent to the updated address. """ shipping: NotRequired["ChargeUpdateParamsShipping"] """ Shipping information for the charge. Helps prevent fraud on charges for physical goods. """ transfer_group: NotRequired[str] """ A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. """ class ChargeUpdateParamsFraudDetails(TypedDict): user_report: Union[Literal[""], Literal["fraudulent", "safe"]] """ Either `safe` or `fraudulent`. """ class ChargeUpdateParamsShipping(TypedDict): address: "ChargeUpdateParamsShippingAddress" """ Shipping address. """ carrier: NotRequired[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: str """ Recipient name. """ phone: NotRequired[str] """ Recipient phone (including extension). """ tracking_number: NotRequired[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ class ChargeUpdateParamsShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_confirmation_token_create_params.py0000644000000000000000000006762115102753431022126 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class ConfirmationTokenCreateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ payment_method: NotRequired[str] """ ID of an existing PaymentMethod. """ payment_method_data: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodData" ] """ If provided, this hash will be used to create a PaymentMethod. """ payment_method_options: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodOptions" ] """ Payment-method-specific configuration for this ConfirmationToken. """ return_url: NotRequired[str] """ Return URL used to confirm the Intent. """ setup_future_usage: NotRequired[Literal["off_session", "on_session"]] """ Indicates that you intend to make future payments with this ConfirmationToken's payment method. The presence of this property will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. """ shipping: NotRequired["ConfirmationTokenCreateParamsShipping"] """ Shipping information for this ConfirmationToken. """ class ConfirmationTokenCreateParamsPaymentMethodData(TypedDict): acss_debit: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataAcssDebit" ] """ If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method. """ affirm: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataAffirm"] """ If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method. """ afterpay_clearpay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataAfterpayClearpay" ] """ If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method. """ alipay: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataAlipay"] """ If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method. """ allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. """ alma: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataAlma"] """ If this is a Alma PaymentMethod, this hash contains details about the Alma payment method. """ amazon_pay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataAmazonPay" ] """ If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method. """ au_becs_debit: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataAuBecsDebit" ] """ If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account. """ bacs_debit: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataBacsDebit" ] """ If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account. """ bancontact: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataBancontact" ] """ If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method. """ billie: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataBillie"] """ If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method. """ billing_details: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataBillingDetails" ] """ Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. """ blik: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataBlik"] """ If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method. """ boleto: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataBoleto"] """ If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method. """ cashapp: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataCashapp" ] """ If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method. """ crypto: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataCrypto"] """ If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method. """ customer_balance: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataCustomerBalance" ] """ If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method. """ eps: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataEps"] """ If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method. """ fpx: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataFpx"] """ If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method. """ giropay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataGiropay" ] """ If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method. """ grabpay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataGrabpay" ] """ If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method. """ ideal: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataIdeal"] """ If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method. """ interac_present: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataInteracPresent" ] """ If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method. """ kakao_pay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataKakaoPay" ] """ If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method. """ klarna: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataKlarna"] """ If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method. """ konbini: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataKonbini" ] """ If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method. """ kr_card: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataKrCard" ] """ If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method. """ link: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataLink"] """ If this is an `Link` PaymentMethod, this hash contains details about the Link payment method. """ mb_way: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataMbWay"] """ If this is a MB WAY PaymentMethod, this hash contains details about the MB WAY payment method. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ mobilepay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataMobilepay" ] """ If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method. """ multibanco: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataMultibanco" ] """ If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method. """ naver_pay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataNaverPay" ] """ If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method. """ nz_bank_account: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataNzBankAccount" ] """ If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method. """ oxxo: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataOxxo"] """ If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method. """ p24: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataP24"] """ If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method. """ pay_by_bank: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataPayByBank" ] """ If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method. """ payco: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataPayco"] """ If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method. """ paynow: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataPaynow"] """ If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method. """ paypal: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataPaypal"] """ If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method. """ pix: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataPix"] """ If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method. """ promptpay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataPromptpay" ] """ If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method. """ radar_options: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataRadarOptions" ] """ Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. """ revolut_pay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataRevolutPay" ] """ If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method. """ samsung_pay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataSamsungPay" ] """ If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method. """ satispay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataSatispay" ] """ If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method. """ sepa_debit: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataSepaDebit" ] """ If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account. """ sofort: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataSofort"] """ If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method. """ swish: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataSwish"] """ If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method. """ twint: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataTwint"] """ If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method. """ type: Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] """ 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. """ us_bank_account: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount" ] """ If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. """ wechat_pay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataWechatPay" ] """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ zip: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. """ class ConfirmationTokenCreateParamsPaymentMethodDataAcssDebit(TypedDict): account_number: str """ Customer's bank account number. """ institution_number: str """ Institution number of the customer's bank. """ transit_number: str """ Transit number of the customer's bank. """ class ConfirmationTokenCreateParamsPaymentMethodDataAffirm(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataAfterpayClearpay( TypedDict ): pass class ConfirmationTokenCreateParamsPaymentMethodDataAlipay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataAlma(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataAmazonPay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataAuBecsDebit(TypedDict): account_number: str """ The account number for the bank account. """ bsb_number: str """ Bank-State-Branch number of the bank account. """ class ConfirmationTokenCreateParamsPaymentMethodDataBacsDebit(TypedDict): account_number: NotRequired[str] """ Account number of the bank account that the funds will be debited from. """ sort_code: NotRequired[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class ConfirmationTokenCreateParamsPaymentMethodDataBancontact(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataBillie(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataBillingDetails(TypedDict): address: NotRequired[ "Literal['']|ConfirmationTokenCreateParamsPaymentMethodDataBillingDetailsAddress" ] """ Billing address. """ email: NotRequired["Literal['']|str"] """ Email address. """ name: NotRequired["Literal['']|str"] """ Full name. """ phone: NotRequired["Literal['']|str"] """ Billing phone number (including extension). """ tax_id: NotRequired[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ class ConfirmationTokenCreateParamsPaymentMethodDataBillingDetailsAddress( TypedDict, ): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class ConfirmationTokenCreateParamsPaymentMethodDataBlik(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataBoleto(TypedDict): tax_id: str """ The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers) """ class ConfirmationTokenCreateParamsPaymentMethodDataCashapp(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataCrypto(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataCustomerBalance(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataEps(TypedDict): bank: NotRequired[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. """ class ConfirmationTokenCreateParamsPaymentMethodDataFpx(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type for FPX transaction """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank. """ class ConfirmationTokenCreateParamsPaymentMethodDataGiropay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataGrabpay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataIdeal(TypedDict): bank: NotRequired[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank. Only use this parameter for existing customers. Don't use it for new customers. """ class ConfirmationTokenCreateParamsPaymentMethodDataInteracPresent(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataKakaoPay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataKlarna(TypedDict): dob: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataKlarnaDob"] """ Customer's date of birth """ class ConfirmationTokenCreateParamsPaymentMethodDataKlarnaDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class ConfirmationTokenCreateParamsPaymentMethodDataKonbini(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataKrCard(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataLink(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataMbWay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataMobilepay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataMultibanco(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataNaverPay(TypedDict): funding: NotRequired[Literal["card", "points"]] """ Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`. """ class ConfirmationTokenCreateParamsPaymentMethodDataNzBankAccount(TypedDict): account_holder_name: NotRequired[str] """ The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ account_number: str """ The account number for the bank account. """ bank_code: str """ The numeric code for the bank account's bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ reference: NotRequired[str] suffix: str """ The suffix of the bank account number. """ class ConfirmationTokenCreateParamsPaymentMethodDataOxxo(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataP24(TypedDict): bank: NotRequired[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank. """ class ConfirmationTokenCreateParamsPaymentMethodDataPayByBank(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataPayco(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataPaynow(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataPaypal(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataPix(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataPromptpay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataRadarOptions(TypedDict): session: NotRequired[str] """ 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. """ class ConfirmationTokenCreateParamsPaymentMethodDataRevolutPay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataSamsungPay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataSatispay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataSepaDebit(TypedDict): iban: str """ IBAN of the bank account. """ class ConfirmationTokenCreateParamsPaymentMethodDataSofort(TypedDict): country: Literal["AT", "BE", "DE", "ES", "IT", "NL"] """ Two-letter ISO code representing the country the bank account is located in. """ class ConfirmationTokenCreateParamsPaymentMethodDataSwish(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataTwint(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_number: NotRequired[str] """ Account number of the bank account. """ account_type: NotRequired[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. """ routing_number: NotRequired[str] """ Routing number of the bank account. """ class ConfirmationTokenCreateParamsPaymentMethodDataWechatPay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataZip(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodOptions(TypedDict): card: NotRequired["ConfirmationTokenCreateParamsPaymentMethodOptionsCard"] """ Configuration for any card payments confirmed using this ConfirmationToken. """ class ConfirmationTokenCreateParamsPaymentMethodOptionsCard(TypedDict): installments: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallments" ] """ Installment configuration for payments confirmed using this ConfirmationToken. """ class ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallments( TypedDict, ): plan: ( "ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallmentsPlan" ) """ The selected installment plan to use for this payment attempt. This parameter can only be provided during confirmation. """ class ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallmentsPlan( TypedDict, ): count: NotRequired[int] """ For `fixed_count` installment plans, this is required. It represents the number of installment payments your customer will make to their credit card. """ interval: NotRequired[Literal["month"]] """ For `fixed_count` installment plans, this is required. It represents the interval between installment payments your customer will make to their credit card. One of `month`. """ type: Literal["bonus", "fixed_count", "revolving"] """ Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`. """ class ConfirmationTokenCreateParamsShipping(TypedDict): address: "ConfirmationTokenCreateParamsShippingAddress" """ Shipping address """ name: str """ Recipient name. """ phone: NotRequired["Literal['']|str"] """ Recipient phone (including extension) """ class ConfirmationTokenCreateParamsShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_confirmation_token_retrieve_params.py0000644000000000000000000000053715102753431022501 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ConfirmationTokenRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_country_spec_list_params.py0000644000000000000000000000226115102753431020450 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CountrySpecListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_country_spec_retrieve_params.py0000644000000000000000000000053115102753431021320 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CountrySpecRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_coupon_create_params.py0000644000000000000000000000667115102753431017537 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CouponCreateParams(RequestOptions): amount_off: NotRequired[int] """ A positive integer representing the amount to subtract from an invoice total (required if `percent_off` is not passed). """ applies_to: NotRequired["CouponCreateParamsAppliesTo"] """ A hash containing directions for what this Coupon will apply discounts to. """ currency: NotRequired[str] """ Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the `amount_off` parameter (required if `amount_off` is passed). """ currency_options: NotRequired[ Dict[str, "CouponCreateParamsCurrencyOptions"] ] """ Coupons defined in each available currency option (only supported if `amount_off` is passed). Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ duration: NotRequired[Literal["forever", "once", "repeating"]] """ Specifies how long the discount will be in effect if used on a subscription. Defaults to `once`. """ duration_in_months: NotRequired[int] """ Required only if `duration` is `repeating`, in which case it must be a positive integer that specifies the number of months the discount will be in effect. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ id: NotRequired[str] """ Unique string of your choice that will be used to identify this coupon when applying it to a customer. If you don't want to specify a particular code, you can leave the ID blank and we'll generate a random code for you. """ max_redemptions: NotRequired[int] """ A positive integer specifying the number of times the coupon can be redeemed before it's no longer valid. For example, you might have a 50% off coupon that the first 20 readers of your blog can use. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired[str] """ Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set. """ percent_off: NotRequired[float] """ A positive float larger than 0, and smaller or equal to 100, that represents the discount the coupon will apply (required if `amount_off` is not passed). """ redeem_by: NotRequired[int] """ Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers. """ class CouponCreateParamsAppliesTo(TypedDict): products: NotRequired[List[str]] """ An array of Product IDs that this Coupon will apply to. """ class CouponCreateParamsCurrencyOptions(TypedDict): amount_off: int """ A positive integer representing the amount to subtract from an invoice total. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_coupon_delete_params.py0000644000000000000000000000024715102753431017527 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class CouponDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_coupon_list_params.py0000644000000000000000000000347215102753431017243 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class CouponListParams(RequestOptions): created: NotRequired["CouponListParamsCreated|int"] """ A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class CouponListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_coupon_modify_params.py0000644000000000000000000000272315102753431017555 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CouponModifyParams(RequestOptions): currency_options: NotRequired[ Dict[str, "CouponModifyParamsCurrencyOptions"] ] """ Coupons defined in each available currency option (only supported if the coupon is amount-based). Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired[str] """ Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set. """ class CouponModifyParamsCurrencyOptions(TypedDict): amount_off: int """ A positive integer representing the amount to subtract from an invoice total. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_coupon_retrieve_params.py0000644000000000000000000000052415102753431020110 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CouponRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_coupon_update_params.py0000644000000000000000000000263315102753431017550 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CouponUpdateParams(TypedDict): currency_options: NotRequired[ Dict[str, "CouponUpdateParamsCurrencyOptions"] ] """ Coupons defined in each available currency option (only supported if the coupon is amount-based). Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired[str] """ Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set. """ class CouponUpdateParamsCurrencyOptions(TypedDict): amount_off: int """ A positive integer representing the amount to subtract from an invoice total. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_credit_note_create_params.py0000644000000000000000000001464615102753431020534 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CreditNoteCreateParams(RequestOptions): amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the total amount of the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided. """ credit_amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice. """ effective_at: NotRequired[int] """ The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF. """ email_type: NotRequired[Literal["credit_note", "none"]] """ Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice: str """ ID of the invoice. """ lines: NotRequired[List["CreditNoteCreateParamsLine"]] """ Line items that make up the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided. """ memo: NotRequired[str] """ The credit note's memo appears on the credit note PDF. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ out_of_band_amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe. """ reason: NotRequired[ Literal[ "duplicate", "fraudulent", "order_change", "product_unsatisfactory" ] ] """ Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory` """ refund_amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice. """ refunds: NotRequired[List["CreditNoteCreateParamsRefund"]] """ Refunds to link to this credit note. """ shipping_cost: NotRequired["CreditNoteCreateParamsShippingCost"] """ When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided. """ class CreditNoteCreateParamsLine(TypedDict): amount: NotRequired[int] """ The line item amount to credit. Only valid when `type` is `invoice_line_item`. If invoice is set up with `automatic_tax[enabled]=true`, this amount is tax exclusive """ description: NotRequired[str] """ The description of the credit note line item. Only valid when the `type` is `custom_line_item`. """ invoice_line_item: NotRequired[str] """ The invoice line item to credit. Only valid when the `type` is `invoice_line_item`. """ quantity: NotRequired[int] """ The line item quantity to credit. """ tax_amounts: NotRequired[ "Literal['']|List[CreditNoteCreateParamsLineTaxAmount]" ] """ A list of up to 10 tax amounts for the credit note line item. Cannot be mixed with `tax_rates`. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the credit note line item. Only valid when the `type` is `custom_line_item` and cannot be mixed with `tax_amounts`. """ type: Literal["custom_line_item", "invoice_line_item"] """ Type of the credit note line item, one of `invoice_line_item` or `custom_line_item` """ unit_amount: NotRequired[int] """ The integer unit amount in cents (or local equivalent) of the credit note line item. This `unit_amount` will be multiplied by the quantity to get the full amount to credit for this line item. Only valid when `type` is `custom_line_item`. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class CreditNoteCreateParamsLineTaxAmount(TypedDict): amount: int """ The amount, in cents (or local equivalent), of the tax. """ tax_rate: str """ The id of the tax rate for this tax amount. The tax rate must have been automatically created by Stripe. """ taxable_amount: int """ The amount on which tax is calculated, in cents (or local equivalent). """ class CreditNoteCreateParamsRefund(TypedDict): amount_refunded: NotRequired[int] """ Amount of the refund that applies to this credit note, in cents (or local equivalent). Defaults to the entire refund amount. """ payment_record_refund: NotRequired[ "CreditNoteCreateParamsRefundPaymentRecordRefund" ] """ The PaymentRecord refund details to link to this credit note. Required when `type` is `payment_record_refund`. """ refund: NotRequired[str] """ ID of an existing refund to link this credit note to. Required when `type` is `refund`. """ type: NotRequired[Literal["payment_record_refund", "refund"]] """ Type of the refund, one of `refund` or `payment_record_refund`. Defaults to `refund`. """ class CreditNoteCreateParamsRefundPaymentRecordRefund(TypedDict): payment_record: str """ The ID of the PaymentRecord with the refund to link to this credit note. """ refund_group: str """ The PaymentRecord refund group to link to this credit note. For refunds processed off-Stripe, this will correspond to the `processor_details.custom.refund_reference` field provided when reporting the refund on the PaymentRecord. """ class CreditNoteCreateParamsShippingCost(TypedDict): shipping_rate: NotRequired[str] """ The ID of the shipping rate to use for this order. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_credit_note_line_item_list_params.py0000644000000000000000000000221315102753431022254 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CreditNoteLineItemListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_credit_note_list_lines_params.py0000644000000000000000000000226515102753431021430 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CreditNoteListLinesParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_credit_note_list_params.py0000644000000000000000000000371515102753431020237 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class CreditNoteListParams(RequestOptions): created: NotRequired["CreditNoteListParamsCreated|int"] """ Only return credit notes that were created during the given date interval. """ customer: NotRequired[str] """ Only return credit notes for the customer specified by this customer ID. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice: NotRequired[str] """ Only return credit notes for the invoice specified by this invoice ID. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class CreditNoteListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_credit_note_modify_params.py0000644000000000000000000000143215102753431020545 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import NotRequired class CreditNoteModifyParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ memo: NotRequired[str] """ Credit note memo. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_credit_note_preview_lines_list_params.py0000644000000000000000000001647015102753431023174 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CreditNotePreviewLinesListParams(TypedDict): amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the total amount of the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided. """ credit_amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice. """ effective_at: NotRequired[int] """ The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF. """ email_type: NotRequired[Literal["credit_note", "none"]] """ Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice: str """ ID of the invoice. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ lines: NotRequired[List["CreditNotePreviewLinesListParamsLine"]] """ Line items that make up the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided. """ memo: NotRequired[str] """ The credit note's memo appears on the credit note PDF. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ out_of_band_amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe. """ reason: NotRequired[ Literal[ "duplicate", "fraudulent", "order_change", "product_unsatisfactory" ] ] """ Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory` """ refund_amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice. """ refunds: NotRequired[List["CreditNotePreviewLinesListParamsRefund"]] """ Refunds to link to this credit note. """ shipping_cost: NotRequired["CreditNotePreviewLinesListParamsShippingCost"] """ When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class CreditNotePreviewLinesListParamsLine(TypedDict): amount: NotRequired[int] """ The line item amount to credit. Only valid when `type` is `invoice_line_item`. If invoice is set up with `automatic_tax[enabled]=true`, this amount is tax exclusive """ description: NotRequired[str] """ The description of the credit note line item. Only valid when the `type` is `custom_line_item`. """ invoice_line_item: NotRequired[str] """ The invoice line item to credit. Only valid when the `type` is `invoice_line_item`. """ quantity: NotRequired[int] """ The line item quantity to credit. """ tax_amounts: NotRequired[ "Literal['']|List[CreditNotePreviewLinesListParamsLineTaxAmount]" ] """ A list of up to 10 tax amounts for the credit note line item. Cannot be mixed with `tax_rates`. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the credit note line item. Only valid when the `type` is `custom_line_item` and cannot be mixed with `tax_amounts`. """ type: Literal["custom_line_item", "invoice_line_item"] """ Type of the credit note line item, one of `invoice_line_item` or `custom_line_item` """ unit_amount: NotRequired[int] """ The integer unit amount in cents (or local equivalent) of the credit note line item. This `unit_amount` will be multiplied by the quantity to get the full amount to credit for this line item. Only valid when `type` is `custom_line_item`. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class CreditNotePreviewLinesListParamsLineTaxAmount(TypedDict): amount: int """ The amount, in cents (or local equivalent), of the tax. """ tax_rate: str """ The id of the tax rate for this tax amount. The tax rate must have been automatically created by Stripe. """ taxable_amount: int """ The amount on which tax is calculated, in cents (or local equivalent). """ class CreditNotePreviewLinesListParamsRefund(TypedDict): amount_refunded: NotRequired[int] """ Amount of the refund that applies to this credit note, in cents (or local equivalent). Defaults to the entire refund amount. """ payment_record_refund: NotRequired[ "CreditNotePreviewLinesListParamsRefundPaymentRecordRefund" ] """ The PaymentRecord refund details to link to this credit note. Required when `type` is `payment_record_refund`. """ refund: NotRequired[str] """ ID of an existing refund to link this credit note to. Required when `type` is `refund`. """ type: NotRequired[Literal["payment_record_refund", "refund"]] """ Type of the refund, one of `refund` or `payment_record_refund`. Defaults to `refund`. """ class CreditNotePreviewLinesListParamsRefundPaymentRecordRefund(TypedDict): payment_record: str """ The ID of the PaymentRecord with the refund to link to this credit note. """ refund_group: str """ The PaymentRecord refund group to link to this credit note. For refunds processed off-Stripe, this will correspond to the `processor_details.custom.refund_reference` field provided when reporting the refund on the PaymentRecord. """ class CreditNotePreviewLinesListParamsShippingCost(TypedDict): shipping_rate: NotRequired[str] """ The ID of the shipping rate to use for this order. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_credit_note_preview_lines_params.py0000644000000000000000000001650415102753431022137 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CreditNotePreviewLinesParams(RequestOptions): amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the total amount of the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided. """ credit_amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice. """ effective_at: NotRequired[int] """ The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF. """ email_type: NotRequired[Literal["credit_note", "none"]] """ Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice: str """ ID of the invoice. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ lines: NotRequired[List["CreditNotePreviewLinesParamsLine"]] """ Line items that make up the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided. """ memo: NotRequired[str] """ The credit note's memo appears on the credit note PDF. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ out_of_band_amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe. """ reason: NotRequired[ Literal[ "duplicate", "fraudulent", "order_change", "product_unsatisfactory" ] ] """ Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory` """ refund_amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice. """ refunds: NotRequired[List["CreditNotePreviewLinesParamsRefund"]] """ Refunds to link to this credit note. """ shipping_cost: NotRequired["CreditNotePreviewLinesParamsShippingCost"] """ When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class CreditNotePreviewLinesParamsLine(TypedDict): amount: NotRequired[int] """ The line item amount to credit. Only valid when `type` is `invoice_line_item`. If invoice is set up with `automatic_tax[enabled]=true`, this amount is tax exclusive """ description: NotRequired[str] """ The description of the credit note line item. Only valid when the `type` is `custom_line_item`. """ invoice_line_item: NotRequired[str] """ The invoice line item to credit. Only valid when the `type` is `invoice_line_item`. """ quantity: NotRequired[int] """ The line item quantity to credit. """ tax_amounts: NotRequired[ "Literal['']|List[CreditNotePreviewLinesParamsLineTaxAmount]" ] """ A list of up to 10 tax amounts for the credit note line item. Cannot be mixed with `tax_rates`. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the credit note line item. Only valid when the `type` is `custom_line_item` and cannot be mixed with `tax_amounts`. """ type: Literal["custom_line_item", "invoice_line_item"] """ Type of the credit note line item, one of `invoice_line_item` or `custom_line_item` """ unit_amount: NotRequired[int] """ The integer unit amount in cents (or local equivalent) of the credit note line item. This `unit_amount` will be multiplied by the quantity to get the full amount to credit for this line item. Only valid when `type` is `custom_line_item`. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class CreditNotePreviewLinesParamsLineTaxAmount(TypedDict): amount: int """ The amount, in cents (or local equivalent), of the tax. """ tax_rate: str """ The id of the tax rate for this tax amount. The tax rate must have been automatically created by Stripe. """ taxable_amount: int """ The amount on which tax is calculated, in cents (or local equivalent). """ class CreditNotePreviewLinesParamsRefund(TypedDict): amount_refunded: NotRequired[int] """ Amount of the refund that applies to this credit note, in cents (or local equivalent). Defaults to the entire refund amount. """ payment_record_refund: NotRequired[ "CreditNotePreviewLinesParamsRefundPaymentRecordRefund" ] """ The PaymentRecord refund details to link to this credit note. Required when `type` is `payment_record_refund`. """ refund: NotRequired[str] """ ID of an existing refund to link this credit note to. Required when `type` is `refund`. """ type: NotRequired[Literal["payment_record_refund", "refund"]] """ Type of the refund, one of `refund` or `payment_record_refund`. Defaults to `refund`. """ class CreditNotePreviewLinesParamsRefundPaymentRecordRefund(TypedDict): payment_record: str """ The ID of the PaymentRecord with the refund to link to this credit note. """ refund_group: str """ The PaymentRecord refund group to link to this credit note. For refunds processed off-Stripe, this will correspond to the `processor_details.custom.refund_reference` field provided when reporting the refund on the PaymentRecord. """ class CreditNotePreviewLinesParamsShippingCost(TypedDict): shipping_rate: NotRequired[str] """ The ID of the shipping rate to use for this order. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_credit_note_preview_params.py0000644000000000000000000001466115102753431020747 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CreditNotePreviewParams(RequestOptions): amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the total amount of the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided. """ credit_amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice. """ effective_at: NotRequired[int] """ The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF. """ email_type: NotRequired[Literal["credit_note", "none"]] """ Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice: str """ ID of the invoice. """ lines: NotRequired[List["CreditNotePreviewParamsLine"]] """ Line items that make up the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided. """ memo: NotRequired[str] """ The credit note's memo appears on the credit note PDF. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ out_of_band_amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe. """ reason: NotRequired[ Literal[ "duplicate", "fraudulent", "order_change", "product_unsatisfactory" ] ] """ Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory` """ refund_amount: NotRequired[int] """ The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice. """ refunds: NotRequired[List["CreditNotePreviewParamsRefund"]] """ Refunds to link to this credit note. """ shipping_cost: NotRequired["CreditNotePreviewParamsShippingCost"] """ When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note. One of `amount`, `lines`, or `shipping_cost` must be provided. """ class CreditNotePreviewParamsLine(TypedDict): amount: NotRequired[int] """ The line item amount to credit. Only valid when `type` is `invoice_line_item`. If invoice is set up with `automatic_tax[enabled]=true`, this amount is tax exclusive """ description: NotRequired[str] """ The description of the credit note line item. Only valid when the `type` is `custom_line_item`. """ invoice_line_item: NotRequired[str] """ The invoice line item to credit. Only valid when the `type` is `invoice_line_item`. """ quantity: NotRequired[int] """ The line item quantity to credit. """ tax_amounts: NotRequired[ "Literal['']|List[CreditNotePreviewParamsLineTaxAmount]" ] """ A list of up to 10 tax amounts for the credit note line item. Cannot be mixed with `tax_rates`. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the credit note line item. Only valid when the `type` is `custom_line_item` and cannot be mixed with `tax_amounts`. """ type: Literal["custom_line_item", "invoice_line_item"] """ Type of the credit note line item, one of `invoice_line_item` or `custom_line_item` """ unit_amount: NotRequired[int] """ The integer unit amount in cents (or local equivalent) of the credit note line item. This `unit_amount` will be multiplied by the quantity to get the full amount to credit for this line item. Only valid when `type` is `custom_line_item`. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class CreditNotePreviewParamsLineTaxAmount(TypedDict): amount: int """ The amount, in cents (or local equivalent), of the tax. """ tax_rate: str """ The id of the tax rate for this tax amount. The tax rate must have been automatically created by Stripe. """ taxable_amount: int """ The amount on which tax is calculated, in cents (or local equivalent). """ class CreditNotePreviewParamsRefund(TypedDict): amount_refunded: NotRequired[int] """ Amount of the refund that applies to this credit note, in cents (or local equivalent). Defaults to the entire refund amount. """ payment_record_refund: NotRequired[ "CreditNotePreviewParamsRefundPaymentRecordRefund" ] """ The PaymentRecord refund details to link to this credit note. Required when `type` is `payment_record_refund`. """ refund: NotRequired[str] """ ID of an existing refund to link this credit note to. Required when `type` is `refund`. """ type: NotRequired[Literal["payment_record_refund", "refund"]] """ Type of the refund, one of `refund` or `payment_record_refund`. Defaults to `refund`. """ class CreditNotePreviewParamsRefundPaymentRecordRefund(TypedDict): payment_record: str """ The ID of the PaymentRecord with the refund to link to this credit note. """ refund_group: str """ The PaymentRecord refund group to link to this credit note. For refunds processed off-Stripe, this will correspond to the `processor_details.custom.refund_reference` field provided when reporting the refund on the PaymentRecord. """ class CreditNotePreviewParamsShippingCost(TypedDict): shipping_rate: NotRequired[str] """ The ID of the shipping rate to use for this order. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_credit_note_retrieve_params.py0000644000000000000000000000053015102753431021101 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CreditNoteRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_credit_note_update_params.py0000644000000000000000000000135515102753431020544 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import NotRequired, TypedDict class CreditNoteUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ memo: NotRequired[str] """ Credit note memo. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_credit_note_void_credit_note_params.py0000644000000000000000000000053615102753431022602 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CreditNoteVoidCreditNoteParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_customer_balance_transaction_create_params.py0000644000000000000000000000263215102753431024140 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CustomerBalanceTransactionCreateParams(TypedDict): amount: int """ The integer amount in **cents (or local equivalent)** to apply to the customer's credit balance. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). Specifies the [`invoice_credit_balance`](https://stripe.com/docs/api/customers/object#customer_object-invoice_credit_balance) that this transaction will apply to. If the customer's `currency` is not set, it will be updated to this value. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_customer_balance_transaction_list_params.py0000644000000000000000000000222315102753431023644 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CustomerBalanceTransactionListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_customer_balance_transaction_retrieve_params.py0000644000000000000000000000047315102753431024523 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CustomerBalanceTransactionRetrieveParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.348062 stripe-13.2.0/stripe/params/_customer_balance_transaction_update_params.py0000644000000000000000000000153315102753431024156 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CustomerBalanceTransactionUpdateParams(TypedDict): description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_cash_balance_retrieve_params.py0000644000000000000000000000046415102753431023114 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CustomerCashBalanceRetrieveParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_cash_balance_transaction_list_params.py0000644000000000000000000000222715102753431024646 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CustomerCashBalanceTransactionListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_cash_balance_transaction_retrieve_params.py0000644000000000000000000000047715102753431025525 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CustomerCashBalanceTransactionRetrieveParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_cash_balance_update_params.py0000644000000000000000000000164015102753431022546 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class CustomerCashBalanceUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ settings: NotRequired["CustomerCashBalanceUpdateParamsSettings"] """ A hash of settings for this cash balance. """ class CustomerCashBalanceUpdateParamsSettings(TypedDict): reconciliation_mode: NotRequired[ Literal["automatic", "manual", "merchant_default"] ] """ Controls how funds transferred by the customer are applied to payment intents and invoices. Valid options are `automatic`, `manual`, or `merchant_default`. For more information about these reconciliation modes, see [Reconciliation](https://stripe.com/docs/payments/customer-balance/reconciliation). """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_create_balance_transaction_params.py0000644000000000000000000000270715102753431024143 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class CustomerCreateBalanceTransactionParams(RequestOptions): amount: int """ The integer amount in **cents (or local equivalent)** to apply to the customer's credit balance. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). Specifies the [`invoice_credit_balance`](https://stripe.com/docs/api/customers/object#customer_object-invoice_credit_balance) that this transaction will apply to. If the customer's `currency` is not set, it will be updated to this value. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_create_funding_instructions_params.py0000644000000000000000000000356415102753431024431 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class CustomerCreateFundingInstructionsParams(RequestOptions): bank_transfer: "CustomerCreateFundingInstructionsParamsBankTransfer" """ Additional parameters for `bank_transfer` funding types """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ funding_type: Literal["bank_transfer"] """ The `funding_type` to get the instructions for. """ class CustomerCreateFundingInstructionsParamsBankTransfer(TypedDict): eu_bank_transfer: NotRequired[ "CustomerCreateFundingInstructionsParamsBankTransferEuBankTransfer" ] """ Configuration for eu_bank_transfer funding type. """ requested_address_types: NotRequired[ List[Literal["iban", "sort_code", "spei", "zengin"]] ] """ List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned. Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`. """ type: Literal[ "eu_bank_transfer", "gb_bank_transfer", "jp_bank_transfer", "mx_bank_transfer", "us_bank_transfer", ] """ The type of the `bank_transfer` """ class CustomerCreateFundingInstructionsParamsBankTransferEuBankTransfer( TypedDict, ): country: str """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_create_params.py0000644000000000000000000002703115102753431020066 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CustomerCreateParams(RequestOptions): address: NotRequired["Literal['']|CustomerCreateParamsAddress"] """ The customer's address. """ balance: NotRequired[int] """ An integer amount in cents (or local equivalent) that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice. """ business_name: NotRequired["Literal['']|str"] """ The customer's business name. This may be up to *150 characters*. """ cash_balance: NotRequired["CustomerCreateParamsCashBalance"] """ Balance information and default balance settings for this customer. """ description: NotRequired[str] """ An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard. """ email: NotRequired[str] """ Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ individual_name: NotRequired["Literal['']|str"] """ The customer's full name. This may be up to *150 characters*. """ invoice_prefix: NotRequired[str] """ The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers. """ invoice_settings: NotRequired["CustomerCreateParamsInvoiceSettings"] """ Default invoice settings for this customer. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired[str] """ The customer's full name or business name. """ next_invoice_sequence: NotRequired[int] """ The sequence to be used on the customer's next invoice. Defaults to 1. """ payment_method: NotRequired[str] phone: NotRequired[str] """ The customer's phone number. """ preferred_locales: NotRequired[List[str]] """ Customer's preferred languages, ordered by preference. """ shipping: NotRequired["Literal['']|CustomerCreateParamsShipping"] """ The customer's shipping information. Appears on invoices emailed to this customer. """ source: NotRequired[str] tax: NotRequired["CustomerCreateParamsTax"] """ Tax details about the customer. """ tax_exempt: NotRequired["Literal['']|Literal['exempt', 'none', 'reverse']"] """ The customer's tax exemption. One of `none`, `exempt`, or `reverse`. """ tax_id_data: NotRequired[List["CustomerCreateParamsTaxIdDatum"]] """ The customer's tax IDs. """ test_clock: NotRequired[str] """ ID of the test clock to attach to the customer. """ validate: NotRequired[bool] class CustomerCreateParamsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ A freeform text field for the country. However, in order to activate some tax features, the format should be a two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class CustomerCreateParamsCashBalance(TypedDict): settings: NotRequired["CustomerCreateParamsCashBalanceSettings"] """ Settings controlling the behavior of the customer's cash balance, such as reconciliation of funds received. """ class CustomerCreateParamsCashBalanceSettings(TypedDict): reconciliation_mode: NotRequired[ Literal["automatic", "manual", "merchant_default"] ] """ Controls how funds transferred by the customer are applied to payment intents and invoices. Valid options are `automatic`, `manual`, or `merchant_default`. For more information about these reconciliation modes, see [Reconciliation](https://stripe.com/docs/payments/customer-balance/reconciliation). """ class CustomerCreateParamsInvoiceSettings(TypedDict): custom_fields: NotRequired[ "Literal['']|List[CustomerCreateParamsInvoiceSettingsCustomField]" ] """ The list of up to 4 default custom fields to be displayed on invoices for this customer. When updating, pass an empty string to remove previously-defined fields. """ default_payment_method: NotRequired[str] """ ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices. """ footer: NotRequired[str] """ Default footer to be displayed on invoices for this customer. """ rendering_options: NotRequired[ "Literal['']|CustomerCreateParamsInvoiceSettingsRenderingOptions" ] """ Default options for invoice PDF rendering for this customer. """ class CustomerCreateParamsInvoiceSettingsCustomField(TypedDict): name: str """ The name of the custom field. This may be up to 40 characters. """ value: str """ The value of the custom field. This may be up to 140 characters. """ class CustomerCreateParamsInvoiceSettingsRenderingOptions(TypedDict): amount_tax_display: NotRequired[ "Literal['']|Literal['exclude_tax', 'include_inclusive_tax']" ] """ 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. """ template: NotRequired[str] """ ID of the invoice rendering template to use for future invoices. """ class CustomerCreateParamsShipping(TypedDict): address: "CustomerCreateParamsShippingAddress" """ Customer shipping address. """ name: str """ Customer name. """ phone: NotRequired[str] """ Customer phone (including extension). """ class CustomerCreateParamsShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ A freeform text field for the country. However, in order to activate some tax features, the format should be a two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class CustomerCreateParamsTax(TypedDict): ip_address: NotRequired["Literal['']|str"] """ A recent IP address of the customer used for tax reporting and tax location inference. Stripe recommends updating the IP address when a new PaymentMethod is attached or the address field on the customer is updated. We recommend against updating this field more frequently since it could result in unexpected tax location/reporting outcomes. """ validate_location: NotRequired[Literal["deferred", "immediately"]] """ A flag that indicates when Stripe should validate the customer tax location. Defaults to `deferred`. """ class CustomerCreateParamsTaxIdDatum(TypedDict): type: Literal[ "ad_nrt", "ae_trn", "al_tin", "am_tin", "ao_tin", "ar_cuit", "au_abn", "au_arn", "aw_tin", "az_tin", "ba_tin", "bb_tin", "bd_bin", "bf_ifu", "bg_uic", "bh_vat", "bj_ifu", "bo_tin", "br_cnpj", "br_cpf", "bs_tin", "by_tin", "ca_bn", "ca_gst_hst", "ca_pst_bc", "ca_pst_mb", "ca_pst_sk", "ca_qst", "cd_nif", "ch_uid", "ch_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", "de_stn", "do_rcn", "ec_ruc", "eg_tin", "es_cif", "et_tin", "eu_oss_vat", "eu_vat", "gb_vat", "ge_vat", "gn_nif", "hk_br", "hr_oib", "hu_tin", "id_npwp", "il_vat", "in_gst", "is_vat", "jp_cn", "jp_rn", "jp_trn", "ke_pin", "kg_tin", "kh_tin", "kr_brn", "kz_bin", "la_tin", "li_uid", "li_vat", "ma_vat", "md_vat", "me_pib", "mk_vat", "mr_nif", "mx_rfc", "my_frp", "my_itn", "my_sst", "ng_tin", "no_vat", "no_voec", "np_pan", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "ro_tin", "rs_pib", "ru_inn", "ru_kpp", "sa_vat", "sg_gst", "sg_uen", "si_tin", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", "tw_vat", "tz_vat", "ua_vat", "ug_tin", "us_ein", "uy_ruc", "uz_tin", "uz_vat", "ve_rif", "vn_tin", "za_vat", "zm_tin", "zw_tin", ] """ Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_arn`, `aw_tin`, `az_tin`, `ba_tin`, `bb_tin`, `bd_bin`, `bf_ifu`, `bg_uic`, `bh_vat`, `bj_ifu`, `bo_tin`, `br_cnpj`, `br_cpf`, `bs_tin`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `ma_vat`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tw_vat`, `tz_vat`, `ua_vat`, `ug_tin`, `us_ein`, `uy_ruc`, `uz_tin`, `uz_vat`, `ve_rif`, `vn_tin`, `za_vat`, `zm_tin`, or `zw_tin` """ value: str """ Value of the tax ID. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_create_source_params.py0000644000000000000000000000155415102753431021450 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import NotRequired class CustomerCreateSourceParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ source: str """ Please refer to full [documentation](https://stripe.com/docs/api) instead. """ validate: NotRequired[bool] ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_create_tax_id_params.py0000644000000000000000000000702215102753431021414 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class CustomerCreateTaxIdParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ type: Literal[ "ad_nrt", "ae_trn", "al_tin", "am_tin", "ao_tin", "ar_cuit", "au_abn", "au_arn", "aw_tin", "az_tin", "ba_tin", "bb_tin", "bd_bin", "bf_ifu", "bg_uic", "bh_vat", "bj_ifu", "bo_tin", "br_cnpj", "br_cpf", "bs_tin", "by_tin", "ca_bn", "ca_gst_hst", "ca_pst_bc", "ca_pst_mb", "ca_pst_sk", "ca_qst", "cd_nif", "ch_uid", "ch_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", "de_stn", "do_rcn", "ec_ruc", "eg_tin", "es_cif", "et_tin", "eu_oss_vat", "eu_vat", "gb_vat", "ge_vat", "gn_nif", "hk_br", "hr_oib", "hu_tin", "id_npwp", "il_vat", "in_gst", "is_vat", "jp_cn", "jp_rn", "jp_trn", "ke_pin", "kg_tin", "kh_tin", "kr_brn", "kz_bin", "la_tin", "li_uid", "li_vat", "ma_vat", "md_vat", "me_pib", "mk_vat", "mr_nif", "mx_rfc", "my_frp", "my_itn", "my_sst", "ng_tin", "no_vat", "no_voec", "np_pan", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "ro_tin", "rs_pib", "ru_inn", "ru_kpp", "sa_vat", "sg_gst", "sg_uen", "si_tin", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", "tw_vat", "tz_vat", "ua_vat", "ug_tin", "us_ein", "uy_ruc", "uz_tin", "uz_vat", "ve_rif", "vn_tin", "za_vat", "zm_tin", "zw_tin", ] """ Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_arn`, `aw_tin`, `az_tin`, `ba_tin`, `bb_tin`, `bd_bin`, `bf_ifu`, `bg_uic`, `bh_vat`, `bj_ifu`, `bo_tin`, `br_cnpj`, `br_cpf`, `bs_tin`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `ma_vat`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tw_vat`, `tz_vat`, `ua_vat`, `ug_tin`, `us_ein`, `uy_ruc`, `uz_tin`, `uz_vat`, `ve_rif`, `vn_tin`, `za_vat`, `zm_tin`, or `zw_tin` """ value: str """ Value of the tax ID. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_delete_discount_params.py0000644000000000000000000000026115102753431021771 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class CustomerDeleteDiscountParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_delete_params.py0000644000000000000000000000025115102753431020060 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class CustomerDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_delete_source_params.py0000644000000000000000000000053215102753431021442 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CustomerDeleteSourceParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_delete_tax_id_params.py0000644000000000000000000000025615102753431021415 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class CustomerDeleteTaxIdParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_fund_cash_balance_params.py0000644000000000000000000000230015102753431022212 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CustomerFundCashBalanceParams(RequestOptions): amount: int """ Amount to be used for this test cash balance transaction. A positive integer representing how much to fund in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to fund $1.00 or 100 to fund ¥100, a zero-decimal currency). """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ reference: NotRequired[str] """ A description of the test funding. This simulates free-text references supplied by customers when making bank transfers to their cash balance. You can use this to test how Stripe's [reconciliation algorithm](https://stripe.com/docs/payments/customer-balance/reconciliation) applies to different user inputs. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_funding_instructions_create_params.py0000644000000000000000000000347415102753431024431 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class CustomerFundingInstructionsCreateParams(TypedDict): bank_transfer: "CustomerFundingInstructionsCreateParamsBankTransfer" """ Additional parameters for `bank_transfer` funding types """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ funding_type: Literal["bank_transfer"] """ The `funding_type` to get the instructions for. """ class CustomerFundingInstructionsCreateParamsBankTransfer(TypedDict): eu_bank_transfer: NotRequired[ "CustomerFundingInstructionsCreateParamsBankTransferEuBankTransfer" ] """ Configuration for eu_bank_transfer funding type. """ requested_address_types: NotRequired[ List[Literal["iban", "sort_code", "spei", "zengin"]] ] """ List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned. Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`. """ type: Literal[ "eu_bank_transfer", "gb_bank_transfer", "jp_bank_transfer", "mx_bank_transfer", "us_bank_transfer", ] """ The type of the `bank_transfer` """ class CustomerFundingInstructionsCreateParamsBankTransferEuBankTransfer( TypedDict, ): country: str """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_list_balance_transactions_params.py0000644000000000000000000000230115102753431024024 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CustomerListBalanceTransactionsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_list_cash_balance_transactions_params.py0000644000000000000000000000230515102753431025026 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CustomerListCashBalanceTransactionsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_list_params.py0000644000000000000000000000410215102753431017570 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class CustomerListParams(RequestOptions): created: NotRequired["CustomerListParamsCreated|int"] """ Only return customers that were created during the given date interval. """ email: NotRequired[str] """ A case-sensitive filter on the list based on the customer's `email` field. The value must be a string. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ test_clock: NotRequired[str] """ Provides a list of customers that are associated with the specified test clock. The response will not include customers with test clocks if this parameter is not set. """ class CustomerListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_list_payment_methods_params.py0000644000000000000000000000605015102753431023054 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class CustomerListPaymentMethodsParams(RequestOptions): allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ type: NotRequired[ Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "card", "cashapp", "crypto", "custom", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] ] """ An optional filter on the list, based on the object `type` field. Without the filter, the list includes all current and future payment method types. If your integration expects only one type of payment method in the response, make sure to provide a type value in the request. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_list_sources_params.py0000644000000000000000000000243415102753431021341 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CustomerListSourcesParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ object: NotRequired[str] """ Filter sources according to a particular object type. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_list_tax_ids_params.py0000644000000000000000000000226415102753431021312 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CustomerListTaxIdsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_modify_balance_transaction_params.py0000644000000000000000000000161015102753431024157 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class CustomerModifyBalanceTransactionParams(RequestOptions): description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_modify_cash_balance_params.py0000644000000000000000000000173015102753431022553 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class CustomerModifyCashBalanceParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ settings: NotRequired["CustomerModifyCashBalanceParamsSettings"] """ A hash of settings for this cash balance. """ class CustomerModifyCashBalanceParamsSettings(TypedDict): reconciliation_mode: NotRequired[ Literal["automatic", "manual", "merchant_default"] ] """ Controls how funds transferred by the customer are applied to payment intents and invoices. Valid options are `automatic`, `manual`, or `merchant_default`. For more information about these reconciliation modes, see [Reconciliation](https://stripe.com/docs/payments/customer-balance/reconciliation). """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_modify_params.py0000644000000000000000000002120315102753431020105 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CustomerModifyParams(RequestOptions): address: NotRequired["Literal['']|CustomerModifyParamsAddress"] """ The customer's address. """ balance: NotRequired[int] """ An integer amount in cents (or local equivalent) that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice. """ business_name: NotRequired["Literal['']|str"] """ The customer's business name. This may be up to *150 characters*. """ cash_balance: NotRequired["CustomerModifyParamsCashBalance"] """ Balance information and default balance settings for this customer. """ default_source: NotRequired[str] """ If you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method) parameter. Provide the ID of a payment source already attached to this customer to make it this customer's default payment source. If you want to add a new payment source and make it the default, see the [source](https://stripe.com/docs/api/customers/update#update_customer-source) property. """ description: NotRequired[str] """ An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard. """ email: NotRequired[str] """ Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ individual_name: NotRequired["Literal['']|str"] """ The customer's full name. This may be up to *150 characters*. """ invoice_prefix: NotRequired[str] """ The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers. """ invoice_settings: NotRequired["CustomerModifyParamsInvoiceSettings"] """ Default invoice settings for this customer. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired[str] """ The customer's full name or business name. """ next_invoice_sequence: NotRequired[int] """ The sequence to be used on the customer's next invoice. Defaults to 1. """ phone: NotRequired[str] """ The customer's phone number. """ preferred_locales: NotRequired[List[str]] """ Customer's preferred languages, ordered by preference. """ shipping: NotRequired["Literal['']|CustomerModifyParamsShipping"] """ The customer's shipping information. Appears on invoices emailed to this customer. """ source: NotRequired[str] tax: NotRequired["CustomerModifyParamsTax"] """ Tax details about the customer. """ tax_exempt: NotRequired["Literal['']|Literal['exempt', 'none', 'reverse']"] """ The customer's tax exemption. One of `none`, `exempt`, or `reverse`. """ validate: NotRequired[bool] class CustomerModifyParamsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ A freeform text field for the country. However, in order to activate some tax features, the format should be a two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class CustomerModifyParamsCashBalance(TypedDict): settings: NotRequired["CustomerModifyParamsCashBalanceSettings"] """ Settings controlling the behavior of the customer's cash balance, such as reconciliation of funds received. """ class CustomerModifyParamsCashBalanceSettings(TypedDict): reconciliation_mode: NotRequired[ Literal["automatic", "manual", "merchant_default"] ] """ Controls how funds transferred by the customer are applied to payment intents and invoices. Valid options are `automatic`, `manual`, or `merchant_default`. For more information about these reconciliation modes, see [Reconciliation](https://stripe.com/docs/payments/customer-balance/reconciliation). """ class CustomerModifyParamsInvoiceSettings(TypedDict): custom_fields: NotRequired[ "Literal['']|List[CustomerModifyParamsInvoiceSettingsCustomField]" ] """ The list of up to 4 default custom fields to be displayed on invoices for this customer. When updating, pass an empty string to remove previously-defined fields. """ default_payment_method: NotRequired[str] """ ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices. """ footer: NotRequired[str] """ Default footer to be displayed on invoices for this customer. """ rendering_options: NotRequired[ "Literal['']|CustomerModifyParamsInvoiceSettingsRenderingOptions" ] """ Default options for invoice PDF rendering for this customer. """ class CustomerModifyParamsInvoiceSettingsCustomField(TypedDict): name: str """ The name of the custom field. This may be up to 40 characters. """ value: str """ The value of the custom field. This may be up to 140 characters. """ class CustomerModifyParamsInvoiceSettingsRenderingOptions(TypedDict): amount_tax_display: NotRequired[ "Literal['']|Literal['exclude_tax', 'include_inclusive_tax']" ] """ 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. """ template: NotRequired[str] """ ID of the invoice rendering template to use for future invoices. """ class CustomerModifyParamsShipping(TypedDict): address: "CustomerModifyParamsShippingAddress" """ Customer shipping address. """ name: str """ Customer name. """ phone: NotRequired[str] """ Customer phone (including extension). """ class CustomerModifyParamsShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ A freeform text field for the country. However, in order to activate some tax features, the format should be a two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class CustomerModifyParamsTax(TypedDict): ip_address: NotRequired["Literal['']|str"] """ A recent IP address of the customer used for tax reporting and tax location inference. Stripe recommends updating the IP address when a new PaymentMethod is attached or the address field on the customer is updated. We recommend against updating this field more frequently since it could result in unexpected tax location/reporting outcomes. """ validate_location: NotRequired[Literal["auto", "deferred", "immediately"]] """ A flag that indicates when Stripe should validate the customer tax location. Defaults to `auto`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_modify_source_params.py0000644000000000000000000000573015102753431021474 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CustomerModifySourceParams(RequestOptions): account_holder_name: NotRequired[str] """ The name of the person or business that owns the bank account. """ account_holder_type: NotRequired[Literal["company", "individual"]] """ The type of entity that holds the account. This can be either `individual` or `company`. """ address_city: NotRequired[str] """ City/District/Suburb/Town/Village. """ address_country: NotRequired[str] """ Billing address country, if provided when creating card. """ address_line1: NotRequired[str] """ Address line 1 (Street address/PO Box/Company name). """ address_line2: NotRequired[str] """ Address line 2 (Apartment/Suite/Unit/Building). """ address_state: NotRequired[str] """ State/County/Province/Region. """ address_zip: NotRequired[str] """ ZIP or postal code. """ exp_month: NotRequired[str] """ Two digit number representing the card's expiration month. """ exp_year: NotRequired[str] """ Four digit number representing the card's expiration year. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired[str] """ Cardholder name. """ owner: NotRequired["CustomerModifySourceParamsOwner"] class CustomerModifySourceParamsOwner(TypedDict): address: NotRequired["CustomerModifySourceParamsOwnerAddress"] """ Owner's address. """ email: NotRequired[str] """ Owner's email address. """ name: NotRequired[str] """ Owner's full name. """ phone: NotRequired[str] """ Owner's phone number. """ class CustomerModifySourceParamsOwnerAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3490622 stripe-13.2.0/stripe/params/_customer_payment_method_list_params.py0000644000000000000000000000577215102753431022703 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class CustomerPaymentMethodListParams(TypedDict): allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ type: NotRequired[ Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "card", "cashapp", "crypto", "custom", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] ] """ An optional filter on the list, based on the object `type` field. Without the filter, the list includes all current and future payment method types. If your integration expects only one type of payment method in the response, make sure to provide a type value in the request. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_payment_method_retrieve_params.py0000644000000000000000000000046615102753431023550 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CustomerPaymentMethodRetrieveParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_payment_source_create_params.py0000644000000000000000000000150615102753431023202 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import NotRequired, TypedDict class CustomerPaymentSourceCreateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ source: str """ Please refer to full [documentation](https://stripe.com/docs/api) instead. """ validate: NotRequired[bool] ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_payment_source_delete_params.py0000644000000000000000000000046415102753431023203 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CustomerPaymentSourceDeleteParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_payment_source_list_params.py0000644000000000000000000000236515102753431022716 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CustomerPaymentSourceListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ object: NotRequired[str] """ Filter sources according to a particular object type. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_payment_source_retrieve_params.py0000644000000000000000000000046615102753431023570 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CustomerPaymentSourceRetrieveParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_payment_source_update_params.py0000644000000000000000000000570315102753431023224 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CustomerPaymentSourceUpdateParams(TypedDict): account_holder_name: NotRequired[str] """ The name of the person or business that owns the bank account. """ account_holder_type: NotRequired[Literal["company", "individual"]] """ The type of entity that holds the account. This can be either `individual` or `company`. """ address_city: NotRequired[str] """ City/District/Suburb/Town/Village. """ address_country: NotRequired[str] """ Billing address country, if provided when creating card. """ address_line1: NotRequired[str] """ Address line 1 (Street address/PO Box/Company name). """ address_line2: NotRequired[str] """ Address line 2 (Apartment/Suite/Unit/Building). """ address_state: NotRequired[str] """ State/County/Province/Region. """ address_zip: NotRequired[str] """ ZIP or postal code. """ exp_month: NotRequired[str] """ Two digit number representing the card's expiration month. """ exp_year: NotRequired[str] """ Four digit number representing the card's expiration year. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired[str] """ Cardholder name. """ owner: NotRequired["CustomerPaymentSourceUpdateParamsOwner"] class CustomerPaymentSourceUpdateParamsOwner(TypedDict): address: NotRequired["CustomerPaymentSourceUpdateParamsOwnerAddress"] """ Owner's address. """ email: NotRequired[str] """ Owner's email address. """ name: NotRequired[str] """ Owner's full name. """ phone: NotRequired[str] """ Owner's phone number. """ class CustomerPaymentSourceUpdateParamsOwnerAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_payment_source_verify_params.py0000644000000000000000000000072215102753431023242 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CustomerPaymentSourceVerifyParams(TypedDict): amounts: NotRequired[List[int]] """ Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_retrieve_balance_transaction_params.py0000644000000000000000000000055015102753431024517 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CustomerRetrieveBalanceTransactionParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_retrieve_cash_balance_params.py0000644000000000000000000000054115102753431023110 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CustomerRetrieveCashBalanceParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_retrieve_cash_balance_transaction_params.py0000644000000000000000000000055415102753431025521 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CustomerRetrieveCashBalanceTransactionParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_retrieve_params.py0000644000000000000000000000052615102753431020450 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CustomerRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_retrieve_payment_method_params.py0000644000000000000000000000054315102753431023544 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CustomerRetrievePaymentMethodParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_retrieve_source_params.py0000644000000000000000000000053415102753431022027 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CustomerRetrieveSourceParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_retrieve_tax_id_params.py0000644000000000000000000000053315102753431021776 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CustomerRetrieveTaxIdParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_search_params.py0000644000000000000000000000174015102753431020067 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CustomerSearchParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ page: NotRequired[str] """ A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. """ query: str """ The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for customers](https://stripe.com/docs/search#query-fields-for-customers). """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_session_create_params.py0000644000000000000000000002177415102753431021641 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class CustomerSessionCreateParams(RequestOptions): components: "CustomerSessionCreateParamsComponents" """ Configuration for each component. At least 1 component must be enabled. """ customer: str """ The ID of an existing customer for which to create the Customer Session. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ class CustomerSessionCreateParamsComponents(TypedDict): buy_button: NotRequired["CustomerSessionCreateParamsComponentsBuyButton"] """ Configuration for buy button. """ customer_sheet: NotRequired[ "CustomerSessionCreateParamsComponentsCustomerSheet" ] """ Configuration for the customer sheet. """ mobile_payment_element: NotRequired[ "CustomerSessionCreateParamsComponentsMobilePaymentElement" ] """ Configuration for the mobile payment element. """ payment_element: NotRequired[ "CustomerSessionCreateParamsComponentsPaymentElement" ] """ Configuration for the Payment Element. """ pricing_table: NotRequired[ "CustomerSessionCreateParamsComponentsPricingTable" ] """ Configuration for the pricing table. """ class CustomerSessionCreateParamsComponentsBuyButton(TypedDict): enabled: bool """ Whether the buy button is enabled. """ class CustomerSessionCreateParamsComponentsCustomerSheet(TypedDict): enabled: bool """ Whether the customer sheet is enabled. """ features: NotRequired[ "CustomerSessionCreateParamsComponentsCustomerSheetFeatures" ] """ This hash defines whether the customer sheet supports certain features. """ class CustomerSessionCreateParamsComponentsCustomerSheetFeatures(TypedDict): payment_method_allow_redisplay_filters: NotRequired[ List[Literal["always", "limited", "unspecified"]] ] """ A list of [`allow_redisplay`](https://docs.stripe.com/api/payment_methods/object#payment_method_object-allow_redisplay) values that controls which saved payment methods the customer sheet displays by filtering to only show payment methods with an `allow_redisplay` value that is present in this list. If not specified, defaults to ["always"]. In order to display all saved payment methods, specify ["always", "limited", "unspecified"]. """ payment_method_remove: NotRequired[Literal["disabled", "enabled"]] """ Controls whether the customer sheet displays the option to remove a saved payment method." Allowing buyers to remove their saved payment methods impacts subscriptions that depend on that payment method. Removing the payment method detaches the [`customer` object](https://docs.stripe.com/api/payment_methods/object#payment_method_object-customer) from that [PaymentMethod](https://docs.stripe.com/api/payment_methods). """ class CustomerSessionCreateParamsComponentsMobilePaymentElement(TypedDict): enabled: bool """ Whether the mobile payment element is enabled. """ features: NotRequired[ "CustomerSessionCreateParamsComponentsMobilePaymentElementFeatures" ] """ This hash defines whether the mobile payment element supports certain features. """ class CustomerSessionCreateParamsComponentsMobilePaymentElementFeatures( TypedDict, ): payment_method_allow_redisplay_filters: NotRequired[ List[Literal["always", "limited", "unspecified"]] ] """ A list of [`allow_redisplay`](https://docs.stripe.com/api/payment_methods/object#payment_method_object-allow_redisplay) values that controls which saved payment methods the mobile payment element displays by filtering to only show payment methods with an `allow_redisplay` value that is present in this list. If not specified, defaults to ["always"]. In order to display all saved payment methods, specify ["always", "limited", "unspecified"]. """ payment_method_redisplay: NotRequired[Literal["disabled", "enabled"]] """ Controls whether or not the mobile payment element shows saved payment methods. """ payment_method_remove: NotRequired[Literal["disabled", "enabled"]] """ Controls whether the mobile payment element displays the option to remove a saved payment method." Allowing buyers to remove their saved payment methods impacts subscriptions that depend on that payment method. Removing the payment method detaches the [`customer` object](https://docs.stripe.com/api/payment_methods/object#payment_method_object-customer) from that [PaymentMethod](https://docs.stripe.com/api/payment_methods). """ payment_method_save: NotRequired[Literal["disabled", "enabled"]] """ Controls whether the mobile payment element displays a checkbox offering to save a new payment method. If a customer checks the box, the [`allow_redisplay`](https://docs.stripe.com/api/payment_methods/object#payment_method_object-allow_redisplay) value on the PaymentMethod is set to `'always'` at confirmation time. For PaymentIntents, the [`setup_future_usage`](https://docs.stripe.com/api/payment_intents/object#payment_intent_object-setup_future_usage) value is also set to the value defined in `payment_method_save_usage`. """ payment_method_save_allow_redisplay_override: NotRequired[ Literal["always", "limited", "unspecified"] ] """ Allows overriding the value of allow_override when saving a new payment method when payment_method_save is set to disabled. Use values: "always", "limited", or "unspecified". If not specified, defaults to `nil` (no override value). """ class CustomerSessionCreateParamsComponentsPaymentElement(TypedDict): enabled: bool """ Whether the Payment Element is enabled. """ features: NotRequired[ "CustomerSessionCreateParamsComponentsPaymentElementFeatures" ] """ This hash defines whether the Payment Element supports certain features. """ class CustomerSessionCreateParamsComponentsPaymentElementFeatures(TypedDict): payment_method_allow_redisplay_filters: NotRequired[ List[Literal["always", "limited", "unspecified"]] ] """ A list of [`allow_redisplay`](https://docs.stripe.com/api/payment_methods/object#payment_method_object-allow_redisplay) values that controls which saved payment methods the Payment Element displays by filtering to only show payment methods with an `allow_redisplay` value that is present in this list. If not specified, defaults to ["always"]. In order to display all saved payment methods, specify ["always", "limited", "unspecified"]. """ payment_method_redisplay: NotRequired[Literal["disabled", "enabled"]] """ Controls whether or not the Payment Element shows saved payment methods. This parameter defaults to `disabled`. """ payment_method_redisplay_limit: NotRequired[int] """ Determines the max number of saved payment methods for the Payment Element to display. This parameter defaults to `3`. The maximum redisplay limit is `10`. """ payment_method_remove: NotRequired[Literal["disabled", "enabled"]] """ Controls whether the Payment Element displays the option to remove a saved payment method. This parameter defaults to `disabled`. Allowing buyers to remove their saved payment methods impacts subscriptions that depend on that payment method. Removing the payment method detaches the [`customer` object](https://docs.stripe.com/api/payment_methods/object#payment_method_object-customer) from that [PaymentMethod](https://docs.stripe.com/api/payment_methods). """ payment_method_save: NotRequired[Literal["disabled", "enabled"]] """ Controls whether the Payment Element displays a checkbox offering to save a new payment method. This parameter defaults to `disabled`. If a customer checks the box, the [`allow_redisplay`](https://docs.stripe.com/api/payment_methods/object#payment_method_object-allow_redisplay) value on the PaymentMethod is set to `'always'` at confirmation time. For PaymentIntents, the [`setup_future_usage`](https://docs.stripe.com/api/payment_intents/object#payment_intent_object-setup_future_usage) value is also set to the value defined in `payment_method_save_usage`. """ payment_method_save_usage: NotRequired[ Literal["off_session", "on_session"] ] """ When using PaymentIntents and the customer checks the save checkbox, this field determines the [`setup_future_usage`](https://docs.stripe.com/api/payment_intents/object#payment_intent_object-setup_future_usage) value used to confirm the PaymentIntent. When using SetupIntents, directly configure the [`usage`](https://docs.stripe.com/api/setup_intents/object#setup_intent_object-usage) value on SetupIntent creation. """ class CustomerSessionCreateParamsComponentsPricingTable(TypedDict): enabled: bool """ Whether the pricing table is enabled. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_tax_id_create_params.py0000644000000000000000000000674515102753431021427 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class CustomerTaxIdCreateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ type: Literal[ "ad_nrt", "ae_trn", "al_tin", "am_tin", "ao_tin", "ar_cuit", "au_abn", "au_arn", "aw_tin", "az_tin", "ba_tin", "bb_tin", "bd_bin", "bf_ifu", "bg_uic", "bh_vat", "bj_ifu", "bo_tin", "br_cnpj", "br_cpf", "bs_tin", "by_tin", "ca_bn", "ca_gst_hst", "ca_pst_bc", "ca_pst_mb", "ca_pst_sk", "ca_qst", "cd_nif", "ch_uid", "ch_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", "de_stn", "do_rcn", "ec_ruc", "eg_tin", "es_cif", "et_tin", "eu_oss_vat", "eu_vat", "gb_vat", "ge_vat", "gn_nif", "hk_br", "hr_oib", "hu_tin", "id_npwp", "il_vat", "in_gst", "is_vat", "jp_cn", "jp_rn", "jp_trn", "ke_pin", "kg_tin", "kh_tin", "kr_brn", "kz_bin", "la_tin", "li_uid", "li_vat", "ma_vat", "md_vat", "me_pib", "mk_vat", "mr_nif", "mx_rfc", "my_frp", "my_itn", "my_sst", "ng_tin", "no_vat", "no_voec", "np_pan", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "ro_tin", "rs_pib", "ru_inn", "ru_kpp", "sa_vat", "sg_gst", "sg_uen", "si_tin", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", "tw_vat", "tz_vat", "ua_vat", "ug_tin", "us_ein", "uy_ruc", "uz_tin", "uz_vat", "ve_rif", "vn_tin", "za_vat", "zm_tin", "zw_tin", ] """ Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_arn`, `aw_tin`, `az_tin`, `ba_tin`, `bb_tin`, `bd_bin`, `bf_ifu`, `bg_uic`, `bh_vat`, `bj_ifu`, `bo_tin`, `br_cnpj`, `br_cpf`, `bs_tin`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `ma_vat`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tw_vat`, `tz_vat`, `ua_vat`, `ug_tin`, `us_ein`, `uy_ruc`, `uz_tin`, `uz_vat`, `ve_rif`, `vn_tin`, `za_vat`, `zm_tin`, or `zw_tin` """ value: str """ Value of the tax ID. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_tax_id_delete_params.py0000644000000000000000000000023615102753431021413 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing_extensions import TypedDict class CustomerTaxIdDeleteParams(TypedDict): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_tax_id_list_params.py0000644000000000000000000000220615102753431021123 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CustomerTaxIdListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_tax_id_retrieve_params.py0000644000000000000000000000045615102753431022002 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CustomerTaxIdRetrieveParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_customer_update_params.py0000644000000000000000000002111315102753431020100 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CustomerUpdateParams(TypedDict): address: NotRequired["Literal['']|CustomerUpdateParamsAddress"] """ The customer's address. """ balance: NotRequired[int] """ An integer amount in cents (or local equivalent) that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice. """ business_name: NotRequired["Literal['']|str"] """ The customer's business name. This may be up to *150 characters*. """ cash_balance: NotRequired["CustomerUpdateParamsCashBalance"] """ Balance information and default balance settings for this customer. """ default_source: NotRequired[str] """ If you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method) parameter. Provide the ID of a payment source already attached to this customer to make it this customer's default payment source. If you want to add a new payment source and make it the default, see the [source](https://stripe.com/docs/api/customers/update#update_customer-source) property. """ description: NotRequired[str] """ An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard. """ email: NotRequired[str] """ Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ individual_name: NotRequired["Literal['']|str"] """ The customer's full name. This may be up to *150 characters*. """ invoice_prefix: NotRequired[str] """ The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers. """ invoice_settings: NotRequired["CustomerUpdateParamsInvoiceSettings"] """ Default invoice settings for this customer. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired[str] """ The customer's full name or business name. """ next_invoice_sequence: NotRequired[int] """ The sequence to be used on the customer's next invoice. Defaults to 1. """ phone: NotRequired[str] """ The customer's phone number. """ preferred_locales: NotRequired[List[str]] """ Customer's preferred languages, ordered by preference. """ shipping: NotRequired["Literal['']|CustomerUpdateParamsShipping"] """ The customer's shipping information. Appears on invoices emailed to this customer. """ source: NotRequired[str] tax: NotRequired["CustomerUpdateParamsTax"] """ Tax details about the customer. """ tax_exempt: NotRequired["Literal['']|Literal['exempt', 'none', 'reverse']"] """ The customer's tax exemption. One of `none`, `exempt`, or `reverse`. """ validate: NotRequired[bool] class CustomerUpdateParamsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ A freeform text field for the country. However, in order to activate some tax features, the format should be a two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class CustomerUpdateParamsCashBalance(TypedDict): settings: NotRequired["CustomerUpdateParamsCashBalanceSettings"] """ Settings controlling the behavior of the customer's cash balance, such as reconciliation of funds received. """ class CustomerUpdateParamsCashBalanceSettings(TypedDict): reconciliation_mode: NotRequired[ Literal["automatic", "manual", "merchant_default"] ] """ Controls how funds transferred by the customer are applied to payment intents and invoices. Valid options are `automatic`, `manual`, or `merchant_default`. For more information about these reconciliation modes, see [Reconciliation](https://stripe.com/docs/payments/customer-balance/reconciliation). """ class CustomerUpdateParamsInvoiceSettings(TypedDict): custom_fields: NotRequired[ "Literal['']|List[CustomerUpdateParamsInvoiceSettingsCustomField]" ] """ The list of up to 4 default custom fields to be displayed on invoices for this customer. When updating, pass an empty string to remove previously-defined fields. """ default_payment_method: NotRequired[str] """ ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices. """ footer: NotRequired[str] """ Default footer to be displayed on invoices for this customer. """ rendering_options: NotRequired[ "Literal['']|CustomerUpdateParamsInvoiceSettingsRenderingOptions" ] """ Default options for invoice PDF rendering for this customer. """ class CustomerUpdateParamsInvoiceSettingsCustomField(TypedDict): name: str """ The name of the custom field. This may be up to 40 characters. """ value: str """ The value of the custom field. This may be up to 140 characters. """ class CustomerUpdateParamsInvoiceSettingsRenderingOptions(TypedDict): amount_tax_display: NotRequired[ "Literal['']|Literal['exclude_tax', 'include_inclusive_tax']" ] """ 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. """ template: NotRequired[str] """ ID of the invoice rendering template to use for future invoices. """ class CustomerUpdateParamsShipping(TypedDict): address: "CustomerUpdateParamsShippingAddress" """ Customer shipping address. """ name: str """ Customer name. """ phone: NotRequired[str] """ Customer phone (including extension). """ class CustomerUpdateParamsShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ A freeform text field for the country. However, in order to activate some tax features, the format should be a two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class CustomerUpdateParamsTax(TypedDict): ip_address: NotRequired["Literal['']|str"] """ A recent IP address of the customer used for tax reporting and tax location inference. Stripe recommends updating the IP address when a new PaymentMethod is attached or the address field on the customer is updated. We recommend against updating this field more frequently since it could result in unexpected tax location/reporting outcomes. """ validate_location: NotRequired[Literal["auto", "deferred", "immediately"]] """ A flag that indicates when Stripe should validate the customer tax location. Defaults to `auto`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_dispute_close_params.py0000644000000000000000000000052215102753431017540 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class DisputeCloseParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_dispute_list_params.py0000644000000000000000000000373115102753431017413 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class DisputeListParams(RequestOptions): charge: NotRequired[str] """ Only return disputes associated to the charge specified by this charge ID. """ created: NotRequired["DisputeListParamsCreated|int"] """ Only return disputes that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ payment_intent: NotRequired[str] """ Only return disputes associated to the PaymentIntent specified by this PaymentIntent ID. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class DisputeListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_dispute_modify_params.py0000644000000000000000000003234115102753431017726 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class DisputeModifyParams(RequestOptions): evidence: NotRequired["DisputeModifyParamsEvidence"] """ Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ submit: NotRequired[bool] """ Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default). """ class DisputeModifyParamsEvidence(TypedDict): access_activity_log: NotRequired[str] """ Any server or activity logs showing proof that the customer accessed or downloaded the purchased digital product. This information should include IP addresses, corresponding timestamps, and any detailed recorded activity. Has a maximum character count of 20,000. """ billing_address: NotRequired[str] """ The billing address provided by the customer. """ cancellation_policy: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your subscription cancellation policy, as shown to the customer. """ cancellation_policy_disclosure: NotRequired[str] """ An explanation of how and when the customer was shown your refund policy prior to purchase. Has a maximum character count of 20,000. """ cancellation_rebuttal: NotRequired[str] """ A justification for why the customer's subscription was not canceled. Has a maximum character count of 20,000. """ customer_communication: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service. """ customer_email_address: NotRequired[str] """ The email address of the customer. """ customer_name: NotRequired[str] """ The name of the customer. """ customer_purchase_ip: NotRequired[str] """ The IP address that the customer used when making the purchase. """ customer_signature: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A relevant document or contract showing the customer's signature. """ duplicate_charge_documentation: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate. """ duplicate_charge_explanation: NotRequired[str] """ An explanation of the difference between the disputed charge versus the prior charge that appears to be a duplicate. Has a maximum character count of 20,000. """ duplicate_charge_id: NotRequired[str] """ The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge. """ enhanced_evidence: NotRequired[ "Literal['']|DisputeModifyParamsEvidenceEnhancedEvidence" ] """ Additional evidence for qualifying evidence programs. """ product_description: NotRequired[str] """ A description of the product or service that was sold. Has a maximum character count of 20,000. """ receipt: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any receipt or message sent to the customer notifying them of the charge. """ refund_policy: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your refund policy, as shown to the customer. """ refund_policy_disclosure: NotRequired[str] """ Documentation demonstrating that the customer was shown your refund policy prior to purchase. Has a maximum character count of 20,000. """ refund_refusal_explanation: NotRequired[str] """ A justification for why the customer is not entitled to a refund. Has a maximum character count of 20,000. """ service_date: NotRequired[str] """ The date on which the customer received or began receiving the purchased service, in a clear human-readable format. """ service_documentation: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement. """ shipping_address: NotRequired[str] """ The address to which a physical product was shipped. You should try to include as complete address information as possible. """ shipping_carrier: NotRequired[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If multiple carriers were used for this purchase, please separate them with commas. """ shipping_date: NotRequired[str] """ The date on which a physical product began its route to the shipping address, in a clear human-readable format. """ shipping_documentation: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer's full shipping address, if possible. """ shipping_tracking_number: NotRequired[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ uncategorized_file: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any additional evidence or statements. """ uncategorized_text: NotRequired[str] """ Any additional evidence or statements. Has a maximum character count of 20,000. """ class DisputeModifyParamsEvidenceEnhancedEvidence(TypedDict): visa_compelling_evidence_3: NotRequired[ "DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3" ] """ Evidence provided for Visa Compelling Evidence 3.0 evidence submission. """ visa_compliance: NotRequired[ "DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompliance" ] """ Evidence provided for Visa compliance evidence submission. """ class DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3( TypedDict, ): disputed_transaction: NotRequired[ "DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransaction" ] """ Disputed transaction details for Visa Compelling Evidence 3.0 evidence submission. """ prior_undisputed_transactions: NotRequired[ List[ "DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransaction" ] ] """ List of exactly two prior undisputed transaction objects for Visa Compelling Evidence 3.0 evidence submission. """ class DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransaction( TypedDict, ): customer_account_id: NotRequired["Literal['']|str"] """ User Account ID used to log into business platform. Must be recognizable by the user. """ customer_device_fingerprint: NotRequired["Literal['']|str"] """ Unique identifier of the cardholder's device derived from a combination of at least two hardware and software attributes. Must be at least 20 characters. """ customer_device_id: NotRequired["Literal['']|str"] """ Unique identifier of the cardholder's device such as a device serial number (e.g., International Mobile Equipment Identity [IMEI]). Must be at least 15 characters. """ customer_email_address: NotRequired["Literal['']|str"] """ The email address of the customer. """ customer_purchase_ip: NotRequired["Literal['']|str"] """ The IP address that the customer used when making the purchase. """ merchandise_or_services: NotRequired[Literal["merchandise", "services"]] """ Categorization of disputed payment. """ product_description: NotRequired["Literal['']|str"] """ A description of the product or service that was sold. """ shipping_address: NotRequired[ "DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionShippingAddress" ] """ The address to which a physical product was shipped. All fields are required for Visa Compelling Evidence 3.0 evidence submission. """ class DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionShippingAddress( TypedDict, ): city: NotRequired["Literal['']|str"] """ City, district, suburb, town, or village. """ country: NotRequired["Literal['']|str"] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired["Literal['']|str"] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired["Literal['']|str"] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired["Literal['']|str"] """ ZIP or postal code. """ state: NotRequired["Literal['']|str"] """ State, county, province, or region. """ class DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransaction( TypedDict, ): charge: str """ Stripe charge ID for the Visa Compelling Evidence 3.0 eligible prior charge. """ customer_account_id: NotRequired["Literal['']|str"] """ User Account ID used to log into business platform. Must be recognizable by the user. """ customer_device_fingerprint: NotRequired["Literal['']|str"] """ Unique identifier of the cardholder's device derived from a combination of at least two hardware and software attributes. Must be at least 20 characters. """ customer_device_id: NotRequired["Literal['']|str"] """ Unique identifier of the cardholder's device such as a device serial number (e.g., International Mobile Equipment Identity [IMEI]). Must be at least 15 characters. """ customer_email_address: NotRequired["Literal['']|str"] """ The email address of the customer. """ customer_purchase_ip: NotRequired["Literal['']|str"] """ The IP address that the customer used when making the purchase. """ product_description: NotRequired["Literal['']|str"] """ A description of the product or service that was sold. """ shipping_address: NotRequired[ "DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransactionShippingAddress" ] """ The address to which a physical product was shipped. All fields are required for Visa Compelling Evidence 3.0 evidence submission. """ class DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransactionShippingAddress( TypedDict, ): city: NotRequired["Literal['']|str"] """ City, district, suburb, town, or village. """ country: NotRequired["Literal['']|str"] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired["Literal['']|str"] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired["Literal['']|str"] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired["Literal['']|str"] """ ZIP or postal code. """ state: NotRequired["Literal['']|str"] """ State, county, province, or region. """ class DisputeModifyParamsEvidenceEnhancedEvidenceVisaCompliance(TypedDict): fee_acknowledged: NotRequired[bool] """ A field acknowledging the fee incurred when countering a Visa compliance dispute. If this field is set to true, evidence can be submitted for the compliance dispute. Stripe collects a 500 USD (or local equivalent) amount to cover the network costs associated with resolving compliance disputes. Stripe refunds the 500 USD network fee if you win the dispute. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3500621 stripe-13.2.0/stripe/params/_dispute_retrieve_params.py0000644000000000000000000000052515102753431020263 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class DisputeRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_dispute_update_params.py0000644000000000000000000003225115102753431017721 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class DisputeUpdateParams(TypedDict): evidence: NotRequired["DisputeUpdateParamsEvidence"] """ Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ submit: NotRequired[bool] """ Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default). """ class DisputeUpdateParamsEvidence(TypedDict): access_activity_log: NotRequired[str] """ Any server or activity logs showing proof that the customer accessed or downloaded the purchased digital product. This information should include IP addresses, corresponding timestamps, and any detailed recorded activity. Has a maximum character count of 20,000. """ billing_address: NotRequired[str] """ The billing address provided by the customer. """ cancellation_policy: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your subscription cancellation policy, as shown to the customer. """ cancellation_policy_disclosure: NotRequired[str] """ An explanation of how and when the customer was shown your refund policy prior to purchase. Has a maximum character count of 20,000. """ cancellation_rebuttal: NotRequired[str] """ A justification for why the customer's subscription was not canceled. Has a maximum character count of 20,000. """ customer_communication: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service. """ customer_email_address: NotRequired[str] """ The email address of the customer. """ customer_name: NotRequired[str] """ The name of the customer. """ customer_purchase_ip: NotRequired[str] """ The IP address that the customer used when making the purchase. """ customer_signature: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A relevant document or contract showing the customer's signature. """ duplicate_charge_documentation: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate. """ duplicate_charge_explanation: NotRequired[str] """ An explanation of the difference between the disputed charge versus the prior charge that appears to be a duplicate. Has a maximum character count of 20,000. """ duplicate_charge_id: NotRequired[str] """ The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge. """ enhanced_evidence: NotRequired[ "Literal['']|DisputeUpdateParamsEvidenceEnhancedEvidence" ] """ Additional evidence for qualifying evidence programs. """ product_description: NotRequired[str] """ A description of the product or service that was sold. Has a maximum character count of 20,000. """ receipt: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any receipt or message sent to the customer notifying them of the charge. """ refund_policy: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your refund policy, as shown to the customer. """ refund_policy_disclosure: NotRequired[str] """ Documentation demonstrating that the customer was shown your refund policy prior to purchase. Has a maximum character count of 20,000. """ refund_refusal_explanation: NotRequired[str] """ A justification for why the customer is not entitled to a refund. Has a maximum character count of 20,000. """ service_date: NotRequired[str] """ The date on which the customer received or began receiving the purchased service, in a clear human-readable format. """ service_documentation: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement. """ shipping_address: NotRequired[str] """ The address to which a physical product was shipped. You should try to include as complete address information as possible. """ shipping_carrier: NotRequired[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If multiple carriers were used for this purchase, please separate them with commas. """ shipping_date: NotRequired[str] """ The date on which a physical product began its route to the shipping address, in a clear human-readable format. """ shipping_documentation: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer's full shipping address, if possible. """ shipping_tracking_number: NotRequired[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ uncategorized_file: NotRequired[str] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any additional evidence or statements. """ uncategorized_text: NotRequired[str] """ Any additional evidence or statements. Has a maximum character count of 20,000. """ class DisputeUpdateParamsEvidenceEnhancedEvidence(TypedDict): visa_compelling_evidence_3: NotRequired[ "DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3" ] """ Evidence provided for Visa Compelling Evidence 3.0 evidence submission. """ visa_compliance: NotRequired[ "DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompliance" ] """ Evidence provided for Visa compliance evidence submission. """ class DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3( TypedDict, ): disputed_transaction: NotRequired[ "DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransaction" ] """ Disputed transaction details for Visa Compelling Evidence 3.0 evidence submission. """ prior_undisputed_transactions: NotRequired[ List[ "DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransaction" ] ] """ List of exactly two prior undisputed transaction objects for Visa Compelling Evidence 3.0 evidence submission. """ class DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransaction( TypedDict, ): customer_account_id: NotRequired["Literal['']|str"] """ User Account ID used to log into business platform. Must be recognizable by the user. """ customer_device_fingerprint: NotRequired["Literal['']|str"] """ Unique identifier of the cardholder's device derived from a combination of at least two hardware and software attributes. Must be at least 20 characters. """ customer_device_id: NotRequired["Literal['']|str"] """ Unique identifier of the cardholder's device such as a device serial number (e.g., International Mobile Equipment Identity [IMEI]). Must be at least 15 characters. """ customer_email_address: NotRequired["Literal['']|str"] """ The email address of the customer. """ customer_purchase_ip: NotRequired["Literal['']|str"] """ The IP address that the customer used when making the purchase. """ merchandise_or_services: NotRequired[Literal["merchandise", "services"]] """ Categorization of disputed payment. """ product_description: NotRequired["Literal['']|str"] """ A description of the product or service that was sold. """ shipping_address: NotRequired[ "DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionShippingAddress" ] """ The address to which a physical product was shipped. All fields are required for Visa Compelling Evidence 3.0 evidence submission. """ class DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3DisputedTransactionShippingAddress( TypedDict, ): city: NotRequired["Literal['']|str"] """ City, district, suburb, town, or village. """ country: NotRequired["Literal['']|str"] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired["Literal['']|str"] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired["Literal['']|str"] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired["Literal['']|str"] """ ZIP or postal code. """ state: NotRequired["Literal['']|str"] """ State, county, province, or region. """ class DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransaction( TypedDict, ): charge: str """ Stripe charge ID for the Visa Compelling Evidence 3.0 eligible prior charge. """ customer_account_id: NotRequired["Literal['']|str"] """ User Account ID used to log into business platform. Must be recognizable by the user. """ customer_device_fingerprint: NotRequired["Literal['']|str"] """ Unique identifier of the cardholder's device derived from a combination of at least two hardware and software attributes. Must be at least 20 characters. """ customer_device_id: NotRequired["Literal['']|str"] """ Unique identifier of the cardholder's device such as a device serial number (e.g., International Mobile Equipment Identity [IMEI]). Must be at least 15 characters. """ customer_email_address: NotRequired["Literal['']|str"] """ The email address of the customer. """ customer_purchase_ip: NotRequired["Literal['']|str"] """ The IP address that the customer used when making the purchase. """ product_description: NotRequired["Literal['']|str"] """ A description of the product or service that was sold. """ shipping_address: NotRequired[ "DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransactionShippingAddress" ] """ The address to which a physical product was shipped. All fields are required for Visa Compelling Evidence 3.0 evidence submission. """ class DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompellingEvidence3PriorUndisputedTransactionShippingAddress( TypedDict, ): city: NotRequired["Literal['']|str"] """ City, district, suburb, town, or village. """ country: NotRequired["Literal['']|str"] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired["Literal['']|str"] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired["Literal['']|str"] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired["Literal['']|str"] """ ZIP or postal code. """ state: NotRequired["Literal['']|str"] """ State, county, province, or region. """ class DisputeUpdateParamsEvidenceEnhancedEvidenceVisaCompliance(TypedDict): fee_acknowledged: NotRequired[bool] """ A field acknowledging the fee incurred when countering a Visa compliance dispute. If this field is set to true, evidence can be submitted for the compliance dispute. Stripe collects a 500 USD (or local equivalent) amount to cover the network costs associated with resolving compliance disputes. Stripe refunds the 500 USD network fee if you win the dispute. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_ephemeral_key_create_params.py0000644000000000000000000000161715102753431021041 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class EphemeralKeyCreateParams(TypedDict): customer: NotRequired[str] """ The ID of the Customer you'd like to modify using the resulting ephemeral key. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ issuing_card: NotRequired[str] """ The ID of the Issuing Card you'd like to access using the resulting ephemeral key. """ nonce: NotRequired[str] """ A single-use token, created by Stripe.js, used for creating ephemeral keys for Issuing Cards without exchanging sensitive information. """ verification_session: NotRequired[str] """ The ID of the Identity VerificationSession you'd like to access using the resulting ephemeral key """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_ephemeral_key_delete_params.py0000644000000000000000000000053015102753431021031 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class EphemeralKeyDeleteParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_event_list_params.py0000644000000000000000000000460715102753431017062 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class EventListParams(RequestOptions): created: NotRequired["EventListParamsCreated|int"] """ Only return events that were created during the given date interval. """ delivery_success: NotRequired[bool] """ Filter events by whether all webhooks were successfully delivered. If false, events which are still pending or have failed all delivery attempts to a webhook endpoint will be returned. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ type: NotRequired[str] """ A string containing a specific event name, or group of events using * as a wildcard. The list will be filtered to include only events with a matching event property. """ types: NotRequired[List[str]] """ An array of up to 20 strings containing specific event names. The list will be filtered to include only events with a matching event property. You may pass either `type` or `types`, but not both. """ class EventListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_event_retrieve_params.py0000644000000000000000000000052315102753431017725 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class EventRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_exchange_rate_list_params.py0000644000000000000000000000240615102753431020531 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ExchangeRateListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is the currency that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with the exchange rate for currency X your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and total number of supported payout currencies, and the default is the max. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is the currency that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with the exchange rate for currency X, your subsequent call can include `starting_after=X` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_exchange_rate_retrieve_params.py0000644000000000000000000000053215102753431021401 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ExchangeRateRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_file_create_params.py0000644000000000000000000000431715102753431017146 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Any, Dict, List from typing_extensions import Literal, NotRequired, TypedDict class FileCreateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ file: "Any" """ A file to upload. Make sure that the specifications follow RFC 2388, which defines file transfers for the `multipart/form-data` protocol. """ file_link_data: NotRequired["FileCreateParamsFileLinkData"] """ Optional parameters that automatically create a [file link](https://stripe.com/docs/api#file_links) for the newly created file. """ purpose: Literal[ "account_requirement", "additional_verification", "business_icon", "business_logo", "customer_signature", "dispute_evidence", "identity_document", "issuing_regulatory_reporting", "pci_document", "platform_terms_of_service", "tax_document_user_upload", "terminal_android_apk", "terminal_reader_splashscreen", ] """ The [purpose](https://stripe.com/docs/file-upload#uploading-a-file) of the uploaded file. """ class FileCreateParamsFileLinkData(TypedDict): create: bool """ Set this to `true` to create a file link for the newly created file. Creating a link is only possible when the file's `purpose` is one of the following: `business_icon`, `business_logo`, `customer_signature`, `dispute_evidence`, `issuing_regulatory_reporting`, `pci_document`, `tax_document_user_upload`, `terminal_android_apk`, or `terminal_reader_splashscreen`. """ expires_at: NotRequired[int] """ The link isn't available after this future timestamp. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_file_link_create_params.py0000644000000000000000000000241415102753431020157 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class FileLinkCreateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired[int] """ The link isn't usable after this future timestamp. """ file: str """ The ID of the file. The file's `purpose` must be one of the following: `business_icon`, `business_logo`, `customer_signature`, `dispute_evidence`, `finance_report_run`, `financial_account_statement`, `identity_document_downloadable`, `issuing_regulatory_reporting`, `pci_document`, `selfie`, `sigma_scheduled_query`, `tax_document_user_upload`, `terminal_android_apk`, or `terminal_reader_splashscreen`. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_file_link_list_params.py0000644000000000000000000000364215102753431017673 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class FileLinkListParams(RequestOptions): created: NotRequired["FileLinkListParamsCreated|int"] """ Only return links that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expired: NotRequired[bool] """ Filter links by their expiration status. By default, Stripe returns all links. """ file: NotRequired[str] """ Only return links for the given file. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class FileLinkListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_file_link_modify_params.py0000644000000000000000000000165315102753431020207 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class FileLinkModifyParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired["Literal['']|Literal['now']|int"] """ A future timestamp after which the link will no longer be usable, or `now` to expire the link immediately. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_file_link_retrieve_params.py0000644000000000000000000000052615102753431020543 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class FileLinkRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_file_link_update_params.py0000644000000000000000000000157615102753431020206 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class FileLinkUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired["Literal['']|Literal['now']|int"] """ A future timestamp after which the link will no longer be usable, or `now` to expire the link immediately. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_file_list_params.py0000644000000000000000000000507115102753431016654 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class FileListParams(RequestOptions): created: NotRequired["FileListParamsCreated|int"] """ Only return files that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ purpose: NotRequired[ Literal[ "account_requirement", "additional_verification", "business_icon", "business_logo", "customer_signature", "dispute_evidence", "document_provider_identity_document", "finance_report_run", "financial_account_statement", "identity_document", "identity_document_downloadable", "issuing_regulatory_reporting", "pci_document", "platform_terms_of_service", "selfie", "sigma_scheduled_query", "tax_document_user_upload", "terminal_android_apk", "terminal_reader_splashscreen", ] ] """ Filter queries by the file purpose. If you don't provide a purpose, the queries return unfiltered files. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class FileListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_file_retrieve_params.py0000644000000000000000000000052215102753431017522 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class FileRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_invoice_add_lines_params.py0000644000000000000000000002607415102753431020346 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class InvoiceAddLinesParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice_metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ lines: List["InvoiceAddLinesParamsLine"] """ The line items to add. """ class InvoiceAddLinesParamsLine(TypedDict): amount: NotRequired[int] """ The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount. """ description: NotRequired[str] """ An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking. """ discountable: NotRequired[bool] """ Controls whether discounts apply to this line item. Defaults to false for prorations or negative line items, and true for all other line items. Cannot be set to true for prorations. """ discounts: NotRequired[ "Literal['']|List[InvoiceAddLinesParamsLineDiscount]" ] """ The coupons, promotion codes & existing discounts which apply to the line item. Item discounts are applied before invoice discounts. Pass an empty string to remove previously-defined discounts. """ invoice_item: NotRequired[str] """ ID of an unassigned invoice item to assign to this invoice. If not provided, a new item will be created. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ period: NotRequired["InvoiceAddLinesParamsLinePeriod"] """ The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details. """ price_data: NotRequired["InvoiceAddLinesParamsLinePriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. """ pricing: NotRequired["InvoiceAddLinesParamsLinePricing"] """ The pricing information for the invoice item. """ quantity: NotRequired[int] """ Non-negative integer. The quantity of units for the line item. """ tax_amounts: NotRequired[ "Literal['']|List[InvoiceAddLinesParamsLineTaxAmount]" ] """ A list of up to 10 tax amounts for this line item. This can be useful if you calculate taxes on your own or use a third-party to calculate them. You cannot set tax amounts if any line item has [tax_rates](https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-tax_rates) or if the invoice has [default_tax_rates](https://stripe.com/docs/api/invoices/object#invoice_object-default_tax_rates) or uses [automatic tax](https://stripe.com/docs/tax/invoicing). Pass an empty string to remove previously defined tax amounts. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the line item. When set, the `default_tax_rates` on the invoice do not apply to this line item. Pass an empty string to remove previously-defined tax rates. """ class InvoiceAddLinesParamsLineDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class InvoiceAddLinesParamsLinePeriod(TypedDict): end: int """ The end of the period, which must be greater than or equal to the start. This value is inclusive. """ start: int """ The start of the period. This value is inclusive. """ class InvoiceAddLinesParamsLinePriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: NotRequired[str] """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. One of `product` or `product_data` is required. """ product_data: NotRequired["InvoiceAddLinesParamsLinePriceDataProductData"] """ Data used to generate a new [Product](https://docs.stripe.com/api/products) object inline. One of `product` or `product_data` is required. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A non-negative integer in cents (or local equivalent) representing how much to charge. One of `unit_amount` or `unit_amount_decimal` is required. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class InvoiceAddLinesParamsLinePriceDataProductData(TypedDict): description: NotRequired[str] """ 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. """ images: NotRequired[List[str]] """ A list of up to 8 URLs of images for this product, meant to be displayable to the customer. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: str """ The product's name, meant to be displayable to the customer. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ unit_label: NotRequired[str] """ A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. """ class InvoiceAddLinesParamsLinePricing(TypedDict): price: NotRequired[str] """ The ID of the price object. """ class InvoiceAddLinesParamsLineTaxAmount(TypedDict): amount: int """ The amount, in cents (or local equivalent), of the tax. """ tax_rate_data: "InvoiceAddLinesParamsLineTaxAmountTaxRateData" """ Data to find or create a TaxRate object. Stripe automatically creates or reuses a TaxRate object for each tax amount. If the `tax_rate_data` exactly matches a previous value, Stripe will reuse the TaxRate object. TaxRate objects created automatically by Stripe are immediately archived, do not appear in the line item's `tax_rates`, and cannot be directly added to invoices, payments, or line items. """ taxability_reason: NotRequired[ Literal[ "customer_exempt", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] ] """ The reasoning behind this tax, for example, if the product is tax exempt. """ taxable_amount: int """ The amount on which tax is calculated, in cents (or local equivalent). """ class InvoiceAddLinesParamsLineTaxAmountTaxRateData(TypedDict): country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ description: NotRequired[str] """ An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers. """ display_name: str """ The display name of the tax rate, which will be shown to users. """ inclusive: bool """ This specifies if the tax rate is inclusive or exclusive. """ jurisdiction: NotRequired[str] """ The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer's invoice. """ jurisdiction_level: NotRequired[ Literal["city", "country", "county", "district", "multiple", "state"] ] """ The level of the jurisdiction that imposes this tax rate. """ percentage: float """ The statutory tax rate percent. This field accepts decimal values between 0 and 100 inclusive with at most 4 decimal places. To accommodate fixed-amount taxes, set the percentage to zero. Stripe will not display zero percentages on the invoice unless the `amount` of the tax is also zero. """ state: NotRequired[str] """ [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States. """ tax_type: NotRequired[ Literal[ "amusement_tax", "communications_tax", "gst", "hst", "igst", "jct", "lease_tax", "pst", "qst", "retail_delivery_fee", "rst", "sales_tax", "service_tax", "vat", ] ] """ The high-level tax type, such as `vat` or `sales_tax`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_invoice_attach_payment_params.py0000644000000000000000000000107015102753431021412 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InvoiceAttachPaymentParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ payment_intent: NotRequired[str] """ The ID of the PaymentIntent to attach to the invoice. """ payment_record: NotRequired[str] """ The ID of the PaymentRecord to attach to the invoice. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.351062 stripe-13.2.0/stripe/params/_invoice_create_params.py0000644000000000000000000006466115102753431017673 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class InvoiceCreateParams(RequestOptions): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with the invoice. Only editable when the invoice is a draft. """ application_fee_amount: NotRequired[int] """ A fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees). """ auto_advance: NotRequired[bool] """ Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action. Defaults to false. """ automatic_tax: NotRequired["InvoiceCreateParamsAutomaticTax"] """ Settings for automatic tax lookup for this invoice. """ automatically_finalizes_at: NotRequired[int] """ The time when this invoice should be scheduled to finalize (up to 5 years in the future). The invoice is finalized at this time if it's still in draft state. """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions. Defaults to `charge_automatically`. """ currency: NotRequired[str] """ The currency to create this invoice in. Defaults to that of `customer` if not specified. """ custom_fields: NotRequired[ "Literal['']|List[InvoiceCreateParamsCustomField]" ] """ A list of up to 4 custom fields to be displayed on the invoice. """ customer: NotRequired[str] """ The ID of the customer who will be billed. """ days_until_due: NotRequired[int] """ The number of days from when the invoice is created until it is due. Valid only for invoices where `collection_method=send_invoice`. """ default_payment_method: NotRequired[str] """ ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings. """ default_source: NotRequired[str] """ ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source. """ default_tax_rates: NotRequired[List[str]] """ The tax rates that will apply to any line item that does not have `tax_rates` set. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard. """ discounts: NotRequired["Literal['']|List[InvoiceCreateParamsDiscount]"] """ The coupons and promotion codes to redeem into discounts for the invoice. If not specified, inherits the discount from the invoice's customer. Pass an empty string to avoid inheriting any discounts. """ due_date: NotRequired[int] """ The date on which payment for this invoice is due. Valid only for invoices where `collection_method=send_invoice`. """ effective_at: NotRequired[int] """ The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ footer: NotRequired[str] """ Footer to be displayed on the invoice. """ from_invoice: NotRequired["InvoiceCreateParamsFromInvoice"] """ Revise an existing invoice. The new invoice will be created in `status=draft`. See the [revision documentation](https://stripe.com/docs/invoicing/invoice-revisions) for more details. """ issuer: NotRequired["InvoiceCreateParamsIssuer"] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ number: NotRequired[str] """ Set the number for this invoice. If no number is present then a number will be assigned automatically when the invoice is finalized. In many markets, regulations require invoices to be unique, sequential and / or gapless. You are responsible for ensuring this is true across all your different invoicing systems in the event that you edit the invoice number using our API. If you use only Stripe for your invoices and do not change invoice numbers, Stripe handles this aspect of compliance for you automatically. """ on_behalf_of: NotRequired[str] """ The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details. """ payment_settings: NotRequired["InvoiceCreateParamsPaymentSettings"] """ Configuration settings for the PaymentIntent that is generated when the invoice is finalized. """ pending_invoice_items_behavior: NotRequired[Literal["exclude", "include"]] """ How to handle pending invoice items on invoice creation. Defaults to `exclude` if the parameter is omitted. """ rendering: NotRequired["InvoiceCreateParamsRendering"] """ The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page. """ shipping_cost: NotRequired["InvoiceCreateParamsShippingCost"] """ Settings for the cost of shipping for this invoice. """ shipping_details: NotRequired["InvoiceCreateParamsShippingDetails"] """ 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. """ statement_descriptor: NotRequired[str] """ Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default `statement_descriptor` will be set to the first subscription item's product's `statement_descriptor`. """ subscription: NotRequired[str] """ The ID of the subscription to invoice, if any. If set, the created invoice will only include pending invoice items for that subscription. The subscription's billing cycle and regular subscription events won't be affected. """ transfer_data: NotRequired["InvoiceCreateParamsTransferData"] """ If specified, the funds from the invoice will be transferred to the destination and the ID of the resulting transfer will be found on the invoice's charge. """ class InvoiceCreateParamsAutomaticTax(TypedDict): enabled: bool """ Whether Stripe automatically computes tax on this invoice. Note that incompatible invoice items (invoice items with manually specified [tax rates](https://stripe.com/docs/api/tax_rates), negative amounts, or `tax_behavior=unspecified`) cannot be added to automatic tax invoices. """ liability: NotRequired["InvoiceCreateParamsAutomaticTaxLiability"] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class InvoiceCreateParamsAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class InvoiceCreateParamsCustomField(TypedDict): name: str """ The name of the custom field. This may be up to 40 characters. """ value: str """ The value of the custom field. This may be up to 140 characters. """ class InvoiceCreateParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class InvoiceCreateParamsFromInvoice(TypedDict): action: Literal["revision"] """ The relation between the new invoice and the original invoice. Currently, only 'revision' is permitted """ invoice: str """ The `id` of the invoice that will be cloned. """ class InvoiceCreateParamsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class InvoiceCreateParamsPaymentSettings(TypedDict): default_mandate: NotRequired["Literal['']|str"] """ ID of the mandate to be used for this invoice. It must correspond to the payment method used to pay the invoice, including the invoice's default_payment_method or default_source, if set. """ payment_method_options: NotRequired[ "InvoiceCreateParamsPaymentSettingsPaymentMethodOptions" ] """ Payment-method-specific configuration to provide to the invoice's PaymentIntent. """ payment_method_types: NotRequired[ "Literal['']|List[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'payco', 'paynow', 'paypal', 'promptpay', 'revolut_pay', 'sepa_credit_transfer', 'sepa_debit', 'sofort', 'swish', 'us_bank_account', 'wechat_pay']]" ] """ The list of payment method types (e.g. card) to provide to the invoice's PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice's default payment method, the subscription's default payment method, the customer's default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice). """ class InvoiceCreateParamsPaymentSettingsPaymentMethodOptions(TypedDict): acss_debit: NotRequired[ "Literal['']|InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebit" ] """ If paying by `acss_debit`, this sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to the invoice's PaymentIntent. """ bancontact: NotRequired[ "Literal['']|InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsBancontact" ] """ If paying by `bancontact`, this sub-hash contains details about the Bancontact payment method options to pass to the invoice's PaymentIntent. """ card: NotRequired[ "Literal['']|InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCard" ] """ If paying by `card`, this sub-hash contains details about the Card payment method options to pass to the invoice's PaymentIntent. """ customer_balance: NotRequired[ "Literal['']|InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance" ] """ If paying by `customer_balance`, this sub-hash contains details about the Bank transfer payment method options to pass to the invoice's PaymentIntent. """ konbini: NotRequired[ "Literal['']|InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsKonbini" ] """ If paying by `konbini`, this sub-hash contains details about the Konbini payment method options to pass to the invoice's PaymentIntent. """ sepa_debit: NotRequired[ "Literal['']|InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsSepaDebit" ] """ If paying by `sepa_debit`, this sub-hash contains details about the SEPA Direct Debit payment method options to pass to the invoice's PaymentIntent. """ us_bank_account: NotRequired[ "Literal['']|InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount" ] """ If paying by `us_bank_account`, this sub-hash contains details about the ACH direct debit payment method options to pass to the invoice's PaymentIntent. """ class InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebit( TypedDict, ): mandate_options: NotRequired[ "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions" ] """ Additional fields for Mandate creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Verification method for the intent """ class InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions( TypedDict, ): transaction_type: NotRequired[Literal["business", "personal"]] """ Transaction type of the mandate. """ class InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsBancontact( TypedDict, ): preferred_language: NotRequired[Literal["de", "en", "fr", "nl"]] """ Preferred language of the Bancontact authorization page that the customer is redirected to. """ class InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCard(TypedDict): installments: NotRequired[ "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCardInstallments" ] """ Installment configuration for payments attempted on this invoice. For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments). """ request_three_d_secure: NotRequired[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ class InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCardInstallments( TypedDict, ): enabled: NotRequired[bool] """ Setting to true enables installments for this invoice. Setting to false will prevent any selected plan from applying to a payment. """ plan: NotRequired[ "Literal['']|InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCardInstallmentsPlan" ] """ The selected installment plan to use for this invoice. """ class InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCardInstallmentsPlan( TypedDict, ): count: NotRequired[int] """ For `fixed_count` installment plans, this is required. It represents the number of installment payments your customer will make to their credit card. """ interval: NotRequired[Literal["month"]] """ For `fixed_count` installment plans, this is required. It represents the interval between installment payments your customer will make to their credit card. One of `month`. """ type: Literal["bonus", "fixed_count", "revolving"] """ Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`. """ class InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance( TypedDict, ): bank_transfer: NotRequired[ "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer" ] """ Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`. """ funding_type: NotRequired[str] """ The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. """ class InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer( TypedDict, ): eu_bank_transfer: NotRequired[ "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer" ] """ Configuration for eu_bank_transfer funding type. """ type: NotRequired[str] """ The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. """ class InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer( TypedDict, ): country: str """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ class InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsKonbini(TypedDict): pass class InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsSepaDebit( TypedDict, ): pass class InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount( TypedDict, ): financial_connections: NotRequired[ "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections" ] """ Additional fields for Financial Connections Session creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Verification method for the intent """ class InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections( TypedDict, ): filters: NotRequired[ "InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters" ] """ Provide filters for the linked accounts that the customer can select for the payment method. """ permissions: NotRequired[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ class InvoiceCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters( TypedDict, ): account_subcategories: NotRequired[List[Literal["checking", "savings"]]] """ The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`. """ class InvoiceCreateParamsRendering(TypedDict): amount_tax_display: NotRequired[ "Literal['']|Literal['exclude_tax', 'include_inclusive_tax']" ] """ 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. """ pdf: NotRequired["InvoiceCreateParamsRenderingPdf"] """ Invoice pdf rendering options """ template: NotRequired[str] """ ID of the invoice rendering template to use for this invoice. """ template_version: NotRequired["Literal['']|int"] """ The specific version of invoice rendering template to use for this invoice. """ class InvoiceCreateParamsRenderingPdf(TypedDict): page_size: NotRequired[Literal["a4", "auto", "letter"]] """ Page size for invoice PDF. Can be set to `a4`, `letter`, or `auto`. If set to `auto`, invoice PDF page size defaults to `a4` for customers with Japanese locale and `letter` for customers with other locales. """ class InvoiceCreateParamsShippingCost(TypedDict): shipping_rate: NotRequired[str] """ The ID of the shipping rate to use for this order. """ shipping_rate_data: NotRequired[ "InvoiceCreateParamsShippingCostShippingRateData" ] """ Parameters to create a new ad-hoc shipping rate for this order. """ class InvoiceCreateParamsShippingCostShippingRateData(TypedDict): delivery_estimate: NotRequired[ "InvoiceCreateParamsShippingCostShippingRateDataDeliveryEstimate" ] """ The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions. """ display_name: str """ The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions. """ fixed_amount: NotRequired[ "InvoiceCreateParamsShippingCostShippingRateDataFixedAmount" ] """ Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`. """ type: NotRequired[Literal["fixed_amount"]] """ The type of calculation to use on the shipping rate. """ class InvoiceCreateParamsShippingCostShippingRateDataDeliveryEstimate( TypedDict, ): maximum: NotRequired[ "InvoiceCreateParamsShippingCostShippingRateDataDeliveryEstimateMaximum" ] """ The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite. """ minimum: NotRequired[ "InvoiceCreateParamsShippingCostShippingRateDataDeliveryEstimateMinimum" ] """ The lower bound of the estimated range. If empty, represents no lower bound. """ class InvoiceCreateParamsShippingCostShippingRateDataDeliveryEstimateMaximum( TypedDict, ): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ class InvoiceCreateParamsShippingCostShippingRateDataDeliveryEstimateMinimum( TypedDict, ): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ class InvoiceCreateParamsShippingCostShippingRateDataFixedAmount(TypedDict): amount: int """ A non-negative integer in cents representing how much to charge. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ currency_options: NotRequired[ Dict[ str, "InvoiceCreateParamsShippingCostShippingRateDataFixedAmountCurrencyOptions", ] ] """ Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ class InvoiceCreateParamsShippingCostShippingRateDataFixedAmountCurrencyOptions( TypedDict, ): amount: int """ A non-negative integer in cents representing how much to charge. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ class InvoiceCreateParamsShippingDetails(TypedDict): address: "InvoiceCreateParamsShippingDetailsAddress" """ Shipping address """ name: str """ Recipient name. """ phone: NotRequired["Literal['']|str"] """ Recipient phone (including extension) """ class InvoiceCreateParamsShippingDetailsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class InvoiceCreateParamsTransferData(TypedDict): amount: NotRequired[int] """ The amount that will be transferred automatically when the invoice is paid. If no amount is set, the full amount is transferred. """ destination: str """ ID of an existing, connected Stripe account. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_create_preview_params.py0000644000000000000000000014111715102753431021424 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class InvoiceCreatePreviewParams(RequestOptions): automatic_tax: NotRequired["InvoiceCreatePreviewParamsAutomaticTax"] """ Settings for automatic tax lookup for this invoice preview. """ currency: NotRequired[str] """ The currency to preview this invoice in. Defaults to that of `customer` if not specified. """ customer: NotRequired[str] """ The identifier of the customer whose upcoming invoice you'd like to retrieve. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set. """ customer_details: NotRequired["InvoiceCreatePreviewParamsCustomerDetails"] """ Details about the customer you want to invoice or overrides for an existing customer. If `automatic_tax` is enabled then one of `customer`, `customer_details`, `subscription`, or `schedule` must be set. """ discounts: NotRequired[ "Literal['']|List[InvoiceCreatePreviewParamsDiscount]" ] """ The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the subscription or customer. This works for both coupons directly applied to an invoice and coupons applied to a subscription. Pass an empty string to avoid inheriting any discounts. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice_items: NotRequired[List["InvoiceCreatePreviewParamsInvoiceItem"]] """ List of invoice items to add or update in the upcoming invoice preview (up to 250). """ issuer: NotRequired["InvoiceCreatePreviewParamsIssuer"] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ on_behalf_of: NotRequired["Literal['']|str"] """ The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details. """ preview_mode: NotRequired[Literal["next", "recurring"]] """ Customizes the types of values to include when calculating the invoice. Defaults to `next` if unspecified. """ schedule: NotRequired[str] """ The identifier of the schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields. """ schedule_details: NotRequired["InvoiceCreatePreviewParamsScheduleDetails"] """ The schedule creation or modification params to apply as a preview. Cannot be used with `subscription` or `subscription_` prefixed fields. """ subscription: NotRequired[str] """ The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_details.items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_details.items` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions. """ subscription_details: NotRequired[ "InvoiceCreatePreviewParamsSubscriptionDetails" ] """ The subscription creation or modification params to apply as a preview. Cannot be used with `schedule` or `schedule_details` fields. """ class InvoiceCreatePreviewParamsAutomaticTax(TypedDict): enabled: bool """ Whether Stripe automatically computes tax on this invoice. Note that incompatible invoice items (invoice items with manually specified [tax rates](https://stripe.com/docs/api/tax_rates), negative amounts, or `tax_behavior=unspecified`) cannot be added to automatic tax invoices. """ liability: NotRequired["InvoiceCreatePreviewParamsAutomaticTaxLiability"] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class InvoiceCreatePreviewParamsAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class InvoiceCreatePreviewParamsCustomerDetails(TypedDict): address: NotRequired[ "Literal['']|InvoiceCreatePreviewParamsCustomerDetailsAddress" ] """ The customer's address. """ shipping: NotRequired[ "Literal['']|InvoiceCreatePreviewParamsCustomerDetailsShipping" ] """ The customer's shipping information. Appears on invoices emailed to this customer. """ tax: NotRequired["InvoiceCreatePreviewParamsCustomerDetailsTax"] """ Tax details about the customer. """ tax_exempt: NotRequired["Literal['']|Literal['exempt', 'none', 'reverse']"] """ The customer's tax exemption. One of `none`, `exempt`, or `reverse`. """ tax_ids: NotRequired[ List["InvoiceCreatePreviewParamsCustomerDetailsTaxId"] ] """ The customer's tax IDs. """ class InvoiceCreatePreviewParamsCustomerDetailsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class InvoiceCreatePreviewParamsCustomerDetailsShipping(TypedDict): address: "InvoiceCreatePreviewParamsCustomerDetailsShippingAddress" """ Customer shipping address. """ name: str """ Customer name. """ phone: NotRequired[str] """ Customer phone (including extension). """ class InvoiceCreatePreviewParamsCustomerDetailsShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ A freeform text field for the country. However, in order to activate some tax features, the format should be a two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class InvoiceCreatePreviewParamsCustomerDetailsTax(TypedDict): ip_address: NotRequired["Literal['']|str"] """ A recent IP address of the customer used for tax reporting and tax location inference. Stripe recommends updating the IP address when a new PaymentMethod is attached or the address field on the customer is updated. We recommend against updating this field more frequently since it could result in unexpected tax location/reporting outcomes. """ class InvoiceCreatePreviewParamsCustomerDetailsTaxId(TypedDict): type: Literal[ "ad_nrt", "ae_trn", "al_tin", "am_tin", "ao_tin", "ar_cuit", "au_abn", "au_arn", "aw_tin", "az_tin", "ba_tin", "bb_tin", "bd_bin", "bf_ifu", "bg_uic", "bh_vat", "bj_ifu", "bo_tin", "br_cnpj", "br_cpf", "bs_tin", "by_tin", "ca_bn", "ca_gst_hst", "ca_pst_bc", "ca_pst_mb", "ca_pst_sk", "ca_qst", "cd_nif", "ch_uid", "ch_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", "de_stn", "do_rcn", "ec_ruc", "eg_tin", "es_cif", "et_tin", "eu_oss_vat", "eu_vat", "gb_vat", "ge_vat", "gn_nif", "hk_br", "hr_oib", "hu_tin", "id_npwp", "il_vat", "in_gst", "is_vat", "jp_cn", "jp_rn", "jp_trn", "ke_pin", "kg_tin", "kh_tin", "kr_brn", "kz_bin", "la_tin", "li_uid", "li_vat", "ma_vat", "md_vat", "me_pib", "mk_vat", "mr_nif", "mx_rfc", "my_frp", "my_itn", "my_sst", "ng_tin", "no_vat", "no_voec", "np_pan", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "ro_tin", "rs_pib", "ru_inn", "ru_kpp", "sa_vat", "sg_gst", "sg_uen", "si_tin", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", "tw_vat", "tz_vat", "ua_vat", "ug_tin", "us_ein", "uy_ruc", "uz_tin", "uz_vat", "ve_rif", "vn_tin", "za_vat", "zm_tin", "zw_tin", ] """ Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_arn`, `aw_tin`, `az_tin`, `ba_tin`, `bb_tin`, `bd_bin`, `bf_ifu`, `bg_uic`, `bh_vat`, `bj_ifu`, `bo_tin`, `br_cnpj`, `br_cpf`, `bs_tin`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `ma_vat`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tw_vat`, `tz_vat`, `ua_vat`, `ug_tin`, `us_ein`, `uy_ruc`, `uz_tin`, `uz_vat`, `ve_rif`, `vn_tin`, `za_vat`, `zm_tin`, or `zw_tin` """ value: str """ Value of the tax ID. """ class InvoiceCreatePreviewParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class InvoiceCreatePreviewParamsInvoiceItem(TypedDict): amount: NotRequired[int] """ The integer amount in cents (or local equivalent) of previewed invoice item. """ currency: NotRequired[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). Only applicable to new invoice items. """ description: NotRequired[str] """ An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking. """ discountable: NotRequired[bool] """ Explicitly controls whether discounts apply to this invoice item. Defaults to true, except for negative invoice items. """ discounts: NotRequired[ "Literal['']|List[InvoiceCreatePreviewParamsInvoiceItemDiscount]" ] """ The coupons to redeem into discounts for the invoice item in the preview. """ invoiceitem: NotRequired[str] """ The ID of the invoice item to update in preview. If not specified, a new invoice item will be added to the preview of the upcoming invoice. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ period: NotRequired["InvoiceCreatePreviewParamsInvoiceItemPeriod"] """ The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. """ price_data: NotRequired["InvoiceCreatePreviewParamsInvoiceItemPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: NotRequired[int] """ Non-negative integer. The quantity of units for the invoice item. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ tax_code: NotRequired["Literal['']|str"] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates that apply to the item. When set, any `default_tax_rates` do not apply to this item. """ unit_amount: NotRequired[int] """ The integer unit amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. This unit_amount will be multiplied by the quantity to get the full amount. If you want to apply a credit to the customer's account, pass a negative unit_amount. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class InvoiceCreatePreviewParamsInvoiceItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class InvoiceCreatePreviewParamsInvoiceItemPeriod(TypedDict): end: int """ The end of the period, which must be greater than or equal to the start. This value is inclusive. """ start: int """ The start of the period. This value is inclusive. """ class InvoiceCreatePreviewParamsInvoiceItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class InvoiceCreatePreviewParamsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class InvoiceCreatePreviewParamsScheduleDetails(TypedDict): billing_mode: NotRequired[ "InvoiceCreatePreviewParamsScheduleDetailsBillingMode" ] """ Controls how prorations and invoices for subscriptions are calculated and orchestrated. """ end_behavior: NotRequired[Literal["cancel", "release"]] """ Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running. `cancel` will end the subscription schedule and cancel the underlying subscription. """ phases: NotRequired[List["InvoiceCreatePreviewParamsScheduleDetailsPhase"]] """ List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ In cases where the `schedule_details` params update the currently active phase, specifies if and how to prorate at the time of the request. """ class InvoiceCreatePreviewParamsScheduleDetailsBillingMode(TypedDict): flexible: NotRequired[ "InvoiceCreatePreviewParamsScheduleDetailsBillingModeFlexible" ] """ Configure behavior for flexible billing mode. """ type: Literal["classic", "flexible"] """ Controls the calculation and orchestration of prorations and invoices for subscriptions. If no value is passed, the default is `flexible`. """ class InvoiceCreatePreviewParamsScheduleDetailsBillingModeFlexible(TypedDict): proration_discounts: NotRequired[Literal["included", "itemized"]] """ Controls how invoices and invoice items display proration amounts and discount amounts. """ class InvoiceCreatePreviewParamsScheduleDetailsPhase(TypedDict): add_invoice_items: NotRequired[ List["InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItem"] ] """ A list of prices and quantities that will generate invoice items appended to the next invoice for this phase. You may pass up to 20 items. """ application_fee_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). """ automatic_tax: NotRequired[ "InvoiceCreatePreviewParamsScheduleDetailsPhaseAutomaticTax" ] """ Automatic tax settings for this phase. """ billing_cycle_anchor: NotRequired[Literal["automatic", "phase_start"]] """ Can be set to `phase_start` to set the anchor to the start of the phase or `automatic` to automatically change it if needed. Cannot be set to `phase_start` if this phase specifies a trial. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). """ billing_thresholds: NotRequired[ "Literal['']|InvoiceCreatePreviewParamsScheduleDetailsPhaseBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically` on creation. """ currency: NotRequired[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ default_payment_method: NotRequired[str] """ ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings. """ default_tax_rates: NotRequired["Literal['']|List[str]"] """ A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will set the Subscription's [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates), which means they will be the Invoice's [`default_tax_rates`](https://stripe.com/docs/api/invoices/create#create_invoice-default_tax_rates) for any Invoices issued by the Subscription during this Phase. """ description: NotRequired["Literal['']|str"] """ Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ discounts: NotRequired[ "Literal['']|List[InvoiceCreatePreviewParamsScheduleDetailsPhaseDiscount]" ] """ The coupons to redeem into discounts for the schedule phase. If not specified, inherits the discount from the subscription's customer. Pass an empty string to avoid inheriting any discounts. """ duration: NotRequired[ "InvoiceCreatePreviewParamsScheduleDetailsPhaseDuration" ] """ The number of intervals the phase should last. If set, `end_date` must not be set. """ end_date: NotRequired["int|Literal['now']"] """ The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. """ invoice_settings: NotRequired[ "InvoiceCreatePreviewParamsScheduleDetailsPhaseInvoiceSettings" ] """ All invoices will be billed using the specified settings. """ items: List["InvoiceCreatePreviewParamsScheduleDetailsPhaseItem"] """ List of configuration items, each with an attached price, to apply during this phase of the subscription schedule. """ metadata: NotRequired[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a phase. Metadata on a schedule's phase will update the underlying subscription's `metadata` when the phase is entered, adding new keys and replacing existing keys in the subscription's `metadata`. Individual keys in the subscription's `metadata` can be unset by posting an empty value to them in the phase's `metadata`. To unset all keys in the subscription's `metadata`, update the subscription directly or unset every key individually from the phase's `metadata`. """ on_behalf_of: NotRequired[str] """ The account on behalf of which to charge, for each of the associated subscription's invoices. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Controls whether the subscription schedule should create [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when transitioning to this phase if there is a difference in billing configuration. It's different from the request-level [proration_behavior](https://stripe.com/docs/api/subscription_schedules/update#update_subscription_schedule-proration_behavior) parameter which controls what happens if the update request affects the billing configuration (item price, quantity, etc.) of the current phase. """ start_date: NotRequired["int|Literal['now']"] """ The date at which this phase of the subscription schedule starts or `now`. Must be set on the first phase. """ transfer_data: NotRequired[ "InvoiceCreatePreviewParamsScheduleDetailsPhaseTransferData" ] """ The data with which to automatically create a Transfer for each of the associated subscription's invoices. """ trial: NotRequired[bool] """ If set to true the entire phase is counted as a trial and the customer will not be charged for any fees. """ trial_end: NotRequired["int|Literal['now']"] """ Sets the phase to trialing from the start date to this date. Must be before the phase end date, can not be combined with `trial` """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItem(TypedDict): discounts: NotRequired[ List[ "InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemDiscount" ] ] """ The coupons to redeem into discounts for the item. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ period: NotRequired[ "InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPeriod" ] """ The period associated with this invoice item. If not set, `period.start.type` defaults to `max_item_period_start` and `period.end.type` defaults to `min_item_period_end`. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. """ price_data: NotRequired[ "InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPriceData" ] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: NotRequired[int] """ Quantity for this item. Defaults to 1. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemDiscount( TypedDict, ): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPeriod( TypedDict, ): end: ( "InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPeriodEnd" ) """ End of the invoice item period. """ start: "InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPeriodStart" """ Start of the invoice item period. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPeriodEnd( TypedDict, ): timestamp: NotRequired[int] """ A precise Unix timestamp for the end of the invoice item period. Must be greater than or equal to `period.start`. """ type: Literal["min_item_period_end", "phase_end", "timestamp"] """ Select how to calculate the end of the invoice item period. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPeriodStart( TypedDict, ): timestamp: NotRequired[int] """ A precise Unix timestamp for the start of the invoice item period. Must be less than or equal to `period.end`. """ type: Literal["max_item_period_start", "phase_start", "timestamp"] """ Select how to calculate the start of the invoice item period. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseAddInvoiceItemPriceData( TypedDict, ): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge or a negative integer representing the amount to credit to the customer. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseAutomaticTax(TypedDict): enabled: bool """ Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription. """ liability: NotRequired[ "InvoiceCreatePreviewParamsScheduleDetailsPhaseAutomaticTaxLiability" ] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseAutomaticTaxLiability( TypedDict, ): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseBillingThresholds( TypedDict, ): amount_gte: NotRequired[int] """ Monetary threshold that triggers the subscription to advance to a new billing period """ reset_billing_cycle_anchor: NotRequired[bool] """ Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseDuration(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies phase duration. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The multiplier applied to the interval. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseInvoiceSettings(TypedDict): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with this phase of the subscription schedule. Will be set on invoices generated by this phase of the subscription schedule. """ days_until_due: NotRequired[int] """ Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`. """ issuer: NotRequired[ "InvoiceCreatePreviewParamsScheduleDetailsPhaseInvoiceSettingsIssuer" ] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseInvoiceSettingsIssuer( TypedDict, ): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseItem(TypedDict): billing_thresholds: NotRequired[ "Literal['']|InvoiceCreatePreviewParamsScheduleDetailsPhaseItemBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ discounts: NotRequired[ "Literal['']|List[InvoiceCreatePreviewParamsScheduleDetailsPhaseItemDiscount]" ] """ The coupons to redeem into discounts for the subscription item. """ metadata: NotRequired[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a configuration item. Metadata on a configuration item will update the underlying subscription item's `metadata` when the phase is entered, adding new keys and replacing existing keys. Individual keys in the subscription item's `metadata` can be unset by posting an empty value to them in the configuration item's `metadata`. To unset all keys in the subscription item's `metadata`, update the subscription item directly or unset every key individually from the configuration item's `metadata`. """ plan: NotRequired[str] """ The plan ID to subscribe to. You may specify the same ID in `plan` and `price`. """ price: NotRequired[str] """ The ID of the price object. """ price_data: NotRequired[ "InvoiceCreatePreviewParamsScheduleDetailsPhaseItemPriceData" ] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. """ quantity: NotRequired[int] """ Quantity for the given price. Can be set only if the price's `usage_type` is `licensed` and not `metered`. """ tax_rates: NotRequired["Literal['']|List[str]"] """ A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseItemBillingThresholds( TypedDict, ): usage_gte: int """ Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte)) """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ recurring: ( "InvoiceCreatePreviewParamsScheduleDetailsPhaseItemPriceDataRecurring" ) """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseItemPriceDataRecurring( TypedDict, ): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ class InvoiceCreatePreviewParamsScheduleDetailsPhaseTransferData(TypedDict): amount_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. """ destination: str """ ID of an existing, connected Stripe account. """ class InvoiceCreatePreviewParamsSubscriptionDetails(TypedDict): billing_cycle_anchor: NotRequired["Literal['now', 'unchanged']|int"] """ For new subscriptions, a future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to `now` or `unchanged`. """ billing_mode: NotRequired[ "InvoiceCreatePreviewParamsSubscriptionDetailsBillingMode" ] """ Controls how prorations and invoices for subscriptions are calculated and orchestrated. """ cancel_at: NotRequired[ "Literal['']|int|Literal['max_period_end', 'min_period_end']" ] """ A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period. """ cancel_at_period_end: NotRequired[bool] """ Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`. """ cancel_now: NotRequired[bool] """ This simulates the subscription being canceled or expired immediately. """ default_tax_rates: NotRequired["Literal['']|List[str]"] """ If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have `tax_rates` set. """ items: NotRequired[ List["InvoiceCreatePreviewParamsSubscriptionDetailsItem"] ] """ A list of up to 20 subscription items, each with an attached price. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. """ proration_date: NotRequired[int] """ If previewing an update to a subscription, and doing proration, `subscription_details.proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period and within the current phase of the schedule backing this subscription, if the schedule exists. If set, `subscription`, and one of `subscription_details.items`, or `subscription_details.trial_end` are required. Also, `subscription_details.proration_behavior` cannot be set to 'none'. """ resume_at: NotRequired[Literal["now"]] """ For paused subscriptions, setting `subscription_details.resume_at` to `now` will preview the invoice that will be generated if the subscription is resumed. """ start_date: NotRequired[int] """ Date a subscription is intended to start (can be future or past). """ trial_end: NotRequired["Literal['now']|int"] """ If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of `subscription_details.items` or `subscription` is required. """ class InvoiceCreatePreviewParamsSubscriptionDetailsBillingMode(TypedDict): flexible: NotRequired[ "InvoiceCreatePreviewParamsSubscriptionDetailsBillingModeFlexible" ] """ Configure behavior for flexible billing mode. """ type: Literal["classic", "flexible"] """ Controls the calculation and orchestration of prorations and invoices for subscriptions. If no value is passed, the default is `flexible`. """ class InvoiceCreatePreviewParamsSubscriptionDetailsBillingModeFlexible( TypedDict, ): proration_discounts: NotRequired[Literal["included", "itemized"]] """ Controls how invoices and invoice items display proration amounts and discount amounts. """ class InvoiceCreatePreviewParamsSubscriptionDetailsItem(TypedDict): billing_thresholds: NotRequired[ "Literal['']|InvoiceCreatePreviewParamsSubscriptionDetailsItemBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ clear_usage: NotRequired[bool] """ Delete all usage for a given subscription item. You must pass this when deleting a usage records subscription item. `clear_usage` has no effect if the plan has a billing meter attached. """ deleted: NotRequired[bool] """ A flag that, if set to `true`, will delete the specified item. """ discounts: NotRequired[ "Literal['']|List[InvoiceCreatePreviewParamsSubscriptionDetailsItemDiscount]" ] """ The coupons to redeem into discounts for the subscription item. """ id: NotRequired[str] """ Subscription item to update. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ plan: NotRequired[str] """ Plan ID for this item, as a string. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. When changing a subscription item's price, `quantity` is set to 1 unless a `quantity` parameter is provided. """ price_data: NotRequired[ "InvoiceCreatePreviewParamsSubscriptionDetailsItemPriceData" ] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: NotRequired[int] """ Quantity for this item. """ tax_rates: NotRequired["Literal['']|List[str]"] """ A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates. """ class InvoiceCreatePreviewParamsSubscriptionDetailsItemBillingThresholds( TypedDict, ): usage_gte: int """ Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte)) """ class InvoiceCreatePreviewParamsSubscriptionDetailsItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class InvoiceCreatePreviewParamsSubscriptionDetailsItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ recurring: ( "InvoiceCreatePreviewParamsSubscriptionDetailsItemPriceDataRecurring" ) """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class InvoiceCreatePreviewParamsSubscriptionDetailsItemPriceDataRecurring( TypedDict, ): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_delete_params.py0000644000000000000000000000025015102753431017652 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class InvoiceDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_finalize_invoice_params.py0000644000000000000000000000120615102753431021727 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InvoiceFinalizeInvoiceParams(RequestOptions): auto_advance: NotRequired[bool] """ Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. If `false`, the invoice's state doesn't automatically advance without an explicit action. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_item_create_params.py0000644000000000000000000001574215102753431020705 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class InvoiceItemCreateParams(RequestOptions): amount: NotRequired[int] """ The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. Passing in a negative `amount` will reduce the `amount_due` on the invoice. """ currency: NotRequired[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: str """ The ID of the customer who will be billed when this invoice item is billed. """ description: NotRequired[str] """ An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking. """ discountable: NotRequired[bool] """ Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items. """ discounts: NotRequired["Literal['']|List[InvoiceItemCreateParamsDiscount]"] """ The coupons and promotion codes to redeem into discounts for the invoice item or invoice line item. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice: NotRequired[str] """ The ID of an existing invoice to add this invoice item to. For subscription invoices, when left blank, the invoice item will be added to the next upcoming scheduled invoice. For standalone invoices, the invoice item won't be automatically added unless you pass `pending_invoice_item_behavior: 'include'` when creating the invoice. This is useful when adding invoice items in response to an invoice.created webhook. You can only add invoice items to draft invoices and there is a maximum of 250 items per invoice. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ period: NotRequired["InvoiceItemCreateParamsPeriod"] """ The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details. """ price_data: NotRequired["InvoiceItemCreateParamsPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. """ pricing: NotRequired["InvoiceItemCreateParamsPricing"] """ The pricing information for the invoice item. """ quantity: NotRequired[int] """ Non-negative integer. The quantity of units for the invoice item. """ subscription: NotRequired[str] """ The ID of a subscription to add this invoice item to. When left blank, the invoice item is added to the next upcoming scheduled invoice. When set, scheduled invoices for subscriptions other than the specified subscription will ignore the invoice item. Use this when you want to express that an invoice item has been accrued within the context of a particular subscription. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ tax_code: NotRequired["Literal['']|str"] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ tax_rates: NotRequired[List[str]] """ The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item. """ unit_amount_decimal: NotRequired[str] """ The decimal unit amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. This `unit_amount_decimal` will be multiplied by the quantity to get the full amount. Passing in a negative `unit_amount_decimal` will reduce the `amount_due` on the invoice. Accepts at most 12 decimal places. """ class InvoiceItemCreateParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class InvoiceItemCreateParamsPeriod(TypedDict): end: int """ The end of the period, which must be greater than or equal to the start. This value is inclusive. """ start: int """ The start of the period. This value is inclusive. """ class InvoiceItemCreateParamsPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class InvoiceItemCreateParamsPricing(TypedDict): price: NotRequired[str] """ The ID of the price object. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_item_delete_params.py0000644000000000000000000000025415102753431020674 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class InvoiceItemDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_item_list_params.py0000644000000000000000000000454115102753431020410 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class InvoiceItemListParams(RequestOptions): created: NotRequired["InvoiceItemListParamsCreated|int"] """ Only return invoice items that were created during the given date interval. """ customer: NotRequired[str] """ The identifier of the customer whose invoice items to return. If none is provided, all invoice items will be returned. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice: NotRequired[str] """ Only return invoice items belonging to this invoice. If none is provided, all invoice items will be returned. If specifying an invoice, no customer identifier is needed. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ pending: NotRequired[bool] """ Set to `true` to only show pending invoice items, which are not yet attached to any invoices. Set to `false` to only show invoice items already attached to invoices. If unspecified, no filter is applied. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class InvoiceItemListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_item_modify_params.py0000644000000000000000000001364415102753431020730 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class InvoiceItemModifyParams(RequestOptions): amount: NotRequired[int] """ The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount. """ description: NotRequired[str] """ An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking. """ discountable: NotRequired[bool] """ Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items. Cannot be set to true for prorations. """ discounts: NotRequired["Literal['']|List[InvoiceItemModifyParamsDiscount]"] """ The coupons, promotion codes & existing discounts which apply to the invoice item or invoice line item. Item discounts are applied before invoice discounts. Pass an empty string to remove previously-defined discounts. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ period: NotRequired["InvoiceItemModifyParamsPeriod"] """ The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details. """ price_data: NotRequired["InvoiceItemModifyParamsPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. """ pricing: NotRequired["InvoiceItemModifyParamsPricing"] """ The pricing information for the invoice item. """ quantity: NotRequired[int] """ Non-negative integer. The quantity of units for the invoice item. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ tax_code: NotRequired["Literal['']|str"] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item. Pass an empty string to remove previously-defined tax rates. """ unit_amount_decimal: NotRequired[str] """ The decimal unit amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. This `unit_amount_decimal` will be multiplied by the quantity to get the full amount. Passing in a negative `unit_amount_decimal` will reduce the `amount_due` on the invoice. Accepts at most 12 decimal places. """ class InvoiceItemModifyParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class InvoiceItemModifyParamsPeriod(TypedDict): end: int """ The end of the period, which must be greater than or equal to the start. This value is inclusive. """ start: int """ The start of the period. This value is inclusive. """ class InvoiceItemModifyParamsPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class InvoiceItemModifyParamsPricing(TypedDict): price: NotRequired[str] """ The ID of the price object. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_item_retrieve_params.py0000644000000000000000000000053115102753431021255 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InvoiceItemRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_item_update_params.py0000644000000000000000000001355415102753431020723 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class InvoiceItemUpdateParams(TypedDict): amount: NotRequired[int] """ The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount. """ description: NotRequired[str] """ An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking. """ discountable: NotRequired[bool] """ Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items. Cannot be set to true for prorations. """ discounts: NotRequired["Literal['']|List[InvoiceItemUpdateParamsDiscount]"] """ The coupons, promotion codes & existing discounts which apply to the invoice item or invoice line item. Item discounts are applied before invoice discounts. Pass an empty string to remove previously-defined discounts. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ period: NotRequired["InvoiceItemUpdateParamsPeriod"] """ The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details. """ price_data: NotRequired["InvoiceItemUpdateParamsPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. """ pricing: NotRequired["InvoiceItemUpdateParamsPricing"] """ The pricing information for the invoice item. """ quantity: NotRequired[int] """ Non-negative integer. The quantity of units for the invoice item. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ tax_code: NotRequired["Literal['']|str"] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item. Pass an empty string to remove previously-defined tax rates. """ unit_amount_decimal: NotRequired[str] """ The decimal unit amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. This `unit_amount_decimal` will be multiplied by the quantity to get the full amount. Passing in a negative `unit_amount_decimal` will reduce the `amount_due` on the invoice. Accepts at most 12 decimal places. """ class InvoiceItemUpdateParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class InvoiceItemUpdateParamsPeriod(TypedDict): end: int """ The end of the period, which must be greater than or equal to the start. This value is inclusive. """ start: int """ The start of the period. This value is inclusive. """ class InvoiceItemUpdateParamsPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class InvoiceItemUpdateParamsPricing(TypedDict): price: NotRequired[str] """ The ID of the price object. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_line_item_list_params.py0000644000000000000000000000221015102753431021406 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class InvoiceLineItemListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_line_item_update_params.py0000644000000000000000000002536615102753431021736 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class InvoiceLineItemUpdateParams(TypedDict): amount: NotRequired[int] """ The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount. """ description: NotRequired[str] """ An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking. """ discountable: NotRequired[bool] """ Controls whether discounts apply to this line item. Defaults to false for prorations or negative line items, and true for all other line items. Cannot be set to true for prorations. """ discounts: NotRequired[ "Literal['']|List[InvoiceLineItemUpdateParamsDiscount]" ] """ The coupons, promotion codes & existing discounts which apply to the line item. Item discounts are applied before invoice discounts. Pass an empty string to remove previously-defined discounts. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. For [type=subscription](https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-type) line items, the incoming metadata specified on the request is directly used to set this value, in contrast to [type=invoiceitem](api/invoices/line_item#invoice_line_item_object-type) line items, where any existing metadata on the invoice line is merged with the incoming data. """ period: NotRequired["InvoiceLineItemUpdateParamsPeriod"] """ The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details. """ price_data: NotRequired["InvoiceLineItemUpdateParamsPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. """ pricing: NotRequired["InvoiceLineItemUpdateParamsPricing"] """ The pricing information for the invoice item. """ quantity: NotRequired[int] """ Non-negative integer. The quantity of units for the line item. """ tax_amounts: NotRequired[ "Literal['']|List[InvoiceLineItemUpdateParamsTaxAmount]" ] """ A list of up to 10 tax amounts for this line item. This can be useful if you calculate taxes on your own or use a third-party to calculate them. You cannot set tax amounts if any line item has [tax_rates](https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-tax_rates) or if the invoice has [default_tax_rates](https://stripe.com/docs/api/invoices/object#invoice_object-default_tax_rates) or uses [automatic tax](https://stripe.com/docs/tax/invoicing). Pass an empty string to remove previously defined tax amounts. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the line item. When set, the `default_tax_rates` on the invoice do not apply to this line item. Pass an empty string to remove previously-defined tax rates. """ class InvoiceLineItemUpdateParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class InvoiceLineItemUpdateParamsPeriod(TypedDict): end: int """ The end of the period, which must be greater than or equal to the start. This value is inclusive. """ start: int """ The start of the period. This value is inclusive. """ class InvoiceLineItemUpdateParamsPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: NotRequired[str] """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. One of `product` or `product_data` is required. """ product_data: NotRequired[ "InvoiceLineItemUpdateParamsPriceDataProductData" ] """ Data used to generate a new [Product](https://docs.stripe.com/api/products) object inline. One of `product` or `product_data` is required. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A non-negative integer in cents (or local equivalent) representing how much to charge. One of `unit_amount` or `unit_amount_decimal` is required. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class InvoiceLineItemUpdateParamsPriceDataProductData(TypedDict): description: NotRequired[str] """ 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. """ images: NotRequired[List[str]] """ A list of up to 8 URLs of images for this product, meant to be displayable to the customer. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: str """ The product's name, meant to be displayable to the customer. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ unit_label: NotRequired[str] """ A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. """ class InvoiceLineItemUpdateParamsPricing(TypedDict): price: NotRequired[str] """ The ID of the price object. """ class InvoiceLineItemUpdateParamsTaxAmount(TypedDict): amount: int """ The amount, in cents (or local equivalent), of the tax. """ tax_rate_data: "InvoiceLineItemUpdateParamsTaxAmountTaxRateData" """ Data to find or create a TaxRate object. Stripe automatically creates or reuses a TaxRate object for each tax amount. If the `tax_rate_data` exactly matches a previous value, Stripe will reuse the TaxRate object. TaxRate objects created automatically by Stripe are immediately archived, do not appear in the line item's `tax_rates`, and cannot be directly added to invoices, payments, or line items. """ taxability_reason: NotRequired[ Literal[ "customer_exempt", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] ] """ The reasoning behind this tax, for example, if the product is tax exempt. """ taxable_amount: int """ The amount on which tax is calculated, in cents (or local equivalent). """ class InvoiceLineItemUpdateParamsTaxAmountTaxRateData(TypedDict): country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ description: NotRequired[str] """ An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers. """ display_name: str """ The display name of the tax rate, which will be shown to users. """ inclusive: bool """ This specifies if the tax rate is inclusive or exclusive. """ jurisdiction: NotRequired[str] """ The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer's invoice. """ jurisdiction_level: NotRequired[ Literal["city", "country", "county", "district", "multiple", "state"] ] """ The level of the jurisdiction that imposes this tax rate. """ percentage: float """ The statutory tax rate percent. This field accepts decimal values between 0 and 100 inclusive with at most 4 decimal places. To accommodate fixed-amount taxes, set the percentage to zero. Stripe will not display zero percentages on the invoice unless the `amount` of the tax is also zero. """ state: NotRequired[str] """ [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States. """ tax_type: NotRequired[ Literal[ "amusement_tax", "communications_tax", "gst", "hst", "igst", "jct", "lease_tax", "pst", "qst", "retail_delivery_fee", "rst", "sales_tax", "service_tax", "vat", ] ] """ The high-level tax type, such as `vat` or `sales_tax`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_list_lines_params.py0000644000000000000000000000226215102753431020562 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InvoiceListLinesParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_list_params.py0000644000000000000000000000560015102753431017367 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class InvoiceListParams(RequestOptions): collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ The collection method of the invoice to retrieve. Either `charge_automatically` or `send_invoice`. """ created: NotRequired["InvoiceListParamsCreated|int"] """ Only return invoices that were created during the given date interval. """ customer: NotRequired[str] """ Only return invoices for the customer specified by this customer ID. """ due_date: NotRequired["InvoiceListParamsDueDate|int"] ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[ Literal["draft", "open", "paid", "uncollectible", "void"] ] """ The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview) """ subscription: NotRequired[str] """ Only return invoices for the subscription specified by this subscription ID. """ class InvoiceListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ class InvoiceListParamsDueDate(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_mark_uncollectible_params.py0000644000000000000000000000053615102753431022255 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InvoiceMarkUncollectibleParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_modify_params.py0000644000000000000000000006255015102753431017712 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class InvoiceModifyParams(RequestOptions): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with the invoice. Only editable when the invoice is a draft. """ application_fee_amount: NotRequired[int] """ A fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees). """ auto_advance: NotRequired[bool] """ Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. """ automatic_tax: NotRequired["InvoiceModifyParamsAutomaticTax"] """ Settings for automatic tax lookup for this invoice. """ automatically_finalizes_at: NotRequired[int] """ The time when this invoice should be scheduled to finalize (up to 5 years in the future). The invoice is finalized at this time if it's still in draft state. To turn off automatic finalization, set `auto_advance` to false. """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically` or `send_invoice`. This field can be updated only on `draft` invoices. """ custom_fields: NotRequired[ "Literal['']|List[InvoiceModifyParamsCustomField]" ] """ A list of up to 4 custom fields to be displayed on the invoice. If a value for `custom_fields` is specified, the list specified will replace the existing custom field list on this invoice. Pass an empty string to remove previously-defined fields. """ days_until_due: NotRequired[int] """ The number of days from which the invoice is created until it is due. Only valid for invoices where `collection_method=send_invoice`. This field can only be updated on `draft` invoices. """ default_payment_method: NotRequired[str] """ ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings. """ default_source: NotRequired["Literal['']|str"] """ ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source. """ default_tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates that will apply to any line item that does not have `tax_rates` set. Pass an empty string to remove previously-defined tax rates. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard. """ discounts: NotRequired["Literal['']|List[InvoiceModifyParamsDiscount]"] """ The discounts that will apply to the invoice. Pass an empty string to remove previously-defined discounts. """ due_date: NotRequired[int] """ The date on which payment for this invoice is due. Only valid for invoices where `collection_method=send_invoice`. This field can only be updated on `draft` invoices. """ effective_at: NotRequired["Literal['']|int"] """ The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ footer: NotRequired[str] """ Footer to be displayed on the invoice. """ issuer: NotRequired["InvoiceModifyParamsIssuer"] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ number: NotRequired["Literal['']|str"] """ Set the number for this invoice. If no number is present then a number will be assigned automatically when the invoice is finalized. In many markets, regulations require invoices to be unique, sequential and / or gapless. You are responsible for ensuring this is true across all your different invoicing systems in the event that you edit the invoice number using our API. If you use only Stripe for your invoices and do not change invoice numbers, Stripe handles this aspect of compliance for you automatically. """ on_behalf_of: NotRequired["Literal['']|str"] """ The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details. """ payment_settings: NotRequired["InvoiceModifyParamsPaymentSettings"] """ Configuration settings for the PaymentIntent that is generated when the invoice is finalized. """ rendering: NotRequired["InvoiceModifyParamsRendering"] """ The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page. """ shipping_cost: NotRequired["Literal['']|InvoiceModifyParamsShippingCost"] """ Settings for the cost of shipping for this invoice. """ shipping_details: NotRequired[ "Literal['']|InvoiceModifyParamsShippingDetails" ] """ 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. """ statement_descriptor: NotRequired[str] """ Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default `statement_descriptor` will be set to the first subscription item's product's `statement_descriptor`. """ transfer_data: NotRequired["Literal['']|InvoiceModifyParamsTransferData"] """ If specified, the funds from the invoice will be transferred to the destination and the ID of the resulting transfer will be found on the invoice's charge. This will be unset if you POST an empty value. """ class InvoiceModifyParamsAutomaticTax(TypedDict): enabled: bool """ Whether Stripe automatically computes tax on this invoice. Note that incompatible invoice items (invoice items with manually specified [tax rates](https://stripe.com/docs/api/tax_rates), negative amounts, or `tax_behavior=unspecified`) cannot be added to automatic tax invoices. """ liability: NotRequired["InvoiceModifyParamsAutomaticTaxLiability"] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class InvoiceModifyParamsAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class InvoiceModifyParamsCustomField(TypedDict): name: str """ The name of the custom field. This may be up to 40 characters. """ value: str """ The value of the custom field. This may be up to 140 characters. """ class InvoiceModifyParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class InvoiceModifyParamsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class InvoiceModifyParamsPaymentSettings(TypedDict): default_mandate: NotRequired["Literal['']|str"] """ ID of the mandate to be used for this invoice. It must correspond to the payment method used to pay the invoice, including the invoice's default_payment_method or default_source, if set. """ payment_method_options: NotRequired[ "InvoiceModifyParamsPaymentSettingsPaymentMethodOptions" ] """ Payment-method-specific configuration to provide to the invoice's PaymentIntent. """ payment_method_types: NotRequired[ "Literal['']|List[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'payco', 'paynow', 'paypal', 'promptpay', 'revolut_pay', 'sepa_credit_transfer', 'sepa_debit', 'sofort', 'swish', 'us_bank_account', 'wechat_pay']]" ] """ The list of payment method types (e.g. card) to provide to the invoice's PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice's default payment method, the subscription's default payment method, the customer's default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice). """ class InvoiceModifyParamsPaymentSettingsPaymentMethodOptions(TypedDict): acss_debit: NotRequired[ "Literal['']|InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebit" ] """ If paying by `acss_debit`, this sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to the invoice's PaymentIntent. """ bancontact: NotRequired[ "Literal['']|InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsBancontact" ] """ If paying by `bancontact`, this sub-hash contains details about the Bancontact payment method options to pass to the invoice's PaymentIntent. """ card: NotRequired[ "Literal['']|InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCard" ] """ If paying by `card`, this sub-hash contains details about the Card payment method options to pass to the invoice's PaymentIntent. """ customer_balance: NotRequired[ "Literal['']|InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalance" ] """ If paying by `customer_balance`, this sub-hash contains details about the Bank transfer payment method options to pass to the invoice's PaymentIntent. """ konbini: NotRequired[ "Literal['']|InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsKonbini" ] """ If paying by `konbini`, this sub-hash contains details about the Konbini payment method options to pass to the invoice's PaymentIntent. """ sepa_debit: NotRequired[ "Literal['']|InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsSepaDebit" ] """ If paying by `sepa_debit`, this sub-hash contains details about the SEPA Direct Debit payment method options to pass to the invoice's PaymentIntent. """ us_bank_account: NotRequired[ "Literal['']|InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccount" ] """ If paying by `us_bank_account`, this sub-hash contains details about the ACH direct debit payment method options to pass to the invoice's PaymentIntent. """ class InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebit( TypedDict, ): mandate_options: NotRequired[ "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions" ] """ Additional fields for Mandate creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Verification method for the intent """ class InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions( TypedDict, ): transaction_type: NotRequired[Literal["business", "personal"]] """ Transaction type of the mandate. """ class InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsBancontact( TypedDict, ): preferred_language: NotRequired[Literal["de", "en", "fr", "nl"]] """ Preferred language of the Bancontact authorization page that the customer is redirected to. """ class InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCard(TypedDict): installments: NotRequired[ "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCardInstallments" ] """ Installment configuration for payments attempted on this invoice. For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments). """ request_three_d_secure: NotRequired[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ class InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCardInstallments( TypedDict, ): enabled: NotRequired[bool] """ Setting to true enables installments for this invoice. Setting to false will prevent any selected plan from applying to a payment. """ plan: NotRequired[ "Literal['']|InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCardInstallmentsPlan" ] """ The selected installment plan to use for this invoice. """ class InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCardInstallmentsPlan( TypedDict, ): count: NotRequired[int] """ For `fixed_count` installment plans, this is required. It represents the number of installment payments your customer will make to their credit card. """ interval: NotRequired[Literal["month"]] """ For `fixed_count` installment plans, this is required. It represents the interval between installment payments your customer will make to their credit card. One of `month`. """ type: Literal["bonus", "fixed_count", "revolving"] """ Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`. """ class InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalance( TypedDict, ): bank_transfer: NotRequired[ "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer" ] """ Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`. """ funding_type: NotRequired[str] """ The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. """ class InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer( TypedDict, ): eu_bank_transfer: NotRequired[ "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer" ] """ Configuration for eu_bank_transfer funding type. """ type: NotRequired[str] """ The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. """ class InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer( TypedDict, ): country: str """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ class InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsKonbini(TypedDict): pass class InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsSepaDebit( TypedDict, ): pass class InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccount( TypedDict, ): financial_connections: NotRequired[ "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections" ] """ Additional fields for Financial Connections Session creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Verification method for the intent """ class InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections( TypedDict, ): filters: NotRequired[ "InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters" ] """ Provide filters for the linked accounts that the customer can select for the payment method. """ permissions: NotRequired[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ class InvoiceModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters( TypedDict, ): account_subcategories: NotRequired[List[Literal["checking", "savings"]]] """ The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`. """ class InvoiceModifyParamsRendering(TypedDict): amount_tax_display: NotRequired[ "Literal['']|Literal['exclude_tax', 'include_inclusive_tax']" ] """ 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. """ pdf: NotRequired["InvoiceModifyParamsRenderingPdf"] """ Invoice pdf rendering options """ template: NotRequired[str] """ ID of the invoice rendering template to use for this invoice. """ template_version: NotRequired["Literal['']|int"] """ The specific version of invoice rendering template to use for this invoice. """ class InvoiceModifyParamsRenderingPdf(TypedDict): page_size: NotRequired[Literal["a4", "auto", "letter"]] """ Page size for invoice PDF. Can be set to `a4`, `letter`, or `auto`. If set to `auto`, invoice PDF page size defaults to `a4` for customers with Japanese locale and `letter` for customers with other locales. """ class InvoiceModifyParamsShippingCost(TypedDict): shipping_rate: NotRequired[str] """ The ID of the shipping rate to use for this order. """ shipping_rate_data: NotRequired[ "InvoiceModifyParamsShippingCostShippingRateData" ] """ Parameters to create a new ad-hoc shipping rate for this order. """ class InvoiceModifyParamsShippingCostShippingRateData(TypedDict): delivery_estimate: NotRequired[ "InvoiceModifyParamsShippingCostShippingRateDataDeliveryEstimate" ] """ The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions. """ display_name: str """ The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions. """ fixed_amount: NotRequired[ "InvoiceModifyParamsShippingCostShippingRateDataFixedAmount" ] """ Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`. """ type: NotRequired[Literal["fixed_amount"]] """ The type of calculation to use on the shipping rate. """ class InvoiceModifyParamsShippingCostShippingRateDataDeliveryEstimate( TypedDict, ): maximum: NotRequired[ "InvoiceModifyParamsShippingCostShippingRateDataDeliveryEstimateMaximum" ] """ The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite. """ minimum: NotRequired[ "InvoiceModifyParamsShippingCostShippingRateDataDeliveryEstimateMinimum" ] """ The lower bound of the estimated range. If empty, represents no lower bound. """ class InvoiceModifyParamsShippingCostShippingRateDataDeliveryEstimateMaximum( TypedDict, ): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ class InvoiceModifyParamsShippingCostShippingRateDataDeliveryEstimateMinimum( TypedDict, ): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ class InvoiceModifyParamsShippingCostShippingRateDataFixedAmount(TypedDict): amount: int """ A non-negative integer in cents representing how much to charge. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ currency_options: NotRequired[ Dict[ str, "InvoiceModifyParamsShippingCostShippingRateDataFixedAmountCurrencyOptions", ] ] """ Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ class InvoiceModifyParamsShippingCostShippingRateDataFixedAmountCurrencyOptions( TypedDict, ): amount: int """ A non-negative integer in cents representing how much to charge. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ class InvoiceModifyParamsShippingDetails(TypedDict): address: "InvoiceModifyParamsShippingDetailsAddress" """ Shipping address """ name: str """ Recipient name. """ phone: NotRequired["Literal['']|str"] """ Recipient phone (including extension) """ class InvoiceModifyParamsShippingDetailsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class InvoiceModifyParamsTransferData(TypedDict): amount: NotRequired[int] """ The amount that will be transferred automatically when the invoice is paid. If no amount is set, the full amount is transferred. """ destination: str """ ID of an existing, connected Stripe account. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_pay_params.py0000644000000000000000000000402515102753431017205 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class InvoicePayParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ forgive: NotRequired[bool] """ In cases where the source used to pay the invoice has insufficient funds, passing `forgive=true` controls whether a charge should be attempted for the full amount available on the source, up to the amount to fully pay the invoice. This effectively forgives the difference between the amount available on the source and the amount due. Passing `forgive=false` will fail the charge if the source hasn't been pre-funded with the right amount. An example for this case is with ACH Credit Transfers and wires: if the amount wired is less than the amount due by a small amount, you might want to forgive the difference. Defaults to `false`. """ mandate: NotRequired["Literal['']|str"] """ ID of the mandate to be used for this invoice. It must correspond to the payment method used to pay the invoice, including the payment_method param or the invoice's default_payment_method or default_source, if set. """ off_session: NotRequired[bool] """ Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `true` (off-session). """ paid_out_of_band: NotRequired[bool] """ Boolean representing whether an invoice is paid outside of Stripe. This will result in no charge being made. Defaults to `false`. """ payment_method: NotRequired[str] """ A PaymentMethod to be charged. The PaymentMethod must be the ID of a PaymentMethod belonging to the customer associated with the invoice being paid. """ source: NotRequired[str] """ A payment source to be charged. The source must be the ID of a source belonging to the customer associated with the invoice being paid. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3520622 stripe-13.2.0/stripe/params/_invoice_payment_list_params.py0000644000000000000000000000375415102753431021134 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class InvoicePaymentListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice: NotRequired[str] """ The identifier of the invoice whose payments to return. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ payment: NotRequired["InvoicePaymentListParamsPayment"] """ The payment details of the invoice payments to return. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["canceled", "open", "paid"]] """ The status of the invoice payments to return. """ class InvoicePaymentListParamsPayment(TypedDict): payment_intent: NotRequired[str] """ Only return invoice payments associated by this payment intent ID. """ payment_record: NotRequired[str] """ Only return invoice payments associated by this payment record ID. """ type: Literal["payment_intent", "payment_record"] """ Only return invoice payments associated by this payment type. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_invoice_payment_retrieve_params.py0000644000000000000000000000053415102753431021777 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InvoicePaymentRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_invoice_remove_lines_params.py0000644000000000000000000000225715102753431021110 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class InvoiceRemoveLinesParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice_metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ lines: List["InvoiceRemoveLinesParamsLine"] """ The line items to remove. """ class InvoiceRemoveLinesParamsLine(TypedDict): behavior: Literal["delete", "unassign"] """ Either `delete` or `unassign`. Deleted line items are permanently deleted. Unassigned line items can be reassigned to an invoice. """ id: str """ ID of an existing line item to remove from this invoice. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_invoice_rendering_template_archive_params.py0000644000000000000000000000054515102753431023770 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InvoiceRenderingTemplateArchiveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_invoice_rendering_template_list_params.py0000644000000000000000000000237615102753431023326 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class InvoiceRenderingTemplateListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["active", "archived"]] ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_invoice_rendering_template_retrieve_params.py0000644000000000000000000000060415102753431024170 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InvoiceRenderingTemplateRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ version: NotRequired[int] ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_invoice_rendering_template_unarchive_params.py0000644000000000000000000000054715102753431024335 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InvoiceRenderingTemplateUnarchiveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_invoice_retrieve_params.py0000644000000000000000000000052515102753431020242 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InvoiceRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_invoice_search_params.py0000644000000000000000000000173515102753431017666 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InvoiceSearchParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ page: NotRequired[str] """ A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. """ query: str """ The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for invoices](https://stripe.com/docs/search#query-fields-for-invoices). """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_invoice_send_invoice_params.py0000644000000000000000000000053015102753431021056 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InvoiceSendInvoiceParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_invoice_update_lines_params.py0000644000000000000000000002744215102753431021100 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class InvoiceUpdateLinesParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice_metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. For [type=subscription](https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-type) line items, the incoming metadata specified on the request is directly used to set this value, in contrast to [type=invoiceitem](api/invoices/line_item#invoice_line_item_object-type) line items, where any existing metadata on the invoice line is merged with the incoming data. """ lines: List["InvoiceUpdateLinesParamsLine"] """ The line items to update. """ class InvoiceUpdateLinesParamsLine(TypedDict): amount: NotRequired[int] """ The integer amount in cents (or local equivalent) of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount. """ description: NotRequired[str] """ An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking. """ discountable: NotRequired[bool] """ Controls whether discounts apply to this line item. Defaults to false for prorations or negative line items, and true for all other line items. Cannot be set to true for prorations. """ discounts: NotRequired[ "Literal['']|List[InvoiceUpdateLinesParamsLineDiscount]" ] """ The coupons, promotion codes & existing discounts which apply to the line item. Item discounts are applied before invoice discounts. Pass an empty string to remove previously-defined discounts. """ id: str """ ID of an existing line item on the invoice. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. For [type=subscription](https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-type) line items, the incoming metadata specified on the request is directly used to set this value, in contrast to [type=invoiceitem](api/invoices/line_item#invoice_line_item_object-type) line items, where any existing metadata on the invoice line is merged with the incoming data. """ period: NotRequired["InvoiceUpdateLinesParamsLinePeriod"] """ The period associated with this invoice item. When set to different values, the period will be rendered on the invoice. If you have [Stripe Revenue Recognition](https://stripe.com/docs/revenue-recognition) enabled, the period will be used to recognize and defer revenue. See the [Revenue Recognition documentation](https://stripe.com/docs/revenue-recognition/methodology/subscriptions-and-invoicing) for details. """ price_data: NotRequired["InvoiceUpdateLinesParamsLinePriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. """ pricing: NotRequired["InvoiceUpdateLinesParamsLinePricing"] """ The pricing information for the invoice item. """ quantity: NotRequired[int] """ Non-negative integer. The quantity of units for the line item. """ tax_amounts: NotRequired[ "Literal['']|List[InvoiceUpdateLinesParamsLineTaxAmount]" ] """ A list of up to 10 tax amounts for this line item. This can be useful if you calculate taxes on your own or use a third-party to calculate them. You cannot set tax amounts if any line item has [tax_rates](https://stripe.com/docs/api/invoices/line_item#invoice_line_item_object-tax_rates) or if the invoice has [default_tax_rates](https://stripe.com/docs/api/invoices/object#invoice_object-default_tax_rates) or uses [automatic tax](https://stripe.com/docs/tax/invoicing). Pass an empty string to remove previously defined tax amounts. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the line item. When set, the `default_tax_rates` on the invoice do not apply to this line item. Pass an empty string to remove previously-defined tax rates. """ class InvoiceUpdateLinesParamsLineDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class InvoiceUpdateLinesParamsLinePeriod(TypedDict): end: int """ The end of the period, which must be greater than or equal to the start. This value is inclusive. """ start: int """ The start of the period. This value is inclusive. """ class InvoiceUpdateLinesParamsLinePriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: NotRequired[str] """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. One of `product` or `product_data` is required. """ product_data: NotRequired[ "InvoiceUpdateLinesParamsLinePriceDataProductData" ] """ Data used to generate a new [Product](https://docs.stripe.com/api/products) object inline. One of `product` or `product_data` is required. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A non-negative integer in cents (or local equivalent) representing how much to charge. One of `unit_amount` or `unit_amount_decimal` is required. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class InvoiceUpdateLinesParamsLinePriceDataProductData(TypedDict): description: NotRequired[str] """ 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. """ images: NotRequired[List[str]] """ A list of up to 8 URLs of images for this product, meant to be displayable to the customer. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: str """ The product's name, meant to be displayable to the customer. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ unit_label: NotRequired[str] """ A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. """ class InvoiceUpdateLinesParamsLinePricing(TypedDict): price: NotRequired[str] """ The ID of the price object. """ class InvoiceUpdateLinesParamsLineTaxAmount(TypedDict): amount: int """ The amount, in cents (or local equivalent), of the tax. """ tax_rate_data: "InvoiceUpdateLinesParamsLineTaxAmountTaxRateData" """ Data to find or create a TaxRate object. Stripe automatically creates or reuses a TaxRate object for each tax amount. If the `tax_rate_data` exactly matches a previous value, Stripe will reuse the TaxRate object. TaxRate objects created automatically by Stripe are immediately archived, do not appear in the line item's `tax_rates`, and cannot be directly added to invoices, payments, or line items. """ taxability_reason: NotRequired[ Literal[ "customer_exempt", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] ] """ The reasoning behind this tax, for example, if the product is tax exempt. """ taxable_amount: int """ The amount on which tax is calculated, in cents (or local equivalent). """ class InvoiceUpdateLinesParamsLineTaxAmountTaxRateData(TypedDict): country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ description: NotRequired[str] """ An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers. """ display_name: str """ The display name of the tax rate, which will be shown to users. """ inclusive: bool """ This specifies if the tax rate is inclusive or exclusive. """ jurisdiction: NotRequired[str] """ The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer's invoice. """ jurisdiction_level: NotRequired[ Literal["city", "country", "county", "district", "multiple", "state"] ] """ The level of the jurisdiction that imposes this tax rate. """ percentage: float """ The statutory tax rate percent. This field accepts decimal values between 0 and 100 inclusive with at most 4 decimal places. To accommodate fixed-amount taxes, set the percentage to zero. Stripe will not display zero percentages on the invoice unless the `amount` of the tax is also zero. """ state: NotRequired[str] """ [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, "NY" for New York, United States. """ tax_type: NotRequired[ Literal[ "amusement_tax", "communications_tax", "gst", "hst", "igst", "jct", "lease_tax", "pst", "qst", "retail_delivery_fee", "rst", "sales_tax", "service_tax", "vat", ] ] """ The high-level tax type, such as `vat` or `sales_tax`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_invoice_update_params.py0000644000000000000000000006246015102753431017705 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class InvoiceUpdateParams(TypedDict): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with the invoice. Only editable when the invoice is a draft. """ application_fee_amount: NotRequired[int] """ A fee in cents (or local equivalent) that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees). """ auto_advance: NotRequired[bool] """ Controls whether Stripe performs [automatic collection](https://stripe.com/docs/invoicing/integration/automatic-advancement-collection) of the invoice. """ automatic_tax: NotRequired["InvoiceUpdateParamsAutomaticTax"] """ Settings for automatic tax lookup for this invoice. """ automatically_finalizes_at: NotRequired[int] """ The time when this invoice should be scheduled to finalize (up to 5 years in the future). The invoice is finalized at this time if it's still in draft state. To turn off automatic finalization, set `auto_advance` to false. """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically` or `send_invoice`. This field can be updated only on `draft` invoices. """ custom_fields: NotRequired[ "Literal['']|List[InvoiceUpdateParamsCustomField]" ] """ A list of up to 4 custom fields to be displayed on the invoice. If a value for `custom_fields` is specified, the list specified will replace the existing custom field list on this invoice. Pass an empty string to remove previously-defined fields. """ days_until_due: NotRequired[int] """ The number of days from which the invoice is created until it is due. Only valid for invoices where `collection_method=send_invoice`. This field can only be updated on `draft` invoices. """ default_payment_method: NotRequired[str] """ ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings. """ default_source: NotRequired["Literal['']|str"] """ ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source. """ default_tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates that will apply to any line item that does not have `tax_rates` set. Pass an empty string to remove previously-defined tax rates. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard. """ discounts: NotRequired["Literal['']|List[InvoiceUpdateParamsDiscount]"] """ The discounts that will apply to the invoice. Pass an empty string to remove previously-defined discounts. """ due_date: NotRequired[int] """ The date on which payment for this invoice is due. Only valid for invoices where `collection_method=send_invoice`. This field can only be updated on `draft` invoices. """ effective_at: NotRequired["Literal['']|int"] """ The date when this invoice is in effect. Same as `finalized_at` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the invoice PDF and receipt. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ footer: NotRequired[str] """ Footer to be displayed on the invoice. """ issuer: NotRequired["InvoiceUpdateParamsIssuer"] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ number: NotRequired["Literal['']|str"] """ Set the number for this invoice. If no number is present then a number will be assigned automatically when the invoice is finalized. In many markets, regulations require invoices to be unique, sequential and / or gapless. You are responsible for ensuring this is true across all your different invoicing systems in the event that you edit the invoice number using our API. If you use only Stripe for your invoices and do not change invoice numbers, Stripe handles this aspect of compliance for you automatically. """ on_behalf_of: NotRequired["Literal['']|str"] """ The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details. """ payment_settings: NotRequired["InvoiceUpdateParamsPaymentSettings"] """ Configuration settings for the PaymentIntent that is generated when the invoice is finalized. """ rendering: NotRequired["InvoiceUpdateParamsRendering"] """ The rendering-related settings that control how the invoice is displayed on customer-facing surfaces such as PDF and Hosted Invoice Page. """ shipping_cost: NotRequired["Literal['']|InvoiceUpdateParamsShippingCost"] """ Settings for the cost of shipping for this invoice. """ shipping_details: NotRequired[ "Literal['']|InvoiceUpdateParamsShippingDetails" ] """ 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. """ statement_descriptor: NotRequired[str] """ Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default `statement_descriptor` will be set to the first subscription item's product's `statement_descriptor`. """ transfer_data: NotRequired["Literal['']|InvoiceUpdateParamsTransferData"] """ If specified, the funds from the invoice will be transferred to the destination and the ID of the resulting transfer will be found on the invoice's charge. This will be unset if you POST an empty value. """ class InvoiceUpdateParamsAutomaticTax(TypedDict): enabled: bool """ Whether Stripe automatically computes tax on this invoice. Note that incompatible invoice items (invoice items with manually specified [tax rates](https://stripe.com/docs/api/tax_rates), negative amounts, or `tax_behavior=unspecified`) cannot be added to automatic tax invoices. """ liability: NotRequired["InvoiceUpdateParamsAutomaticTaxLiability"] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class InvoiceUpdateParamsAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class InvoiceUpdateParamsCustomField(TypedDict): name: str """ The name of the custom field. This may be up to 40 characters. """ value: str """ The value of the custom field. This may be up to 140 characters. """ class InvoiceUpdateParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class InvoiceUpdateParamsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class InvoiceUpdateParamsPaymentSettings(TypedDict): default_mandate: NotRequired["Literal['']|str"] """ ID of the mandate to be used for this invoice. It must correspond to the payment method used to pay the invoice, including the invoice's default_payment_method or default_source, if set. """ payment_method_options: NotRequired[ "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptions" ] """ Payment-method-specific configuration to provide to the invoice's PaymentIntent. """ payment_method_types: NotRequired[ "Literal['']|List[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'payco', 'paynow', 'paypal', 'promptpay', 'revolut_pay', 'sepa_credit_transfer', 'sepa_debit', 'sofort', 'swish', 'us_bank_account', 'wechat_pay']]" ] """ The list of payment method types (e.g. card) to provide to the invoice's PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice's default payment method, the subscription's default payment method, the customer's default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice). """ class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptions(TypedDict): acss_debit: NotRequired[ "Literal['']|InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebit" ] """ If paying by `acss_debit`, this sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to the invoice's PaymentIntent. """ bancontact: NotRequired[ "Literal['']|InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsBancontact" ] """ If paying by `bancontact`, this sub-hash contains details about the Bancontact payment method options to pass to the invoice's PaymentIntent. """ card: NotRequired[ "Literal['']|InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCard" ] """ If paying by `card`, this sub-hash contains details about the Card payment method options to pass to the invoice's PaymentIntent. """ customer_balance: NotRequired[ "Literal['']|InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance" ] """ If paying by `customer_balance`, this sub-hash contains details about the Bank transfer payment method options to pass to the invoice's PaymentIntent. """ konbini: NotRequired[ "Literal['']|InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsKonbini" ] """ If paying by `konbini`, this sub-hash contains details about the Konbini payment method options to pass to the invoice's PaymentIntent. """ sepa_debit: NotRequired[ "Literal['']|InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsSepaDebit" ] """ If paying by `sepa_debit`, this sub-hash contains details about the SEPA Direct Debit payment method options to pass to the invoice's PaymentIntent. """ us_bank_account: NotRequired[ "Literal['']|InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount" ] """ If paying by `us_bank_account`, this sub-hash contains details about the ACH direct debit payment method options to pass to the invoice's PaymentIntent. """ class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebit( TypedDict, ): mandate_options: NotRequired[ "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions" ] """ Additional fields for Mandate creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Verification method for the intent """ class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions( TypedDict, ): transaction_type: NotRequired[Literal["business", "personal"]] """ Transaction type of the mandate. """ class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsBancontact( TypedDict, ): preferred_language: NotRequired[Literal["de", "en", "fr", "nl"]] """ Preferred language of the Bancontact authorization page that the customer is redirected to. """ class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCard(TypedDict): installments: NotRequired[ "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCardInstallments" ] """ Installment configuration for payments attempted on this invoice. For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments). """ request_three_d_secure: NotRequired[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCardInstallments( TypedDict, ): enabled: NotRequired[bool] """ Setting to true enables installments for this invoice. Setting to false will prevent any selected plan from applying to a payment. """ plan: NotRequired[ "Literal['']|InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCardInstallmentsPlan" ] """ The selected installment plan to use for this invoice. """ class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCardInstallmentsPlan( TypedDict, ): count: NotRequired[int] """ For `fixed_count` installment plans, this is required. It represents the number of installment payments your customer will make to their credit card. """ interval: NotRequired[Literal["month"]] """ For `fixed_count` installment plans, this is required. It represents the interval between installment payments your customer will make to their credit card. One of `month`. """ type: Literal["bonus", "fixed_count", "revolving"] """ Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`. """ class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance( TypedDict, ): bank_transfer: NotRequired[ "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer" ] """ Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`. """ funding_type: NotRequired[str] """ The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. """ class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer( TypedDict, ): eu_bank_transfer: NotRequired[ "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer" ] """ Configuration for eu_bank_transfer funding type. """ type: NotRequired[str] """ The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. """ class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer( TypedDict, ): country: str """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsKonbini(TypedDict): pass class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsSepaDebit( TypedDict, ): pass class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount( TypedDict, ): financial_connections: NotRequired[ "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections" ] """ Additional fields for Financial Connections Session creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Verification method for the intent """ class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections( TypedDict, ): filters: NotRequired[ "InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters" ] """ Provide filters for the linked accounts that the customer can select for the payment method. """ permissions: NotRequired[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ class InvoiceUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters( TypedDict, ): account_subcategories: NotRequired[List[Literal["checking", "savings"]]] """ The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`. """ class InvoiceUpdateParamsRendering(TypedDict): amount_tax_display: NotRequired[ "Literal['']|Literal['exclude_tax', 'include_inclusive_tax']" ] """ 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. """ pdf: NotRequired["InvoiceUpdateParamsRenderingPdf"] """ Invoice pdf rendering options """ template: NotRequired[str] """ ID of the invoice rendering template to use for this invoice. """ template_version: NotRequired["Literal['']|int"] """ The specific version of invoice rendering template to use for this invoice. """ class InvoiceUpdateParamsRenderingPdf(TypedDict): page_size: NotRequired[Literal["a4", "auto", "letter"]] """ Page size for invoice PDF. Can be set to `a4`, `letter`, or `auto`. If set to `auto`, invoice PDF page size defaults to `a4` for customers with Japanese locale and `letter` for customers with other locales. """ class InvoiceUpdateParamsShippingCost(TypedDict): shipping_rate: NotRequired[str] """ The ID of the shipping rate to use for this order. """ shipping_rate_data: NotRequired[ "InvoiceUpdateParamsShippingCostShippingRateData" ] """ Parameters to create a new ad-hoc shipping rate for this order. """ class InvoiceUpdateParamsShippingCostShippingRateData(TypedDict): delivery_estimate: NotRequired[ "InvoiceUpdateParamsShippingCostShippingRateDataDeliveryEstimate" ] """ The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions. """ display_name: str """ The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions. """ fixed_amount: NotRequired[ "InvoiceUpdateParamsShippingCostShippingRateDataFixedAmount" ] """ Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`. """ type: NotRequired[Literal["fixed_amount"]] """ The type of calculation to use on the shipping rate. """ class InvoiceUpdateParamsShippingCostShippingRateDataDeliveryEstimate( TypedDict, ): maximum: NotRequired[ "InvoiceUpdateParamsShippingCostShippingRateDataDeliveryEstimateMaximum" ] """ The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite. """ minimum: NotRequired[ "InvoiceUpdateParamsShippingCostShippingRateDataDeliveryEstimateMinimum" ] """ The lower bound of the estimated range. If empty, represents no lower bound. """ class InvoiceUpdateParamsShippingCostShippingRateDataDeliveryEstimateMaximum( TypedDict, ): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ class InvoiceUpdateParamsShippingCostShippingRateDataDeliveryEstimateMinimum( TypedDict, ): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ class InvoiceUpdateParamsShippingCostShippingRateDataFixedAmount(TypedDict): amount: int """ A non-negative integer in cents representing how much to charge. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ currency_options: NotRequired[ Dict[ str, "InvoiceUpdateParamsShippingCostShippingRateDataFixedAmountCurrencyOptions", ] ] """ Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ class InvoiceUpdateParamsShippingCostShippingRateDataFixedAmountCurrencyOptions( TypedDict, ): amount: int """ A non-negative integer in cents representing how much to charge. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ class InvoiceUpdateParamsShippingDetails(TypedDict): address: "InvoiceUpdateParamsShippingDetailsAddress" """ Shipping address """ name: str """ Recipient name. """ phone: NotRequired["Literal['']|str"] """ Recipient phone (including extension) """ class InvoiceUpdateParamsShippingDetailsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class InvoiceUpdateParamsTransferData(TypedDict): amount: NotRequired[int] """ The amount that will be transferred automatically when the invoice is paid. If no amount is set, the full amount is transferred. """ destination: str """ ID of an existing, connected Stripe account. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_invoice_void_invoice_params.py0000644000000000000000000000053015102753431021066 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InvoiceVoidInvoiceParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_mandate_retrieve_params.py0000644000000000000000000000052515102753431020217 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class MandateRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_payment_attempt_record_list_params.py0000644000000000000000000000164215102753431022506 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentAttemptRecordListParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ payment_record: str """ The ID of the Payment Record. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_payment_attempt_record_retrieve_params.py0000644000000000000000000000054215102753431023356 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentAttemptRecordRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_payment_intent_amount_details_line_item_list_params.py0000644000000000000000000000223315102753431026105 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class PaymentIntentAmountDetailsLineItemListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_payment_intent_apply_customer_balance_params.py0000644000000000000000000000230615102753431024531 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentIntentApplyCustomerBalanceParams(RequestOptions): amount: NotRequired[int] """ Amount that you intend to apply to this PaymentIntent from the customer's cash balance. If the PaymentIntent was created by an Invoice, the full amount of the PaymentIntent is applied regardless of this parameter. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (for example, 100 cents to charge 1 USD or 100 to charge 100 JPY, a zero-decimal currency). The maximum amount is the amount of the PaymentIntent. When you omit the amount, it defaults to the remaining amount requested on the PaymentIntent. """ currency: NotRequired[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_payment_intent_cancel_params.py0000644000000000000000000000121215102753431021236 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class PaymentIntentCancelParams(RequestOptions): cancellation_reason: NotRequired[ Literal[ "abandoned", "duplicate", "fraudulent", "requested_by_customer" ] ] """ Reason for canceling this PaymentIntent. Possible values are: `duplicate`, `fraudulent`, `requested_by_customer`, or `abandoned` """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_payment_intent_capture_params.py0000644000000000000000000002636215102753431021471 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentIntentCaptureParams(RequestOptions): amount_details: NotRequired["PaymentIntentCaptureParamsAmountDetails"] """ Provides industry-specific information about the amount. """ amount_to_capture: NotRequired[int] """ The amount to capture from the PaymentIntent, which must be less than or equal to the original amount. Defaults to the full `amount_capturable` if it's not provided. """ application_fee_amount: NotRequired[int] """ The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total amount captured. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ final_capture: NotRequired[bool] """ Defaults to `true`. When capturing a PaymentIntent, setting `final_capture` to `false` notifies Stripe to not release the remaining uncaptured funds to make sure that they're captured in future requests. You can only use this setting when [multicapture](https://stripe.com/docs/payments/multicapture) is available for PaymentIntents. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ payment_details: NotRequired[ "Literal['']|PaymentIntentCaptureParamsPaymentDetails" ] """ Provides industry-specific information about the charge. """ statement_descriptor: NotRequired[str] """ Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. """ statement_descriptor_suffix: NotRequired[str] """ Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. """ transfer_data: NotRequired["PaymentIntentCaptureParamsTransferData"] """ The parameters that you can use to automatically create a transfer after the payment is captured. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ class PaymentIntentCaptureParamsAmountDetails(TypedDict): discount_amount: NotRequired["Literal['']|int"] """ The total discount applied on the transaction represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[line_items][#][discount_amount]` field. """ line_items: NotRequired[ "Literal['']|List[PaymentIntentCaptureParamsAmountDetailsLineItem]" ] """ A list of line items, each containing information about a product in the PaymentIntent. There is a maximum of 100 line items. """ shipping: NotRequired[ "Literal['']|PaymentIntentCaptureParamsAmountDetailsShipping" ] """ Contains information about the shipping portion of the amount. """ tax: NotRequired["Literal['']|PaymentIntentCaptureParamsAmountDetailsTax"] """ Contains information about the tax portion of the amount. """ class PaymentIntentCaptureParamsAmountDetailsLineItem(TypedDict): discount_amount: NotRequired[int] """ The discount applied on this line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[discount_amount]` field. """ payment_method_options: NotRequired[ "PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptions" ] """ Payment method-specific information for line items. """ product_code: NotRequired[str] """ The product code of the line item, such as an SKU. Required for L3 rates. At most 12 characters long. """ product_name: str """ The product name of the line item. Required for L3 rates. At most 1024 characters long. For Cards, this field is truncated to 26 alphanumeric characters before being sent to the card networks. For Paypal, this field is truncated to 127 characters. """ quantity: int """ The quantity of items. Required for L3 rates. An integer greater than 0. """ tax: NotRequired["PaymentIntentCaptureParamsAmountDetailsLineItemTax"] """ Contains information about the tax on the item. """ unit_cost: int """ The unit cost of the line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L3 rates. An integer greater than or equal to 0. """ unit_of_measure: NotRequired[str] """ A unit of measure for the line item, such as gallons, feet, meters, etc. """ class PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptions( TypedDict, ): card: NotRequired[ "PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsCard" ] """ This sub-hash contains line item details that are specific to `card` payment method." """ card_present: NotRequired[ "PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent" ] """ This sub-hash contains line item details that are specific to `card_present` payment method." """ klarna: NotRequired[ "PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsKlarna" ] """ This sub-hash contains line item details that are specific to `klarna` payment method." """ paypal: NotRequired[ "PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsPaypal" ] """ This sub-hash contains line item details that are specific to `paypal` payment method." """ class PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsCard( TypedDict, ): commodity_code: NotRequired[str] """ Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc. """ class PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent( TypedDict, ): commodity_code: NotRequired[str] """ Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc. """ class PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsKlarna( TypedDict, ): image_url: NotRequired[str] """ URL to an image for the product. Max length, 4096 characters. """ product_url: NotRequired[str] """ URL to the product page. Max length, 4096 characters. """ reference: NotRequired[str] """ Unique reference for this line item to correlate it with your system's internal records. The field is displayed in the Klarna Consumer App if passed. """ subscription_reference: NotRequired[str] """ Reference for the subscription this line item is for. """ class PaymentIntentCaptureParamsAmountDetailsLineItemPaymentMethodOptionsPaypal( TypedDict, ): category: NotRequired[ Literal["digital_goods", "donation", "physical_goods"] ] """ Type of the line item. """ description: NotRequired[str] """ Description of the line item. """ sold_by: NotRequired[str] """ The Stripe account ID of the connected account that sells the item. """ class PaymentIntentCaptureParamsAmountDetailsLineItemTax(TypedDict): total_tax_amount: int """ The total amount of tax on a single line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L3 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[tax][total_tax_amount]` field. """ class PaymentIntentCaptureParamsAmountDetailsShipping(TypedDict): amount: NotRequired["Literal['']|int"] """ If a physical good is being shipped, the cost of shipping represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than or equal to 0. """ from_postal_code: NotRequired["Literal['']|str"] """ If a physical good is being shipped, the postal code of where it is being shipped from. At most 10 alphanumeric characters long, hyphens are allowed. """ to_postal_code: NotRequired["Literal['']|str"] """ If a physical good is being shipped, the postal code of where it is being shipped to. At most 10 alphanumeric characters long, hyphens are allowed. """ class PaymentIntentCaptureParamsAmountDetailsTax(TypedDict): total_tax_amount: int """ The total amount of tax on the transaction represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L2 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[line_items][#][tax][total_tax_amount]` field. """ class PaymentIntentCaptureParamsPaymentDetails(TypedDict): customer_reference: NotRequired["Literal['']|str"] """ A unique value to identify the customer. This field is available only for card payments. This field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. """ order_reference: NotRequired["Literal['']|str"] """ A unique value assigned by the business to identify the transaction. Required for L2 and L3 rates. Required when the Payment Method Types array contains `card`, including when [automatic_payment_methods.enabled](https://docs.stripe.com/api/payment_intents/create#create_payment_intent-automatic_payment_methods-enabled) is set to `true`. For Cards, this field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. For Klarna, this field is truncated to 255 characters and is visible to customers when they view the order in the Klarna app. """ class PaymentIntentCaptureParamsTransferData(TypedDict): amount: NotRequired[int] """ The amount that will be transferred automatically when a charge succeeds. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3530622 stripe-13.2.0/stripe/params/_payment_intent_confirm_params.py0000644000000000000000000045222215102753431021461 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentIntentConfirmParams(RequestOptions): amount_details: NotRequired[ "Literal['']|PaymentIntentConfirmParamsAmountDetails" ] """ Provides industry-specific information about the amount. """ capture_method: NotRequired[ Literal["automatic", "automatic_async", "manual"] ] """ Controls when the funds will be captured from the customer's account. """ confirmation_token: NotRequired[str] """ ID of the ConfirmationToken used to confirm this PaymentIntent. If the provided ConfirmationToken contains properties that are also being provided in this request, such as `payment_method`, then the values in this request will take precedence. """ error_on_requires_action: NotRequired[bool] """ Set to `true` to fail the payment attempt if the PaymentIntent transitions into `requires_action`. This parameter is intended for simpler integrations that do not handle customer actions, like [saving cards without authentication](https://stripe.com/docs/payments/save-card-without-authentication). """ excluded_payment_method_types: NotRequired[ "Literal['']|List[Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'ideal', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'mb_way', 'mobilepay', 'multibanco', 'naver_pay', 'nz_bank_account', 'oxxo', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'pix', 'promptpay', 'revolut_pay', 'samsung_pay', 'satispay', 'sepa_debit', 'sofort', 'swish', 'twint', 'us_bank_account', 'wechat_pay', 'zip']]" ] """ The list of payment method types to exclude from use with this payment. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ mandate: NotRequired[str] """ ID of the mandate that's used for this payment. """ mandate_data: NotRequired[ "Literal['']|PaymentIntentConfirmParamsMandateData" ] off_session: NotRequired["bool|Literal['one_off', 'recurring']"] """ Set to `true` to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate. Use this parameter in scenarios where you collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards). """ payment_details: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentDetails" ] """ Provides industry-specific information about the charge. """ payment_method: NotRequired[str] """ ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent. If the payment method is attached to a Customer, it must match the [customer](https://stripe.com/docs/api#create_payment_intent-customer) that is set on this PaymentIntent. """ payment_method_data: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodData" ] """ 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. """ payment_method_options: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptions" ] """ Payment method-specific configuration for this PaymentIntent. """ payment_method_types: NotRequired[List[str]] """ The list of payment method types (for example, a card) that this PaymentIntent can use. Use `automatic_payment_methods` to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). A list of valid payment method types can be found [here](https://docs.stripe.com/api/payment_methods/object#payment_method_object-type). """ radar_options: NotRequired["PaymentIntentConfirmParamsRadarOptions"] """ Options to configure Radar. Learn more about [Radar Sessions](https://stripe.com/docs/radar/radar-session). """ receipt_email: NotRequired["Literal['']|str"] """ Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). """ return_url: NotRequired[str] """ The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter is only used for cards and other redirect-based payment methods. """ setup_future_usage: NotRequired[ "Literal['']|Literal['off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ shipping: NotRequired["Literal['']|PaymentIntentConfirmParamsShipping"] """ Shipping information for this PaymentIntent. """ use_stripe_sdk: NotRequired[bool] """ Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions. """ class PaymentIntentConfirmParamsAmountDetails(TypedDict): discount_amount: NotRequired["Literal['']|int"] """ The total discount applied on the transaction represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[line_items][#][discount_amount]` field. """ line_items: NotRequired[ "Literal['']|List[PaymentIntentConfirmParamsAmountDetailsLineItem]" ] """ A list of line items, each containing information about a product in the PaymentIntent. There is a maximum of 100 line items. """ shipping: NotRequired[ "Literal['']|PaymentIntentConfirmParamsAmountDetailsShipping" ] """ Contains information about the shipping portion of the amount. """ tax: NotRequired["Literal['']|PaymentIntentConfirmParamsAmountDetailsTax"] """ Contains information about the tax portion of the amount. """ class PaymentIntentConfirmParamsAmountDetailsLineItem(TypedDict): discount_amount: NotRequired[int] """ The discount applied on this line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[discount_amount]` field. """ payment_method_options: NotRequired[ "PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptions" ] """ Payment method-specific information for line items. """ product_code: NotRequired[str] """ The product code of the line item, such as an SKU. Required for L3 rates. At most 12 characters long. """ product_name: str """ The product name of the line item. Required for L3 rates. At most 1024 characters long. For Cards, this field is truncated to 26 alphanumeric characters before being sent to the card networks. For Paypal, this field is truncated to 127 characters. """ quantity: int """ The quantity of items. Required for L3 rates. An integer greater than 0. """ tax: NotRequired["PaymentIntentConfirmParamsAmountDetailsLineItemTax"] """ Contains information about the tax on the item. """ unit_cost: int """ The unit cost of the line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L3 rates. An integer greater than or equal to 0. """ unit_of_measure: NotRequired[str] """ A unit of measure for the line item, such as gallons, feet, meters, etc. """ class PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptions( TypedDict, ): card: NotRequired[ "PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsCard" ] """ This sub-hash contains line item details that are specific to `card` payment method." """ card_present: NotRequired[ "PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent" ] """ This sub-hash contains line item details that are specific to `card_present` payment method." """ klarna: NotRequired[ "PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsKlarna" ] """ This sub-hash contains line item details that are specific to `klarna` payment method." """ paypal: NotRequired[ "PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsPaypal" ] """ This sub-hash contains line item details that are specific to `paypal` payment method." """ class PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsCard( TypedDict, ): commodity_code: NotRequired[str] """ Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc. """ class PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent( TypedDict, ): commodity_code: NotRequired[str] """ Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc. """ class PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsKlarna( TypedDict, ): image_url: NotRequired[str] """ URL to an image for the product. Max length, 4096 characters. """ product_url: NotRequired[str] """ URL to the product page. Max length, 4096 characters. """ reference: NotRequired[str] """ Unique reference for this line item to correlate it with your system's internal records. The field is displayed in the Klarna Consumer App if passed. """ subscription_reference: NotRequired[str] """ Reference for the subscription this line item is for. """ class PaymentIntentConfirmParamsAmountDetailsLineItemPaymentMethodOptionsPaypal( TypedDict, ): category: NotRequired[ Literal["digital_goods", "donation", "physical_goods"] ] """ Type of the line item. """ description: NotRequired[str] """ Description of the line item. """ sold_by: NotRequired[str] """ The Stripe account ID of the connected account that sells the item. """ class PaymentIntentConfirmParamsAmountDetailsLineItemTax(TypedDict): total_tax_amount: int """ The total amount of tax on a single line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L3 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[tax][total_tax_amount]` field. """ class PaymentIntentConfirmParamsAmountDetailsShipping(TypedDict): amount: NotRequired["Literal['']|int"] """ If a physical good is being shipped, the cost of shipping represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than or equal to 0. """ from_postal_code: NotRequired["Literal['']|str"] """ If a physical good is being shipped, the postal code of where it is being shipped from. At most 10 alphanumeric characters long, hyphens are allowed. """ to_postal_code: NotRequired["Literal['']|str"] """ If a physical good is being shipped, the postal code of where it is being shipped to. At most 10 alphanumeric characters long, hyphens are allowed. """ class PaymentIntentConfirmParamsAmountDetailsTax(TypedDict): total_tax_amount: int """ The total amount of tax on the transaction represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L2 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[line_items][#][tax][total_tax_amount]` field. """ class PaymentIntentConfirmParamsMandateData(TypedDict): customer_acceptance: NotRequired[ "PaymentIntentConfirmParamsMandateDataCustomerAcceptance" ] """ This hash contains details about the customer acceptance of the Mandate. """ class PaymentIntentConfirmParamsMandateDataCustomerAcceptance(TypedDict): accepted_at: NotRequired[int] """ The time at which the customer accepted the Mandate. """ offline: NotRequired[ "PaymentIntentConfirmParamsMandateDataCustomerAcceptanceOffline" ] """ If this is a Mandate accepted offline, this hash contains details about the offline acceptance. """ online: NotRequired[ "PaymentIntentConfirmParamsMandateDataCustomerAcceptanceOnline" ] """ If this is a Mandate accepted online, this hash contains details about the online acceptance. """ type: Literal["offline", "online"] """ The type of customer acceptance information included with the Mandate. One of `online` or `offline`. """ class PaymentIntentConfirmParamsMandateDataCustomerAcceptanceOffline( TypedDict ): pass class PaymentIntentConfirmParamsMandateDataCustomerAcceptanceOnline(TypedDict): ip_address: NotRequired[str] """ The IP address from which the Mandate was accepted by the customer. """ user_agent: NotRequired[str] """ The user agent of the browser from which the Mandate was accepted by the customer. """ class PaymentIntentConfirmParamsPaymentDetails(TypedDict): customer_reference: NotRequired["Literal['']|str"] """ A unique value to identify the customer. This field is available only for card payments. This field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. """ order_reference: NotRequired["Literal['']|str"] """ A unique value assigned by the business to identify the transaction. Required for L2 and L3 rates. Required when the Payment Method Types array contains `card`, including when [automatic_payment_methods.enabled](https://docs.stripe.com/api/payment_intents/create#create_payment_intent-automatic_payment_methods-enabled) is set to `true`. For Cards, this field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. For Klarna, this field is truncated to 255 characters and is visible to customers when they view the order in the Klarna app. """ class PaymentIntentConfirmParamsPaymentMethodData(TypedDict): acss_debit: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataAcssDebit" ] """ If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method. """ affirm: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataAffirm"] """ If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method. """ afterpay_clearpay: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataAfterpayClearpay" ] """ If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method. """ alipay: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataAlipay"] """ If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method. """ allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. """ alma: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataAlma"] """ If this is a Alma PaymentMethod, this hash contains details about the Alma payment method. """ amazon_pay: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataAmazonPay" ] """ If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method. """ au_becs_debit: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataAuBecsDebit" ] """ If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account. """ bacs_debit: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataBacsDebit" ] """ If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account. """ bancontact: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataBancontact" ] """ If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method. """ billie: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataBillie"] """ If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method. """ billing_details: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataBillingDetails" ] """ Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. """ blik: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataBlik"] """ If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method. """ boleto: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataBoleto"] """ If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method. """ cashapp: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataCashapp"] """ If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method. """ crypto: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataCrypto"] """ If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method. """ customer_balance: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataCustomerBalance" ] """ If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method. """ eps: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataEps"] """ If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method. """ fpx: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataFpx"] """ If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method. """ giropay: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataGiropay"] """ If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method. """ grabpay: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataGrabpay"] """ If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method. """ ideal: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataIdeal"] """ If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method. """ interac_present: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataInteracPresent" ] """ If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method. """ kakao_pay: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataKakaoPay" ] """ If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method. """ klarna: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataKlarna"] """ If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method. """ konbini: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataKonbini"] """ If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method. """ kr_card: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataKrCard"] """ If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method. """ link: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataLink"] """ If this is an `Link` PaymentMethod, this hash contains details about the Link payment method. """ mb_way: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataMbWay"] """ If this is a MB WAY PaymentMethod, this hash contains details about the MB WAY payment method. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ mobilepay: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataMobilepay" ] """ If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method. """ multibanco: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataMultibanco" ] """ If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method. """ naver_pay: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataNaverPay" ] """ If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method. """ nz_bank_account: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataNzBankAccount" ] """ If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method. """ oxxo: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataOxxo"] """ If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method. """ p24: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataP24"] """ If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method. """ pay_by_bank: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataPayByBank" ] """ If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method. """ payco: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataPayco"] """ If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method. """ paynow: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataPaynow"] """ If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method. """ paypal: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataPaypal"] """ If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method. """ pix: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataPix"] """ If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method. """ promptpay: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataPromptpay" ] """ If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method. """ radar_options: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataRadarOptions" ] """ Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. """ revolut_pay: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataRevolutPay" ] """ If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method. """ samsung_pay: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataSamsungPay" ] """ If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method. """ satispay: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataSatispay" ] """ If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method. """ sepa_debit: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataSepaDebit" ] """ If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account. """ sofort: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataSofort"] """ If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method. """ swish: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataSwish"] """ If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method. """ twint: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataTwint"] """ If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method. """ type: Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] """ 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. """ us_bank_account: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataUsBankAccount" ] """ If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. """ wechat_pay: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodDataWechatPay" ] """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ zip: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. """ class PaymentIntentConfirmParamsPaymentMethodDataAcssDebit(TypedDict): account_number: str """ Customer's bank account number. """ institution_number: str """ Institution number of the customer's bank. """ transit_number: str """ Transit number of the customer's bank. """ class PaymentIntentConfirmParamsPaymentMethodDataAffirm(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataAfterpayClearpay(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataAlipay(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataAlma(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataAmazonPay(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataAuBecsDebit(TypedDict): account_number: str """ The account number for the bank account. """ bsb_number: str """ Bank-State-Branch number of the bank account. """ class PaymentIntentConfirmParamsPaymentMethodDataBacsDebit(TypedDict): account_number: NotRequired[str] """ Account number of the bank account that the funds will be debited from. """ sort_code: NotRequired[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class PaymentIntentConfirmParamsPaymentMethodDataBancontact(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataBillie(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataBillingDetails(TypedDict): address: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodDataBillingDetailsAddress" ] """ Billing address. """ email: NotRequired["Literal['']|str"] """ Email address. """ name: NotRequired["Literal['']|str"] """ Full name. """ phone: NotRequired["Literal['']|str"] """ Billing phone number (including extension). """ tax_id: NotRequired[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ class PaymentIntentConfirmParamsPaymentMethodDataBillingDetailsAddress( TypedDict, ): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class PaymentIntentConfirmParamsPaymentMethodDataBlik(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataBoleto(TypedDict): tax_id: str """ The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers) """ class PaymentIntentConfirmParamsPaymentMethodDataCashapp(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataCrypto(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataCustomerBalance(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataEps(TypedDict): bank: NotRequired[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. """ class PaymentIntentConfirmParamsPaymentMethodDataFpx(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type for FPX transaction """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank. """ class PaymentIntentConfirmParamsPaymentMethodDataGiropay(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataGrabpay(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataIdeal(TypedDict): bank: NotRequired[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank. Only use this parameter for existing customers. Don't use it for new customers. """ class PaymentIntentConfirmParamsPaymentMethodDataInteracPresent(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataKakaoPay(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataKlarna(TypedDict): dob: NotRequired["PaymentIntentConfirmParamsPaymentMethodDataKlarnaDob"] """ Customer's date of birth """ class PaymentIntentConfirmParamsPaymentMethodDataKlarnaDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class PaymentIntentConfirmParamsPaymentMethodDataKonbini(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataKrCard(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataLink(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataMbWay(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataMobilepay(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataMultibanco(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataNaverPay(TypedDict): funding: NotRequired[Literal["card", "points"]] """ Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`. """ class PaymentIntentConfirmParamsPaymentMethodDataNzBankAccount(TypedDict): account_holder_name: NotRequired[str] """ The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ account_number: str """ The account number for the bank account. """ bank_code: str """ The numeric code for the bank account's bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ reference: NotRequired[str] suffix: str """ The suffix of the bank account number. """ class PaymentIntentConfirmParamsPaymentMethodDataOxxo(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataP24(TypedDict): bank: NotRequired[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank. """ class PaymentIntentConfirmParamsPaymentMethodDataPayByBank(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataPayco(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataPaynow(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataPaypal(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataPix(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataPromptpay(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataRadarOptions(TypedDict): session: NotRequired[str] """ 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. """ class PaymentIntentConfirmParamsPaymentMethodDataRevolutPay(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataSamsungPay(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataSatispay(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataSepaDebit(TypedDict): iban: str """ IBAN of the bank account. """ class PaymentIntentConfirmParamsPaymentMethodDataSofort(TypedDict): country: Literal["AT", "BE", "DE", "ES", "IT", "NL"] """ Two-letter ISO code representing the country the bank account is located in. """ class PaymentIntentConfirmParamsPaymentMethodDataSwish(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataTwint(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataUsBankAccount(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_number: NotRequired[str] """ Account number of the bank account. """ account_type: NotRequired[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. """ routing_number: NotRequired[str] """ Routing number of the bank account. """ class PaymentIntentConfirmParamsPaymentMethodDataWechatPay(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodDataZip(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodOptions(TypedDict): acss_debit: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsAcssDebit" ] """ If this is a `acss_debit` PaymentMethod, this sub-hash contains details about the ACSS Debit payment method options. """ affirm: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsAffirm" ] """ If this is an `affirm` PaymentMethod, this sub-hash contains details about the Affirm payment method options. """ afterpay_clearpay: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsAfterpayClearpay" ] """ If this is a `afterpay_clearpay` PaymentMethod, this sub-hash contains details about the Afterpay Clearpay payment method options. """ alipay: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsAlipay" ] """ If this is a `alipay` PaymentMethod, this sub-hash contains details about the Alipay payment method options. """ alma: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsAlma" ] """ If this is a `alma` PaymentMethod, this sub-hash contains details about the Alma payment method options. """ amazon_pay: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsAmazonPay" ] """ If this is a `amazon_pay` PaymentMethod, this sub-hash contains details about the Amazon Pay payment method options. """ au_becs_debit: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsAuBecsDebit" ] """ If this is a `au_becs_debit` PaymentMethod, this sub-hash contains details about the AU BECS Direct Debit payment method options. """ bacs_debit: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsBacsDebit" ] """ If this is a `bacs_debit` PaymentMethod, this sub-hash contains details about the BACS Debit payment method options. """ bancontact: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsBancontact" ] """ If this is a `bancontact` PaymentMethod, this sub-hash contains details about the Bancontact payment method options. """ billie: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsBillie" ] """ If this is a `billie` PaymentMethod, this sub-hash contains details about the Billie payment method options. """ blik: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsBlik" ] """ If this is a `blik` PaymentMethod, this sub-hash contains details about the BLIK payment method options. """ boleto: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsBoleto" ] """ If this is a `boleto` PaymentMethod, this sub-hash contains details about the Boleto payment method options. """ card: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsCard" ] """ Configuration for any card payments attempted on this PaymentIntent. """ card_present: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsCardPresent" ] """ If this is a `card_present` PaymentMethod, this sub-hash contains details about the Card Present payment method options. """ cashapp: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsCashapp" ] """ If this is a `cashapp` PaymentMethod, this sub-hash contains details about the Cash App Pay payment method options. """ crypto: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsCrypto" ] """ If this is a `crypto` PaymentMethod, this sub-hash contains details about the Crypto payment method options. """ customer_balance: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsCustomerBalance" ] """ If this is a `customer balance` PaymentMethod, this sub-hash contains details about the customer balance payment method options. """ eps: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsEps" ] """ If this is a `eps` PaymentMethod, this sub-hash contains details about the EPS payment method options. """ fpx: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsFpx" ] """ If this is a `fpx` PaymentMethod, this sub-hash contains details about the FPX payment method options. """ giropay: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsGiropay" ] """ If this is a `giropay` PaymentMethod, this sub-hash contains details about the Giropay payment method options. """ grabpay: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsGrabpay" ] """ If this is a `grabpay` PaymentMethod, this sub-hash contains details about the Grabpay payment method options. """ ideal: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsIdeal" ] """ If this is a `ideal` PaymentMethod, this sub-hash contains details about the Ideal payment method options. """ interac_present: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsInteracPresent" ] """ If this is a `interac_present` PaymentMethod, this sub-hash contains details about the Card Present payment method options. """ kakao_pay: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsKakaoPay" ] """ If this is a `kakao_pay` PaymentMethod, this sub-hash contains details about the Kakao Pay payment method options. """ klarna: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsKlarna" ] """ If this is a `klarna` PaymentMethod, this sub-hash contains details about the Klarna payment method options. """ konbini: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsKonbini" ] """ If this is a `konbini` PaymentMethod, this sub-hash contains details about the Konbini payment method options. """ kr_card: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsKrCard" ] """ If this is a `kr_card` PaymentMethod, this sub-hash contains details about the KR Card payment method options. """ link: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsLink" ] """ If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options. """ mb_way: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsMbWay" ] """ If this is a `mb_way` PaymentMethod, this sub-hash contains details about the MB WAY payment method options. """ mobilepay: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsMobilepay" ] """ If this is a `MobilePay` PaymentMethod, this sub-hash contains details about the MobilePay payment method options. """ multibanco: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsMultibanco" ] """ If this is a `multibanco` PaymentMethod, this sub-hash contains details about the Multibanco payment method options. """ naver_pay: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsNaverPay" ] """ If this is a `naver_pay` PaymentMethod, this sub-hash contains details about the Naver Pay payment method options. """ nz_bank_account: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsNzBankAccount" ] """ If this is a `nz_bank_account` PaymentMethod, this sub-hash contains details about the NZ BECS Direct Debit payment method options. """ oxxo: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsOxxo" ] """ If this is a `oxxo` PaymentMethod, this sub-hash contains details about the OXXO payment method options. """ p24: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsP24" ] """ If this is a `p24` PaymentMethod, this sub-hash contains details about the Przelewy24 payment method options. """ pay_by_bank: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsPayByBank" ] """ If this is a `pay_by_bank` PaymentMethod, this sub-hash contains details about the PayByBank payment method options. """ payco: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsPayco" ] """ If this is a `payco` PaymentMethod, this sub-hash contains details about the PAYCO payment method options. """ paynow: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsPaynow" ] """ If this is a `paynow` PaymentMethod, this sub-hash contains details about the PayNow payment method options. """ paypal: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsPaypal" ] """ If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options. """ pix: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsPix" ] """ If this is a `pix` PaymentMethod, this sub-hash contains details about the Pix payment method options. """ promptpay: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsPromptpay" ] """ If this is a `promptpay` PaymentMethod, this sub-hash contains details about the PromptPay payment method options. """ revolut_pay: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsRevolutPay" ] """ If this is a `revolut_pay` PaymentMethod, this sub-hash contains details about the Revolut Pay payment method options. """ samsung_pay: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsSamsungPay" ] """ If this is a `samsung_pay` PaymentMethod, this sub-hash contains details about the Samsung Pay payment method options. """ satispay: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsSatispay" ] """ If this is a `satispay` PaymentMethod, this sub-hash contains details about the Satispay payment method options. """ sepa_debit: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsSepaDebit" ] """ If this is a `sepa_debit` PaymentIntent, this sub-hash contains details about the SEPA Debit payment method options. """ sofort: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsSofort" ] """ If this is a `sofort` PaymentMethod, this sub-hash contains details about the SOFORT payment method options. """ swish: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsSwish" ] """ If this is a `Swish` PaymentMethod, this sub-hash contains details about the Swish payment method options. """ twint: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsTwint" ] """ If this is a `twint` PaymentMethod, this sub-hash contains details about the TWINT payment method options. """ us_bank_account: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccount" ] """ If this is a `us_bank_account` PaymentMethod, this sub-hash contains details about the US bank account payment method options. """ wechat_pay: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsWechatPay" ] """ If this is a `wechat_pay` PaymentMethod, this sub-hash contains details about the WeChat Pay payment method options. """ zip: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsZip" ] """ If this is a `zip` PaymentMethod, this sub-hash contains details about the Zip payment method options. """ class PaymentIntentConfirmParamsPaymentMethodOptionsAcssDebit(TypedDict): mandate_options: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsAcssDebitMandateOptions" ] """ Additional fields for Mandate creation """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class PaymentIntentConfirmParamsPaymentMethodOptionsAcssDebitMandateOptions( TypedDict, ): custom_mandate_url: NotRequired["Literal['']|str"] """ A URL for custom mandate text to render during confirmation step. The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent, or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent. """ interval_description: NotRequired[str] """ Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'. """ payment_schedule: NotRequired[Literal["combined", "interval", "sporadic"]] """ Payment schedule for the mandate. """ transaction_type: NotRequired[Literal["business", "personal"]] """ Transaction type of the mandate. """ class PaymentIntentConfirmParamsPaymentMethodOptionsAffirm(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ preferred_locale: NotRequired[str] """ Preferred language of the Affirm authorization page that the customer is redirected to. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsAfterpayClearpay( TypedDict ): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ reference: NotRequired[str] """ An internal identifier or reference that this payment corresponds to. You must limit the identifier to 128 characters, and it can only contain letters, numbers, underscores, backslashes, and dashes. This field differs from the statement descriptor and item name. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsAlipay(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsAlma(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentConfirmParamsPaymentMethodOptionsAmazonPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentConfirmParamsPaymentMethodOptionsAuBecsDebit(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentConfirmParamsPaymentMethodOptionsBacsDebit(TypedDict): mandate_options: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsBacsDebitMandateOptions" ] """ Additional fields for Mandate creation """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentConfirmParamsPaymentMethodOptionsBacsDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'. """ class PaymentIntentConfirmParamsPaymentMethodOptionsBancontact(TypedDict): preferred_language: NotRequired[Literal["de", "en", "fr", "nl"]] """ Preferred language of the Bancontact authorization page that the customer is redirected to. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsBillie(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentConfirmParamsPaymentMethodOptionsBlik(TypedDict): code: NotRequired[str] """ The 6-digit BLIK code that a customer has generated using their banking application. Can only be set on confirmation. """ setup_future_usage: NotRequired["Literal['']|Literal['none']"] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsBoleto(TypedDict): expires_after_days: NotRequired[int] """ The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto invoice will expire on Wednesday at 23:59 America/Sao_Paulo time. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsCard(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ cvc_token: NotRequired[str] """ A single-use `cvc_update` Token that represents a card CVC value. When provided, the CVC value will be verified during the card payment attempt. This parameter can only be provided during confirmation. """ installments: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsCardInstallments" ] """ Installment configuration for payments attempted on this PaymentIntent. For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments). """ mandate_options: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsCardMandateOptions" ] """ Configuration options for setting up an eMandate for cards issued in India. """ moto: NotRequired[bool] """ When specified, this parameter indicates that a transaction will be marked as MOTO (Mail Order Telephone Order) and thus out of scope for SCA. This parameter can only be provided during confirmation. """ network: NotRequired[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "girocard", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Selected network to process this PaymentIntent on. Depends on the available networks of the card attached to the PaymentIntent. Can be only set confirm-time. """ request_extended_authorization: NotRequired[ Literal["if_available", "never"] ] """ Request ability to [capture beyond the standard authorization validity window](https://stripe.com/docs/payments/extended-authorization) for this PaymentIntent. """ request_incremental_authorization: NotRequired[ Literal["if_available", "never"] ] """ Request ability to [increment the authorization](https://stripe.com/docs/payments/incremental-authorization) for this PaymentIntent. """ request_multicapture: NotRequired[Literal["if_available", "never"]] """ Request ability to make [multiple captures](https://stripe.com/docs/payments/multicapture) for this PaymentIntent. """ request_overcapture: NotRequired[Literal["if_available", "never"]] """ Request ability to [overcapture](https://stripe.com/docs/payments/overcapture) for this PaymentIntent. """ request_three_d_secure: NotRequired[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ require_cvc_recollection: NotRequired[bool] """ When enabled, using a card that is attached to a customer will require the CVC to be provided again (i.e. using the cvc_token parameter). """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ statement_descriptor_suffix_kana: NotRequired["Literal['']|str"] """ Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that's set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters. """ statement_descriptor_suffix_kanji: NotRequired["Literal['']|str"] """ Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that's set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters. """ three_d_secure: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecure" ] """ If 3D Secure authentication was performed with a third-party provider, the authentication details to use for this payment. """ class PaymentIntentConfirmParamsPaymentMethodOptionsCardInstallments( TypedDict ): enabled: NotRequired[bool] """ Setting to true enables installments for this PaymentIntent. This will cause the response to contain a list of available installment plans. Setting to false will prevent any selected plan from applying to a charge. """ plan: NotRequired[ "Literal['']|PaymentIntentConfirmParamsPaymentMethodOptionsCardInstallmentsPlan" ] """ The selected installment plan to use for this payment attempt. This parameter can only be provided during confirmation. """ class PaymentIntentConfirmParamsPaymentMethodOptionsCardInstallmentsPlan( TypedDict, ): count: NotRequired[int] """ For `fixed_count` installment plans, this is required. It represents the number of installment payments your customer will make to their credit card. """ interval: NotRequired[Literal["month"]] """ For `fixed_count` installment plans, this is required. It represents the interval between installment payments your customer will make to their credit card. One of `month`. """ type: Literal["bonus", "fixed_count", "revolving"] """ Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsCardMandateOptions( TypedDict, ): amount: int """ Amount to be charged for future payments. """ amount_type: Literal["fixed", "maximum"] """ One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. """ description: NotRequired[str] """ A description of the mandate or subscription that is meant to be displayed to the customer. """ end_date: NotRequired[int] """ End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date. """ interval: Literal["day", "month", "sporadic", "week", "year"] """ Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`. """ interval_count: NotRequired[int] """ The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`. """ reference: str """ Unique identifier for the mandate or subscription. """ start_date: int """ Start date of the mandate or subscription. Start date should not be lesser than yesterday. """ supported_types: NotRequired[List[Literal["india"]]] """ Specifies the type of mandates supported. Possible values are `india`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecure( TypedDict ): ares_trans_status: NotRequired[Literal["A", "C", "I", "N", "R", "U", "Y"]] """ The `transStatus` returned from the card Issuer's ACS in the ARes. """ cryptogram: str """ The cryptogram, also known as the "authentication value" (AAV, CAVV or AEVV). This value is 20 bytes, base64-encoded into a 28-character string. (Most 3D Secure providers will return the base64-encoded version, which is what you should specify here.) """ electronic_commerce_indicator: NotRequired[ Literal["01", "02", "05", "06", "07"] ] """ The Electronic Commerce Indicator (ECI) is returned by your 3D Secure provider and indicates what degree of authentication was performed. """ exemption_indicator: NotRequired[Literal["low_risk", "none"]] """ The exemption requested via 3DS and accepted by the issuer at authentication time. """ network_options: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions" ] """ Network specific 3DS fields. Network specific arguments require an explicit card brand choice. The parameter `payment_method_options.card.network`` must be populated accordingly """ requestor_challenge_indicator: NotRequired[str] """ The challenge indicator (`threeDSRequestorChallengeInd`) which was requested in the AReq sent to the card Issuer's ACS. A string containing 2 digits from 01-99. """ transaction_id: str """ For 3D Secure 1, the XID. For 3D Secure 2, the Directory Server Transaction ID (dsTransID). """ version: Literal["1.0.2", "2.1.0", "2.2.0"] """ The version of 3D Secure that was performed. """ class PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions( TypedDict, ): cartes_bancaires: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires" ] """ Cartes Bancaires-specific 3DS fields. """ class PaymentIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires( TypedDict, ): cb_avalgo: Literal["0", "1", "2", "3", "4", "A"] """ The cryptogram calculation algorithm used by the card Issuer's ACS to calculate the Authentication cryptogram. Also known as `cavvAlgorithm`. messageExtension: CB-AVALGO """ cb_exemption: NotRequired[str] """ The exemption indicator returned from Cartes Bancaires in the ARes. message extension: CB-EXEMPTION; string (4 characters) This is a 3 byte bitmap (low significant byte first and most significant bit first) that has been Base64 encoded """ cb_score: NotRequired[int] """ The risk score returned from Cartes Bancaires in the ARes. message extension: CB-SCORE; numeric value 0-99 """ 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) """ request_incremental_authorization_support: NotRequired[bool] """ 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. """ routing: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsCardPresentRouting" ] """ Network routing priority on co-branded EMV cards supporting domestic debit and international card schemes. """ class PaymentIntentConfirmParamsPaymentMethodOptionsCardPresentRouting( TypedDict, ): requested_priority: NotRequired[Literal["domestic", "international"]] """ Routing requested priority """ class PaymentIntentConfirmParamsPaymentMethodOptionsCashapp(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsCrypto(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsCustomerBalance(TypedDict): bank_transfer: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsCustomerBalanceBankTransfer" ] """ Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`. """ funding_type: NotRequired[Literal["bank_transfer"]] """ The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsCustomerBalanceBankTransfer( TypedDict, ): eu_bank_transfer: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer" ] """ Configuration for the eu_bank_transfer funding type. """ requested_address_types: NotRequired[ List[ Literal[ "aba", "iban", "sepa", "sort_code", "spei", "swift", "zengin" ] ] ] """ List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned. Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`. """ type: Literal[ "eu_bank_transfer", "gb_bank_transfer", "jp_bank_transfer", "mx_bank_transfer", "us_bank_transfer", ] """ The list of bank transfer types that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer( TypedDict, ): country: str """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsEps(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsFpx(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsGiropay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsGrabpay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsIdeal(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsInteracPresent(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodOptionsKakaoPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentConfirmParamsPaymentMethodOptionsKlarna(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ on_demand: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsKlarnaOnDemand" ] """ On-demand details if setting up or charging an on-demand payment. """ preferred_locale: NotRequired[ Literal[ "cs-CZ", "da-DK", "de-AT", "de-CH", "de-DE", "el-GR", "en-AT", "en-AU", "en-BE", "en-CA", "en-CH", "en-CZ", "en-DE", "en-DK", "en-ES", "en-FI", "en-FR", "en-GB", "en-GR", "en-IE", "en-IT", "en-NL", "en-NO", "en-NZ", "en-PL", "en-PT", "en-RO", "en-SE", "en-US", "es-ES", "es-US", "fi-FI", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "it-CH", "it-IT", "nb-NO", "nl-BE", "nl-NL", "pl-PL", "pt-PT", "ro-RO", "sv-FI", "sv-SE", ] ] """ Preferred language of the Klarna authorization page that the customer is redirected to """ setup_future_usage: NotRequired[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ subscriptions: NotRequired[ "Literal['']|List[PaymentIntentConfirmParamsPaymentMethodOptionsKlarnaSubscription]" ] """ Subscription details if setting up or charging a subscription. """ class PaymentIntentConfirmParamsPaymentMethodOptionsKlarnaOnDemand(TypedDict): average_amount: NotRequired[int] """ Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc. """ maximum_amount: NotRequired[int] """ The maximum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ minimum_amount: NotRequired[int] """ The lowest or minimum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ purchase_interval: NotRequired[Literal["day", "month", "week", "year"]] """ Interval at which the customer is making purchases """ purchase_interval_count: NotRequired[int] """ The number of `purchase_interval` between charges """ class PaymentIntentConfirmParamsPaymentMethodOptionsKlarnaSubscription( TypedDict, ): interval: Literal["day", "month", "week", "year"] """ Unit of time between subscription charges. """ interval_count: NotRequired[int] """ The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months. """ name: NotRequired[str] """ Name for subscription. """ next_billing: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling" ] """ Describes the upcoming charge for this subscription. """ reference: str """ A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges. """ class PaymentIntentConfirmParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling( TypedDict, ): amount: int """ The amount of the next charge for the subscription. """ date: str """ The date of the next charge for the subscription in YYYY-MM-DD format. """ class PaymentIntentConfirmParamsPaymentMethodOptionsKonbini(TypedDict): confirmation_number: NotRequired["Literal['']|str"] """ An optional 10 to 11 digit numeric-only string determining the confirmation code at applicable convenience stores. Must not consist of only zeroes and could be rejected in case of insufficient uniqueness. We recommend to use the customer's phone number. """ expires_after_days: NotRequired["Literal['']|int"] """ The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST. Defaults to 3 days. """ expires_at: NotRequired["Literal['']|int"] """ The timestamp at which the Konbini payment instructions will expire. Only one of `expires_after_days` or `expires_at` may be set. """ product_description: NotRequired["Literal['']|str"] """ A product descriptor of up to 22 characters, which will appear to customers at the convenience store. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsKrCard(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentConfirmParamsPaymentMethodOptionsLink(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ persistent_token: NotRequired[str] """ [Deprecated] This is a legacy parameter that no longer has any function. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsMbWay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsMobilepay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsMultibanco(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsNaverPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentConfirmParamsPaymentMethodOptionsNzBankAccount(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentConfirmParamsPaymentMethodOptionsOxxo(TypedDict): expires_after_days: NotRequired[int] """ The number of calendar days before an OXXO voucher expires. For example, if you create an OXXO voucher on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsP24(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ tos_shown_and_accepted: NotRequired[bool] """ Confirm that the payer has accepted the P24 terms and conditions. """ class PaymentIntentConfirmParamsPaymentMethodOptionsPayByBank(TypedDict): pass class PaymentIntentConfirmParamsPaymentMethodOptionsPayco(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentConfirmParamsPaymentMethodOptionsPaynow(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsPaypal(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ Controls when the funds will be captured from the customer's account. """ preferred_locale: NotRequired[ Literal[ "cs-CZ", "da-DK", "de-AT", "de-DE", "de-LU", "el-GR", "en-GB", "en-US", "es-ES", "fi-FI", "fr-BE", "fr-FR", "fr-LU", "hu-HU", "it-IT", "nl-BE", "nl-NL", "pl-PL", "pt-PT", "sk-SK", "sv-SE", ] ] """ [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to. """ reference: NotRequired[str] """ A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID. """ risk_correlation_id: NotRequired[str] """ The risk correlation ID for an on-session payment using a saved PayPal payment method. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsPix(TypedDict): amount_includes_iof: NotRequired[Literal["always", "never"]] """ Determines if the amount includes the IOF tax. Defaults to `never`. """ expires_after_seconds: NotRequired[int] """ The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. """ expires_at: NotRequired[int] """ The timestamp at which the Pix expires (between 10 and 1209600 seconds in the future). Defaults to 1 day in the future. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsPromptpay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsRevolutPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentConfirmParamsPaymentMethodOptionsSamsungPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentConfirmParamsPaymentMethodOptionsSatispay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentConfirmParamsPaymentMethodOptionsSepaDebit(TypedDict): mandate_options: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsSepaDebitMandateOptions" ] """ Additional fields for Mandate creation """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentConfirmParamsPaymentMethodOptionsSepaDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'. """ class PaymentIntentConfirmParamsPaymentMethodOptionsSofort(TypedDict): preferred_language: NotRequired[ "Literal['']|Literal['de', 'en', 'es', 'fr', 'it', 'nl', 'pl']" ] """ Language shown to the payer on redirect. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsSwish(TypedDict): reference: NotRequired["Literal['']|str"] """ A reference for this payment to be displayed in the Swish app. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsTwint(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccount(TypedDict): financial_connections: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnections" ] """ Additional fields for Financial Connections Session creation """ mandate_options: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountMandateOptions" ] """ Additional fields for Mandate creation """ networks: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountNetworks" ] """ Additional fields for network related functions """ preferred_settlement_speed: NotRequired[ "Literal['']|Literal['fastest', 'standard']" ] """ Preferred transaction settlement speed """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnections( TypedDict, ): filters: NotRequired[ "PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters" ] """ Provide filters for the linked accounts that the customer can select for the payment method. """ permissions: NotRequired[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ return_url: NotRequired[str] """ For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. """ class PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters( TypedDict, ): account_subcategories: NotRequired[List[Literal["checking", "savings"]]] """ The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountMandateOptions( TypedDict, ): collection_method: NotRequired["Literal['']|Literal['paper']"] """ The method used to collect offline mandate customer acceptance. """ class PaymentIntentConfirmParamsPaymentMethodOptionsUsBankAccountNetworks( TypedDict, ): requested: NotRequired[List[Literal["ach", "us_domestic_wire"]]] """ Triggers validations to run across the selected networks """ class PaymentIntentConfirmParamsPaymentMethodOptionsWechatPay(TypedDict): app_id: NotRequired[str] """ The app ID registered with WeChat Pay. Only required when client is ios or android. """ client: NotRequired[Literal["android", "ios", "web"]] """ The client type that the end customer will pay from """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsPaymentMethodOptionsZip(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentConfirmParamsRadarOptions(TypedDict): session: NotRequired[str] """ 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. """ class PaymentIntentConfirmParamsShipping(TypedDict): address: "PaymentIntentConfirmParamsShippingAddress" """ Shipping address. """ carrier: NotRequired[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: str """ Recipient name. """ phone: NotRequired[str] """ Recipient phone (including extension). """ tracking_number: NotRequired[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ class PaymentIntentConfirmParamsShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.354062 stripe-13.2.0/stripe/params/_payment_intent_create_params.py0000644000000000000000000047172015102753431021273 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentIntentCreateParams(RequestOptions): amount: int """ Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). """ amount_details: NotRequired["PaymentIntentCreateParamsAmountDetails"] """ Provides industry-specific information about the amount. """ application_fee_amount: NotRequired[int] """ The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total amount captured. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ automatic_payment_methods: NotRequired[ "PaymentIntentCreateParamsAutomaticPaymentMethods" ] """ When you enable this parameter, this PaymentIntent accepts payment methods that you enable in the Dashboard and that are compatible with this PaymentIntent's other parameters. """ capture_method: NotRequired[ Literal["automatic", "automatic_async", "manual"] ] """ Controls when the funds will be captured from the customer's account. """ confirm: NotRequired[bool] """ Set to `true` to attempt to [confirm this PaymentIntent](https://stripe.com/docs/api/payment_intents/confirm) immediately. This parameter defaults to `false`. When creating and confirming a PaymentIntent at the same time, you can also provide the parameters available in the [Confirm API](https://stripe.com/docs/api/payment_intents/confirm). """ confirmation_method: NotRequired[Literal["automatic", "manual"]] """ Describes whether we can confirm this PaymentIntent automatically, or if it requires customer action to confirm the payment. """ confirmation_token: NotRequired[str] """ ID of the ConfirmationToken used to confirm this PaymentIntent. If the provided ConfirmationToken contains properties that are also being provided in this request, such as `payment_method`, then the values in this request will take precedence. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: NotRequired[str] """ ID of the Customer this PaymentIntent belongs to, if one exists. Payment methods attached to other Customers cannot be used with this PaymentIntent. If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ error_on_requires_action: NotRequired[bool] """ Set to `true` to fail the payment attempt if the PaymentIntent transitions into `requires_action`. Use this parameter for simpler integrations that don't handle customer actions, such as [saving cards without authentication](https://stripe.com/docs/payments/save-card-without-authentication). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). """ excluded_payment_method_types: NotRequired[ List[ Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "card", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] ] ] """ The list of payment method types to exclude from use with this payment. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ mandate: NotRequired[str] """ ID of the mandate that's used for this payment. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). """ mandate_data: NotRequired[ "Literal['']|PaymentIntentCreateParamsMandateData" ] """ This hash contains details about the Mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ off_session: NotRequired["bool|Literal['one_off', 'recurring']"] """ Set to `true` to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate. Use this parameter in scenarios where you collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). """ on_behalf_of: NotRequired[str] """ The Stripe account ID that these funds are intended for. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ payment_details: NotRequired["PaymentIntentCreateParamsPaymentDetails"] """ Provides industry-specific information about the charge. """ payment_method: NotRequired[str] """ ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods#compatibility) object) to attach to this PaymentIntent. If you don't provide the `payment_method` parameter or the `source` parameter with `confirm=true`, `source` automatically populates with `customer.default_source` to improve migration for users of the Charges API. We recommend that you explicitly provide the `payment_method` moving forward. If the payment method is attached to a Customer, you must also provide the ID of that Customer as the [customer](https://stripe.com/docs/api#create_payment_intent-customer) parameter of this PaymentIntent. end """ payment_method_configuration: NotRequired[str] """ The ID of the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) to use with this PaymentIntent. """ payment_method_data: NotRequired[ "PaymentIntentCreateParamsPaymentMethodData" ] """ 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. """ payment_method_options: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptions" ] """ Payment method-specific configuration for this PaymentIntent. """ payment_method_types: NotRequired[List[str]] """ The list of payment method types (for example, a card) that this PaymentIntent can use. If you don't provide this, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). A list of valid payment method types can be found [here](https://docs.stripe.com/api/payment_methods/object#payment_method_object-type). """ radar_options: NotRequired["PaymentIntentCreateParamsRadarOptions"] """ Options to configure Radar. Learn more about [Radar Sessions](https://stripe.com/docs/radar/radar-session). """ receipt_email: NotRequired[str] """ Email address to send the receipt to. If you specify `receipt_email` for a payment in live mode, you send a receipt regardless of your [email settings](https://dashboard.stripe.com/account/emails). """ return_url: NotRequired[str] """ The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm). """ setup_future_usage: NotRequired[Literal["off_session", "on_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ shipping: NotRequired["PaymentIntentCreateParamsShipping"] """ Shipping information for this PaymentIntent. """ statement_descriptor: NotRequired[str] """ Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. """ statement_descriptor_suffix: NotRequired[str] """ Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. """ transfer_data: NotRequired["PaymentIntentCreateParamsTransferData"] """ The parameters that you can use to automatically create a Transfer. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ transfer_group: NotRequired[str] """ A string that identifies the resulting payment as part of a group. Learn more about the [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers). """ use_stripe_sdk: NotRequired[bool] """ Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions. """ class PaymentIntentCreateParamsAmountDetails(TypedDict): discount_amount: NotRequired["Literal['']|int"] """ The total discount applied on the transaction represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[line_items][#][discount_amount]` field. """ line_items: NotRequired[ "Literal['']|List[PaymentIntentCreateParamsAmountDetailsLineItem]" ] """ A list of line items, each containing information about a product in the PaymentIntent. There is a maximum of 100 line items. """ shipping: NotRequired[ "Literal['']|PaymentIntentCreateParamsAmountDetailsShipping" ] """ Contains information about the shipping portion of the amount. """ tax: NotRequired["Literal['']|PaymentIntentCreateParamsAmountDetailsTax"] """ Contains information about the tax portion of the amount. """ class PaymentIntentCreateParamsAmountDetailsLineItem(TypedDict): discount_amount: NotRequired[int] """ The discount applied on this line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[discount_amount]` field. """ payment_method_options: NotRequired[ "PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptions" ] """ Payment method-specific information for line items. """ product_code: NotRequired[str] """ The product code of the line item, such as an SKU. Required for L3 rates. At most 12 characters long. """ product_name: str """ The product name of the line item. Required for L3 rates. At most 1024 characters long. For Cards, this field is truncated to 26 alphanumeric characters before being sent to the card networks. For Paypal, this field is truncated to 127 characters. """ quantity: int """ The quantity of items. Required for L3 rates. An integer greater than 0. """ tax: NotRequired["PaymentIntentCreateParamsAmountDetailsLineItemTax"] """ Contains information about the tax on the item. """ unit_cost: int """ The unit cost of the line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L3 rates. An integer greater than or equal to 0. """ unit_of_measure: NotRequired[str] """ A unit of measure for the line item, such as gallons, feet, meters, etc. """ class PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptions( TypedDict, ): card: NotRequired[ "PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsCard" ] """ This sub-hash contains line item details that are specific to `card` payment method." """ card_present: NotRequired[ "PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent" ] """ This sub-hash contains line item details that are specific to `card_present` payment method." """ klarna: NotRequired[ "PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsKlarna" ] """ This sub-hash contains line item details that are specific to `klarna` payment method." """ paypal: NotRequired[ "PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsPaypal" ] """ This sub-hash contains line item details that are specific to `paypal` payment method." """ class PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsCard( TypedDict, ): commodity_code: NotRequired[str] """ Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc. """ class PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent( TypedDict, ): commodity_code: NotRequired[str] """ Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc. """ class PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsKlarna( TypedDict, ): image_url: NotRequired[str] """ URL to an image for the product. Max length, 4096 characters. """ product_url: NotRequired[str] """ URL to the product page. Max length, 4096 characters. """ reference: NotRequired[str] """ Unique reference for this line item to correlate it with your system's internal records. The field is displayed in the Klarna Consumer App if passed. """ subscription_reference: NotRequired[str] """ Reference for the subscription this line item is for. """ class PaymentIntentCreateParamsAmountDetailsLineItemPaymentMethodOptionsPaypal( TypedDict, ): category: NotRequired[ Literal["digital_goods", "donation", "physical_goods"] ] """ Type of the line item. """ description: NotRequired[str] """ Description of the line item. """ sold_by: NotRequired[str] """ The Stripe account ID of the connected account that sells the item. """ class PaymentIntentCreateParamsAmountDetailsLineItemTax(TypedDict): total_tax_amount: int """ The total amount of tax on a single line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L3 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[tax][total_tax_amount]` field. """ class PaymentIntentCreateParamsAmountDetailsShipping(TypedDict): amount: NotRequired["Literal['']|int"] """ If a physical good is being shipped, the cost of shipping represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than or equal to 0. """ from_postal_code: NotRequired["Literal['']|str"] """ If a physical good is being shipped, the postal code of where it is being shipped from. At most 10 alphanumeric characters long, hyphens are allowed. """ to_postal_code: NotRequired["Literal['']|str"] """ If a physical good is being shipped, the postal code of where it is being shipped to. At most 10 alphanumeric characters long, hyphens are allowed. """ class PaymentIntentCreateParamsAmountDetailsTax(TypedDict): total_tax_amount: int """ The total amount of tax on the transaction represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L2 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[line_items][#][tax][total_tax_amount]` field. """ class PaymentIntentCreateParamsAutomaticPaymentMethods(TypedDict): allow_redirects: NotRequired[Literal["always", "never"]] """ Controls whether this PaymentIntent will accept redirect-based payment methods. Redirect-based payment methods may require your customer to be redirected to a payment method's app or site for authentication or additional steps. To [confirm](https://stripe.com/docs/api/payment_intents/confirm) this PaymentIntent, you may be required to provide a `return_url` to redirect customers back to your site after they authenticate or complete the payment. """ enabled: bool """ Whether this feature is enabled. """ class PaymentIntentCreateParamsMandateData(TypedDict): customer_acceptance: ( "PaymentIntentCreateParamsMandateDataCustomerAcceptance" ) """ This hash contains details about the customer acceptance of the Mandate. """ class PaymentIntentCreateParamsMandateDataCustomerAcceptance(TypedDict): accepted_at: NotRequired[int] """ The time at which the customer accepted the Mandate. """ offline: NotRequired[ "PaymentIntentCreateParamsMandateDataCustomerAcceptanceOffline" ] """ If this is a Mandate accepted offline, this hash contains details about the offline acceptance. """ online: NotRequired[ "PaymentIntentCreateParamsMandateDataCustomerAcceptanceOnline" ] """ If this is a Mandate accepted online, this hash contains details about the online acceptance. """ type: Literal["offline", "online"] """ The type of customer acceptance information included with the Mandate. One of `online` or `offline`. """ class PaymentIntentCreateParamsMandateDataCustomerAcceptanceOffline(TypedDict): pass class PaymentIntentCreateParamsMandateDataCustomerAcceptanceOnline(TypedDict): ip_address: str """ The IP address from which the Mandate was accepted by the customer. """ user_agent: str """ The user agent of the browser from which the Mandate was accepted by the customer. """ class PaymentIntentCreateParamsPaymentDetails(TypedDict): customer_reference: NotRequired["Literal['']|str"] """ A unique value to identify the customer. This field is available only for card payments. This field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. """ order_reference: NotRequired["Literal['']|str"] """ A unique value assigned by the business to identify the transaction. Required for L2 and L3 rates. Required when the Payment Method Types array contains `card`, including when [automatic_payment_methods.enabled](https://docs.stripe.com/api/payment_intents/create#create_payment_intent-automatic_payment_methods-enabled) is set to `true`. For Cards, this field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. For Klarna, this field is truncated to 255 characters and is visible to customers when they view the order in the Klarna app. """ class PaymentIntentCreateParamsPaymentMethodData(TypedDict): acss_debit: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataAcssDebit" ] """ If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method. """ affirm: NotRequired["PaymentIntentCreateParamsPaymentMethodDataAffirm"] """ If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method. """ afterpay_clearpay: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataAfterpayClearpay" ] """ If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method. """ alipay: NotRequired["PaymentIntentCreateParamsPaymentMethodDataAlipay"] """ If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method. """ allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. """ alma: NotRequired["PaymentIntentCreateParamsPaymentMethodDataAlma"] """ If this is a Alma PaymentMethod, this hash contains details about the Alma payment method. """ amazon_pay: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataAmazonPay" ] """ If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method. """ au_becs_debit: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataAuBecsDebit" ] """ If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account. """ bacs_debit: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataBacsDebit" ] """ If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account. """ bancontact: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataBancontact" ] """ If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method. """ billie: NotRequired["PaymentIntentCreateParamsPaymentMethodDataBillie"] """ If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method. """ billing_details: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataBillingDetails" ] """ Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. """ blik: NotRequired["PaymentIntentCreateParamsPaymentMethodDataBlik"] """ If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method. """ boleto: NotRequired["PaymentIntentCreateParamsPaymentMethodDataBoleto"] """ If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method. """ cashapp: NotRequired["PaymentIntentCreateParamsPaymentMethodDataCashapp"] """ If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method. """ crypto: NotRequired["PaymentIntentCreateParamsPaymentMethodDataCrypto"] """ If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method. """ customer_balance: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataCustomerBalance" ] """ If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method. """ eps: NotRequired["PaymentIntentCreateParamsPaymentMethodDataEps"] """ If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method. """ fpx: NotRequired["PaymentIntentCreateParamsPaymentMethodDataFpx"] """ If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method. """ giropay: NotRequired["PaymentIntentCreateParamsPaymentMethodDataGiropay"] """ If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method. """ grabpay: NotRequired["PaymentIntentCreateParamsPaymentMethodDataGrabpay"] """ If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method. """ ideal: NotRequired["PaymentIntentCreateParamsPaymentMethodDataIdeal"] """ If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method. """ interac_present: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataInteracPresent" ] """ If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method. """ kakao_pay: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataKakaoPay" ] """ If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method. """ klarna: NotRequired["PaymentIntentCreateParamsPaymentMethodDataKlarna"] """ If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method. """ konbini: NotRequired["PaymentIntentCreateParamsPaymentMethodDataKonbini"] """ If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method. """ kr_card: NotRequired["PaymentIntentCreateParamsPaymentMethodDataKrCard"] """ If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method. """ link: NotRequired["PaymentIntentCreateParamsPaymentMethodDataLink"] """ If this is an `Link` PaymentMethod, this hash contains details about the Link payment method. """ mb_way: NotRequired["PaymentIntentCreateParamsPaymentMethodDataMbWay"] """ If this is a MB WAY PaymentMethod, this hash contains details about the MB WAY payment method. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ mobilepay: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataMobilepay" ] """ If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method. """ multibanco: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataMultibanco" ] """ If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method. """ naver_pay: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataNaverPay" ] """ If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method. """ nz_bank_account: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataNzBankAccount" ] """ If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method. """ oxxo: NotRequired["PaymentIntentCreateParamsPaymentMethodDataOxxo"] """ If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method. """ p24: NotRequired["PaymentIntentCreateParamsPaymentMethodDataP24"] """ If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method. """ pay_by_bank: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataPayByBank" ] """ If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method. """ payco: NotRequired["PaymentIntentCreateParamsPaymentMethodDataPayco"] """ If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method. """ paynow: NotRequired["PaymentIntentCreateParamsPaymentMethodDataPaynow"] """ If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method. """ paypal: NotRequired["PaymentIntentCreateParamsPaymentMethodDataPaypal"] """ If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method. """ pix: NotRequired["PaymentIntentCreateParamsPaymentMethodDataPix"] """ If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method. """ promptpay: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataPromptpay" ] """ If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method. """ radar_options: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataRadarOptions" ] """ Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. """ revolut_pay: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataRevolutPay" ] """ If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method. """ samsung_pay: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataSamsungPay" ] """ If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method. """ satispay: NotRequired["PaymentIntentCreateParamsPaymentMethodDataSatispay"] """ If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method. """ sepa_debit: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataSepaDebit" ] """ If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account. """ sofort: NotRequired["PaymentIntentCreateParamsPaymentMethodDataSofort"] """ If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method. """ swish: NotRequired["PaymentIntentCreateParamsPaymentMethodDataSwish"] """ If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method. """ twint: NotRequired["PaymentIntentCreateParamsPaymentMethodDataTwint"] """ If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method. """ type: Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] """ 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. """ us_bank_account: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataUsBankAccount" ] """ If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. """ wechat_pay: NotRequired[ "PaymentIntentCreateParamsPaymentMethodDataWechatPay" ] """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ zip: NotRequired["PaymentIntentCreateParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. """ class PaymentIntentCreateParamsPaymentMethodDataAcssDebit(TypedDict): account_number: str """ Customer's bank account number. """ institution_number: str """ Institution number of the customer's bank. """ transit_number: str """ Transit number of the customer's bank. """ class PaymentIntentCreateParamsPaymentMethodDataAffirm(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataAfterpayClearpay(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataAlipay(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataAlma(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataAmazonPay(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataAuBecsDebit(TypedDict): account_number: str """ The account number for the bank account. """ bsb_number: str """ Bank-State-Branch number of the bank account. """ class PaymentIntentCreateParamsPaymentMethodDataBacsDebit(TypedDict): account_number: NotRequired[str] """ Account number of the bank account that the funds will be debited from. """ sort_code: NotRequired[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class PaymentIntentCreateParamsPaymentMethodDataBancontact(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataBillie(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataBillingDetails(TypedDict): address: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodDataBillingDetailsAddress" ] """ Billing address. """ email: NotRequired["Literal['']|str"] """ Email address. """ name: NotRequired["Literal['']|str"] """ Full name. """ phone: NotRequired["Literal['']|str"] """ Billing phone number (including extension). """ tax_id: NotRequired[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ class PaymentIntentCreateParamsPaymentMethodDataBillingDetailsAddress( TypedDict, ): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class PaymentIntentCreateParamsPaymentMethodDataBlik(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataBoleto(TypedDict): tax_id: str """ The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers) """ class PaymentIntentCreateParamsPaymentMethodDataCashapp(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataCrypto(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataCustomerBalance(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataEps(TypedDict): bank: NotRequired[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. """ class PaymentIntentCreateParamsPaymentMethodDataFpx(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type for FPX transaction """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank. """ class PaymentIntentCreateParamsPaymentMethodDataGiropay(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataGrabpay(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataIdeal(TypedDict): bank: NotRequired[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank. Only use this parameter for existing customers. Don't use it for new customers. """ class PaymentIntentCreateParamsPaymentMethodDataInteracPresent(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataKakaoPay(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataKlarna(TypedDict): dob: NotRequired["PaymentIntentCreateParamsPaymentMethodDataKlarnaDob"] """ Customer's date of birth """ class PaymentIntentCreateParamsPaymentMethodDataKlarnaDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class PaymentIntentCreateParamsPaymentMethodDataKonbini(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataKrCard(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataLink(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataMbWay(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataMobilepay(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataMultibanco(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataNaverPay(TypedDict): funding: NotRequired[Literal["card", "points"]] """ Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`. """ class PaymentIntentCreateParamsPaymentMethodDataNzBankAccount(TypedDict): account_holder_name: NotRequired[str] """ The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ account_number: str """ The account number for the bank account. """ bank_code: str """ The numeric code for the bank account's bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ reference: NotRequired[str] suffix: str """ The suffix of the bank account number. """ class PaymentIntentCreateParamsPaymentMethodDataOxxo(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataP24(TypedDict): bank: NotRequired[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank. """ class PaymentIntentCreateParamsPaymentMethodDataPayByBank(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataPayco(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataPaynow(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataPaypal(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataPix(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataPromptpay(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataRadarOptions(TypedDict): session: NotRequired[str] """ 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. """ class PaymentIntentCreateParamsPaymentMethodDataRevolutPay(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataSamsungPay(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataSatispay(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataSepaDebit(TypedDict): iban: str """ IBAN of the bank account. """ class PaymentIntentCreateParamsPaymentMethodDataSofort(TypedDict): country: Literal["AT", "BE", "DE", "ES", "IT", "NL"] """ Two-letter ISO code representing the country the bank account is located in. """ class PaymentIntentCreateParamsPaymentMethodDataSwish(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataTwint(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataUsBankAccount(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_number: NotRequired[str] """ Account number of the bank account. """ account_type: NotRequired[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. """ routing_number: NotRequired[str] """ Routing number of the bank account. """ class PaymentIntentCreateParamsPaymentMethodDataWechatPay(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodDataZip(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodOptions(TypedDict): acss_debit: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsAcssDebit" ] """ If this is a `acss_debit` PaymentMethod, this sub-hash contains details about the ACSS Debit payment method options. """ affirm: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsAffirm" ] """ If this is an `affirm` PaymentMethod, this sub-hash contains details about the Affirm payment method options. """ afterpay_clearpay: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsAfterpayClearpay" ] """ If this is a `afterpay_clearpay` PaymentMethod, this sub-hash contains details about the Afterpay Clearpay payment method options. """ alipay: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsAlipay" ] """ If this is a `alipay` PaymentMethod, this sub-hash contains details about the Alipay payment method options. """ alma: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsAlma" ] """ If this is a `alma` PaymentMethod, this sub-hash contains details about the Alma payment method options. """ amazon_pay: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsAmazonPay" ] """ If this is a `amazon_pay` PaymentMethod, this sub-hash contains details about the Amazon Pay payment method options. """ au_becs_debit: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsAuBecsDebit" ] """ If this is a `au_becs_debit` PaymentMethod, this sub-hash contains details about the AU BECS Direct Debit payment method options. """ bacs_debit: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsBacsDebit" ] """ If this is a `bacs_debit` PaymentMethod, this sub-hash contains details about the BACS Debit payment method options. """ bancontact: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsBancontact" ] """ If this is a `bancontact` PaymentMethod, this sub-hash contains details about the Bancontact payment method options. """ billie: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsBillie" ] """ If this is a `billie` PaymentMethod, this sub-hash contains details about the Billie payment method options. """ blik: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsBlik" ] """ If this is a `blik` PaymentMethod, this sub-hash contains details about the BLIK payment method options. """ boleto: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsBoleto" ] """ If this is a `boleto` PaymentMethod, this sub-hash contains details about the Boleto payment method options. """ card: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsCard" ] """ Configuration for any card payments attempted on this PaymentIntent. """ card_present: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsCardPresent" ] """ If this is a `card_present` PaymentMethod, this sub-hash contains details about the Card Present payment method options. """ cashapp: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsCashapp" ] """ If this is a `cashapp` PaymentMethod, this sub-hash contains details about the Cash App Pay payment method options. """ crypto: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsCrypto" ] """ If this is a `crypto` PaymentMethod, this sub-hash contains details about the Crypto payment method options. """ customer_balance: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsCustomerBalance" ] """ If this is a `customer balance` PaymentMethod, this sub-hash contains details about the customer balance payment method options. """ eps: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsEps" ] """ If this is a `eps` PaymentMethod, this sub-hash contains details about the EPS payment method options. """ fpx: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsFpx" ] """ If this is a `fpx` PaymentMethod, this sub-hash contains details about the FPX payment method options. """ giropay: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsGiropay" ] """ If this is a `giropay` PaymentMethod, this sub-hash contains details about the Giropay payment method options. """ grabpay: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsGrabpay" ] """ If this is a `grabpay` PaymentMethod, this sub-hash contains details about the Grabpay payment method options. """ ideal: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsIdeal" ] """ If this is a `ideal` PaymentMethod, this sub-hash contains details about the Ideal payment method options. """ interac_present: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsInteracPresent" ] """ If this is a `interac_present` PaymentMethod, this sub-hash contains details about the Card Present payment method options. """ kakao_pay: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsKakaoPay" ] """ If this is a `kakao_pay` PaymentMethod, this sub-hash contains details about the Kakao Pay payment method options. """ klarna: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsKlarna" ] """ If this is a `klarna` PaymentMethod, this sub-hash contains details about the Klarna payment method options. """ konbini: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsKonbini" ] """ If this is a `konbini` PaymentMethod, this sub-hash contains details about the Konbini payment method options. """ kr_card: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsKrCard" ] """ If this is a `kr_card` PaymentMethod, this sub-hash contains details about the KR Card payment method options. """ link: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsLink" ] """ If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options. """ mb_way: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsMbWay" ] """ If this is a `mb_way` PaymentMethod, this sub-hash contains details about the MB WAY payment method options. """ mobilepay: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsMobilepay" ] """ If this is a `MobilePay` PaymentMethod, this sub-hash contains details about the MobilePay payment method options. """ multibanco: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsMultibanco" ] """ If this is a `multibanco` PaymentMethod, this sub-hash contains details about the Multibanco payment method options. """ naver_pay: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsNaverPay" ] """ If this is a `naver_pay` PaymentMethod, this sub-hash contains details about the Naver Pay payment method options. """ nz_bank_account: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsNzBankAccount" ] """ If this is a `nz_bank_account` PaymentMethod, this sub-hash contains details about the NZ BECS Direct Debit payment method options. """ oxxo: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsOxxo" ] """ If this is a `oxxo` PaymentMethod, this sub-hash contains details about the OXXO payment method options. """ p24: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsP24" ] """ If this is a `p24` PaymentMethod, this sub-hash contains details about the Przelewy24 payment method options. """ pay_by_bank: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsPayByBank" ] """ If this is a `pay_by_bank` PaymentMethod, this sub-hash contains details about the PayByBank payment method options. """ payco: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsPayco" ] """ If this is a `payco` PaymentMethod, this sub-hash contains details about the PAYCO payment method options. """ paynow: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsPaynow" ] """ If this is a `paynow` PaymentMethod, this sub-hash contains details about the PayNow payment method options. """ paypal: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsPaypal" ] """ If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options. """ pix: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsPix" ] """ If this is a `pix` PaymentMethod, this sub-hash contains details about the Pix payment method options. """ promptpay: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsPromptpay" ] """ If this is a `promptpay` PaymentMethod, this sub-hash contains details about the PromptPay payment method options. """ revolut_pay: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsRevolutPay" ] """ If this is a `revolut_pay` PaymentMethod, this sub-hash contains details about the Revolut Pay payment method options. """ samsung_pay: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsSamsungPay" ] """ If this is a `samsung_pay` PaymentMethod, this sub-hash contains details about the Samsung Pay payment method options. """ satispay: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsSatispay" ] """ If this is a `satispay` PaymentMethod, this sub-hash contains details about the Satispay payment method options. """ sepa_debit: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsSepaDebit" ] """ If this is a `sepa_debit` PaymentIntent, this sub-hash contains details about the SEPA Debit payment method options. """ sofort: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsSofort" ] """ If this is a `sofort` PaymentMethod, this sub-hash contains details about the SOFORT payment method options. """ swish: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsSwish" ] """ If this is a `Swish` PaymentMethod, this sub-hash contains details about the Swish payment method options. """ twint: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsTwint" ] """ If this is a `twint` PaymentMethod, this sub-hash contains details about the TWINT payment method options. """ us_bank_account: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccount" ] """ If this is a `us_bank_account` PaymentMethod, this sub-hash contains details about the US bank account payment method options. """ wechat_pay: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsWechatPay" ] """ If this is a `wechat_pay` PaymentMethod, this sub-hash contains details about the WeChat Pay payment method options. """ zip: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsZip" ] """ If this is a `zip` PaymentMethod, this sub-hash contains details about the Zip payment method options. """ class PaymentIntentCreateParamsPaymentMethodOptionsAcssDebit(TypedDict): mandate_options: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsAcssDebitMandateOptions" ] """ Additional fields for Mandate creation """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class PaymentIntentCreateParamsPaymentMethodOptionsAcssDebitMandateOptions( TypedDict, ): custom_mandate_url: NotRequired["Literal['']|str"] """ A URL for custom mandate text to render during confirmation step. The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent, or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent. """ interval_description: NotRequired[str] """ Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'. """ payment_schedule: NotRequired[Literal["combined", "interval", "sporadic"]] """ Payment schedule for the mandate. """ transaction_type: NotRequired[Literal["business", "personal"]] """ Transaction type of the mandate. """ class PaymentIntentCreateParamsPaymentMethodOptionsAffirm(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ preferred_locale: NotRequired[str] """ Preferred language of the Affirm authorization page that the customer is redirected to. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsAfterpayClearpay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ reference: NotRequired[str] """ An internal identifier or reference that this payment corresponds to. You must limit the identifier to 128 characters, and it can only contain letters, numbers, underscores, backslashes, and dashes. This field differs from the statement descriptor and item name. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsAlipay(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsAlma(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentCreateParamsPaymentMethodOptionsAmazonPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentCreateParamsPaymentMethodOptionsAuBecsDebit(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentCreateParamsPaymentMethodOptionsBacsDebit(TypedDict): mandate_options: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsBacsDebitMandateOptions" ] """ Additional fields for Mandate creation """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentCreateParamsPaymentMethodOptionsBacsDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'. """ class PaymentIntentCreateParamsPaymentMethodOptionsBancontact(TypedDict): preferred_language: NotRequired[Literal["de", "en", "fr", "nl"]] """ Preferred language of the Bancontact authorization page that the customer is redirected to. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsBillie(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentCreateParamsPaymentMethodOptionsBlik(TypedDict): code: NotRequired[str] """ The 6-digit BLIK code that a customer has generated using their banking application. Can only be set on confirmation. """ setup_future_usage: NotRequired["Literal['']|Literal['none']"] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsBoleto(TypedDict): expires_after_days: NotRequired[int] """ The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto invoice will expire on Wednesday at 23:59 America/Sao_Paulo time. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsCard(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ cvc_token: NotRequired[str] """ A single-use `cvc_update` Token that represents a card CVC value. When provided, the CVC value will be verified during the card payment attempt. This parameter can only be provided during confirmation. """ installments: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsCardInstallments" ] """ Installment configuration for payments attempted on this PaymentIntent. For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments). """ mandate_options: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsCardMandateOptions" ] """ Configuration options for setting up an eMandate for cards issued in India. """ moto: NotRequired[bool] """ When specified, this parameter indicates that a transaction will be marked as MOTO (Mail Order Telephone Order) and thus out of scope for SCA. This parameter can only be provided during confirmation. """ network: NotRequired[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "girocard", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Selected network to process this PaymentIntent on. Depends on the available networks of the card attached to the PaymentIntent. Can be only set confirm-time. """ request_extended_authorization: NotRequired[ Literal["if_available", "never"] ] """ Request ability to [capture beyond the standard authorization validity window](https://stripe.com/docs/payments/extended-authorization) for this PaymentIntent. """ request_incremental_authorization: NotRequired[ Literal["if_available", "never"] ] """ Request ability to [increment the authorization](https://stripe.com/docs/payments/incremental-authorization) for this PaymentIntent. """ request_multicapture: NotRequired[Literal["if_available", "never"]] """ Request ability to make [multiple captures](https://stripe.com/docs/payments/multicapture) for this PaymentIntent. """ request_overcapture: NotRequired[Literal["if_available", "never"]] """ Request ability to [overcapture](https://stripe.com/docs/payments/overcapture) for this PaymentIntent. """ request_three_d_secure: NotRequired[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ require_cvc_recollection: NotRequired[bool] """ When enabled, using a card that is attached to a customer will require the CVC to be provided again (i.e. using the cvc_token parameter). """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ statement_descriptor_suffix_kana: NotRequired["Literal['']|str"] """ Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that's set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters. """ statement_descriptor_suffix_kanji: NotRequired["Literal['']|str"] """ Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that's set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters. """ three_d_secure: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecure" ] """ If 3D Secure authentication was performed with a third-party provider, the authentication details to use for this payment. """ class PaymentIntentCreateParamsPaymentMethodOptionsCardInstallments(TypedDict): enabled: NotRequired[bool] """ Setting to true enables installments for this PaymentIntent. This will cause the response to contain a list of available installment plans. Setting to false will prevent any selected plan from applying to a charge. """ plan: NotRequired[ "Literal['']|PaymentIntentCreateParamsPaymentMethodOptionsCardInstallmentsPlan" ] """ The selected installment plan to use for this payment attempt. This parameter can only be provided during confirmation. """ class PaymentIntentCreateParamsPaymentMethodOptionsCardInstallmentsPlan( TypedDict, ): count: NotRequired[int] """ For `fixed_count` installment plans, this is required. It represents the number of installment payments your customer will make to their credit card. """ interval: NotRequired[Literal["month"]] """ For `fixed_count` installment plans, this is required. It represents the interval between installment payments your customer will make to their credit card. One of `month`. """ type: Literal["bonus", "fixed_count", "revolving"] """ Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`. """ class PaymentIntentCreateParamsPaymentMethodOptionsCardMandateOptions( TypedDict, ): amount: int """ Amount to be charged for future payments. """ amount_type: Literal["fixed", "maximum"] """ One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. """ description: NotRequired[str] """ A description of the mandate or subscription that is meant to be displayed to the customer. """ end_date: NotRequired[int] """ End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date. """ interval: Literal["day", "month", "sporadic", "week", "year"] """ Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`. """ interval_count: NotRequired[int] """ The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`. """ reference: str """ Unique identifier for the mandate or subscription. """ start_date: int """ Start date of the mandate or subscription. Start date should not be lesser than yesterday. """ supported_types: NotRequired[List[Literal["india"]]] """ Specifies the type of mandates supported. Possible values are `india`. """ class PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecure(TypedDict): ares_trans_status: NotRequired[Literal["A", "C", "I", "N", "R", "U", "Y"]] """ The `transStatus` returned from the card Issuer's ACS in the ARes. """ cryptogram: str """ The cryptogram, also known as the "authentication value" (AAV, CAVV or AEVV). This value is 20 bytes, base64-encoded into a 28-character string. (Most 3D Secure providers will return the base64-encoded version, which is what you should specify here.) """ electronic_commerce_indicator: NotRequired[ Literal["01", "02", "05", "06", "07"] ] """ The Electronic Commerce Indicator (ECI) is returned by your 3D Secure provider and indicates what degree of authentication was performed. """ exemption_indicator: NotRequired[Literal["low_risk", "none"]] """ The exemption requested via 3DS and accepted by the issuer at authentication time. """ network_options: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions" ] """ Network specific 3DS fields. Network specific arguments require an explicit card brand choice. The parameter `payment_method_options.card.network`` must be populated accordingly """ requestor_challenge_indicator: NotRequired[str] """ The challenge indicator (`threeDSRequestorChallengeInd`) which was requested in the AReq sent to the card Issuer's ACS. A string containing 2 digits from 01-99. """ transaction_id: str """ For 3D Secure 1, the XID. For 3D Secure 2, the Directory Server Transaction ID (dsTransID). """ version: Literal["1.0.2", "2.1.0", "2.2.0"] """ The version of 3D Secure that was performed. """ class PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions( TypedDict, ): cartes_bancaires: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires" ] """ Cartes Bancaires-specific 3DS fields. """ class PaymentIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires( TypedDict, ): cb_avalgo: Literal["0", "1", "2", "3", "4", "A"] """ The cryptogram calculation algorithm used by the card Issuer's ACS to calculate the Authentication cryptogram. Also known as `cavvAlgorithm`. messageExtension: CB-AVALGO """ cb_exemption: NotRequired[str] """ The exemption indicator returned from Cartes Bancaires in the ARes. message extension: CB-EXEMPTION; string (4 characters) This is a 3 byte bitmap (low significant byte first and most significant bit first) that has been Base64 encoded """ cb_score: NotRequired[int] """ The risk score returned from Cartes Bancaires in the ARes. message extension: CB-SCORE; numeric value 0-99 """ 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) """ request_incremental_authorization_support: NotRequired[bool] """ 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. """ routing: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsCardPresentRouting" ] """ Network routing priority on co-branded EMV cards supporting domestic debit and international card schemes. """ class PaymentIntentCreateParamsPaymentMethodOptionsCardPresentRouting( TypedDict, ): requested_priority: NotRequired[Literal["domestic", "international"]] """ Routing requested priority """ class PaymentIntentCreateParamsPaymentMethodOptionsCashapp(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsCrypto(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsCustomerBalance(TypedDict): bank_transfer: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsCustomerBalanceBankTransfer" ] """ Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`. """ funding_type: NotRequired[Literal["bank_transfer"]] """ The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsCustomerBalanceBankTransfer( TypedDict, ): eu_bank_transfer: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer" ] """ Configuration for the eu_bank_transfer funding type. """ requested_address_types: NotRequired[ List[ Literal[ "aba", "iban", "sepa", "sort_code", "spei", "swift", "zengin" ] ] ] """ List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned. Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`. """ type: Literal[ "eu_bank_transfer", "gb_bank_transfer", "jp_bank_transfer", "mx_bank_transfer", "us_bank_transfer", ] """ The list of bank transfer types that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. """ class PaymentIntentCreateParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer( TypedDict, ): country: str """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ class PaymentIntentCreateParamsPaymentMethodOptionsEps(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsFpx(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsGiropay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsGrabpay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsIdeal(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsInteracPresent(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodOptionsKakaoPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentCreateParamsPaymentMethodOptionsKlarna(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ on_demand: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsKlarnaOnDemand" ] """ On-demand details if setting up or charging an on-demand payment. """ preferred_locale: NotRequired[ Literal[ "cs-CZ", "da-DK", "de-AT", "de-CH", "de-DE", "el-GR", "en-AT", "en-AU", "en-BE", "en-CA", "en-CH", "en-CZ", "en-DE", "en-DK", "en-ES", "en-FI", "en-FR", "en-GB", "en-GR", "en-IE", "en-IT", "en-NL", "en-NO", "en-NZ", "en-PL", "en-PT", "en-RO", "en-SE", "en-US", "es-ES", "es-US", "fi-FI", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "it-CH", "it-IT", "nb-NO", "nl-BE", "nl-NL", "pl-PL", "pt-PT", "ro-RO", "sv-FI", "sv-SE", ] ] """ Preferred language of the Klarna authorization page that the customer is redirected to """ setup_future_usage: NotRequired[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ subscriptions: NotRequired[ "Literal['']|List[PaymentIntentCreateParamsPaymentMethodOptionsKlarnaSubscription]" ] """ Subscription details if setting up or charging a subscription. """ class PaymentIntentCreateParamsPaymentMethodOptionsKlarnaOnDemand(TypedDict): average_amount: NotRequired[int] """ Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc. """ maximum_amount: NotRequired[int] """ The maximum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ minimum_amount: NotRequired[int] """ The lowest or minimum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ purchase_interval: NotRequired[Literal["day", "month", "week", "year"]] """ Interval at which the customer is making purchases """ purchase_interval_count: NotRequired[int] """ The number of `purchase_interval` between charges """ class PaymentIntentCreateParamsPaymentMethodOptionsKlarnaSubscription( TypedDict, ): interval: Literal["day", "month", "week", "year"] """ Unit of time between subscription charges. """ interval_count: NotRequired[int] """ The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months. """ name: NotRequired[str] """ Name for subscription. """ next_billing: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling" ] """ Describes the upcoming charge for this subscription. """ reference: str """ A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges. """ class PaymentIntentCreateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling( TypedDict, ): amount: int """ The amount of the next charge for the subscription. """ date: str """ The date of the next charge for the subscription in YYYY-MM-DD format. """ class PaymentIntentCreateParamsPaymentMethodOptionsKonbini(TypedDict): confirmation_number: NotRequired["Literal['']|str"] """ An optional 10 to 11 digit numeric-only string determining the confirmation code at applicable convenience stores. Must not consist of only zeroes and could be rejected in case of insufficient uniqueness. We recommend to use the customer's phone number. """ expires_after_days: NotRequired["Literal['']|int"] """ The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST. Defaults to 3 days. """ expires_at: NotRequired["Literal['']|int"] """ The timestamp at which the Konbini payment instructions will expire. Only one of `expires_after_days` or `expires_at` may be set. """ product_description: NotRequired["Literal['']|str"] """ A product descriptor of up to 22 characters, which will appear to customers at the convenience store. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsKrCard(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentCreateParamsPaymentMethodOptionsLink(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ persistent_token: NotRequired[str] """ [Deprecated] This is a legacy parameter that no longer has any function. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsMbWay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsMobilepay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsMultibanco(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsNaverPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentCreateParamsPaymentMethodOptionsNzBankAccount(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentCreateParamsPaymentMethodOptionsOxxo(TypedDict): expires_after_days: NotRequired[int] """ The number of calendar days before an OXXO voucher expires. For example, if you create an OXXO voucher on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsP24(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ tos_shown_and_accepted: NotRequired[bool] """ Confirm that the payer has accepted the P24 terms and conditions. """ class PaymentIntentCreateParamsPaymentMethodOptionsPayByBank(TypedDict): pass class PaymentIntentCreateParamsPaymentMethodOptionsPayco(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentCreateParamsPaymentMethodOptionsPaynow(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsPaypal(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ Controls when the funds will be captured from the customer's account. """ preferred_locale: NotRequired[ Literal[ "cs-CZ", "da-DK", "de-AT", "de-DE", "de-LU", "el-GR", "en-GB", "en-US", "es-ES", "fi-FI", "fr-BE", "fr-FR", "fr-LU", "hu-HU", "it-IT", "nl-BE", "nl-NL", "pl-PL", "pt-PT", "sk-SK", "sv-SE", ] ] """ [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to. """ reference: NotRequired[str] """ A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID. """ risk_correlation_id: NotRequired[str] """ The risk correlation ID for an on-session payment using a saved PayPal payment method. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsPix(TypedDict): amount_includes_iof: NotRequired[Literal["always", "never"]] """ Determines if the amount includes the IOF tax. Defaults to `never`. """ expires_after_seconds: NotRequired[int] """ The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. """ expires_at: NotRequired[int] """ The timestamp at which the Pix expires (between 10 and 1209600 seconds in the future). Defaults to 1 day in the future. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsPromptpay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsRevolutPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentCreateParamsPaymentMethodOptionsSamsungPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentCreateParamsPaymentMethodOptionsSatispay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentCreateParamsPaymentMethodOptionsSepaDebit(TypedDict): mandate_options: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsSepaDebitMandateOptions" ] """ Additional fields for Mandate creation """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentCreateParamsPaymentMethodOptionsSepaDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'. """ class PaymentIntentCreateParamsPaymentMethodOptionsSofort(TypedDict): preferred_language: NotRequired[ "Literal['']|Literal['de', 'en', 'es', 'fr', 'it', 'nl', 'pl']" ] """ Language shown to the payer on redirect. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsSwish(TypedDict): reference: NotRequired["Literal['']|str"] """ A reference for this payment to be displayed in the Swish app. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsTwint(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccount(TypedDict): financial_connections: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnections" ] """ Additional fields for Financial Connections Session creation """ mandate_options: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountMandateOptions" ] """ Additional fields for Mandate creation """ networks: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountNetworks" ] """ Additional fields for network related functions """ preferred_settlement_speed: NotRequired[ "Literal['']|Literal['fastest', 'standard']" ] """ Preferred transaction settlement speed """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnections( TypedDict, ): filters: NotRequired[ "PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters" ] """ Provide filters for the linked accounts that the customer can select for the payment method. """ permissions: NotRequired[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ return_url: NotRequired[str] """ For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. """ class PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters( TypedDict, ): account_subcategories: NotRequired[List[Literal["checking", "savings"]]] """ The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`. """ class PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountMandateOptions( TypedDict, ): collection_method: NotRequired["Literal['']|Literal['paper']"] """ The method used to collect offline mandate customer acceptance. """ class PaymentIntentCreateParamsPaymentMethodOptionsUsBankAccountNetworks( TypedDict, ): requested: NotRequired[List[Literal["ach", "us_domestic_wire"]]] """ Triggers validations to run across the selected networks """ class PaymentIntentCreateParamsPaymentMethodOptionsWechatPay(TypedDict): app_id: NotRequired[str] """ The app ID registered with WeChat Pay. Only required when client is ios or android. """ client: NotRequired[Literal["android", "ios", "web"]] """ The client type that the end customer will pay from """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsPaymentMethodOptionsZip(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentCreateParamsRadarOptions(TypedDict): session: NotRequired[str] """ 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. """ class PaymentIntentCreateParamsShipping(TypedDict): address: "PaymentIntentCreateParamsShippingAddress" """ Shipping address. """ carrier: NotRequired[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: str """ Recipient name. """ phone: NotRequired[str] """ Recipient phone (including extension). """ tracking_number: NotRequired[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ class PaymentIntentCreateParamsShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class PaymentIntentCreateParamsTransferData(TypedDict): amount: NotRequired[int] """ The amount that will be transferred automatically when a charge succeeds. The amount is capped at the total transaction amount and if no amount is set, the full amount is transferred. If you intend to collect a fee and you need a more robust reporting experience, using [application_fee_amount](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-application_fee_amount) might be a better fit for your integration. """ destination: str """ If specified, successful charges will be attributed to the destination account for tax reporting, and the funds from charges will be transferred to the destination account. The ID of the resulting transfer will be returned on the successful charge's `transfer` field. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.354062 stripe-13.2.0/stripe/params/_payment_intent_increment_authorization_params.py0000644000000000000000000002552215102753431024767 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentIntentIncrementAuthorizationParams(RequestOptions): amount: int """ The updated total amount that you intend to collect from the cardholder. This amount must be greater than the currently authorized amount. """ amount_details: NotRequired[ "PaymentIntentIncrementAuthorizationParamsAmountDetails" ] """ Provides industry-specific information about the amount. """ application_fee_amount: NotRequired[int] """ The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total amount captured. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ payment_details: NotRequired[ "PaymentIntentIncrementAuthorizationParamsPaymentDetails" ] """ Provides industry-specific information about the charge. """ statement_descriptor: NotRequired[str] """ Text that appears on the customer's statement as the statement descriptor for a non-card or card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). """ transfer_data: NotRequired[ "PaymentIntentIncrementAuthorizationParamsTransferData" ] """ The parameters used to automatically create a transfer after the payment is captured. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ class PaymentIntentIncrementAuthorizationParamsAmountDetails(TypedDict): discount_amount: NotRequired["Literal['']|int"] """ The total discount applied on the transaction represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[line_items][#][discount_amount]` field. """ line_items: NotRequired[ "Literal['']|List[PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItem]" ] """ A list of line items, each containing information about a product in the PaymentIntent. There is a maximum of 100 line items. """ shipping: NotRequired[ "Literal['']|PaymentIntentIncrementAuthorizationParamsAmountDetailsShipping" ] """ Contains information about the shipping portion of the amount. """ tax: NotRequired[ "Literal['']|PaymentIntentIncrementAuthorizationParamsAmountDetailsTax" ] """ Contains information about the tax portion of the amount. """ class PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItem( TypedDict ): discount_amount: NotRequired[int] """ The discount applied on this line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[discount_amount]` field. """ payment_method_options: NotRequired[ "PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptions" ] """ Payment method-specific information for line items. """ product_code: NotRequired[str] """ The product code of the line item, such as an SKU. Required for L3 rates. At most 12 characters long. """ product_name: str """ The product name of the line item. Required for L3 rates. At most 1024 characters long. For Cards, this field is truncated to 26 alphanumeric characters before being sent to the card networks. For Paypal, this field is truncated to 127 characters. """ quantity: int """ The quantity of items. Required for L3 rates. An integer greater than 0. """ tax: NotRequired[ "PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemTax" ] """ Contains information about the tax on the item. """ unit_cost: int """ The unit cost of the line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L3 rates. An integer greater than or equal to 0. """ unit_of_measure: NotRequired[str] """ A unit of measure for the line item, such as gallons, feet, meters, etc. """ class PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptions( TypedDict, ): card: NotRequired[ "PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsCard" ] """ This sub-hash contains line item details that are specific to `card` payment method." """ card_present: NotRequired[ "PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent" ] """ This sub-hash contains line item details that are specific to `card_present` payment method." """ klarna: NotRequired[ "PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsKlarna" ] """ This sub-hash contains line item details that are specific to `klarna` payment method." """ paypal: NotRequired[ "PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsPaypal" ] """ This sub-hash contains line item details that are specific to `paypal` payment method." """ class PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsCard( TypedDict, ): commodity_code: NotRequired[str] """ Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc. """ class PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent( TypedDict, ): commodity_code: NotRequired[str] """ Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc. """ class PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsKlarna( TypedDict, ): image_url: NotRequired[str] """ URL to an image for the product. Max length, 4096 characters. """ product_url: NotRequired[str] """ URL to the product page. Max length, 4096 characters. """ reference: NotRequired[str] """ Unique reference for this line item to correlate it with your system's internal records. The field is displayed in the Klarna Consumer App if passed. """ subscription_reference: NotRequired[str] """ Reference for the subscription this line item is for. """ class PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemPaymentMethodOptionsPaypal( TypedDict, ): category: NotRequired[ Literal["digital_goods", "donation", "physical_goods"] ] """ Type of the line item. """ description: NotRequired[str] """ Description of the line item. """ sold_by: NotRequired[str] """ The Stripe account ID of the connected account that sells the item. """ class PaymentIntentIncrementAuthorizationParamsAmountDetailsLineItemTax( TypedDict, ): total_tax_amount: int """ The total amount of tax on a single line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L3 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[tax][total_tax_amount]` field. """ class PaymentIntentIncrementAuthorizationParamsAmountDetailsShipping( TypedDict ): amount: NotRequired["Literal['']|int"] """ If a physical good is being shipped, the cost of shipping represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than or equal to 0. """ from_postal_code: NotRequired["Literal['']|str"] """ If a physical good is being shipped, the postal code of where it is being shipped from. At most 10 alphanumeric characters long, hyphens are allowed. """ to_postal_code: NotRequired["Literal['']|str"] """ If a physical good is being shipped, the postal code of where it is being shipped to. At most 10 alphanumeric characters long, hyphens are allowed. """ class PaymentIntentIncrementAuthorizationParamsAmountDetailsTax(TypedDict): total_tax_amount: int """ The total amount of tax on the transaction represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L2 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[line_items][#][tax][total_tax_amount]` field. """ class PaymentIntentIncrementAuthorizationParamsPaymentDetails(TypedDict): customer_reference: NotRequired["Literal['']|str"] """ A unique value to identify the customer. This field is available only for card payments. This field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. """ order_reference: NotRequired["Literal['']|str"] """ A unique value assigned by the business to identify the transaction. Required for L2 and L3 rates. Required when the Payment Method Types array contains `card`, including when [automatic_payment_methods.enabled](https://docs.stripe.com/api/payment_intents/create#create_payment_intent-automatic_payment_methods-enabled) is set to `true`. For Cards, this field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. For Klarna, this field is truncated to 255 characters and is visible to customers when they view the order in the Klarna app. """ class PaymentIntentIncrementAuthorizationParamsTransferData(TypedDict): amount: NotRequired[int] """ The amount that will be transferred automatically when a charge succeeds. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.354062 stripe-13.2.0/stripe/params/_payment_intent_list_amount_details_line_items_params.py0000644000000000000000000000231115102753431026265 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentIntentListAmountDetailsLineItemsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.354062 stripe-13.2.0/stripe/params/_payment_intent_list_params.py0000644000000000000000000000370415102753431020774 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class PaymentIntentListParams(RequestOptions): created: NotRequired["PaymentIntentListParamsCreated|int"] """ A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp or a dictionary with a number of different query options. """ customer: NotRequired[str] """ Only return PaymentIntents for the customer that this customer ID specifies. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class PaymentIntentListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.354062 stripe-13.2.0/stripe/params/_payment_intent_modify_params.py0000644000000000000000000045263215102753431021320 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentIntentModifyParams(RequestOptions): amount: NotRequired[int] """ Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). """ amount_details: NotRequired[ "Literal['']|PaymentIntentModifyParamsAmountDetails" ] """ Provides industry-specific information about the amount. """ application_fee_amount: NotRequired["Literal['']|int"] """ The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total amount captured. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ capture_method: NotRequired[ Literal["automatic", "automatic_async", "manual"] ] """ Controls when the funds will be captured from the customer's account. """ currency: NotRequired[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: NotRequired[str] """ ID of the Customer this PaymentIntent belongs to, if one exists. Payment methods attached to other Customers cannot be used with this PaymentIntent. If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ excluded_payment_method_types: NotRequired[ "Literal['']|List[Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'ideal', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'mb_way', 'mobilepay', 'multibanco', 'naver_pay', 'nz_bank_account', 'oxxo', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'pix', 'promptpay', 'revolut_pay', 'samsung_pay', 'satispay', 'sepa_debit', 'sofort', 'swish', 'twint', 'us_bank_account', 'wechat_pay', 'zip']]" ] """ The list of payment method types to exclude from use with this payment. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ payment_details: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentDetails" ] """ Provides industry-specific information about the charge. """ payment_method: NotRequired[str] """ ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent. To unset this field to null, pass in an empty string. """ payment_method_configuration: NotRequired[str] """ The ID of the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) to use with this PaymentIntent. """ payment_method_data: NotRequired[ "PaymentIntentModifyParamsPaymentMethodData" ] """ 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. """ payment_method_options: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptions" ] """ Payment-method-specific configuration for this PaymentIntent. """ payment_method_types: NotRequired[List[str]] """ The list of payment method types (for example, card) that this PaymentIntent can use. Use `automatic_payment_methods` to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). A list of valid payment method types can be found [here](https://docs.stripe.com/api/payment_methods/object#payment_method_object-type). """ receipt_email: NotRequired["Literal['']|str"] """ Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). """ setup_future_usage: NotRequired[ "Literal['']|Literal['off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ shipping: NotRequired["Literal['']|PaymentIntentModifyParamsShipping"] """ Shipping information for this PaymentIntent. """ statement_descriptor: NotRequired[str] """ Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. """ statement_descriptor_suffix: NotRequired[str] """ Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. """ transfer_data: NotRequired["PaymentIntentModifyParamsTransferData"] """ Use this parameter to automatically create a Transfer when the payment succeeds. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ transfer_group: NotRequired[str] """ A string that identifies the resulting payment as part of a group. You can only provide `transfer_group` if it hasn't been set. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ class PaymentIntentModifyParamsAmountDetails(TypedDict): discount_amount: NotRequired["Literal['']|int"] """ The total discount applied on the transaction represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[line_items][#][discount_amount]` field. """ line_items: NotRequired[ "Literal['']|List[PaymentIntentModifyParamsAmountDetailsLineItem]" ] """ A list of line items, each containing information about a product in the PaymentIntent. There is a maximum of 100 line items. """ shipping: NotRequired[ "Literal['']|PaymentIntentModifyParamsAmountDetailsShipping" ] """ Contains information about the shipping portion of the amount. """ tax: NotRequired["Literal['']|PaymentIntentModifyParamsAmountDetailsTax"] """ Contains information about the tax portion of the amount. """ class PaymentIntentModifyParamsAmountDetailsLineItem(TypedDict): discount_amount: NotRequired[int] """ The discount applied on this line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[discount_amount]` field. """ payment_method_options: NotRequired[ "PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptions" ] """ Payment method-specific information for line items. """ product_code: NotRequired[str] """ The product code of the line item, such as an SKU. Required for L3 rates. At most 12 characters long. """ product_name: str """ The product name of the line item. Required for L3 rates. At most 1024 characters long. For Cards, this field is truncated to 26 alphanumeric characters before being sent to the card networks. For Paypal, this field is truncated to 127 characters. """ quantity: int """ The quantity of items. Required for L3 rates. An integer greater than 0. """ tax: NotRequired["PaymentIntentModifyParamsAmountDetailsLineItemTax"] """ Contains information about the tax on the item. """ unit_cost: int """ The unit cost of the line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L3 rates. An integer greater than or equal to 0. """ unit_of_measure: NotRequired[str] """ A unit of measure for the line item, such as gallons, feet, meters, etc. """ class PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptions( TypedDict, ): card: NotRequired[ "PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsCard" ] """ This sub-hash contains line item details that are specific to `card` payment method." """ card_present: NotRequired[ "PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent" ] """ This sub-hash contains line item details that are specific to `card_present` payment method." """ klarna: NotRequired[ "PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsKlarna" ] """ This sub-hash contains line item details that are specific to `klarna` payment method." """ paypal: NotRequired[ "PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsPaypal" ] """ This sub-hash contains line item details that are specific to `paypal` payment method." """ class PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsCard( TypedDict, ): commodity_code: NotRequired[str] """ Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc. """ class PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent( TypedDict, ): commodity_code: NotRequired[str] """ Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc. """ class PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsKlarna( TypedDict, ): image_url: NotRequired[str] """ URL to an image for the product. Max length, 4096 characters. """ product_url: NotRequired[str] """ URL to the product page. Max length, 4096 characters. """ reference: NotRequired[str] """ Unique reference for this line item to correlate it with your system's internal records. The field is displayed in the Klarna Consumer App if passed. """ subscription_reference: NotRequired[str] """ Reference for the subscription this line item is for. """ class PaymentIntentModifyParamsAmountDetailsLineItemPaymentMethodOptionsPaypal( TypedDict, ): category: NotRequired[ Literal["digital_goods", "donation", "physical_goods"] ] """ Type of the line item. """ description: NotRequired[str] """ Description of the line item. """ sold_by: NotRequired[str] """ The Stripe account ID of the connected account that sells the item. """ class PaymentIntentModifyParamsAmountDetailsLineItemTax(TypedDict): total_tax_amount: int """ The total amount of tax on a single line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L3 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[tax][total_tax_amount]` field. """ class PaymentIntentModifyParamsAmountDetailsShipping(TypedDict): amount: NotRequired["Literal['']|int"] """ If a physical good is being shipped, the cost of shipping represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than or equal to 0. """ from_postal_code: NotRequired["Literal['']|str"] """ If a physical good is being shipped, the postal code of where it is being shipped from. At most 10 alphanumeric characters long, hyphens are allowed. """ to_postal_code: NotRequired["Literal['']|str"] """ If a physical good is being shipped, the postal code of where it is being shipped to. At most 10 alphanumeric characters long, hyphens are allowed. """ class PaymentIntentModifyParamsAmountDetailsTax(TypedDict): total_tax_amount: int """ The total amount of tax on the transaction represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L2 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[line_items][#][tax][total_tax_amount]` field. """ class PaymentIntentModifyParamsPaymentDetails(TypedDict): customer_reference: NotRequired["Literal['']|str"] """ A unique value to identify the customer. This field is available only for card payments. This field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. """ order_reference: NotRequired["Literal['']|str"] """ A unique value assigned by the business to identify the transaction. Required for L2 and L3 rates. Required when the Payment Method Types array contains `card`, including when [automatic_payment_methods.enabled](https://docs.stripe.com/api/payment_intents/create#create_payment_intent-automatic_payment_methods-enabled) is set to `true`. For Cards, this field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. For Klarna, this field is truncated to 255 characters and is visible to customers when they view the order in the Klarna app. """ class PaymentIntentModifyParamsPaymentMethodData(TypedDict): acss_debit: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataAcssDebit" ] """ If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method. """ affirm: NotRequired["PaymentIntentModifyParamsPaymentMethodDataAffirm"] """ If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method. """ afterpay_clearpay: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataAfterpayClearpay" ] """ If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method. """ alipay: NotRequired["PaymentIntentModifyParamsPaymentMethodDataAlipay"] """ If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method. """ allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. """ alma: NotRequired["PaymentIntentModifyParamsPaymentMethodDataAlma"] """ If this is a Alma PaymentMethod, this hash contains details about the Alma payment method. """ amazon_pay: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataAmazonPay" ] """ If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method. """ au_becs_debit: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataAuBecsDebit" ] """ If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account. """ bacs_debit: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataBacsDebit" ] """ If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account. """ bancontact: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataBancontact" ] """ If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method. """ billie: NotRequired["PaymentIntentModifyParamsPaymentMethodDataBillie"] """ If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method. """ billing_details: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataBillingDetails" ] """ Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. """ blik: NotRequired["PaymentIntentModifyParamsPaymentMethodDataBlik"] """ If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method. """ boleto: NotRequired["PaymentIntentModifyParamsPaymentMethodDataBoleto"] """ If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method. """ cashapp: NotRequired["PaymentIntentModifyParamsPaymentMethodDataCashapp"] """ If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method. """ crypto: NotRequired["PaymentIntentModifyParamsPaymentMethodDataCrypto"] """ If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method. """ customer_balance: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataCustomerBalance" ] """ If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method. """ eps: NotRequired["PaymentIntentModifyParamsPaymentMethodDataEps"] """ If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method. """ fpx: NotRequired["PaymentIntentModifyParamsPaymentMethodDataFpx"] """ If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method. """ giropay: NotRequired["PaymentIntentModifyParamsPaymentMethodDataGiropay"] """ If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method. """ grabpay: NotRequired["PaymentIntentModifyParamsPaymentMethodDataGrabpay"] """ If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method. """ ideal: NotRequired["PaymentIntentModifyParamsPaymentMethodDataIdeal"] """ If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method. """ interac_present: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataInteracPresent" ] """ If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method. """ kakao_pay: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataKakaoPay" ] """ If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method. """ klarna: NotRequired["PaymentIntentModifyParamsPaymentMethodDataKlarna"] """ If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method. """ konbini: NotRequired["PaymentIntentModifyParamsPaymentMethodDataKonbini"] """ If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method. """ kr_card: NotRequired["PaymentIntentModifyParamsPaymentMethodDataKrCard"] """ If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method. """ link: NotRequired["PaymentIntentModifyParamsPaymentMethodDataLink"] """ If this is an `Link` PaymentMethod, this hash contains details about the Link payment method. """ mb_way: NotRequired["PaymentIntentModifyParamsPaymentMethodDataMbWay"] """ If this is a MB WAY PaymentMethod, this hash contains details about the MB WAY payment method. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ mobilepay: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataMobilepay" ] """ If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method. """ multibanco: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataMultibanco" ] """ If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method. """ naver_pay: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataNaverPay" ] """ If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method. """ nz_bank_account: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataNzBankAccount" ] """ If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method. """ oxxo: NotRequired["PaymentIntentModifyParamsPaymentMethodDataOxxo"] """ If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method. """ p24: NotRequired["PaymentIntentModifyParamsPaymentMethodDataP24"] """ If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method. """ pay_by_bank: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataPayByBank" ] """ If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method. """ payco: NotRequired["PaymentIntentModifyParamsPaymentMethodDataPayco"] """ If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method. """ paynow: NotRequired["PaymentIntentModifyParamsPaymentMethodDataPaynow"] """ If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method. """ paypal: NotRequired["PaymentIntentModifyParamsPaymentMethodDataPaypal"] """ If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method. """ pix: NotRequired["PaymentIntentModifyParamsPaymentMethodDataPix"] """ If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method. """ promptpay: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataPromptpay" ] """ If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method. """ radar_options: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataRadarOptions" ] """ Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. """ revolut_pay: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataRevolutPay" ] """ If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method. """ samsung_pay: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataSamsungPay" ] """ If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method. """ satispay: NotRequired["PaymentIntentModifyParamsPaymentMethodDataSatispay"] """ If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method. """ sepa_debit: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataSepaDebit" ] """ If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account. """ sofort: NotRequired["PaymentIntentModifyParamsPaymentMethodDataSofort"] """ If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method. """ swish: NotRequired["PaymentIntentModifyParamsPaymentMethodDataSwish"] """ If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method. """ twint: NotRequired["PaymentIntentModifyParamsPaymentMethodDataTwint"] """ If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method. """ type: Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] """ 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. """ us_bank_account: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataUsBankAccount" ] """ If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. """ wechat_pay: NotRequired[ "PaymentIntentModifyParamsPaymentMethodDataWechatPay" ] """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ zip: NotRequired["PaymentIntentModifyParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. """ class PaymentIntentModifyParamsPaymentMethodDataAcssDebit(TypedDict): account_number: str """ Customer's bank account number. """ institution_number: str """ Institution number of the customer's bank. """ transit_number: str """ Transit number of the customer's bank. """ class PaymentIntentModifyParamsPaymentMethodDataAffirm(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataAfterpayClearpay(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataAlipay(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataAlma(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataAmazonPay(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataAuBecsDebit(TypedDict): account_number: str """ The account number for the bank account. """ bsb_number: str """ Bank-State-Branch number of the bank account. """ class PaymentIntentModifyParamsPaymentMethodDataBacsDebit(TypedDict): account_number: NotRequired[str] """ Account number of the bank account that the funds will be debited from. """ sort_code: NotRequired[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class PaymentIntentModifyParamsPaymentMethodDataBancontact(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataBillie(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataBillingDetails(TypedDict): address: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodDataBillingDetailsAddress" ] """ Billing address. """ email: NotRequired["Literal['']|str"] """ Email address. """ name: NotRequired["Literal['']|str"] """ Full name. """ phone: NotRequired["Literal['']|str"] """ Billing phone number (including extension). """ tax_id: NotRequired[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ class PaymentIntentModifyParamsPaymentMethodDataBillingDetailsAddress( TypedDict, ): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class PaymentIntentModifyParamsPaymentMethodDataBlik(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataBoleto(TypedDict): tax_id: str """ The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers) """ class PaymentIntentModifyParamsPaymentMethodDataCashapp(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataCrypto(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataCustomerBalance(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataEps(TypedDict): bank: NotRequired[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. """ class PaymentIntentModifyParamsPaymentMethodDataFpx(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type for FPX transaction """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank. """ class PaymentIntentModifyParamsPaymentMethodDataGiropay(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataGrabpay(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataIdeal(TypedDict): bank: NotRequired[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank. Only use this parameter for existing customers. Don't use it for new customers. """ class PaymentIntentModifyParamsPaymentMethodDataInteracPresent(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataKakaoPay(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataKlarna(TypedDict): dob: NotRequired["PaymentIntentModifyParamsPaymentMethodDataKlarnaDob"] """ Customer's date of birth """ class PaymentIntentModifyParamsPaymentMethodDataKlarnaDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class PaymentIntentModifyParamsPaymentMethodDataKonbini(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataKrCard(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataLink(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataMbWay(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataMobilepay(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataMultibanco(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataNaverPay(TypedDict): funding: NotRequired[Literal["card", "points"]] """ Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`. """ class PaymentIntentModifyParamsPaymentMethodDataNzBankAccount(TypedDict): account_holder_name: NotRequired[str] """ The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ account_number: str """ The account number for the bank account. """ bank_code: str """ The numeric code for the bank account's bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ reference: NotRequired[str] suffix: str """ The suffix of the bank account number. """ class PaymentIntentModifyParamsPaymentMethodDataOxxo(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataP24(TypedDict): bank: NotRequired[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank. """ class PaymentIntentModifyParamsPaymentMethodDataPayByBank(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataPayco(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataPaynow(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataPaypal(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataPix(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataPromptpay(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataRadarOptions(TypedDict): session: NotRequired[str] """ 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. """ class PaymentIntentModifyParamsPaymentMethodDataRevolutPay(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataSamsungPay(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataSatispay(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataSepaDebit(TypedDict): iban: str """ IBAN of the bank account. """ class PaymentIntentModifyParamsPaymentMethodDataSofort(TypedDict): country: Literal["AT", "BE", "DE", "ES", "IT", "NL"] """ Two-letter ISO code representing the country the bank account is located in. """ class PaymentIntentModifyParamsPaymentMethodDataSwish(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataTwint(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataUsBankAccount(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_number: NotRequired[str] """ Account number of the bank account. """ account_type: NotRequired[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. """ routing_number: NotRequired[str] """ Routing number of the bank account. """ class PaymentIntentModifyParamsPaymentMethodDataWechatPay(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodDataZip(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodOptions(TypedDict): acss_debit: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsAcssDebit" ] """ If this is a `acss_debit` PaymentMethod, this sub-hash contains details about the ACSS Debit payment method options. """ affirm: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsAffirm" ] """ If this is an `affirm` PaymentMethod, this sub-hash contains details about the Affirm payment method options. """ afterpay_clearpay: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsAfterpayClearpay" ] """ If this is a `afterpay_clearpay` PaymentMethod, this sub-hash contains details about the Afterpay Clearpay payment method options. """ alipay: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsAlipay" ] """ If this is a `alipay` PaymentMethod, this sub-hash contains details about the Alipay payment method options. """ alma: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsAlma" ] """ If this is a `alma` PaymentMethod, this sub-hash contains details about the Alma payment method options. """ amazon_pay: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsAmazonPay" ] """ If this is a `amazon_pay` PaymentMethod, this sub-hash contains details about the Amazon Pay payment method options. """ au_becs_debit: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsAuBecsDebit" ] """ If this is a `au_becs_debit` PaymentMethod, this sub-hash contains details about the AU BECS Direct Debit payment method options. """ bacs_debit: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsBacsDebit" ] """ If this is a `bacs_debit` PaymentMethod, this sub-hash contains details about the BACS Debit payment method options. """ bancontact: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsBancontact" ] """ If this is a `bancontact` PaymentMethod, this sub-hash contains details about the Bancontact payment method options. """ billie: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsBillie" ] """ If this is a `billie` PaymentMethod, this sub-hash contains details about the Billie payment method options. """ blik: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsBlik" ] """ If this is a `blik` PaymentMethod, this sub-hash contains details about the BLIK payment method options. """ boleto: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsBoleto" ] """ If this is a `boleto` PaymentMethod, this sub-hash contains details about the Boleto payment method options. """ card: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsCard" ] """ Configuration for any card payments attempted on this PaymentIntent. """ card_present: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsCardPresent" ] """ If this is a `card_present` PaymentMethod, this sub-hash contains details about the Card Present payment method options. """ cashapp: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsCashapp" ] """ If this is a `cashapp` PaymentMethod, this sub-hash contains details about the Cash App Pay payment method options. """ crypto: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsCrypto" ] """ If this is a `crypto` PaymentMethod, this sub-hash contains details about the Crypto payment method options. """ customer_balance: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsCustomerBalance" ] """ If this is a `customer balance` PaymentMethod, this sub-hash contains details about the customer balance payment method options. """ eps: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsEps" ] """ If this is a `eps` PaymentMethod, this sub-hash contains details about the EPS payment method options. """ fpx: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsFpx" ] """ If this is a `fpx` PaymentMethod, this sub-hash contains details about the FPX payment method options. """ giropay: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsGiropay" ] """ If this is a `giropay` PaymentMethod, this sub-hash contains details about the Giropay payment method options. """ grabpay: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsGrabpay" ] """ If this is a `grabpay` PaymentMethod, this sub-hash contains details about the Grabpay payment method options. """ ideal: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsIdeal" ] """ If this is a `ideal` PaymentMethod, this sub-hash contains details about the Ideal payment method options. """ interac_present: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsInteracPresent" ] """ If this is a `interac_present` PaymentMethod, this sub-hash contains details about the Card Present payment method options. """ kakao_pay: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsKakaoPay" ] """ If this is a `kakao_pay` PaymentMethod, this sub-hash contains details about the Kakao Pay payment method options. """ klarna: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsKlarna" ] """ If this is a `klarna` PaymentMethod, this sub-hash contains details about the Klarna payment method options. """ konbini: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsKonbini" ] """ If this is a `konbini` PaymentMethod, this sub-hash contains details about the Konbini payment method options. """ kr_card: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsKrCard" ] """ If this is a `kr_card` PaymentMethod, this sub-hash contains details about the KR Card payment method options. """ link: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsLink" ] """ If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options. """ mb_way: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsMbWay" ] """ If this is a `mb_way` PaymentMethod, this sub-hash contains details about the MB WAY payment method options. """ mobilepay: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsMobilepay" ] """ If this is a `MobilePay` PaymentMethod, this sub-hash contains details about the MobilePay payment method options. """ multibanco: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsMultibanco" ] """ If this is a `multibanco` PaymentMethod, this sub-hash contains details about the Multibanco payment method options. """ naver_pay: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsNaverPay" ] """ If this is a `naver_pay` PaymentMethod, this sub-hash contains details about the Naver Pay payment method options. """ nz_bank_account: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsNzBankAccount" ] """ If this is a `nz_bank_account` PaymentMethod, this sub-hash contains details about the NZ BECS Direct Debit payment method options. """ oxxo: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsOxxo" ] """ If this is a `oxxo` PaymentMethod, this sub-hash contains details about the OXXO payment method options. """ p24: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsP24" ] """ If this is a `p24` PaymentMethod, this sub-hash contains details about the Przelewy24 payment method options. """ pay_by_bank: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsPayByBank" ] """ If this is a `pay_by_bank` PaymentMethod, this sub-hash contains details about the PayByBank payment method options. """ payco: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsPayco" ] """ If this is a `payco` PaymentMethod, this sub-hash contains details about the PAYCO payment method options. """ paynow: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsPaynow" ] """ If this is a `paynow` PaymentMethod, this sub-hash contains details about the PayNow payment method options. """ paypal: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsPaypal" ] """ If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options. """ pix: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsPix" ] """ If this is a `pix` PaymentMethod, this sub-hash contains details about the Pix payment method options. """ promptpay: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsPromptpay" ] """ If this is a `promptpay` PaymentMethod, this sub-hash contains details about the PromptPay payment method options. """ revolut_pay: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsRevolutPay" ] """ If this is a `revolut_pay` PaymentMethod, this sub-hash contains details about the Revolut Pay payment method options. """ samsung_pay: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsSamsungPay" ] """ If this is a `samsung_pay` PaymentMethod, this sub-hash contains details about the Samsung Pay payment method options. """ satispay: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsSatispay" ] """ If this is a `satispay` PaymentMethod, this sub-hash contains details about the Satispay payment method options. """ sepa_debit: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsSepaDebit" ] """ If this is a `sepa_debit` PaymentIntent, this sub-hash contains details about the SEPA Debit payment method options. """ sofort: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsSofort" ] """ If this is a `sofort` PaymentMethod, this sub-hash contains details about the SOFORT payment method options. """ swish: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsSwish" ] """ If this is a `Swish` PaymentMethod, this sub-hash contains details about the Swish payment method options. """ twint: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsTwint" ] """ If this is a `twint` PaymentMethod, this sub-hash contains details about the TWINT payment method options. """ us_bank_account: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccount" ] """ If this is a `us_bank_account` PaymentMethod, this sub-hash contains details about the US bank account payment method options. """ wechat_pay: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsWechatPay" ] """ If this is a `wechat_pay` PaymentMethod, this sub-hash contains details about the WeChat Pay payment method options. """ zip: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsZip" ] """ If this is a `zip` PaymentMethod, this sub-hash contains details about the Zip payment method options. """ class PaymentIntentModifyParamsPaymentMethodOptionsAcssDebit(TypedDict): mandate_options: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsAcssDebitMandateOptions" ] """ Additional fields for Mandate creation """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class PaymentIntentModifyParamsPaymentMethodOptionsAcssDebitMandateOptions( TypedDict, ): custom_mandate_url: NotRequired["Literal['']|str"] """ A URL for custom mandate text to render during confirmation step. The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent, or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent. """ interval_description: NotRequired[str] """ Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'. """ payment_schedule: NotRequired[Literal["combined", "interval", "sporadic"]] """ Payment schedule for the mandate. """ transaction_type: NotRequired[Literal["business", "personal"]] """ Transaction type of the mandate. """ class PaymentIntentModifyParamsPaymentMethodOptionsAffirm(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ preferred_locale: NotRequired[str] """ Preferred language of the Affirm authorization page that the customer is redirected to. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsAfterpayClearpay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ reference: NotRequired[str] """ An internal identifier or reference that this payment corresponds to. You must limit the identifier to 128 characters, and it can only contain letters, numbers, underscores, backslashes, and dashes. This field differs from the statement descriptor and item name. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsAlipay(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsAlma(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentModifyParamsPaymentMethodOptionsAmazonPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentModifyParamsPaymentMethodOptionsAuBecsDebit(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentModifyParamsPaymentMethodOptionsBacsDebit(TypedDict): mandate_options: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsBacsDebitMandateOptions" ] """ Additional fields for Mandate creation """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentModifyParamsPaymentMethodOptionsBacsDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'. """ class PaymentIntentModifyParamsPaymentMethodOptionsBancontact(TypedDict): preferred_language: NotRequired[Literal["de", "en", "fr", "nl"]] """ Preferred language of the Bancontact authorization page that the customer is redirected to. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsBillie(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentModifyParamsPaymentMethodOptionsBlik(TypedDict): code: NotRequired[str] """ The 6-digit BLIK code that a customer has generated using their banking application. Can only be set on confirmation. """ setup_future_usage: NotRequired["Literal['']|Literal['none']"] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsBoleto(TypedDict): expires_after_days: NotRequired[int] """ The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto invoice will expire on Wednesday at 23:59 America/Sao_Paulo time. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsCard(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ cvc_token: NotRequired[str] """ A single-use `cvc_update` Token that represents a card CVC value. When provided, the CVC value will be verified during the card payment attempt. This parameter can only be provided during confirmation. """ installments: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsCardInstallments" ] """ Installment configuration for payments attempted on this PaymentIntent. For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments). """ mandate_options: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsCardMandateOptions" ] """ Configuration options for setting up an eMandate for cards issued in India. """ moto: NotRequired[bool] """ When specified, this parameter indicates that a transaction will be marked as MOTO (Mail Order Telephone Order) and thus out of scope for SCA. This parameter can only be provided during confirmation. """ network: NotRequired[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "girocard", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Selected network to process this PaymentIntent on. Depends on the available networks of the card attached to the PaymentIntent. Can be only set confirm-time. """ request_extended_authorization: NotRequired[ Literal["if_available", "never"] ] """ Request ability to [capture beyond the standard authorization validity window](https://stripe.com/docs/payments/extended-authorization) for this PaymentIntent. """ request_incremental_authorization: NotRequired[ Literal["if_available", "never"] ] """ Request ability to [increment the authorization](https://stripe.com/docs/payments/incremental-authorization) for this PaymentIntent. """ request_multicapture: NotRequired[Literal["if_available", "never"]] """ Request ability to make [multiple captures](https://stripe.com/docs/payments/multicapture) for this PaymentIntent. """ request_overcapture: NotRequired[Literal["if_available", "never"]] """ Request ability to [overcapture](https://stripe.com/docs/payments/overcapture) for this PaymentIntent. """ request_three_d_secure: NotRequired[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ require_cvc_recollection: NotRequired[bool] """ When enabled, using a card that is attached to a customer will require the CVC to be provided again (i.e. using the cvc_token parameter). """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ statement_descriptor_suffix_kana: NotRequired["Literal['']|str"] """ Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that's set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters. """ statement_descriptor_suffix_kanji: NotRequired["Literal['']|str"] """ Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that's set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters. """ three_d_secure: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecure" ] """ If 3D Secure authentication was performed with a third-party provider, the authentication details to use for this payment. """ class PaymentIntentModifyParamsPaymentMethodOptionsCardInstallments(TypedDict): enabled: NotRequired[bool] """ Setting to true enables installments for this PaymentIntent. This will cause the response to contain a list of available installment plans. Setting to false will prevent any selected plan from applying to a charge. """ plan: NotRequired[ "Literal['']|PaymentIntentModifyParamsPaymentMethodOptionsCardInstallmentsPlan" ] """ The selected installment plan to use for this payment attempt. This parameter can only be provided during confirmation. """ class PaymentIntentModifyParamsPaymentMethodOptionsCardInstallmentsPlan( TypedDict, ): count: NotRequired[int] """ For `fixed_count` installment plans, this is required. It represents the number of installment payments your customer will make to their credit card. """ interval: NotRequired[Literal["month"]] """ For `fixed_count` installment plans, this is required. It represents the interval between installment payments your customer will make to their credit card. One of `month`. """ type: Literal["bonus", "fixed_count", "revolving"] """ Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`. """ class PaymentIntentModifyParamsPaymentMethodOptionsCardMandateOptions( TypedDict, ): amount: int """ Amount to be charged for future payments. """ amount_type: Literal["fixed", "maximum"] """ One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. """ description: NotRequired[str] """ A description of the mandate or subscription that is meant to be displayed to the customer. """ end_date: NotRequired[int] """ End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date. """ interval: Literal["day", "month", "sporadic", "week", "year"] """ Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`. """ interval_count: NotRequired[int] """ The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`. """ reference: str """ Unique identifier for the mandate or subscription. """ start_date: int """ Start date of the mandate or subscription. Start date should not be lesser than yesterday. """ supported_types: NotRequired[List[Literal["india"]]] """ Specifies the type of mandates supported. Possible values are `india`. """ class PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecure(TypedDict): ares_trans_status: NotRequired[Literal["A", "C", "I", "N", "R", "U", "Y"]] """ The `transStatus` returned from the card Issuer's ACS in the ARes. """ cryptogram: str """ The cryptogram, also known as the "authentication value" (AAV, CAVV or AEVV). This value is 20 bytes, base64-encoded into a 28-character string. (Most 3D Secure providers will return the base64-encoded version, which is what you should specify here.) """ electronic_commerce_indicator: NotRequired[ Literal["01", "02", "05", "06", "07"] ] """ The Electronic Commerce Indicator (ECI) is returned by your 3D Secure provider and indicates what degree of authentication was performed. """ exemption_indicator: NotRequired[Literal["low_risk", "none"]] """ The exemption requested via 3DS and accepted by the issuer at authentication time. """ network_options: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions" ] """ Network specific 3DS fields. Network specific arguments require an explicit card brand choice. The parameter `payment_method_options.card.network`` must be populated accordingly """ requestor_challenge_indicator: NotRequired[str] """ The challenge indicator (`threeDSRequestorChallengeInd`) which was requested in the AReq sent to the card Issuer's ACS. A string containing 2 digits from 01-99. """ transaction_id: str """ For 3D Secure 1, the XID. For 3D Secure 2, the Directory Server Transaction ID (dsTransID). """ version: Literal["1.0.2", "2.1.0", "2.2.0"] """ The version of 3D Secure that was performed. """ class PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions( TypedDict, ): cartes_bancaires: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires" ] """ Cartes Bancaires-specific 3DS fields. """ class PaymentIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires( TypedDict, ): cb_avalgo: Literal["0", "1", "2", "3", "4", "A"] """ The cryptogram calculation algorithm used by the card Issuer's ACS to calculate the Authentication cryptogram. Also known as `cavvAlgorithm`. messageExtension: CB-AVALGO """ cb_exemption: NotRequired[str] """ The exemption indicator returned from Cartes Bancaires in the ARes. message extension: CB-EXEMPTION; string (4 characters) This is a 3 byte bitmap (low significant byte first and most significant bit first) that has been Base64 encoded """ cb_score: NotRequired[int] """ The risk score returned from Cartes Bancaires in the ARes. message extension: CB-SCORE; numeric value 0-99 """ 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) """ request_incremental_authorization_support: NotRequired[bool] """ 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. """ routing: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsCardPresentRouting" ] """ Network routing priority on co-branded EMV cards supporting domestic debit and international card schemes. """ class PaymentIntentModifyParamsPaymentMethodOptionsCardPresentRouting( TypedDict, ): requested_priority: NotRequired[Literal["domestic", "international"]] """ Routing requested priority """ class PaymentIntentModifyParamsPaymentMethodOptionsCashapp(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsCrypto(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsCustomerBalance(TypedDict): bank_transfer: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsCustomerBalanceBankTransfer" ] """ Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`. """ funding_type: NotRequired[Literal["bank_transfer"]] """ The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsCustomerBalanceBankTransfer( TypedDict, ): eu_bank_transfer: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer" ] """ Configuration for the eu_bank_transfer funding type. """ requested_address_types: NotRequired[ List[ Literal[ "aba", "iban", "sepa", "sort_code", "spei", "swift", "zengin" ] ] ] """ List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned. Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`. """ type: Literal[ "eu_bank_transfer", "gb_bank_transfer", "jp_bank_transfer", "mx_bank_transfer", "us_bank_transfer", ] """ The list of bank transfer types that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. """ class PaymentIntentModifyParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer( TypedDict, ): country: str """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ class PaymentIntentModifyParamsPaymentMethodOptionsEps(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsFpx(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsGiropay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsGrabpay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsIdeal(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsInteracPresent(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodOptionsKakaoPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentModifyParamsPaymentMethodOptionsKlarna(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ on_demand: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsKlarnaOnDemand" ] """ On-demand details if setting up or charging an on-demand payment. """ preferred_locale: NotRequired[ Literal[ "cs-CZ", "da-DK", "de-AT", "de-CH", "de-DE", "el-GR", "en-AT", "en-AU", "en-BE", "en-CA", "en-CH", "en-CZ", "en-DE", "en-DK", "en-ES", "en-FI", "en-FR", "en-GB", "en-GR", "en-IE", "en-IT", "en-NL", "en-NO", "en-NZ", "en-PL", "en-PT", "en-RO", "en-SE", "en-US", "es-ES", "es-US", "fi-FI", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "it-CH", "it-IT", "nb-NO", "nl-BE", "nl-NL", "pl-PL", "pt-PT", "ro-RO", "sv-FI", "sv-SE", ] ] """ Preferred language of the Klarna authorization page that the customer is redirected to """ setup_future_usage: NotRequired[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ subscriptions: NotRequired[ "Literal['']|List[PaymentIntentModifyParamsPaymentMethodOptionsKlarnaSubscription]" ] """ Subscription details if setting up or charging a subscription. """ class PaymentIntentModifyParamsPaymentMethodOptionsKlarnaOnDemand(TypedDict): average_amount: NotRequired[int] """ Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc. """ maximum_amount: NotRequired[int] """ The maximum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ minimum_amount: NotRequired[int] """ The lowest or minimum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ purchase_interval: NotRequired[Literal["day", "month", "week", "year"]] """ Interval at which the customer is making purchases """ purchase_interval_count: NotRequired[int] """ The number of `purchase_interval` between charges """ class PaymentIntentModifyParamsPaymentMethodOptionsKlarnaSubscription( TypedDict, ): interval: Literal["day", "month", "week", "year"] """ Unit of time between subscription charges. """ interval_count: NotRequired[int] """ The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months. """ name: NotRequired[str] """ Name for subscription. """ next_billing: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling" ] """ Describes the upcoming charge for this subscription. """ reference: str """ A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges. """ class PaymentIntentModifyParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling( TypedDict, ): amount: int """ The amount of the next charge for the subscription. """ date: str """ The date of the next charge for the subscription in YYYY-MM-DD format. """ class PaymentIntentModifyParamsPaymentMethodOptionsKonbini(TypedDict): confirmation_number: NotRequired["Literal['']|str"] """ An optional 10 to 11 digit numeric-only string determining the confirmation code at applicable convenience stores. Must not consist of only zeroes and could be rejected in case of insufficient uniqueness. We recommend to use the customer's phone number. """ expires_after_days: NotRequired["Literal['']|int"] """ The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST. Defaults to 3 days. """ expires_at: NotRequired["Literal['']|int"] """ The timestamp at which the Konbini payment instructions will expire. Only one of `expires_after_days` or `expires_at` may be set. """ product_description: NotRequired["Literal['']|str"] """ A product descriptor of up to 22 characters, which will appear to customers at the convenience store. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsKrCard(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentModifyParamsPaymentMethodOptionsLink(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ persistent_token: NotRequired[str] """ [Deprecated] This is a legacy parameter that no longer has any function. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsMbWay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsMobilepay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsMultibanco(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsNaverPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentModifyParamsPaymentMethodOptionsNzBankAccount(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentModifyParamsPaymentMethodOptionsOxxo(TypedDict): expires_after_days: NotRequired[int] """ The number of calendar days before an OXXO voucher expires. For example, if you create an OXXO voucher on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsP24(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ tos_shown_and_accepted: NotRequired[bool] """ Confirm that the payer has accepted the P24 terms and conditions. """ class PaymentIntentModifyParamsPaymentMethodOptionsPayByBank(TypedDict): pass class PaymentIntentModifyParamsPaymentMethodOptionsPayco(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentModifyParamsPaymentMethodOptionsPaynow(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsPaypal(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ Controls when the funds will be captured from the customer's account. """ preferred_locale: NotRequired[ Literal[ "cs-CZ", "da-DK", "de-AT", "de-DE", "de-LU", "el-GR", "en-GB", "en-US", "es-ES", "fi-FI", "fr-BE", "fr-FR", "fr-LU", "hu-HU", "it-IT", "nl-BE", "nl-NL", "pl-PL", "pt-PT", "sk-SK", "sv-SE", ] ] """ [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to. """ reference: NotRequired[str] """ A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID. """ risk_correlation_id: NotRequired[str] """ The risk correlation ID for an on-session payment using a saved PayPal payment method. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsPix(TypedDict): amount_includes_iof: NotRequired[Literal["always", "never"]] """ Determines if the amount includes the IOF tax. Defaults to `never`. """ expires_after_seconds: NotRequired[int] """ The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. """ expires_at: NotRequired[int] """ The timestamp at which the Pix expires (between 10 and 1209600 seconds in the future). Defaults to 1 day in the future. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsPromptpay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsRevolutPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentModifyParamsPaymentMethodOptionsSamsungPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentModifyParamsPaymentMethodOptionsSatispay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentModifyParamsPaymentMethodOptionsSepaDebit(TypedDict): mandate_options: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsSepaDebitMandateOptions" ] """ Additional fields for Mandate creation """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentModifyParamsPaymentMethodOptionsSepaDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'. """ class PaymentIntentModifyParamsPaymentMethodOptionsSofort(TypedDict): preferred_language: NotRequired[ "Literal['']|Literal['de', 'en', 'es', 'fr', 'it', 'nl', 'pl']" ] """ Language shown to the payer on redirect. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsSwish(TypedDict): reference: NotRequired["Literal['']|str"] """ A reference for this payment to be displayed in the Swish app. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsTwint(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccount(TypedDict): financial_connections: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnections" ] """ Additional fields for Financial Connections Session creation """ mandate_options: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountMandateOptions" ] """ Additional fields for Mandate creation """ networks: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountNetworks" ] """ Additional fields for network related functions """ preferred_settlement_speed: NotRequired[ "Literal['']|Literal['fastest', 'standard']" ] """ Preferred transaction settlement speed """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnections( TypedDict, ): filters: NotRequired[ "PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters" ] """ Provide filters for the linked accounts that the customer can select for the payment method. """ permissions: NotRequired[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ return_url: NotRequired[str] """ For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. """ class PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters( TypedDict, ): account_subcategories: NotRequired[List[Literal["checking", "savings"]]] """ The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`. """ class PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountMandateOptions( TypedDict, ): collection_method: NotRequired["Literal['']|Literal['paper']"] """ The method used to collect offline mandate customer acceptance. """ class PaymentIntentModifyParamsPaymentMethodOptionsUsBankAccountNetworks( TypedDict, ): requested: NotRequired[List[Literal["ach", "us_domestic_wire"]]] """ Triggers validations to run across the selected networks """ class PaymentIntentModifyParamsPaymentMethodOptionsWechatPay(TypedDict): app_id: NotRequired[str] """ The app ID registered with WeChat Pay. Only required when client is ios or android. """ client: NotRequired[Literal["android", "ios", "web"]] """ The client type that the end customer will pay from """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsPaymentMethodOptionsZip(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentModifyParamsShipping(TypedDict): address: "PaymentIntentModifyParamsShippingAddress" """ Shipping address. """ carrier: NotRequired[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: str """ Recipient name. """ phone: NotRequired[str] """ Recipient phone (including extension). """ tracking_number: NotRequired[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ class PaymentIntentModifyParamsShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class PaymentIntentModifyParamsTransferData(TypedDict): amount: NotRequired[int] """ The amount that will be transferred automatically when a charge succeeds. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.354062 stripe-13.2.0/stripe/params/_payment_intent_retrieve_params.py0000644000000000000000000000077615102753431021654 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentIntentRetrieveParams(RequestOptions): client_secret: NotRequired[str] """ The client secret of the PaymentIntent. We require it if you use a publishable key to retrieve the source. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.354062 stripe-13.2.0/stripe/params/_payment_intent_search_params.py0000644000000000000000000000176115102753431021267 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentIntentSearchParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ page: NotRequired[str] """ A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. """ query: str """ The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for payment intents](https://stripe.com/docs/search#query-fields-for-payment-intents). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.354062 stripe-13.2.0/stripe/params/_payment_intent_update_params.py0000644000000000000000000045254215102753431021313 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentIntentUpdateParams(TypedDict): amount: NotRequired[int] """ Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). """ amount_details: NotRequired[ "Literal['']|PaymentIntentUpdateParamsAmountDetails" ] """ Provides industry-specific information about the amount. """ application_fee_amount: NotRequired["Literal['']|int"] """ The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total amount captured. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ capture_method: NotRequired[ Literal["automatic", "automatic_async", "manual"] ] """ Controls when the funds will be captured from the customer's account. """ currency: NotRequired[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: NotRequired[str] """ ID of the Customer this PaymentIntent belongs to, if one exists. Payment methods attached to other Customers cannot be used with this PaymentIntent. If [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) is set and this PaymentIntent's payment method is not `card_present`, then the payment method attaches to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. If the payment method is `card_present` and isn't a digital wallet, then a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card is created and attached to the Customer instead. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ excluded_payment_method_types: NotRequired[ "Literal['']|List[Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'ideal', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'mb_way', 'mobilepay', 'multibanco', 'naver_pay', 'nz_bank_account', 'oxxo', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'pix', 'promptpay', 'revolut_pay', 'samsung_pay', 'satispay', 'sepa_debit', 'sofort', 'swish', 'twint', 'us_bank_account', 'wechat_pay', 'zip']]" ] """ The list of payment method types to exclude from use with this payment. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ payment_details: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentDetails" ] """ Provides industry-specific information about the charge. """ payment_method: NotRequired[str] """ ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent. To unset this field to null, pass in an empty string. """ payment_method_configuration: NotRequired[str] """ The ID of the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) to use with this PaymentIntent. """ payment_method_data: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodData" ] """ 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. """ payment_method_options: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptions" ] """ Payment-method-specific configuration for this PaymentIntent. """ payment_method_types: NotRequired[List[str]] """ The list of payment method types (for example, card) that this PaymentIntent can use. Use `automatic_payment_methods` to manage payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). A list of valid payment method types can be found [here](https://docs.stripe.com/api/payment_methods/object#payment_method_object-type). """ receipt_email: NotRequired["Literal['']|str"] """ Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). """ setup_future_usage: NotRequired[ "Literal['']|Literal['off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ shipping: NotRequired["Literal['']|PaymentIntentUpdateParamsShipping"] """ Shipping information for this PaymentIntent. """ statement_descriptor: NotRequired[str] """ Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. """ statement_descriptor_suffix: NotRequired[str] """ Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. """ transfer_data: NotRequired["PaymentIntentUpdateParamsTransferData"] """ Use this parameter to automatically create a Transfer when the payment succeeds. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ transfer_group: NotRequired[str] """ A string that identifies the resulting payment as part of a group. You can only provide `transfer_group` if it hasn't been set. Learn more about the [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ class PaymentIntentUpdateParamsAmountDetails(TypedDict): discount_amount: NotRequired["Literal['']|int"] """ The total discount applied on the transaction represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[line_items][#][discount_amount]` field. """ line_items: NotRequired[ "Literal['']|List[PaymentIntentUpdateParamsAmountDetailsLineItem]" ] """ A list of line items, each containing information about a product in the PaymentIntent. There is a maximum of 100 line items. """ shipping: NotRequired[ "Literal['']|PaymentIntentUpdateParamsAmountDetailsShipping" ] """ Contains information about the shipping portion of the amount. """ tax: NotRequired["Literal['']|PaymentIntentUpdateParamsAmountDetailsTax"] """ Contains information about the tax portion of the amount. """ class PaymentIntentUpdateParamsAmountDetailsLineItem(TypedDict): discount_amount: NotRequired[int] """ The discount applied on this line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than 0. This field is mutually exclusive with the `amount_details[discount_amount]` field. """ payment_method_options: NotRequired[ "PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptions" ] """ Payment method-specific information for line items. """ product_code: NotRequired[str] """ The product code of the line item, such as an SKU. Required for L3 rates. At most 12 characters long. """ product_name: str """ The product name of the line item. Required for L3 rates. At most 1024 characters long. For Cards, this field is truncated to 26 alphanumeric characters before being sent to the card networks. For Paypal, this field is truncated to 127 characters. """ quantity: int """ The quantity of items. Required for L3 rates. An integer greater than 0. """ tax: NotRequired["PaymentIntentUpdateParamsAmountDetailsLineItemTax"] """ Contains information about the tax on the item. """ unit_cost: int """ The unit cost of the line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L3 rates. An integer greater than or equal to 0. """ unit_of_measure: NotRequired[str] """ A unit of measure for the line item, such as gallons, feet, meters, etc. """ class PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptions( TypedDict, ): card: NotRequired[ "PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsCard" ] """ This sub-hash contains line item details that are specific to `card` payment method." """ card_present: NotRequired[ "PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent" ] """ This sub-hash contains line item details that are specific to `card_present` payment method." """ klarna: NotRequired[ "PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsKlarna" ] """ This sub-hash contains line item details that are specific to `klarna` payment method." """ paypal: NotRequired[ "PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsPaypal" ] """ This sub-hash contains line item details that are specific to `paypal` payment method." """ class PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsCard( TypedDict, ): commodity_code: NotRequired[str] """ Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc. """ class PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsCardPresent( TypedDict, ): commodity_code: NotRequired[str] """ Identifier that categorizes the items being purchased using a standardized commodity scheme such as (but not limited to) UNSPSC, NAICS, NAPCS, etc. """ class PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsKlarna( TypedDict, ): image_url: NotRequired[str] """ URL to an image for the product. Max length, 4096 characters. """ product_url: NotRequired[str] """ URL to the product page. Max length, 4096 characters. """ reference: NotRequired[str] """ Unique reference for this line item to correlate it with your system's internal records. The field is displayed in the Klarna Consumer App if passed. """ subscription_reference: NotRequired[str] """ Reference for the subscription this line item is for. """ class PaymentIntentUpdateParamsAmountDetailsLineItemPaymentMethodOptionsPaypal( TypedDict, ): category: NotRequired[ Literal["digital_goods", "donation", "physical_goods"] ] """ Type of the line item. """ description: NotRequired[str] """ Description of the line item. """ sold_by: NotRequired[str] """ The Stripe account ID of the connected account that sells the item. """ class PaymentIntentUpdateParamsAmountDetailsLineItemTax(TypedDict): total_tax_amount: int """ The total amount of tax on a single line item represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L3 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[tax][total_tax_amount]` field. """ class PaymentIntentUpdateParamsAmountDetailsShipping(TypedDict): amount: NotRequired["Literal['']|int"] """ If a physical good is being shipped, the cost of shipping represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). An integer greater than or equal to 0. """ from_postal_code: NotRequired["Literal['']|str"] """ If a physical good is being shipped, the postal code of where it is being shipped from. At most 10 alphanumeric characters long, hyphens are allowed. """ to_postal_code: NotRequired["Literal['']|str"] """ If a physical good is being shipped, the postal code of where it is being shipped to. At most 10 alphanumeric characters long, hyphens are allowed. """ class PaymentIntentUpdateParamsAmountDetailsTax(TypedDict): total_tax_amount: int """ The total amount of tax on the transaction represented in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Required for L2 rates. An integer greater than or equal to 0. This field is mutually exclusive with the `amount_details[line_items][#][tax][total_tax_amount]` field. """ class PaymentIntentUpdateParamsPaymentDetails(TypedDict): customer_reference: NotRequired["Literal['']|str"] """ A unique value to identify the customer. This field is available only for card payments. This field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. """ order_reference: NotRequired["Literal['']|str"] """ A unique value assigned by the business to identify the transaction. Required for L2 and L3 rates. Required when the Payment Method Types array contains `card`, including when [automatic_payment_methods.enabled](https://docs.stripe.com/api/payment_intents/create#create_payment_intent-automatic_payment_methods-enabled) is set to `true`. For Cards, this field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. For Klarna, this field is truncated to 255 characters and is visible to customers when they view the order in the Klarna app. """ class PaymentIntentUpdateParamsPaymentMethodData(TypedDict): acss_debit: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataAcssDebit" ] """ If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method. """ affirm: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataAffirm"] """ If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method. """ afterpay_clearpay: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataAfterpayClearpay" ] """ If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method. """ alipay: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataAlipay"] """ If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method. """ allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. """ alma: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataAlma"] """ If this is a Alma PaymentMethod, this hash contains details about the Alma payment method. """ amazon_pay: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataAmazonPay" ] """ If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method. """ au_becs_debit: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataAuBecsDebit" ] """ If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account. """ bacs_debit: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataBacsDebit" ] """ If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account. """ bancontact: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataBancontact" ] """ If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method. """ billie: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataBillie"] """ If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method. """ billing_details: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataBillingDetails" ] """ Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. """ blik: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataBlik"] """ If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method. """ boleto: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataBoleto"] """ If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method. """ cashapp: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataCashapp"] """ If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method. """ crypto: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataCrypto"] """ If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method. """ customer_balance: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataCustomerBalance" ] """ If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method. """ eps: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataEps"] """ If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method. """ fpx: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataFpx"] """ If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method. """ giropay: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataGiropay"] """ If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method. """ grabpay: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataGrabpay"] """ If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method. """ ideal: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataIdeal"] """ If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method. """ interac_present: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataInteracPresent" ] """ If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method. """ kakao_pay: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataKakaoPay" ] """ If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method. """ klarna: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataKlarna"] """ If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method. """ konbini: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataKonbini"] """ If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method. """ kr_card: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataKrCard"] """ If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method. """ link: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataLink"] """ If this is an `Link` PaymentMethod, this hash contains details about the Link payment method. """ mb_way: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataMbWay"] """ If this is a MB WAY PaymentMethod, this hash contains details about the MB WAY payment method. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ mobilepay: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataMobilepay" ] """ If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method. """ multibanco: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataMultibanco" ] """ If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method. """ naver_pay: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataNaverPay" ] """ If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method. """ nz_bank_account: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataNzBankAccount" ] """ If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method. """ oxxo: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataOxxo"] """ If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method. """ p24: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataP24"] """ If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method. """ pay_by_bank: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataPayByBank" ] """ If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method. """ payco: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataPayco"] """ If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method. """ paynow: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataPaynow"] """ If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method. """ paypal: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataPaypal"] """ If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method. """ pix: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataPix"] """ If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method. """ promptpay: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataPromptpay" ] """ If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method. """ radar_options: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataRadarOptions" ] """ Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. """ revolut_pay: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataRevolutPay" ] """ If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method. """ samsung_pay: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataSamsungPay" ] """ If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method. """ satispay: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataSatispay"] """ If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method. """ sepa_debit: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataSepaDebit" ] """ If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account. """ sofort: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataSofort"] """ If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method. """ swish: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataSwish"] """ If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method. """ twint: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataTwint"] """ If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method. """ type: Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] """ 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. """ us_bank_account: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataUsBankAccount" ] """ If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. """ wechat_pay: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodDataWechatPay" ] """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ zip: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. """ class PaymentIntentUpdateParamsPaymentMethodDataAcssDebit(TypedDict): account_number: str """ Customer's bank account number. """ institution_number: str """ Institution number of the customer's bank. """ transit_number: str """ Transit number of the customer's bank. """ class PaymentIntentUpdateParamsPaymentMethodDataAffirm(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataAfterpayClearpay(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataAlipay(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataAlma(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataAmazonPay(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataAuBecsDebit(TypedDict): account_number: str """ The account number for the bank account. """ bsb_number: str """ Bank-State-Branch number of the bank account. """ class PaymentIntentUpdateParamsPaymentMethodDataBacsDebit(TypedDict): account_number: NotRequired[str] """ Account number of the bank account that the funds will be debited from. """ sort_code: NotRequired[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class PaymentIntentUpdateParamsPaymentMethodDataBancontact(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataBillie(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataBillingDetails(TypedDict): address: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodDataBillingDetailsAddress" ] """ Billing address. """ email: NotRequired["Literal['']|str"] """ Email address. """ name: NotRequired["Literal['']|str"] """ Full name. """ phone: NotRequired["Literal['']|str"] """ Billing phone number (including extension). """ tax_id: NotRequired[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ class PaymentIntentUpdateParamsPaymentMethodDataBillingDetailsAddress( TypedDict, ): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class PaymentIntentUpdateParamsPaymentMethodDataBlik(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataBoleto(TypedDict): tax_id: str """ The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers) """ class PaymentIntentUpdateParamsPaymentMethodDataCashapp(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataCrypto(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataCustomerBalance(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataEps(TypedDict): bank: NotRequired[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. """ class PaymentIntentUpdateParamsPaymentMethodDataFpx(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type for FPX transaction """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank. """ class PaymentIntentUpdateParamsPaymentMethodDataGiropay(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataGrabpay(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataIdeal(TypedDict): bank: NotRequired[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank. Only use this parameter for existing customers. Don't use it for new customers. """ class PaymentIntentUpdateParamsPaymentMethodDataInteracPresent(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataKakaoPay(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataKlarna(TypedDict): dob: NotRequired["PaymentIntentUpdateParamsPaymentMethodDataKlarnaDob"] """ Customer's date of birth """ class PaymentIntentUpdateParamsPaymentMethodDataKlarnaDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class PaymentIntentUpdateParamsPaymentMethodDataKonbini(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataKrCard(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataLink(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataMbWay(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataMobilepay(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataMultibanco(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataNaverPay(TypedDict): funding: NotRequired[Literal["card", "points"]] """ Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`. """ class PaymentIntentUpdateParamsPaymentMethodDataNzBankAccount(TypedDict): account_holder_name: NotRequired[str] """ The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ account_number: str """ The account number for the bank account. """ bank_code: str """ The numeric code for the bank account's bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ reference: NotRequired[str] suffix: str """ The suffix of the bank account number. """ class PaymentIntentUpdateParamsPaymentMethodDataOxxo(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataP24(TypedDict): bank: NotRequired[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank. """ class PaymentIntentUpdateParamsPaymentMethodDataPayByBank(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataPayco(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataPaynow(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataPaypal(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataPix(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataPromptpay(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataRadarOptions(TypedDict): session: NotRequired[str] """ 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. """ class PaymentIntentUpdateParamsPaymentMethodDataRevolutPay(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataSamsungPay(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataSatispay(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataSepaDebit(TypedDict): iban: str """ IBAN of the bank account. """ class PaymentIntentUpdateParamsPaymentMethodDataSofort(TypedDict): country: Literal["AT", "BE", "DE", "ES", "IT", "NL"] """ Two-letter ISO code representing the country the bank account is located in. """ class PaymentIntentUpdateParamsPaymentMethodDataSwish(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataTwint(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataUsBankAccount(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_number: NotRequired[str] """ Account number of the bank account. """ account_type: NotRequired[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. """ routing_number: NotRequired[str] """ Routing number of the bank account. """ class PaymentIntentUpdateParamsPaymentMethodDataWechatPay(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodDataZip(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodOptions(TypedDict): acss_debit: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsAcssDebit" ] """ If this is a `acss_debit` PaymentMethod, this sub-hash contains details about the ACSS Debit payment method options. """ affirm: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsAffirm" ] """ If this is an `affirm` PaymentMethod, this sub-hash contains details about the Affirm payment method options. """ afterpay_clearpay: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsAfterpayClearpay" ] """ If this is a `afterpay_clearpay` PaymentMethod, this sub-hash contains details about the Afterpay Clearpay payment method options. """ alipay: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsAlipay" ] """ If this is a `alipay` PaymentMethod, this sub-hash contains details about the Alipay payment method options. """ alma: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsAlma" ] """ If this is a `alma` PaymentMethod, this sub-hash contains details about the Alma payment method options. """ amazon_pay: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsAmazonPay" ] """ If this is a `amazon_pay` PaymentMethod, this sub-hash contains details about the Amazon Pay payment method options. """ au_becs_debit: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsAuBecsDebit" ] """ If this is a `au_becs_debit` PaymentMethod, this sub-hash contains details about the AU BECS Direct Debit payment method options. """ bacs_debit: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsBacsDebit" ] """ If this is a `bacs_debit` PaymentMethod, this sub-hash contains details about the BACS Debit payment method options. """ bancontact: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsBancontact" ] """ If this is a `bancontact` PaymentMethod, this sub-hash contains details about the Bancontact payment method options. """ billie: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsBillie" ] """ If this is a `billie` PaymentMethod, this sub-hash contains details about the Billie payment method options. """ blik: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsBlik" ] """ If this is a `blik` PaymentMethod, this sub-hash contains details about the BLIK payment method options. """ boleto: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsBoleto" ] """ If this is a `boleto` PaymentMethod, this sub-hash contains details about the Boleto payment method options. """ card: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsCard" ] """ Configuration for any card payments attempted on this PaymentIntent. """ card_present: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsCardPresent" ] """ If this is a `card_present` PaymentMethod, this sub-hash contains details about the Card Present payment method options. """ cashapp: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsCashapp" ] """ If this is a `cashapp` PaymentMethod, this sub-hash contains details about the Cash App Pay payment method options. """ crypto: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsCrypto" ] """ If this is a `crypto` PaymentMethod, this sub-hash contains details about the Crypto payment method options. """ customer_balance: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsCustomerBalance" ] """ If this is a `customer balance` PaymentMethod, this sub-hash contains details about the customer balance payment method options. """ eps: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsEps" ] """ If this is a `eps` PaymentMethod, this sub-hash contains details about the EPS payment method options. """ fpx: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsFpx" ] """ If this is a `fpx` PaymentMethod, this sub-hash contains details about the FPX payment method options. """ giropay: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsGiropay" ] """ If this is a `giropay` PaymentMethod, this sub-hash contains details about the Giropay payment method options. """ grabpay: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsGrabpay" ] """ If this is a `grabpay` PaymentMethod, this sub-hash contains details about the Grabpay payment method options. """ ideal: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsIdeal" ] """ If this is a `ideal` PaymentMethod, this sub-hash contains details about the Ideal payment method options. """ interac_present: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsInteracPresent" ] """ If this is a `interac_present` PaymentMethod, this sub-hash contains details about the Card Present payment method options. """ kakao_pay: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsKakaoPay" ] """ If this is a `kakao_pay` PaymentMethod, this sub-hash contains details about the Kakao Pay payment method options. """ klarna: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsKlarna" ] """ If this is a `klarna` PaymentMethod, this sub-hash contains details about the Klarna payment method options. """ konbini: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsKonbini" ] """ If this is a `konbini` PaymentMethod, this sub-hash contains details about the Konbini payment method options. """ kr_card: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsKrCard" ] """ If this is a `kr_card` PaymentMethod, this sub-hash contains details about the KR Card payment method options. """ link: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsLink" ] """ If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options. """ mb_way: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsMbWay" ] """ If this is a `mb_way` PaymentMethod, this sub-hash contains details about the MB WAY payment method options. """ mobilepay: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsMobilepay" ] """ If this is a `MobilePay` PaymentMethod, this sub-hash contains details about the MobilePay payment method options. """ multibanco: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsMultibanco" ] """ If this is a `multibanco` PaymentMethod, this sub-hash contains details about the Multibanco payment method options. """ naver_pay: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsNaverPay" ] """ If this is a `naver_pay` PaymentMethod, this sub-hash contains details about the Naver Pay payment method options. """ nz_bank_account: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsNzBankAccount" ] """ If this is a `nz_bank_account` PaymentMethod, this sub-hash contains details about the NZ BECS Direct Debit payment method options. """ oxxo: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsOxxo" ] """ If this is a `oxxo` PaymentMethod, this sub-hash contains details about the OXXO payment method options. """ p24: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsP24" ] """ If this is a `p24` PaymentMethod, this sub-hash contains details about the Przelewy24 payment method options. """ pay_by_bank: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsPayByBank" ] """ If this is a `pay_by_bank` PaymentMethod, this sub-hash contains details about the PayByBank payment method options. """ payco: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsPayco" ] """ If this is a `payco` PaymentMethod, this sub-hash contains details about the PAYCO payment method options. """ paynow: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsPaynow" ] """ If this is a `paynow` PaymentMethod, this sub-hash contains details about the PayNow payment method options. """ paypal: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsPaypal" ] """ If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options. """ pix: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsPix" ] """ If this is a `pix` PaymentMethod, this sub-hash contains details about the Pix payment method options. """ promptpay: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsPromptpay" ] """ If this is a `promptpay` PaymentMethod, this sub-hash contains details about the PromptPay payment method options. """ revolut_pay: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsRevolutPay" ] """ If this is a `revolut_pay` PaymentMethod, this sub-hash contains details about the Revolut Pay payment method options. """ samsung_pay: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsSamsungPay" ] """ If this is a `samsung_pay` PaymentMethod, this sub-hash contains details about the Samsung Pay payment method options. """ satispay: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsSatispay" ] """ If this is a `satispay` PaymentMethod, this sub-hash contains details about the Satispay payment method options. """ sepa_debit: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsSepaDebit" ] """ If this is a `sepa_debit` PaymentIntent, this sub-hash contains details about the SEPA Debit payment method options. """ sofort: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsSofort" ] """ If this is a `sofort` PaymentMethod, this sub-hash contains details about the SOFORT payment method options. """ swish: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsSwish" ] """ If this is a `Swish` PaymentMethod, this sub-hash contains details about the Swish payment method options. """ twint: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsTwint" ] """ If this is a `twint` PaymentMethod, this sub-hash contains details about the TWINT payment method options. """ us_bank_account: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccount" ] """ If this is a `us_bank_account` PaymentMethod, this sub-hash contains details about the US bank account payment method options. """ wechat_pay: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsWechatPay" ] """ If this is a `wechat_pay` PaymentMethod, this sub-hash contains details about the WeChat Pay payment method options. """ zip: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsZip" ] """ If this is a `zip` PaymentMethod, this sub-hash contains details about the Zip payment method options. """ class PaymentIntentUpdateParamsPaymentMethodOptionsAcssDebit(TypedDict): mandate_options: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsAcssDebitMandateOptions" ] """ Additional fields for Mandate creation """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class PaymentIntentUpdateParamsPaymentMethodOptionsAcssDebitMandateOptions( TypedDict, ): custom_mandate_url: NotRequired["Literal['']|str"] """ A URL for custom mandate text to render during confirmation step. The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent, or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent. """ interval_description: NotRequired[str] """ Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'. """ payment_schedule: NotRequired[Literal["combined", "interval", "sporadic"]] """ Payment schedule for the mandate. """ transaction_type: NotRequired[Literal["business", "personal"]] """ Transaction type of the mandate. """ class PaymentIntentUpdateParamsPaymentMethodOptionsAffirm(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ preferred_locale: NotRequired[str] """ Preferred language of the Affirm authorization page that the customer is redirected to. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsAfterpayClearpay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ reference: NotRequired[str] """ An internal identifier or reference that this payment corresponds to. You must limit the identifier to 128 characters, and it can only contain letters, numbers, underscores, backslashes, and dashes. This field differs from the statement descriptor and item name. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsAlipay(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsAlma(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentUpdateParamsPaymentMethodOptionsAmazonPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentUpdateParamsPaymentMethodOptionsAuBecsDebit(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentUpdateParamsPaymentMethodOptionsBacsDebit(TypedDict): mandate_options: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsBacsDebitMandateOptions" ] """ Additional fields for Mandate creation """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentUpdateParamsPaymentMethodOptionsBacsDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'. """ class PaymentIntentUpdateParamsPaymentMethodOptionsBancontact(TypedDict): preferred_language: NotRequired[Literal["de", "en", "fr", "nl"]] """ Preferred language of the Bancontact authorization page that the customer is redirected to. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsBillie(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentUpdateParamsPaymentMethodOptionsBlik(TypedDict): code: NotRequired[str] """ The 6-digit BLIK code that a customer has generated using their banking application. Can only be set on confirmation. """ setup_future_usage: NotRequired["Literal['']|Literal['none']"] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsBoleto(TypedDict): expires_after_days: NotRequired[int] """ The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto invoice will expire on Wednesday at 23:59 America/Sao_Paulo time. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsCard(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ cvc_token: NotRequired[str] """ A single-use `cvc_update` Token that represents a card CVC value. When provided, the CVC value will be verified during the card payment attempt. This parameter can only be provided during confirmation. """ installments: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsCardInstallments" ] """ Installment configuration for payments attempted on this PaymentIntent. For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments). """ mandate_options: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsCardMandateOptions" ] """ Configuration options for setting up an eMandate for cards issued in India. """ moto: NotRequired[bool] """ When specified, this parameter indicates that a transaction will be marked as MOTO (Mail Order Telephone Order) and thus out of scope for SCA. This parameter can only be provided during confirmation. """ network: NotRequired[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "girocard", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Selected network to process this PaymentIntent on. Depends on the available networks of the card attached to the PaymentIntent. Can be only set confirm-time. """ request_extended_authorization: NotRequired[ Literal["if_available", "never"] ] """ Request ability to [capture beyond the standard authorization validity window](https://stripe.com/docs/payments/extended-authorization) for this PaymentIntent. """ request_incremental_authorization: NotRequired[ Literal["if_available", "never"] ] """ Request ability to [increment the authorization](https://stripe.com/docs/payments/incremental-authorization) for this PaymentIntent. """ request_multicapture: NotRequired[Literal["if_available", "never"]] """ Request ability to make [multiple captures](https://stripe.com/docs/payments/multicapture) for this PaymentIntent. """ request_overcapture: NotRequired[Literal["if_available", "never"]] """ Request ability to [overcapture](https://stripe.com/docs/payments/overcapture) for this PaymentIntent. """ request_three_d_secure: NotRequired[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ require_cvc_recollection: NotRequired[bool] """ When enabled, using a card that is attached to a customer will require the CVC to be provided again (i.e. using the cvc_token parameter). """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ statement_descriptor_suffix_kana: NotRequired["Literal['']|str"] """ Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that's set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters. """ statement_descriptor_suffix_kanji: NotRequired["Literal['']|str"] """ Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that's set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters. """ three_d_secure: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecure" ] """ If 3D Secure authentication was performed with a third-party provider, the authentication details to use for this payment. """ class PaymentIntentUpdateParamsPaymentMethodOptionsCardInstallments(TypedDict): enabled: NotRequired[bool] """ Setting to true enables installments for this PaymentIntent. This will cause the response to contain a list of available installment plans. Setting to false will prevent any selected plan from applying to a charge. """ plan: NotRequired[ "Literal['']|PaymentIntentUpdateParamsPaymentMethodOptionsCardInstallmentsPlan" ] """ The selected installment plan to use for this payment attempt. This parameter can only be provided during confirmation. """ class PaymentIntentUpdateParamsPaymentMethodOptionsCardInstallmentsPlan( TypedDict, ): count: NotRequired[int] """ For `fixed_count` installment plans, this is required. It represents the number of installment payments your customer will make to their credit card. """ interval: NotRequired[Literal["month"]] """ For `fixed_count` installment plans, this is required. It represents the interval between installment payments your customer will make to their credit card. One of `month`. """ type: Literal["bonus", "fixed_count", "revolving"] """ Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsCardMandateOptions( TypedDict, ): amount: int """ Amount to be charged for future payments. """ amount_type: Literal["fixed", "maximum"] """ One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. """ description: NotRequired[str] """ A description of the mandate or subscription that is meant to be displayed to the customer. """ end_date: NotRequired[int] """ End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date. """ interval: Literal["day", "month", "sporadic", "week", "year"] """ Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`. """ interval_count: NotRequired[int] """ The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`. """ reference: str """ Unique identifier for the mandate or subscription. """ start_date: int """ Start date of the mandate or subscription. Start date should not be lesser than yesterday. """ supported_types: NotRequired[List[Literal["india"]]] """ Specifies the type of mandates supported. Possible values are `india`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecure(TypedDict): ares_trans_status: NotRequired[Literal["A", "C", "I", "N", "R", "U", "Y"]] """ The `transStatus` returned from the card Issuer's ACS in the ARes. """ cryptogram: str """ The cryptogram, also known as the "authentication value" (AAV, CAVV or AEVV). This value is 20 bytes, base64-encoded into a 28-character string. (Most 3D Secure providers will return the base64-encoded version, which is what you should specify here.) """ electronic_commerce_indicator: NotRequired[ Literal["01", "02", "05", "06", "07"] ] """ The Electronic Commerce Indicator (ECI) is returned by your 3D Secure provider and indicates what degree of authentication was performed. """ exemption_indicator: NotRequired[Literal["low_risk", "none"]] """ The exemption requested via 3DS and accepted by the issuer at authentication time. """ network_options: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions" ] """ Network specific 3DS fields. Network specific arguments require an explicit card brand choice. The parameter `payment_method_options.card.network`` must be populated accordingly """ requestor_challenge_indicator: NotRequired[str] """ The challenge indicator (`threeDSRequestorChallengeInd`) which was requested in the AReq sent to the card Issuer's ACS. A string containing 2 digits from 01-99. """ transaction_id: str """ For 3D Secure 1, the XID. For 3D Secure 2, the Directory Server Transaction ID (dsTransID). """ version: Literal["1.0.2", "2.1.0", "2.2.0"] """ The version of 3D Secure that was performed. """ class PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions( TypedDict, ): cartes_bancaires: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires" ] """ Cartes Bancaires-specific 3DS fields. """ class PaymentIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires( TypedDict, ): cb_avalgo: Literal["0", "1", "2", "3", "4", "A"] """ The cryptogram calculation algorithm used by the card Issuer's ACS to calculate the Authentication cryptogram. Also known as `cavvAlgorithm`. messageExtension: CB-AVALGO """ cb_exemption: NotRequired[str] """ The exemption indicator returned from Cartes Bancaires in the ARes. message extension: CB-EXEMPTION; string (4 characters) This is a 3 byte bitmap (low significant byte first and most significant bit first) that has been Base64 encoded """ cb_score: NotRequired[int] """ The risk score returned from Cartes Bancaires in the ARes. message extension: CB-SCORE; numeric value 0-99 """ 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) """ request_incremental_authorization_support: NotRequired[bool] """ 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. """ routing: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsCardPresentRouting" ] """ Network routing priority on co-branded EMV cards supporting domestic debit and international card schemes. """ class PaymentIntentUpdateParamsPaymentMethodOptionsCardPresentRouting( TypedDict, ): requested_priority: NotRequired[Literal["domestic", "international"]] """ Routing requested priority """ class PaymentIntentUpdateParamsPaymentMethodOptionsCashapp(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsCrypto(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsCustomerBalance(TypedDict): bank_transfer: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsCustomerBalanceBankTransfer" ] """ Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`. """ funding_type: NotRequired[Literal["bank_transfer"]] """ The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsCustomerBalanceBankTransfer( TypedDict, ): eu_bank_transfer: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer" ] """ Configuration for the eu_bank_transfer funding type. """ requested_address_types: NotRequired[ List[ Literal[ "aba", "iban", "sepa", "sort_code", "spei", "swift", "zengin" ] ] ] """ List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned. Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`. """ type: Literal[ "eu_bank_transfer", "gb_bank_transfer", "jp_bank_transfer", "mx_bank_transfer", "us_bank_transfer", ] """ The list of bank transfer types that this PaymentIntent is allowed to use for funding Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer( TypedDict, ): country: str """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsEps(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsFpx(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsGiropay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsGrabpay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsIdeal(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsInteracPresent(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodOptionsKakaoPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentUpdateParamsPaymentMethodOptionsKlarna(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ on_demand: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsKlarnaOnDemand" ] """ On-demand details if setting up or charging an on-demand payment. """ preferred_locale: NotRequired[ Literal[ "cs-CZ", "da-DK", "de-AT", "de-CH", "de-DE", "el-GR", "en-AT", "en-AU", "en-BE", "en-CA", "en-CH", "en-CZ", "en-DE", "en-DK", "en-ES", "en-FI", "en-FR", "en-GB", "en-GR", "en-IE", "en-IT", "en-NL", "en-NO", "en-NZ", "en-PL", "en-PT", "en-RO", "en-SE", "en-US", "es-ES", "es-US", "fi-FI", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "it-CH", "it-IT", "nb-NO", "nl-BE", "nl-NL", "pl-PL", "pt-PT", "ro-RO", "sv-FI", "sv-SE", ] ] """ Preferred language of the Klarna authorization page that the customer is redirected to """ setup_future_usage: NotRequired[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ subscriptions: NotRequired[ "Literal['']|List[PaymentIntentUpdateParamsPaymentMethodOptionsKlarnaSubscription]" ] """ Subscription details if setting up or charging a subscription. """ class PaymentIntentUpdateParamsPaymentMethodOptionsKlarnaOnDemand(TypedDict): average_amount: NotRequired[int] """ Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc. """ maximum_amount: NotRequired[int] """ The maximum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ minimum_amount: NotRequired[int] """ The lowest or minimum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ purchase_interval: NotRequired[Literal["day", "month", "week", "year"]] """ Interval at which the customer is making purchases """ purchase_interval_count: NotRequired[int] """ The number of `purchase_interval` between charges """ class PaymentIntentUpdateParamsPaymentMethodOptionsKlarnaSubscription( TypedDict, ): interval: Literal["day", "month", "week", "year"] """ Unit of time between subscription charges. """ interval_count: NotRequired[int] """ The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months. """ name: NotRequired[str] """ Name for subscription. """ next_billing: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling" ] """ Describes the upcoming charge for this subscription. """ reference: str """ A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges. """ class PaymentIntentUpdateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling( TypedDict, ): amount: int """ The amount of the next charge for the subscription. """ date: str """ The date of the next charge for the subscription in YYYY-MM-DD format. """ class PaymentIntentUpdateParamsPaymentMethodOptionsKonbini(TypedDict): confirmation_number: NotRequired["Literal['']|str"] """ An optional 10 to 11 digit numeric-only string determining the confirmation code at applicable convenience stores. Must not consist of only zeroes and could be rejected in case of insufficient uniqueness. We recommend to use the customer's phone number. """ expires_after_days: NotRequired["Literal['']|int"] """ The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST. Defaults to 3 days. """ expires_at: NotRequired["Literal['']|int"] """ The timestamp at which the Konbini payment instructions will expire. Only one of `expires_after_days` or `expires_at` may be set. """ product_description: NotRequired["Literal['']|str"] """ A product descriptor of up to 22 characters, which will appear to customers at the convenience store. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsKrCard(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentUpdateParamsPaymentMethodOptionsLink(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ persistent_token: NotRequired[str] """ [Deprecated] This is a legacy parameter that no longer has any function. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsMbWay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsMobilepay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsMultibanco(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsNaverPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentUpdateParamsPaymentMethodOptionsNzBankAccount(TypedDict): setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentUpdateParamsPaymentMethodOptionsOxxo(TypedDict): expires_after_days: NotRequired[int] """ The number of calendar days before an OXXO voucher expires. For example, if you create an OXXO voucher on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsP24(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ tos_shown_and_accepted: NotRequired[bool] """ Confirm that the payer has accepted the P24 terms and conditions. """ class PaymentIntentUpdateParamsPaymentMethodOptionsPayByBank(TypedDict): pass class PaymentIntentUpdateParamsPaymentMethodOptionsPayco(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentUpdateParamsPaymentMethodOptionsPaynow(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsPaypal(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ Controls when the funds will be captured from the customer's account. """ preferred_locale: NotRequired[ Literal[ "cs-CZ", "da-DK", "de-AT", "de-DE", "de-LU", "el-GR", "en-GB", "en-US", "es-ES", "fi-FI", "fr-BE", "fr-FR", "fr-LU", "hu-HU", "it-IT", "nl-BE", "nl-NL", "pl-PL", "pt-PT", "sk-SK", "sv-SE", ] ] """ [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to. """ reference: NotRequired[str] """ A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID. """ risk_correlation_id: NotRequired[str] """ The risk correlation ID for an on-session payment using a saved PayPal payment method. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsPix(TypedDict): amount_includes_iof: NotRequired[Literal["always", "never"]] """ Determines if the amount includes the IOF tax. Defaults to `never`. """ expires_after_seconds: NotRequired[int] """ The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. """ expires_at: NotRequired[int] """ The timestamp at which the Pix expires (between 10 and 1209600 seconds in the future). Defaults to 1 day in the future. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsPromptpay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsRevolutPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class PaymentIntentUpdateParamsPaymentMethodOptionsSamsungPay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentUpdateParamsPaymentMethodOptionsSatispay(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ 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. """ class PaymentIntentUpdateParamsPaymentMethodOptionsSepaDebit(TypedDict): mandate_options: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsSepaDebitMandateOptions" ] """ Additional fields for Mandate creation """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class PaymentIntentUpdateParamsPaymentMethodOptionsSepaDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'. """ class PaymentIntentUpdateParamsPaymentMethodOptionsSofort(TypedDict): preferred_language: NotRequired[ "Literal['']|Literal['de', 'en', 'es', 'fr', 'it', 'nl', 'pl']" ] """ Language shown to the payer on redirect. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsSwish(TypedDict): reference: NotRequired["Literal['']|str"] """ A reference for this payment to be displayed in the Swish app. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsTwint(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccount(TypedDict): financial_connections: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnections" ] """ Additional fields for Financial Connections Session creation """ mandate_options: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountMandateOptions" ] """ Additional fields for Mandate creation """ networks: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountNetworks" ] """ Additional fields for network related functions """ preferred_settlement_speed: NotRequired[ "Literal['']|Literal['fastest', 'standard']" ] """ Preferred transaction settlement speed """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session', 'on_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnections( TypedDict, ): filters: NotRequired[ "PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters" ] """ Provide filters for the linked accounts that the customer can select for the payment method. """ permissions: NotRequired[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ return_url: NotRequired[str] """ For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. """ class PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters( TypedDict, ): account_subcategories: NotRequired[List[Literal["checking", "savings"]]] """ The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountMandateOptions( TypedDict, ): collection_method: NotRequired["Literal['']|Literal['paper']"] """ The method used to collect offline mandate customer acceptance. """ class PaymentIntentUpdateParamsPaymentMethodOptionsUsBankAccountNetworks( TypedDict, ): requested: NotRequired[List[Literal["ach", "us_domestic_wire"]]] """ Triggers validations to run across the selected networks """ class PaymentIntentUpdateParamsPaymentMethodOptionsWechatPay(TypedDict): app_id: NotRequired[str] """ The app ID registered with WeChat Pay. Only required when client is ios or android. """ client: NotRequired[Literal["android", "ios", "web"]] """ The client type that the end customer will pay from """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsPaymentMethodOptionsZip(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class PaymentIntentUpdateParamsShipping(TypedDict): address: "PaymentIntentUpdateParamsShippingAddress" """ Shipping address. """ carrier: NotRequired[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: str """ Recipient name. """ phone: NotRequired[str] """ Recipient phone (including extension). """ tracking_number: NotRequired[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ class PaymentIntentUpdateParamsShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class PaymentIntentUpdateParamsTransferData(TypedDict): amount: NotRequired[int] """ The amount that will be transferred automatically when a charge succeeds. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.354062 stripe-13.2.0/stripe/params/_payment_intent_verify_microdeposits_params.py0000644000000000000000000000123215102753431024263 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentIntentVerifyMicrodepositsParams(RequestOptions): amounts: NotRequired[List[int]] """ Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account. """ descriptor_code: NotRequired[str] """ A six-character code starting with SM present in the microdeposit sent to the bank account. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3550622 stripe-13.2.0/stripe/params/_payment_link_create_params.py0000644000000000000000000011311715102753431020720 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentLinkCreateParams(RequestOptions): after_completion: NotRequired["PaymentLinkCreateParamsAfterCompletion"] """ Behavior after the purchase is complete. """ allow_promotion_codes: NotRequired[bool] """ Enables user redeemable promotion codes. """ application_fee_amount: NotRequired[int] """ The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. Can only be applied when there are no line items with recurring prices. """ application_fee_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field. """ automatic_tax: NotRequired["PaymentLinkCreateParamsAutomaticTax"] """ Configuration for automatic tax collection. """ billing_address_collection: NotRequired[Literal["auto", "required"]] """ Configuration for collecting the customer's billing address. Defaults to `auto`. """ consent_collection: NotRequired["PaymentLinkCreateParamsConsentCollection"] """ Configure fields to gather active consent from customers. """ currency: NotRequired[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies) and supported by each line item's price. """ custom_fields: NotRequired[List["PaymentLinkCreateParamsCustomField"]] """ Collect additional information from your customer using custom fields. Up to 3 fields are supported. """ custom_text: NotRequired["PaymentLinkCreateParamsCustomText"] """ Display additional text for your customers using custom text. """ customer_creation: NotRequired[Literal["always", "if_required"]] """ Configures whether [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link create a [Customer](https://stripe.com/docs/api/customers). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ inactive_message: NotRequired[str] """ The custom message to be displayed to a customer when a payment link is no longer active. """ invoice_creation: NotRequired["PaymentLinkCreateParamsInvoiceCreation"] """ Generate a post-purchase Invoice for one-time payments. """ line_items: List["PaymentLinkCreateParamsLineItem"] """ The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported. """ metadata: NotRequired[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. 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 associated with this Payment Link will automatically be copied to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link. """ name_collection: NotRequired["PaymentLinkCreateParamsNameCollection"] """ Controls settings applied for collecting the customer's name. """ on_behalf_of: NotRequired[str] """ The account on behalf of which to charge. """ optional_items: NotRequired[List["PaymentLinkCreateParamsOptionalItem"]] """ A list of optional items the customer can add to their order at checkout. Use this parameter to pass one-time or recurring [Prices](https://stripe.com/docs/api/prices). There is a maximum of 10 optional items allowed on a payment link, and the existing limits on the number of line items allowed on a payment link apply to the combined number of line items and optional items. There is a maximum of 20 combined line items and optional items. """ payment_intent_data: NotRequired[ "PaymentLinkCreateParamsPaymentIntentData" ] """ A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode. """ payment_method_collection: NotRequired[Literal["always", "if_required"]] """ Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.This may occur if the Checkout Session includes a free trial or a discount. Can only be set in `subscription` mode. Defaults to `always`. If you'd like information on how to collect a payment method outside of Checkout, read the guide on [configuring subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials). """ payment_method_types: NotRequired[ List[ Literal[ "affirm", "afterpay_clearpay", "alipay", "alma", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "card", "cashapp", "eps", "fpx", "giropay", "grabpay", "ideal", "klarna", "konbini", "link", "mb_way", "mobilepay", "multibanco", "oxxo", "p24", "pay_by_bank", "paynow", "paypal", "pix", "promptpay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] ] ] """ The list of payment method types that customers can use. If no value is passed, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods) (20+ payment methods [supported](https://stripe.com/docs/payments/payment-methods/integration-options#payment-method-product-support)). """ phone_number_collection: NotRequired[ "PaymentLinkCreateParamsPhoneNumberCollection" ] """ Controls phone number collection settings during checkout. We recommend that you review your privacy policy and check with your legal contacts. """ restrictions: NotRequired["PaymentLinkCreateParamsRestrictions"] """ Settings that restrict the usage of a payment link. """ shipping_address_collection: NotRequired[ "PaymentLinkCreateParamsShippingAddressCollection" ] """ Configuration for collecting the customer's shipping address. """ shipping_options: NotRequired[ List["PaymentLinkCreateParamsShippingOption"] ] """ The shipping rate options to apply to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link. """ submit_type: NotRequired[ Literal["auto", "book", "donate", "pay", "subscribe"] ] """ Describes the type of transaction being performed in order to customize relevant text on the page, such as the submit button. Changing this value will also affect the hostname in the [url](https://stripe.com/docs/api/payment_links/payment_links/object#url) property (example: `donate.stripe.com`). """ subscription_data: NotRequired["PaymentLinkCreateParamsSubscriptionData"] """ When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use `subscription_data`. """ tax_id_collection: NotRequired["PaymentLinkCreateParamsTaxIdCollection"] """ Controls tax ID collection during checkout. """ transfer_data: NotRequired["PaymentLinkCreateParamsTransferData"] """ The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to. """ class PaymentLinkCreateParamsAfterCompletion(TypedDict): hosted_confirmation: NotRequired[ "PaymentLinkCreateParamsAfterCompletionHostedConfirmation" ] """ Configuration when `type=hosted_confirmation`. """ redirect: NotRequired["PaymentLinkCreateParamsAfterCompletionRedirect"] """ Configuration when `type=redirect`. """ type: Literal["hosted_confirmation", "redirect"] """ The specified behavior after the purchase is complete. Either `redirect` or `hosted_confirmation`. """ class PaymentLinkCreateParamsAfterCompletionHostedConfirmation(TypedDict): custom_message: NotRequired[str] """ A custom message to display to the customer after the purchase is complete. """ class PaymentLinkCreateParamsAfterCompletionRedirect(TypedDict): url: str """ The URL the customer will be redirected to after the purchase is complete. You can embed `{CHECKOUT_SESSION_ID}` into the URL to have the `id` of the completed [checkout session](https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-id) included. """ class PaymentLinkCreateParamsAutomaticTax(TypedDict): enabled: bool """ Set to `true` to [calculate tax automatically](https://docs.stripe.com/tax) using the customer's location. Enabling this parameter causes the payment link to collect any billing address information necessary for tax calculation. """ liability: NotRequired["PaymentLinkCreateParamsAutomaticTaxLiability"] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class PaymentLinkCreateParamsAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class PaymentLinkCreateParamsConsentCollection(TypedDict): payment_method_reuse_agreement: NotRequired[ "PaymentLinkCreateParamsConsentCollectionPaymentMethodReuseAgreement" ] """ Determines the display of payment method reuse agreement text in the UI. If set to `hidden`, it will hide legal text related to the reuse of a payment method. """ promotions: NotRequired[Literal["auto", "none"]] """ If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout Session will determine whether to display an option to opt into promotional communication from the merchant depending on the customer's locale. Only available to US merchants. """ terms_of_service: NotRequired[Literal["none", "required"]] """ If set to `required`, it requires customers to check a terms of service checkbox before being able to pay. There must be a valid terms of service URL set in your [Dashboard settings](https://dashboard.stripe.com/settings/public). """ class PaymentLinkCreateParamsConsentCollectionPaymentMethodReuseAgreement( TypedDict, ): position: Literal["auto", "hidden"] """ Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's defaults will be used. When set to `hidden`, the payment method reuse agreement text will always be hidden in the UI. """ class PaymentLinkCreateParamsCustomField(TypedDict): dropdown: NotRequired["PaymentLinkCreateParamsCustomFieldDropdown"] """ Configuration for `type=dropdown` fields. """ key: str """ String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters. """ label: "PaymentLinkCreateParamsCustomFieldLabel" """ The label for the field, displayed to the customer. """ numeric: NotRequired["PaymentLinkCreateParamsCustomFieldNumeric"] """ Configuration for `type=numeric` fields. """ optional: NotRequired[bool] """ Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. """ text: NotRequired["PaymentLinkCreateParamsCustomFieldText"] """ Configuration for `type=text` fields. """ type: Literal["dropdown", "numeric", "text"] """ The type of the field. """ class PaymentLinkCreateParamsCustomFieldDropdown(TypedDict): default_value: NotRequired[str] """ The value that will pre-fill the field on the payment page.Must match a `value` in the `options` array. """ options: List["PaymentLinkCreateParamsCustomFieldDropdownOption"] """ The options available for the customer to select. Up to 200 options allowed. """ class PaymentLinkCreateParamsCustomFieldDropdownOption(TypedDict): label: str """ The label for the option, displayed to the customer. Up to 100 characters. """ value: str """ The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters. """ class PaymentLinkCreateParamsCustomFieldLabel(TypedDict): custom: str """ Custom text for the label, displayed to the customer. Up to 50 characters. """ type: Literal["custom"] """ The type of the label. """ class PaymentLinkCreateParamsCustomFieldNumeric(TypedDict): default_value: NotRequired[str] """ The value that will pre-fill the field on the payment page. """ maximum_length: NotRequired[int] """ The maximum character length constraint for the customer's input. """ minimum_length: NotRequired[int] """ The minimum character length requirement for the customer's input. """ class PaymentLinkCreateParamsCustomFieldText(TypedDict): default_value: NotRequired[str] """ The value that will pre-fill the field on the payment page. """ maximum_length: NotRequired[int] """ The maximum character length constraint for the customer's input. """ minimum_length: NotRequired[int] """ The minimum character length requirement for the customer's input. """ class PaymentLinkCreateParamsCustomText(TypedDict): after_submit: NotRequired[ "Literal['']|PaymentLinkCreateParamsCustomTextAfterSubmit" ] """ Custom text that should be displayed after the payment confirmation button. """ shipping_address: NotRequired[ "Literal['']|PaymentLinkCreateParamsCustomTextShippingAddress" ] """ Custom text that should be displayed alongside shipping address collection. """ submit: NotRequired["Literal['']|PaymentLinkCreateParamsCustomTextSubmit"] """ Custom text that should be displayed alongside the payment confirmation button. """ terms_of_service_acceptance: NotRequired[ "Literal['']|PaymentLinkCreateParamsCustomTextTermsOfServiceAcceptance" ] """ Custom text that should be displayed in place of the default terms of service agreement text. """ class PaymentLinkCreateParamsCustomTextAfterSubmit(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class PaymentLinkCreateParamsCustomTextShippingAddress(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class PaymentLinkCreateParamsCustomTextSubmit(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class PaymentLinkCreateParamsCustomTextTermsOfServiceAcceptance(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class PaymentLinkCreateParamsInvoiceCreation(TypedDict): enabled: bool """ Whether the feature is enabled """ invoice_data: NotRequired[ "PaymentLinkCreateParamsInvoiceCreationInvoiceData" ] """ Invoice PDF configuration. """ class PaymentLinkCreateParamsInvoiceCreationInvoiceData(TypedDict): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with the invoice. """ custom_fields: NotRequired[ "Literal['']|List[PaymentLinkCreateParamsInvoiceCreationInvoiceDataCustomField]" ] """ Default custom fields to be displayed on invoices for this customer. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ footer: NotRequired[str] """ Default footer to be displayed on invoices for this customer. """ issuer: NotRequired[ "PaymentLinkCreateParamsInvoiceCreationInvoiceDataIssuer" ] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ rendering_options: NotRequired[ "Literal['']|PaymentLinkCreateParamsInvoiceCreationInvoiceDataRenderingOptions" ] """ Default options for invoice PDF rendering for this customer. """ class PaymentLinkCreateParamsInvoiceCreationInvoiceDataCustomField(TypedDict): name: str """ The name of the custom field. This may be up to 40 characters. """ value: str """ The value of the custom field. This may be up to 140 characters. """ class PaymentLinkCreateParamsInvoiceCreationInvoiceDataIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class PaymentLinkCreateParamsInvoiceCreationInvoiceDataRenderingOptions( TypedDict, ): amount_tax_display: NotRequired[ "Literal['']|Literal['exclude_tax', 'include_inclusive_tax']" ] """ 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. """ template: NotRequired[str] """ ID of the invoice rendering template to use for this invoice. """ class PaymentLinkCreateParamsLineItem(TypedDict): adjustable_quantity: NotRequired[ "PaymentLinkCreateParamsLineItemAdjustableQuantity" ] """ When set, provides configuration for this item's quantity to be adjusted by the customer during checkout. """ price: NotRequired[str] """ The ID of the [Price](https://stripe.com/docs/api/prices) or [Plan](https://stripe.com/docs/api/plans) object. One of `price` or `price_data` is required. """ price_data: NotRequired["PaymentLinkCreateParamsLineItemPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: int """ The quantity of the line item being purchased. """ class PaymentLinkCreateParamsLineItemAdjustableQuantity(TypedDict): enabled: bool """ Set to true if the quantity can be adjusted to any non-negative Integer. """ maximum: NotRequired[int] """ The maximum quantity the customer can purchase. By default this value is 99. You can specify a value up to 999999. """ minimum: NotRequired[int] """ The minimum quantity the customer can purchase. By default this value is 0. If there is only one item in the cart then that item's quantity cannot go down to 0. """ class PaymentLinkCreateParamsLineItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: NotRequired[str] """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. One of `product` or `product_data` is required. """ product_data: NotRequired[ "PaymentLinkCreateParamsLineItemPriceDataProductData" ] """ Data used to generate a new [Product](https://docs.stripe.com/api/products) object inline. One of `product` or `product_data` is required. """ recurring: NotRequired["PaymentLinkCreateParamsLineItemPriceDataRecurring"] """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A non-negative integer in cents (or local equivalent) representing how much to charge. One of `unit_amount` or `unit_amount_decimal` is required. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class PaymentLinkCreateParamsLineItemPriceDataProductData(TypedDict): description: NotRequired[str] """ 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. """ images: NotRequired[List[str]] """ A list of up to 8 URLs of images for this product, meant to be displayable to the customer. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: str """ The product's name, meant to be displayable to the customer. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ unit_label: NotRequired[str] """ A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. """ class PaymentLinkCreateParamsLineItemPriceDataRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ class PaymentLinkCreateParamsNameCollection(TypedDict): business: NotRequired["PaymentLinkCreateParamsNameCollectionBusiness"] """ Controls settings applied for collecting the customer's business name. """ individual: NotRequired["PaymentLinkCreateParamsNameCollectionIndividual"] """ Controls settings applied for collecting the customer's individual name. """ class PaymentLinkCreateParamsNameCollectionBusiness(TypedDict): enabled: bool """ Enable business name collection on the payment link. Defaults to `false`. """ optional: NotRequired[bool] """ Whether the customer is required to provide their business name before checking out. Defaults to `false`. """ class PaymentLinkCreateParamsNameCollectionIndividual(TypedDict): enabled: bool """ Enable individual name collection on the payment link. Defaults to `false`. """ optional: NotRequired[bool] """ Whether the customer is required to provide their full name before checking out. Defaults to `false`. """ class PaymentLinkCreateParamsOptionalItem(TypedDict): adjustable_quantity: NotRequired[ "PaymentLinkCreateParamsOptionalItemAdjustableQuantity" ] """ When set, provides configuration for the customer to adjust the quantity of the line item created when a customer chooses to add this optional item to their order. """ price: str """ The ID of the [Price](https://stripe.com/docs/api/prices) or [Plan](https://stripe.com/docs/api/plans) object. """ quantity: int """ The initial quantity of the line item created when a customer chooses to add this optional item to their order. """ class PaymentLinkCreateParamsOptionalItemAdjustableQuantity(TypedDict): enabled: bool """ Set to true if the quantity can be adjusted to any non-negative integer. """ maximum: NotRequired[int] """ The maximum quantity of this item the customer can purchase. By default this value is 99. """ minimum: NotRequired[int] """ The minimum quantity of this item the customer must purchase, if they choose to purchase it. Because this item is optional, the customer will always be able to remove it from their order, even if the `minimum` configured here is greater than 0. By default this value is 0. """ class PaymentLinkCreateParamsPaymentIntentData(TypedDict): capture_method: NotRequired[ Literal["automatic", "automatic_async", "manual"] ] """ Controls when the funds will be captured from the customer's account. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ metadata: NotRequired[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will declaratively set metadata on [Payment Intents](https://stripe.com/docs/api/payment_intents) generated from this payment link. Unlike object-level metadata, this field is declarative. Updates will clear prior values. """ setup_future_usage: NotRequired[Literal["off_session", "on_session"]] """ Indicates that you intend to [make future payments](https://stripe.com/docs/payments/payment-intents#future-usage) with the payment method collected by this Checkout Session. When setting this to `on_session`, Checkout will show a notice to the customer that their payment details will be saved. When setting this to `off_session`, Checkout will show a notice to the customer that their payment details will be saved and used for future payments. If a Customer has been provided or Checkout creates a new Customer,Checkout will attach the payment method to the Customer. If Checkout does not create a Customer, the payment method is not attached to a Customer. To reuse the payment method, you can retrieve it from the Checkout Session's PaymentIntent. When processing card payments, Checkout also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as SCA. """ statement_descriptor: NotRequired[str] """ Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. """ statement_descriptor_suffix: NotRequired[str] """ Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. """ transfer_group: NotRequired[str] """ A string that identifies the resulting payment as part of a group. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers) for details. """ class PaymentLinkCreateParamsPhoneNumberCollection(TypedDict): enabled: bool """ Set to `true` to enable phone number collection. """ class PaymentLinkCreateParamsRestrictions(TypedDict): completed_sessions: "PaymentLinkCreateParamsRestrictionsCompletedSessions" """ Configuration for the `completed_sessions` restriction type. """ class PaymentLinkCreateParamsRestrictionsCompletedSessions(TypedDict): limit: int """ The maximum number of checkout sessions that can be completed for the `completed_sessions` restriction to be met. """ class PaymentLinkCreateParamsShippingAddressCollection(TypedDict): allowed_countries: List[ Literal[ "AC", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CV", "CW", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MK", "ML", "MM", "MN", "MO", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SZ", "TA", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VN", "VU", "WF", "WS", "XK", "YE", "YT", "ZA", "ZM", "ZW", "ZZ", ] ] """ An array of two-letter ISO country codes representing which countries Checkout should provide as options for shipping locations. """ class PaymentLinkCreateParamsShippingOption(TypedDict): shipping_rate: NotRequired[str] """ The ID of the Shipping Rate to use for this shipping option. """ class PaymentLinkCreateParamsSubscriptionData(TypedDict): description: NotRequired[str] """ The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ invoice_settings: NotRequired[ "PaymentLinkCreateParamsSubscriptionDataInvoiceSettings" ] """ All invoices will be billed using the specified settings. """ metadata: NotRequired[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will declaratively set metadata on [Subscriptions](https://stripe.com/docs/api/subscriptions) generated from this payment link. Unlike object-level metadata, this field is declarative. Updates will clear prior values. """ trial_period_days: NotRequired[int] """ Integer representing the number of trial period days before the customer is charged for the first time. Has to be at least 1. """ trial_settings: NotRequired[ "PaymentLinkCreateParamsSubscriptionDataTrialSettings" ] """ Settings related to subscription trials. """ class PaymentLinkCreateParamsSubscriptionDataInvoiceSettings(TypedDict): issuer: NotRequired[ "PaymentLinkCreateParamsSubscriptionDataInvoiceSettingsIssuer" ] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class PaymentLinkCreateParamsSubscriptionDataInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class PaymentLinkCreateParamsSubscriptionDataTrialSettings(TypedDict): end_behavior: ( "PaymentLinkCreateParamsSubscriptionDataTrialSettingsEndBehavior" ) """ Defines how the subscription should behave when the user's free trial ends. """ class PaymentLinkCreateParamsSubscriptionDataTrialSettingsEndBehavior( TypedDict, ): missing_payment_method: Literal["cancel", "create_invoice", "pause"] """ Indicates how the subscription should change when the trial ends if the user did not provide a payment method. """ class PaymentLinkCreateParamsTaxIdCollection(TypedDict): enabled: bool """ Enable tax ID collection during checkout. Defaults to `false`. """ required: NotRequired[Literal["if_supported", "never"]] """ Describes whether a tax ID is required during checkout. Defaults to `never`. """ class PaymentLinkCreateParamsTransferData(TypedDict): amount: NotRequired[int] """ The amount that will be transferred automatically when a charge succeeds. """ destination: str """ If specified, successful charges will be attributed to the destination account for tax reporting, and the funds from charges will be transferred to the destination account. The ID of the resulting transfer will be returned on the successful charge's `transfer` field. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3550622 stripe-13.2.0/stripe/params/_payment_link_line_item_list_params.py0000644000000000000000000000221415102753431022450 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class PaymentLinkLineItemListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3550622 stripe-13.2.0/stripe/params/_payment_link_list_line_items_params.py0000644000000000000000000000227215102753431022637 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentLinkListLineItemsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3550622 stripe-13.2.0/stripe/params/_payment_link_list_params.py0000644000000000000000000000252215102753431020425 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentLinkListParams(RequestOptions): active: NotRequired[bool] """ Only return payment links that are active or inactive (e.g., pass `false` to list all inactive payment links). """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3550622 stripe-13.2.0/stripe/params/_payment_link_modify_params.py0000644000000000000000000006471115102753431020751 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentLinkModifyParams(RequestOptions): active: NotRequired[bool] """ Whether the payment link's `url` is active. If `false`, customers visiting the URL will be shown a page saying that the link has been deactivated. """ after_completion: NotRequired["PaymentLinkModifyParamsAfterCompletion"] """ Behavior after the purchase is complete. """ allow_promotion_codes: NotRequired[bool] """ Enables user redeemable promotion codes. """ automatic_tax: NotRequired["PaymentLinkModifyParamsAutomaticTax"] """ Configuration for automatic tax collection. """ billing_address_collection: NotRequired[Literal["auto", "required"]] """ Configuration for collecting the customer's billing address. Defaults to `auto`. """ custom_fields: NotRequired[ "Literal['']|List[PaymentLinkModifyParamsCustomField]" ] """ Collect additional information from your customer using custom fields. Up to 3 fields are supported. """ custom_text: NotRequired["PaymentLinkModifyParamsCustomText"] """ Display additional text for your customers using custom text. """ customer_creation: NotRequired[Literal["always", "if_required"]] """ Configures whether [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link create a [Customer](https://stripe.com/docs/api/customers). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ inactive_message: NotRequired["Literal['']|str"] """ The custom message to be displayed to a customer when a payment link is no longer active. """ invoice_creation: NotRequired["PaymentLinkModifyParamsInvoiceCreation"] """ Generate a post-purchase Invoice for one-time payments. """ line_items: NotRequired[List["PaymentLinkModifyParamsLineItem"]] """ The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported. """ metadata: NotRequired[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. 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 associated with this Payment Link will automatically be copied to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link. """ name_collection: NotRequired[ "Literal['']|PaymentLinkModifyParamsNameCollection" ] """ Controls settings applied for collecting the customer's name. """ payment_intent_data: NotRequired[ "PaymentLinkModifyParamsPaymentIntentData" ] """ A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode. """ payment_method_collection: NotRequired[Literal["always", "if_required"]] """ Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.This may occur if the Checkout Session includes a free trial or a discount. Can only be set in `subscription` mode. Defaults to `always`. If you'd like information on how to collect a payment method outside of Checkout, read the guide on [configuring subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials). """ payment_method_types: NotRequired[ "Literal['']|List[Literal['affirm', 'afterpay_clearpay', 'alipay', 'alma', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'eps', 'fpx', 'giropay', 'grabpay', 'ideal', 'klarna', 'konbini', 'link', 'mb_way', 'mobilepay', 'multibanco', 'oxxo', 'p24', 'pay_by_bank', 'paynow', 'paypal', 'pix', 'promptpay', 'satispay', 'sepa_debit', 'sofort', 'swish', 'twint', 'us_bank_account', 'wechat_pay', 'zip']]" ] """ The list of payment method types that customers can use. Pass an empty string to enable dynamic payment methods that use your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). """ phone_number_collection: NotRequired[ "PaymentLinkModifyParamsPhoneNumberCollection" ] """ Controls phone number collection settings during checkout. We recommend that you review your privacy policy and check with your legal contacts. """ restrictions: NotRequired[ "Literal['']|PaymentLinkModifyParamsRestrictions" ] """ Settings that restrict the usage of a payment link. """ shipping_address_collection: NotRequired[ "Literal['']|PaymentLinkModifyParamsShippingAddressCollection" ] """ Configuration for collecting the customer's shipping address. """ submit_type: NotRequired[ Literal["auto", "book", "donate", "pay", "subscribe"] ] """ Describes the type of transaction being performed in order to customize relevant text on the page, such as the submit button. Changing this value will also affect the hostname in the [url](https://stripe.com/docs/api/payment_links/payment_links/object#url) property (example: `donate.stripe.com`). """ subscription_data: NotRequired["PaymentLinkModifyParamsSubscriptionData"] """ When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use `subscription_data`. """ tax_id_collection: NotRequired["PaymentLinkModifyParamsTaxIdCollection"] """ Controls tax ID collection during checkout. """ class PaymentLinkModifyParamsAfterCompletion(TypedDict): hosted_confirmation: NotRequired[ "PaymentLinkModifyParamsAfterCompletionHostedConfirmation" ] """ Configuration when `type=hosted_confirmation`. """ redirect: NotRequired["PaymentLinkModifyParamsAfterCompletionRedirect"] """ Configuration when `type=redirect`. """ type: Literal["hosted_confirmation", "redirect"] """ The specified behavior after the purchase is complete. Either `redirect` or `hosted_confirmation`. """ class PaymentLinkModifyParamsAfterCompletionHostedConfirmation(TypedDict): custom_message: NotRequired[str] """ A custom message to display to the customer after the purchase is complete. """ class PaymentLinkModifyParamsAfterCompletionRedirect(TypedDict): url: str """ The URL the customer will be redirected to after the purchase is complete. You can embed `{CHECKOUT_SESSION_ID}` into the URL to have the `id` of the completed [checkout session](https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-id) included. """ class PaymentLinkModifyParamsAutomaticTax(TypedDict): enabled: bool """ Set to `true` to [calculate tax automatically](https://docs.stripe.com/tax) using the customer's location. Enabling this parameter causes the payment link to collect any billing address information necessary for tax calculation. """ liability: NotRequired["PaymentLinkModifyParamsAutomaticTaxLiability"] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class PaymentLinkModifyParamsAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class PaymentLinkModifyParamsCustomField(TypedDict): dropdown: NotRequired["PaymentLinkModifyParamsCustomFieldDropdown"] """ Configuration for `type=dropdown` fields. """ key: str """ String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters. """ label: "PaymentLinkModifyParamsCustomFieldLabel" """ The label for the field, displayed to the customer. """ numeric: NotRequired["PaymentLinkModifyParamsCustomFieldNumeric"] """ Configuration for `type=numeric` fields. """ optional: NotRequired[bool] """ Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. """ text: NotRequired["PaymentLinkModifyParamsCustomFieldText"] """ Configuration for `type=text` fields. """ type: Literal["dropdown", "numeric", "text"] """ The type of the field. """ class PaymentLinkModifyParamsCustomFieldDropdown(TypedDict): default_value: NotRequired[str] """ The value that will pre-fill the field on the payment page.Must match a `value` in the `options` array. """ options: List["PaymentLinkModifyParamsCustomFieldDropdownOption"] """ The options available for the customer to select. Up to 200 options allowed. """ class PaymentLinkModifyParamsCustomFieldDropdownOption(TypedDict): label: str """ The label for the option, displayed to the customer. Up to 100 characters. """ value: str """ The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters. """ class PaymentLinkModifyParamsCustomFieldLabel(TypedDict): custom: str """ Custom text for the label, displayed to the customer. Up to 50 characters. """ type: Literal["custom"] """ The type of the label. """ class PaymentLinkModifyParamsCustomFieldNumeric(TypedDict): default_value: NotRequired[str] """ The value that will pre-fill the field on the payment page. """ maximum_length: NotRequired[int] """ The maximum character length constraint for the customer's input. """ minimum_length: NotRequired[int] """ The minimum character length requirement for the customer's input. """ class PaymentLinkModifyParamsCustomFieldText(TypedDict): default_value: NotRequired[str] """ The value that will pre-fill the field on the payment page. """ maximum_length: NotRequired[int] """ The maximum character length constraint for the customer's input. """ minimum_length: NotRequired[int] """ The minimum character length requirement for the customer's input. """ class PaymentLinkModifyParamsCustomText(TypedDict): after_submit: NotRequired[ "Literal['']|PaymentLinkModifyParamsCustomTextAfterSubmit" ] """ Custom text that should be displayed after the payment confirmation button. """ shipping_address: NotRequired[ "Literal['']|PaymentLinkModifyParamsCustomTextShippingAddress" ] """ Custom text that should be displayed alongside shipping address collection. """ submit: NotRequired["Literal['']|PaymentLinkModifyParamsCustomTextSubmit"] """ Custom text that should be displayed alongside the payment confirmation button. """ terms_of_service_acceptance: NotRequired[ "Literal['']|PaymentLinkModifyParamsCustomTextTermsOfServiceAcceptance" ] """ Custom text that should be displayed in place of the default terms of service agreement text. """ class PaymentLinkModifyParamsCustomTextAfterSubmit(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class PaymentLinkModifyParamsCustomTextShippingAddress(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class PaymentLinkModifyParamsCustomTextSubmit(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class PaymentLinkModifyParamsCustomTextTermsOfServiceAcceptance(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class PaymentLinkModifyParamsInvoiceCreation(TypedDict): enabled: bool """ Whether the feature is enabled """ invoice_data: NotRequired[ "PaymentLinkModifyParamsInvoiceCreationInvoiceData" ] """ Invoice PDF configuration. """ class PaymentLinkModifyParamsInvoiceCreationInvoiceData(TypedDict): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with the invoice. """ custom_fields: NotRequired[ "Literal['']|List[PaymentLinkModifyParamsInvoiceCreationInvoiceDataCustomField]" ] """ Default custom fields to be displayed on invoices for this customer. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ footer: NotRequired[str] """ Default footer to be displayed on invoices for this customer. """ issuer: NotRequired[ "PaymentLinkModifyParamsInvoiceCreationInvoiceDataIssuer" ] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ rendering_options: NotRequired[ "Literal['']|PaymentLinkModifyParamsInvoiceCreationInvoiceDataRenderingOptions" ] """ Default options for invoice PDF rendering for this customer. """ class PaymentLinkModifyParamsInvoiceCreationInvoiceDataCustomField(TypedDict): name: str """ The name of the custom field. This may be up to 40 characters. """ value: str """ The value of the custom field. This may be up to 140 characters. """ class PaymentLinkModifyParamsInvoiceCreationInvoiceDataIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class PaymentLinkModifyParamsInvoiceCreationInvoiceDataRenderingOptions( TypedDict, ): amount_tax_display: NotRequired[ "Literal['']|Literal['exclude_tax', 'include_inclusive_tax']" ] """ 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. """ template: NotRequired[str] """ ID of the invoice rendering template to use for this invoice. """ class PaymentLinkModifyParamsLineItem(TypedDict): adjustable_quantity: NotRequired[ "PaymentLinkModifyParamsLineItemAdjustableQuantity" ] """ When set, provides configuration for this item's quantity to be adjusted by the customer during checkout. """ id: str """ The ID of an existing line item on the payment link. """ quantity: NotRequired[int] """ The quantity of the line item being purchased. """ class PaymentLinkModifyParamsLineItemAdjustableQuantity(TypedDict): enabled: bool """ Set to true if the quantity can be adjusted to any non-negative Integer. """ maximum: NotRequired[int] """ The maximum quantity the customer can purchase. By default this value is 99. You can specify a value up to 999999. """ minimum: NotRequired[int] """ The minimum quantity the customer can purchase. By default this value is 0. If there is only one item in the cart then that item's quantity cannot go down to 0. """ class PaymentLinkModifyParamsNameCollection(TypedDict): business: NotRequired["PaymentLinkModifyParamsNameCollectionBusiness"] """ Controls settings applied for collecting the customer's business name. """ individual: NotRequired["PaymentLinkModifyParamsNameCollectionIndividual"] """ Controls settings applied for collecting the customer's individual name. """ class PaymentLinkModifyParamsNameCollectionBusiness(TypedDict): enabled: bool """ Enable business name collection on the payment link. Defaults to `false`. """ optional: NotRequired[bool] """ Whether the customer is required to provide their business name before checking out. Defaults to `false`. """ class PaymentLinkModifyParamsNameCollectionIndividual(TypedDict): enabled: bool """ Enable individual name collection on the payment link. Defaults to `false`. """ optional: NotRequired[bool] """ Whether the customer is required to provide their full name before checking out. Defaults to `false`. """ class PaymentLinkModifyParamsPaymentIntentData(TypedDict): description: NotRequired["Literal['']|str"] """ An arbitrary string attached to the object. Often useful for displaying to users. """ metadata: NotRequired["Literal['']|Dict[str, str]"] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will declaratively set metadata on [Payment Intents](https://stripe.com/docs/api/payment_intents) generated from this payment link. Unlike object-level metadata, this field is declarative. Updates will clear prior values. """ statement_descriptor: NotRequired["Literal['']|str"] """ Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. """ statement_descriptor_suffix: NotRequired["Literal['']|str"] """ Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. """ transfer_group: NotRequired["Literal['']|str"] """ A string that identifies the resulting payment as part of a group. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers) for details. """ class PaymentLinkModifyParamsPhoneNumberCollection(TypedDict): enabled: bool """ Set to `true` to enable phone number collection. """ class PaymentLinkModifyParamsRestrictions(TypedDict): completed_sessions: "PaymentLinkModifyParamsRestrictionsCompletedSessions" """ Configuration for the `completed_sessions` restriction type. """ class PaymentLinkModifyParamsRestrictionsCompletedSessions(TypedDict): limit: int """ The maximum number of checkout sessions that can be completed for the `completed_sessions` restriction to be met. """ class PaymentLinkModifyParamsShippingAddressCollection(TypedDict): allowed_countries: List[ Literal[ "AC", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CV", "CW", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MK", "ML", "MM", "MN", "MO", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SZ", "TA", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VN", "VU", "WF", "WS", "XK", "YE", "YT", "ZA", "ZM", "ZW", "ZZ", ] ] """ An array of two-letter ISO country codes representing which countries Checkout should provide as options for shipping locations. """ class PaymentLinkModifyParamsSubscriptionData(TypedDict): invoice_settings: NotRequired[ "PaymentLinkModifyParamsSubscriptionDataInvoiceSettings" ] """ All invoices will be billed using the specified settings. """ metadata: NotRequired["Literal['']|Dict[str, str]"] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will declaratively set metadata on [Subscriptions](https://stripe.com/docs/api/subscriptions) generated from this payment link. Unlike object-level metadata, this field is declarative. Updates will clear prior values. """ trial_period_days: NotRequired["Literal['']|int"] """ Integer representing the number of trial period days before the customer is charged for the first time. Has to be at least 1. """ trial_settings: NotRequired[ "Literal['']|PaymentLinkModifyParamsSubscriptionDataTrialSettings" ] """ Settings related to subscription trials. """ class PaymentLinkModifyParamsSubscriptionDataInvoiceSettings(TypedDict): issuer: NotRequired[ "PaymentLinkModifyParamsSubscriptionDataInvoiceSettingsIssuer" ] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class PaymentLinkModifyParamsSubscriptionDataInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class PaymentLinkModifyParamsSubscriptionDataTrialSettings(TypedDict): end_behavior: ( "PaymentLinkModifyParamsSubscriptionDataTrialSettingsEndBehavior" ) """ Defines how the subscription should behave when the user's free trial ends. """ class PaymentLinkModifyParamsSubscriptionDataTrialSettingsEndBehavior( TypedDict, ): missing_payment_method: Literal["cancel", "create_invoice", "pause"] """ Indicates how the subscription should change when the trial ends if the user did not provide a payment method. """ class PaymentLinkModifyParamsTaxIdCollection(TypedDict): enabled: bool """ Enable tax ID collection during checkout. Defaults to `false`. """ required: NotRequired[Literal["if_supported", "never"]] """ Describes whether a tax ID is required during checkout. Defaults to `never`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3550622 stripe-13.2.0/stripe/params/_payment_link_retrieve_params.py0000644000000000000000000000053115102753431021275 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentLinkRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3550622 stripe-13.2.0/stripe/params/_payment_link_update_params.py0000644000000000000000000006462115102753431020744 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentLinkUpdateParams(TypedDict): active: NotRequired[bool] """ Whether the payment link's `url` is active. If `false`, customers visiting the URL will be shown a page saying that the link has been deactivated. """ after_completion: NotRequired["PaymentLinkUpdateParamsAfterCompletion"] """ Behavior after the purchase is complete. """ allow_promotion_codes: NotRequired[bool] """ Enables user redeemable promotion codes. """ automatic_tax: NotRequired["PaymentLinkUpdateParamsAutomaticTax"] """ Configuration for automatic tax collection. """ billing_address_collection: NotRequired[Literal["auto", "required"]] """ Configuration for collecting the customer's billing address. Defaults to `auto`. """ custom_fields: NotRequired[ "Literal['']|List[PaymentLinkUpdateParamsCustomField]" ] """ Collect additional information from your customer using custom fields. Up to 3 fields are supported. """ custom_text: NotRequired["PaymentLinkUpdateParamsCustomText"] """ Display additional text for your customers using custom text. """ customer_creation: NotRequired[Literal["always", "if_required"]] """ Configures whether [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link create a [Customer](https://stripe.com/docs/api/customers). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ inactive_message: NotRequired["Literal['']|str"] """ The custom message to be displayed to a customer when a payment link is no longer active. """ invoice_creation: NotRequired["PaymentLinkUpdateParamsInvoiceCreation"] """ Generate a post-purchase Invoice for one-time payments. """ line_items: NotRequired[List["PaymentLinkUpdateParamsLineItem"]] """ The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported. """ metadata: NotRequired[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. 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 associated with this Payment Link will automatically be copied to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link. """ name_collection: NotRequired[ "Literal['']|PaymentLinkUpdateParamsNameCollection" ] """ Controls settings applied for collecting the customer's name. """ payment_intent_data: NotRequired[ "PaymentLinkUpdateParamsPaymentIntentData" ] """ A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode. """ payment_method_collection: NotRequired[Literal["always", "if_required"]] """ Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.This may occur if the Checkout Session includes a free trial or a discount. Can only be set in `subscription` mode. Defaults to `always`. If you'd like information on how to collect a payment method outside of Checkout, read the guide on [configuring subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials). """ payment_method_types: NotRequired[ "Literal['']|List[Literal['affirm', 'afterpay_clearpay', 'alipay', 'alma', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'eps', 'fpx', 'giropay', 'grabpay', 'ideal', 'klarna', 'konbini', 'link', 'mb_way', 'mobilepay', 'multibanco', 'oxxo', 'p24', 'pay_by_bank', 'paynow', 'paypal', 'pix', 'promptpay', 'satispay', 'sepa_debit', 'sofort', 'swish', 'twint', 'us_bank_account', 'wechat_pay', 'zip']]" ] """ The list of payment method types that customers can use. Pass an empty string to enable dynamic payment methods that use your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). """ phone_number_collection: NotRequired[ "PaymentLinkUpdateParamsPhoneNumberCollection" ] """ Controls phone number collection settings during checkout. We recommend that you review your privacy policy and check with your legal contacts. """ restrictions: NotRequired[ "Literal['']|PaymentLinkUpdateParamsRestrictions" ] """ Settings that restrict the usage of a payment link. """ shipping_address_collection: NotRequired[ "Literal['']|PaymentLinkUpdateParamsShippingAddressCollection" ] """ Configuration for collecting the customer's shipping address. """ submit_type: NotRequired[ Literal["auto", "book", "donate", "pay", "subscribe"] ] """ Describes the type of transaction being performed in order to customize relevant text on the page, such as the submit button. Changing this value will also affect the hostname in the [url](https://stripe.com/docs/api/payment_links/payment_links/object#url) property (example: `donate.stripe.com`). """ subscription_data: NotRequired["PaymentLinkUpdateParamsSubscriptionData"] """ When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use `subscription_data`. """ tax_id_collection: NotRequired["PaymentLinkUpdateParamsTaxIdCollection"] """ Controls tax ID collection during checkout. """ class PaymentLinkUpdateParamsAfterCompletion(TypedDict): hosted_confirmation: NotRequired[ "PaymentLinkUpdateParamsAfterCompletionHostedConfirmation" ] """ Configuration when `type=hosted_confirmation`. """ redirect: NotRequired["PaymentLinkUpdateParamsAfterCompletionRedirect"] """ Configuration when `type=redirect`. """ type: Literal["hosted_confirmation", "redirect"] """ The specified behavior after the purchase is complete. Either `redirect` or `hosted_confirmation`. """ class PaymentLinkUpdateParamsAfterCompletionHostedConfirmation(TypedDict): custom_message: NotRequired[str] """ A custom message to display to the customer after the purchase is complete. """ class PaymentLinkUpdateParamsAfterCompletionRedirect(TypedDict): url: str """ The URL the customer will be redirected to after the purchase is complete. You can embed `{CHECKOUT_SESSION_ID}` into the URL to have the `id` of the completed [checkout session](https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-id) included. """ class PaymentLinkUpdateParamsAutomaticTax(TypedDict): enabled: bool """ Set to `true` to [calculate tax automatically](https://docs.stripe.com/tax) using the customer's location. Enabling this parameter causes the payment link to collect any billing address information necessary for tax calculation. """ liability: NotRequired["PaymentLinkUpdateParamsAutomaticTaxLiability"] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class PaymentLinkUpdateParamsAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class PaymentLinkUpdateParamsCustomField(TypedDict): dropdown: NotRequired["PaymentLinkUpdateParamsCustomFieldDropdown"] """ Configuration for `type=dropdown` fields. """ key: str """ String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters. """ label: "PaymentLinkUpdateParamsCustomFieldLabel" """ The label for the field, displayed to the customer. """ numeric: NotRequired["PaymentLinkUpdateParamsCustomFieldNumeric"] """ Configuration for `type=numeric` fields. """ optional: NotRequired[bool] """ Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. """ text: NotRequired["PaymentLinkUpdateParamsCustomFieldText"] """ Configuration for `type=text` fields. """ type: Literal["dropdown", "numeric", "text"] """ The type of the field. """ class PaymentLinkUpdateParamsCustomFieldDropdown(TypedDict): default_value: NotRequired[str] """ The value that will pre-fill the field on the payment page.Must match a `value` in the `options` array. """ options: List["PaymentLinkUpdateParamsCustomFieldDropdownOption"] """ The options available for the customer to select. Up to 200 options allowed. """ class PaymentLinkUpdateParamsCustomFieldDropdownOption(TypedDict): label: str """ The label for the option, displayed to the customer. Up to 100 characters. """ value: str """ The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters. """ class PaymentLinkUpdateParamsCustomFieldLabel(TypedDict): custom: str """ Custom text for the label, displayed to the customer. Up to 50 characters. """ type: Literal["custom"] """ The type of the label. """ class PaymentLinkUpdateParamsCustomFieldNumeric(TypedDict): default_value: NotRequired[str] """ The value that will pre-fill the field on the payment page. """ maximum_length: NotRequired[int] """ The maximum character length constraint for the customer's input. """ minimum_length: NotRequired[int] """ The minimum character length requirement for the customer's input. """ class PaymentLinkUpdateParamsCustomFieldText(TypedDict): default_value: NotRequired[str] """ The value that will pre-fill the field on the payment page. """ maximum_length: NotRequired[int] """ The maximum character length constraint for the customer's input. """ minimum_length: NotRequired[int] """ The minimum character length requirement for the customer's input. """ class PaymentLinkUpdateParamsCustomText(TypedDict): after_submit: NotRequired[ "Literal['']|PaymentLinkUpdateParamsCustomTextAfterSubmit" ] """ Custom text that should be displayed after the payment confirmation button. """ shipping_address: NotRequired[ "Literal['']|PaymentLinkUpdateParamsCustomTextShippingAddress" ] """ Custom text that should be displayed alongside shipping address collection. """ submit: NotRequired["Literal['']|PaymentLinkUpdateParamsCustomTextSubmit"] """ Custom text that should be displayed alongside the payment confirmation button. """ terms_of_service_acceptance: NotRequired[ "Literal['']|PaymentLinkUpdateParamsCustomTextTermsOfServiceAcceptance" ] """ Custom text that should be displayed in place of the default terms of service agreement text. """ class PaymentLinkUpdateParamsCustomTextAfterSubmit(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class PaymentLinkUpdateParamsCustomTextShippingAddress(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class PaymentLinkUpdateParamsCustomTextSubmit(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class PaymentLinkUpdateParamsCustomTextTermsOfServiceAcceptance(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class PaymentLinkUpdateParamsInvoiceCreation(TypedDict): enabled: bool """ Whether the feature is enabled """ invoice_data: NotRequired[ "PaymentLinkUpdateParamsInvoiceCreationInvoiceData" ] """ Invoice PDF configuration. """ class PaymentLinkUpdateParamsInvoiceCreationInvoiceData(TypedDict): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with the invoice. """ custom_fields: NotRequired[ "Literal['']|List[PaymentLinkUpdateParamsInvoiceCreationInvoiceDataCustomField]" ] """ Default custom fields to be displayed on invoices for this customer. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ footer: NotRequired[str] """ Default footer to be displayed on invoices for this customer. """ issuer: NotRequired[ "PaymentLinkUpdateParamsInvoiceCreationInvoiceDataIssuer" ] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ rendering_options: NotRequired[ "Literal['']|PaymentLinkUpdateParamsInvoiceCreationInvoiceDataRenderingOptions" ] """ Default options for invoice PDF rendering for this customer. """ class PaymentLinkUpdateParamsInvoiceCreationInvoiceDataCustomField(TypedDict): name: str """ The name of the custom field. This may be up to 40 characters. """ value: str """ The value of the custom field. This may be up to 140 characters. """ class PaymentLinkUpdateParamsInvoiceCreationInvoiceDataIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class PaymentLinkUpdateParamsInvoiceCreationInvoiceDataRenderingOptions( TypedDict, ): amount_tax_display: NotRequired[ "Literal['']|Literal['exclude_tax', 'include_inclusive_tax']" ] """ 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. """ template: NotRequired[str] """ ID of the invoice rendering template to use for this invoice. """ class PaymentLinkUpdateParamsLineItem(TypedDict): adjustable_quantity: NotRequired[ "PaymentLinkUpdateParamsLineItemAdjustableQuantity" ] """ When set, provides configuration for this item's quantity to be adjusted by the customer during checkout. """ id: str """ The ID of an existing line item on the payment link. """ quantity: NotRequired[int] """ The quantity of the line item being purchased. """ class PaymentLinkUpdateParamsLineItemAdjustableQuantity(TypedDict): enabled: bool """ Set to true if the quantity can be adjusted to any non-negative Integer. """ maximum: NotRequired[int] """ The maximum quantity the customer can purchase. By default this value is 99. You can specify a value up to 999999. """ minimum: NotRequired[int] """ The minimum quantity the customer can purchase. By default this value is 0. If there is only one item in the cart then that item's quantity cannot go down to 0. """ class PaymentLinkUpdateParamsNameCollection(TypedDict): business: NotRequired["PaymentLinkUpdateParamsNameCollectionBusiness"] """ Controls settings applied for collecting the customer's business name. """ individual: NotRequired["PaymentLinkUpdateParamsNameCollectionIndividual"] """ Controls settings applied for collecting the customer's individual name. """ class PaymentLinkUpdateParamsNameCollectionBusiness(TypedDict): enabled: bool """ Enable business name collection on the payment link. Defaults to `false`. """ optional: NotRequired[bool] """ Whether the customer is required to provide their business name before checking out. Defaults to `false`. """ class PaymentLinkUpdateParamsNameCollectionIndividual(TypedDict): enabled: bool """ Enable individual name collection on the payment link. Defaults to `false`. """ optional: NotRequired[bool] """ Whether the customer is required to provide their full name before checking out. Defaults to `false`. """ class PaymentLinkUpdateParamsPaymentIntentData(TypedDict): description: NotRequired["Literal['']|str"] """ An arbitrary string attached to the object. Often useful for displaying to users. """ metadata: NotRequired["Literal['']|Dict[str, str]"] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will declaratively set metadata on [Payment Intents](https://stripe.com/docs/api/payment_intents) generated from this payment link. Unlike object-level metadata, this field is declarative. Updates will clear prior values. """ statement_descriptor: NotRequired["Literal['']|str"] """ Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. """ statement_descriptor_suffix: NotRequired["Literal['']|str"] """ Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. """ transfer_group: NotRequired["Literal['']|str"] """ A string that identifies the resulting payment as part of a group. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers) for details. """ class PaymentLinkUpdateParamsPhoneNumberCollection(TypedDict): enabled: bool """ Set to `true` to enable phone number collection. """ class PaymentLinkUpdateParamsRestrictions(TypedDict): completed_sessions: "PaymentLinkUpdateParamsRestrictionsCompletedSessions" """ Configuration for the `completed_sessions` restriction type. """ class PaymentLinkUpdateParamsRestrictionsCompletedSessions(TypedDict): limit: int """ The maximum number of checkout sessions that can be completed for the `completed_sessions` restriction to be met. """ class PaymentLinkUpdateParamsShippingAddressCollection(TypedDict): allowed_countries: List[ Literal[ "AC", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CV", "CW", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MK", "ML", "MM", "MN", "MO", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SZ", "TA", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VN", "VU", "WF", "WS", "XK", "YE", "YT", "ZA", "ZM", "ZW", "ZZ", ] ] """ An array of two-letter ISO country codes representing which countries Checkout should provide as options for shipping locations. """ class PaymentLinkUpdateParamsSubscriptionData(TypedDict): invoice_settings: NotRequired[ "PaymentLinkUpdateParamsSubscriptionDataInvoiceSettings" ] """ All invoices will be billed using the specified settings. """ metadata: NotRequired["Literal['']|Dict[str, str]"] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will declaratively set metadata on [Subscriptions](https://stripe.com/docs/api/subscriptions) generated from this payment link. Unlike object-level metadata, this field is declarative. Updates will clear prior values. """ trial_period_days: NotRequired["Literal['']|int"] """ Integer representing the number of trial period days before the customer is charged for the first time. Has to be at least 1. """ trial_settings: NotRequired[ "Literal['']|PaymentLinkUpdateParamsSubscriptionDataTrialSettings" ] """ Settings related to subscription trials. """ class PaymentLinkUpdateParamsSubscriptionDataInvoiceSettings(TypedDict): issuer: NotRequired[ "PaymentLinkUpdateParamsSubscriptionDataInvoiceSettingsIssuer" ] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class PaymentLinkUpdateParamsSubscriptionDataInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class PaymentLinkUpdateParamsSubscriptionDataTrialSettings(TypedDict): end_behavior: ( "PaymentLinkUpdateParamsSubscriptionDataTrialSettingsEndBehavior" ) """ Defines how the subscription should behave when the user's free trial ends. """ class PaymentLinkUpdateParamsSubscriptionDataTrialSettingsEndBehavior( TypedDict, ): missing_payment_method: Literal["cancel", "create_invoice", "pause"] """ Indicates how the subscription should change when the trial ends if the user did not provide a payment method. """ class PaymentLinkUpdateParamsTaxIdCollection(TypedDict): enabled: bool """ Enable tax ID collection during checkout. Defaults to `false`. """ required: NotRequired[Literal["if_supported", "never"]] """ Describes whether a tax ID is required during checkout. Defaults to `never`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3550622 stripe-13.2.0/stripe/params/_payment_method_attach_params.py0000644000000000000000000000067415102753431021247 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentMethodAttachParams(RequestOptions): customer: str """ The ID of the customer to which to attach the PaymentMethod. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3550622 stripe-13.2.0/stripe/params/_payment_method_configuration_create_params.py0000644000000000000000000013654215102753431024201 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class PaymentMethodConfigurationCreateParams(RequestOptions): acss_debit: NotRequired["PaymentMethodConfigurationCreateParamsAcssDebit"] """ Canadian pre-authorized debit payments, check this [page](https://stripe.com/docs/payments/acss-debit) for more details like country availability. """ affirm: NotRequired["PaymentMethodConfigurationCreateParamsAffirm"] """ [Affirm](https://www.affirm.com/) gives your customers a way to split purchases over a series of payments. Depending on the purchase, they can pay with four interest-free payments (Split Pay) or pay over a longer term (Installments), which might include interest. Check this [page](https://stripe.com/docs/payments/affirm) for more details like country availability. """ afterpay_clearpay: NotRequired[ "PaymentMethodConfigurationCreateParamsAfterpayClearpay" ] """ Afterpay gives your customers a way to pay for purchases in installments, check this [page](https://stripe.com/docs/payments/afterpay-clearpay) for more details like country availability. Afterpay is particularly popular among businesses selling fashion, beauty, and sports products. """ alipay: NotRequired["PaymentMethodConfigurationCreateParamsAlipay"] """ Alipay is a digital wallet in China that has more than a billion active users worldwide. Alipay users can pay on the web or on a mobile device using login credentials or their Alipay app. Alipay has a low dispute rate and reduces fraud by authenticating payments using the customer's login credentials. Check this [page](https://stripe.com/docs/payments/alipay) for more details. """ alma: NotRequired["PaymentMethodConfigurationCreateParamsAlma"] """ Alma is a Buy Now, Pay Later payment method that offers customers the ability to pay in 2, 3, or 4 installments. """ amazon_pay: NotRequired["PaymentMethodConfigurationCreateParamsAmazonPay"] """ Amazon Pay is a wallet payment method that lets your customers check out the same way as on Amazon. """ apple_pay: NotRequired["PaymentMethodConfigurationCreateParamsApplePay"] """ Stripe users can accept [Apple Pay](https://stripe.com/payments/apple-pay) in iOS applications in iOS 9 and later, and on the web in Safari starting with iOS 10 or macOS Sierra. There are no additional fees to process Apple Pay payments, and the [pricing](https://stripe.com/pricing) is the same as other card transactions. Check this [page](https://stripe.com/docs/apple-pay) for more details. """ apple_pay_later: NotRequired[ "PaymentMethodConfigurationCreateParamsApplePayLater" ] """ Apple Pay Later, a payment method for customers to buy now and pay later, gives your customers a way to split purchases into four installments across six weeks. """ au_becs_debit: NotRequired[ "PaymentMethodConfigurationCreateParamsAuBecsDebit" ] """ Stripe users in Australia can accept Bulk Electronic Clearing System (BECS) direct debit payments from customers with an Australian bank account. Check this [page](https://stripe.com/docs/payments/au-becs-debit) for more details. """ bacs_debit: NotRequired["PaymentMethodConfigurationCreateParamsBacsDebit"] """ Stripe users in the UK can accept Bacs Direct Debit payments from customers with a UK bank account, check this [page](https://stripe.com/docs/payments/payment-methods/bacs-debit) for more details. """ bancontact: NotRequired["PaymentMethodConfigurationCreateParamsBancontact"] """ Bancontact is the most popular online payment method in Belgium, with over 15 million cards in circulation. [Customers](https://stripe.com/docs/api/customers) use a Bancontact card or mobile app linked to a Belgian bank account to make online payments that are secure, guaranteed, and confirmed immediately. Check this [page](https://stripe.com/docs/payments/bancontact) for more details. """ billie: NotRequired["PaymentMethodConfigurationCreateParamsBillie"] """ Billie is a [single-use](https://docs.stripe.com/payments/payment-methods#usage) payment method that offers businesses Pay by Invoice where they offer payment terms ranging from 7-120 days. Customers are redirected from your website or app, authorize the payment with Billie, then return to your website or app. You get [immediate notification](https://docs.stripe.com/payments/payment-methods#payment-notification) of whether the payment succeeded or failed. """ blik: NotRequired["PaymentMethodConfigurationCreateParamsBlik"] """ BLIK is a [single use](https://stripe.com/docs/payments/payment-methods#usage) payment method that requires customers to authenticate their payments. When customers want to pay online using BLIK, they request a six-digit code from their banking application and enter it into the payment collection form. Check this [page](https://stripe.com/docs/payments/blik) for more details. """ boleto: NotRequired["PaymentMethodConfigurationCreateParamsBoleto"] """ Boleto is an official (regulated by the Central Bank of Brazil) payment method in Brazil. Check this [page](https://stripe.com/docs/payments/boleto) for more details. """ card: NotRequired["PaymentMethodConfigurationCreateParamsCard"] """ Cards are a popular way for consumers and businesses to pay online or in person. Stripe supports global and local card networks. """ cartes_bancaires: NotRequired[ "PaymentMethodConfigurationCreateParamsCartesBancaires" ] """ Cartes Bancaires is France's local card network. More than 95% of these cards are co-branded with either Visa or Mastercard, meaning you can process these cards over either Cartes Bancaires or the Visa or Mastercard networks. Check this [page](https://stripe.com/docs/payments/cartes-bancaires) for more details. """ cashapp: NotRequired["PaymentMethodConfigurationCreateParamsCashapp"] """ Cash App is a popular consumer app in the US that allows customers to bank, invest, send, and receive money using their digital wallet. Check this [page](https://stripe.com/docs/payments/cash-app-pay) for more details. """ crypto: NotRequired["PaymentMethodConfigurationCreateParamsCrypto"] """ [Stablecoin payments](https://stripe.com/docs/payments/stablecoin-payments) enable customers to pay in stablecoins like USDC from 100s of wallets including Phantom and Metamask. """ customer_balance: NotRequired[ "PaymentMethodConfigurationCreateParamsCustomerBalance" ] """ Uses a customer's [cash balance](https://stripe.com/docs/payments/customer-balance) for the payment. The cash balance can be funded via a bank transfer. Check this [page](https://stripe.com/docs/payments/bank-transfers) for more details. """ eps: NotRequired["PaymentMethodConfigurationCreateParamsEps"] """ EPS is an Austria-based payment method that allows customers to complete transactions online using their bank credentials. EPS is supported by all Austrian banks and is accepted by over 80% of Austrian online retailers. Check this [page](https://stripe.com/docs/payments/eps) for more details. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ fpx: NotRequired["PaymentMethodConfigurationCreateParamsFpx"] """ Financial Process Exchange (FPX) is a Malaysia-based payment method that allows customers to complete transactions online using their bank credentials. Bank Negara Malaysia (BNM), the Central Bank of Malaysia, and eleven other major Malaysian financial institutions are members of the PayNet Group, which owns and operates FPX. It is one of the most popular online payment methods in Malaysia, with nearly 90 million transactions in 2018 according to BNM. Check this [page](https://stripe.com/docs/payments/fpx) for more details. """ fr_meal_voucher_conecs: NotRequired[ "PaymentMethodConfigurationCreateParamsFrMealVoucherConecs" ] """ Meal vouchers in France, or “titres-restaurant”, is a local benefits program commonly offered by employers for their employees to purchase prepared food and beverages on working days. Check this [page](https://stripe.com/docs/payments/benefits/fr-meal-vouchers) for more details. """ giropay: NotRequired["PaymentMethodConfigurationCreateParamsGiropay"] """ giropay is a German payment method based on online banking, introduced in 2006. It allows customers to complete transactions online using their online banking environment, with funds debited from their bank account. Depending on their bank, customers confirm payments on giropay using a second factor of authentication or a PIN. giropay accounts for 10% of online checkouts in Germany. Check this [page](https://stripe.com/docs/payments/giropay) for more details. """ google_pay: NotRequired["PaymentMethodConfigurationCreateParamsGooglePay"] """ Google Pay allows customers to make payments in your app or website using any credit or debit card saved to their Google Account, including those from Google Play, YouTube, Chrome, or an Android device. Use the Google Pay API to request any credit or debit card stored in your customer's Google account. Check this [page](https://stripe.com/docs/google-pay) for more details. """ grabpay: NotRequired["PaymentMethodConfigurationCreateParamsGrabpay"] """ GrabPay is a payment method developed by [Grab](https://www.grab.com/sg/consumer/finance/pay/). GrabPay is a digital wallet - customers maintain a balance in their wallets that they pay out with. Check this [page](https://stripe.com/docs/payments/grabpay) for more details. """ ideal: NotRequired["PaymentMethodConfigurationCreateParamsIdeal"] """ iDEAL is a Netherlands-based payment method that allows customers to complete transactions online using their bank credentials. All major Dutch banks are members of Currence, the scheme that operates iDEAL, making it the most popular online payment method in the Netherlands with a share of online transactions close to 55%. Check this [page](https://stripe.com/docs/payments/ideal) for more details. """ jcb: NotRequired["PaymentMethodConfigurationCreateParamsJcb"] """ JCB is a credit card company based in Japan. JCB is currently available in Japan to businesses approved by JCB, and available to all businesses in Australia, Canada, Hong Kong, Japan, New Zealand, Singapore, Switzerland, United Kingdom, United States, and all countries in the European Economic Area except Iceland. Check this [page](https://support.stripe.com/questions/accepting-japan-credit-bureau-%28jcb%29-payments) for more details. """ kakao_pay: NotRequired["PaymentMethodConfigurationCreateParamsKakaoPay"] """ Kakao Pay is a popular local wallet available in South Korea. """ klarna: NotRequired["PaymentMethodConfigurationCreateParamsKlarna"] """ Klarna gives customers a range of [payment options](https://stripe.com/docs/payments/klarna#payment-options) during checkout. Available payment options vary depending on the customer's billing address and the transaction amount. These payment options make it convenient for customers to purchase items in all price ranges. Check this [page](https://stripe.com/docs/payments/klarna) for more details. """ konbini: NotRequired["PaymentMethodConfigurationCreateParamsKonbini"] """ Konbini allows customers in Japan to pay for bills and online purchases at convenience stores with cash. Check this [page](https://stripe.com/docs/payments/konbini) for more details. """ kr_card: NotRequired["PaymentMethodConfigurationCreateParamsKrCard"] """ Korean cards let users pay using locally issued cards from South Korea. """ link: NotRequired["PaymentMethodConfigurationCreateParamsLink"] """ [Link](https://stripe.com/docs/payments/link) is a payment method network. With Link, users save their payment details once, then reuse that information to pay with one click for any business on the network. """ mb_way: NotRequired["PaymentMethodConfigurationCreateParamsMbWay"] """ MB WAY is the most popular wallet in Portugal. After entering their phone number in your checkout, customers approve the payment directly in their MB WAY app. Check this [page](https://stripe.com/docs/payments/mb-way) for more details. """ mobilepay: NotRequired["PaymentMethodConfigurationCreateParamsMobilepay"] """ MobilePay is a [single-use](https://stripe.com/docs/payments/payment-methods#usage) card wallet payment method used in Denmark and Finland. It allows customers to [authenticate and approve](https://stripe.com/docs/payments/payment-methods#customer-actions) payments using the MobilePay app. Check this [page](https://stripe.com/docs/payments/mobilepay) for more details. """ multibanco: NotRequired["PaymentMethodConfigurationCreateParamsMultibanco"] """ Stripe users in Europe and the United States can accept Multibanco payments from customers in Portugal using [Sources](https://stripe.com/docs/sources)—a single integration path for creating payments using any supported method. """ name: NotRequired[str] """ Configuration name. """ naver_pay: NotRequired["PaymentMethodConfigurationCreateParamsNaverPay"] """ Naver Pay is a popular local wallet available in South Korea. """ nz_bank_account: NotRequired[ "PaymentMethodConfigurationCreateParamsNzBankAccount" ] """ Stripe users in New Zealand can accept Bulk Electronic Clearing System (BECS) direct debit payments from customers with a New Zeland bank account. Check this [page](https://stripe.com/docs/payments/nz-bank-account) for more details. """ oxxo: NotRequired["PaymentMethodConfigurationCreateParamsOxxo"] """ OXXO is a Mexican chain of convenience stores with thousands of locations across Latin America and represents nearly 20% of online transactions in Mexico. OXXO allows customers to pay bills and online purchases in-store with cash. Check this [page](https://stripe.com/docs/payments/oxxo) for more details. """ p24: NotRequired["PaymentMethodConfigurationCreateParamsP24"] """ Przelewy24 is a Poland-based payment method aggregator that allows customers to complete transactions online using bank transfers and other methods. Bank transfers account for 30% of online payments in Poland and Przelewy24 provides a way for customers to pay with over 165 banks. Check this [page](https://stripe.com/docs/payments/p24) for more details. """ parent: NotRequired[str] """ Configuration's parent configuration. Specify to create a child configuration. """ pay_by_bank: NotRequired["PaymentMethodConfigurationCreateParamsPayByBank"] """ Pay by bank is a redirect payment method backed by bank transfers. A customer is redirected to their bank to authorize a bank transfer for a given amount. This removes a lot of the error risks inherent in waiting for the customer to initiate a transfer themselves, and is less expensive than card payments. """ payco: NotRequired["PaymentMethodConfigurationCreateParamsPayco"] """ PAYCO is a [single-use](https://docs.stripe.com/payments/payment-methods#usage local wallet available in South Korea. """ paynow: NotRequired["PaymentMethodConfigurationCreateParamsPaynow"] """ PayNow is a Singapore-based payment method that allows customers to make a payment using their preferred app from participating banks and participating non-bank financial institutions. Check this [page](https://stripe.com/docs/payments/paynow) for more details. """ paypal: NotRequired["PaymentMethodConfigurationCreateParamsPaypal"] """ PayPal, a digital wallet popular with customers in Europe, allows your customers worldwide to pay using their PayPal account. Check this [page](https://stripe.com/docs/payments/paypal) for more details. """ pix: NotRequired["PaymentMethodConfigurationCreateParamsPix"] """ Pix is a payment method popular in Brazil. When paying with Pix, customers authenticate and approve payments by scanning a QR code in their preferred banking app. Check this [page](https://docs.stripe.com/payments/pix) for more details. """ promptpay: NotRequired["PaymentMethodConfigurationCreateParamsPromptpay"] """ PromptPay is a Thailand-based payment method that allows customers to make a payment using their preferred app from participating banks. Check this [page](https://stripe.com/docs/payments/promptpay) for more details. """ revolut_pay: NotRequired[ "PaymentMethodConfigurationCreateParamsRevolutPay" ] """ Revolut Pay, developed by Revolut, a global finance app, is a digital wallet payment method. Revolut Pay uses the customer's stored balance or cards to fund the payment, and offers the option for non-Revolut customers to save their details after their first purchase. """ samsung_pay: NotRequired[ "PaymentMethodConfigurationCreateParamsSamsungPay" ] """ Samsung Pay is a [single-use](https://docs.stripe.com/payments/payment-methods#usage local wallet available in South Korea. """ satispay: NotRequired["PaymentMethodConfigurationCreateParamsSatispay"] """ Satispay is a [single-use](https://docs.stripe.com/payments/payment-methods#usage) payment method where customers are required to [authenticate](https://docs.stripe.com/payments/payment-methods#customer-actions) their payment. Customers pay by being redirected from your website or app, authorizing the payment with Satispay, then returning to your website or app. You get [immediate notification](https://docs.stripe.com/payments/payment-methods#payment-notification) of whether the payment succeeded or failed. """ sepa_debit: NotRequired["PaymentMethodConfigurationCreateParamsSepaDebit"] """ The [Single Euro Payments Area (SEPA)](https://en.wikipedia.org/wiki/Single_Euro_Payments_Area) is an initiative of the European Union to simplify payments within and across member countries. SEPA established and enforced banking standards to allow for the direct debiting of every EUR-denominated bank account within the SEPA region, check this [page](https://stripe.com/docs/payments/sepa-debit) for more details. """ sofort: NotRequired["PaymentMethodConfigurationCreateParamsSofort"] """ Stripe users in Europe and the United States can use the [Payment Intents API](https://stripe.com/docs/payments/payment-intents)—a single integration path for creating payments using any supported method—to accept [Sofort](https://www.sofort.com/) payments from customers. Check this [page](https://stripe.com/docs/payments/sofort) for more details. """ swish: NotRequired["PaymentMethodConfigurationCreateParamsSwish"] """ Swish is a [real-time](https://stripe.com/docs/payments/real-time) payment method popular in Sweden. It allows customers to [authenticate and approve](https://stripe.com/docs/payments/payment-methods#customer-actions) payments using the Swish mobile app and the Swedish BankID mobile app. Check this [page](https://stripe.com/docs/payments/swish) for more details. """ twint: NotRequired["PaymentMethodConfigurationCreateParamsTwint"] """ Twint is a payment method popular in Switzerland. It allows customers to pay using their mobile phone. Check this [page](https://docs.stripe.com/payments/twint) for more details. """ us_bank_account: NotRequired[ "PaymentMethodConfigurationCreateParamsUsBankAccount" ] """ Stripe users in the United States can accept ACH direct debit payments from customers with a US bank account using the Automated Clearing House (ACH) payments system operated by Nacha. Check this [page](https://stripe.com/docs/payments/ach-direct-debit) for more details. """ wechat_pay: NotRequired["PaymentMethodConfigurationCreateParamsWechatPay"] """ WeChat, owned by Tencent, is China's leading mobile app with over 1 billion monthly active users. Chinese consumers can use WeChat Pay to pay for goods and services inside of businesses' apps and websites. WeChat Pay users buy most frequently in gaming, e-commerce, travel, online education, and food/nutrition. Check this [page](https://stripe.com/docs/payments/wechat-pay) for more details. """ zip: NotRequired["PaymentMethodConfigurationCreateParamsZip"] """ Zip gives your customers a way to split purchases over a series of payments. Check this [page](https://stripe.com/docs/payments/zip) for more details like country availability. """ class PaymentMethodConfigurationCreateParamsAcssDebit(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsAcssDebitDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsAcssDebitDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsAffirm(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsAffirmDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsAffirmDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsAfterpayClearpay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsAfterpayClearpayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsAfterpayClearpayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsAlipay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsAlipayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsAlipayDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsAlma(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsAlmaDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsAlmaDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsAmazonPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsAmazonPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsAmazonPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsApplePay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsApplePayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsApplePayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsApplePayLater(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsApplePayLaterDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsApplePayLaterDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsAuBecsDebit(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsAuBecsDebitDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsAuBecsDebitDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsBacsDebit(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsBacsDebitDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsBacsDebitDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsBancontact(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsBancontactDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsBancontactDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsBillie(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsBillieDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsBillieDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsBlik(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsBlikDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsBlikDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsBoleto(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsBoletoDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsBoletoDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsCard(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsCardDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsCardDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsCartesBancaires(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsCartesBancairesDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsCartesBancairesDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsCashapp(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsCashappDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsCashappDisplayPreference( TypedDict ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsCrypto(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsCryptoDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsCryptoDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsCustomerBalance(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsCustomerBalanceDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsCustomerBalanceDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsEps(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsEpsDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsEpsDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsFpx(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsFpxDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsFpxDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsFrMealVoucherConecs(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsFrMealVoucherConecsDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsFrMealVoucherConecsDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsGiropay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsGiropayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsGiropayDisplayPreference( TypedDict ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsGooglePay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsGooglePayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsGooglePayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsGrabpay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsGrabpayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsGrabpayDisplayPreference( TypedDict ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsIdeal(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsIdealDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsIdealDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsJcb(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsJcbDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsJcbDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsKakaoPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsKakaoPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsKakaoPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsKlarna(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsKlarnaDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsKlarnaDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsKonbini(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsKonbiniDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsKonbiniDisplayPreference( TypedDict ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsKrCard(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsKrCardDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsKrCardDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsLink(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsLinkDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsLinkDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsMbWay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsMbWayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsMbWayDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsMobilepay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsMobilepayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsMobilepayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsMultibanco(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsMultibancoDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsMultibancoDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsNaverPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsNaverPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsNaverPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsNzBankAccount(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsNzBankAccountDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsNzBankAccountDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsOxxo(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsOxxoDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsOxxoDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsP24(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsP24DisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsP24DisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsPayByBank(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsPayByBankDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsPayByBankDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsPayco(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsPaycoDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsPaycoDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsPaynow(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsPaynowDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsPaynowDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsPaypal(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsPaypalDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsPaypalDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsPix(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsPixDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsPixDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsPromptpay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsPromptpayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsPromptpayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsRevolutPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsRevolutPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsRevolutPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsSamsungPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsSamsungPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsSamsungPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsSatispay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsSatispayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsSatispayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsSepaDebit(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsSepaDebitDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsSepaDebitDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsSofort(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsSofortDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsSofortDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsSwish(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsSwishDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsSwishDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsTwint(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsTwintDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsTwintDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsUsBankAccount(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsUsBankAccountDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsUsBankAccountDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsWechatPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsWechatPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsWechatPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationCreateParamsZip(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationCreateParamsZipDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationCreateParamsZipDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3550622 stripe-13.2.0/stripe/params/_payment_method_configuration_list_params.py0000644000000000000000000000246315102753431023703 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class PaymentMethodConfigurationListParams(RequestOptions): application: NotRequired["Literal['']|str"] """ The Connect application to filter by. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_method_configuration_modify_params.py0000644000000000000000000013651415102753431024224 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class PaymentMethodConfigurationModifyParams(RequestOptions): acss_debit: NotRequired["PaymentMethodConfigurationModifyParamsAcssDebit"] """ Canadian pre-authorized debit payments, check this [page](https://stripe.com/docs/payments/acss-debit) for more details like country availability. """ active: NotRequired[bool] """ Whether the configuration can be used for new payments. """ affirm: NotRequired["PaymentMethodConfigurationModifyParamsAffirm"] """ [Affirm](https://www.affirm.com/) gives your customers a way to split purchases over a series of payments. Depending on the purchase, they can pay with four interest-free payments (Split Pay) or pay over a longer term (Installments), which might include interest. Check this [page](https://stripe.com/docs/payments/affirm) for more details like country availability. """ afterpay_clearpay: NotRequired[ "PaymentMethodConfigurationModifyParamsAfterpayClearpay" ] """ Afterpay gives your customers a way to pay for purchases in installments, check this [page](https://stripe.com/docs/payments/afterpay-clearpay) for more details like country availability. Afterpay is particularly popular among businesses selling fashion, beauty, and sports products. """ alipay: NotRequired["PaymentMethodConfigurationModifyParamsAlipay"] """ Alipay is a digital wallet in China that has more than a billion active users worldwide. Alipay users can pay on the web or on a mobile device using login credentials or their Alipay app. Alipay has a low dispute rate and reduces fraud by authenticating payments using the customer's login credentials. Check this [page](https://stripe.com/docs/payments/alipay) for more details. """ alma: NotRequired["PaymentMethodConfigurationModifyParamsAlma"] """ Alma is a Buy Now, Pay Later payment method that offers customers the ability to pay in 2, 3, or 4 installments. """ amazon_pay: NotRequired["PaymentMethodConfigurationModifyParamsAmazonPay"] """ Amazon Pay is a wallet payment method that lets your customers check out the same way as on Amazon. """ apple_pay: NotRequired["PaymentMethodConfigurationModifyParamsApplePay"] """ Stripe users can accept [Apple Pay](https://stripe.com/payments/apple-pay) in iOS applications in iOS 9 and later, and on the web in Safari starting with iOS 10 or macOS Sierra. There are no additional fees to process Apple Pay payments, and the [pricing](https://stripe.com/pricing) is the same as other card transactions. Check this [page](https://stripe.com/docs/apple-pay) for more details. """ apple_pay_later: NotRequired[ "PaymentMethodConfigurationModifyParamsApplePayLater" ] """ Apple Pay Later, a payment method for customers to buy now and pay later, gives your customers a way to split purchases into four installments across six weeks. """ au_becs_debit: NotRequired[ "PaymentMethodConfigurationModifyParamsAuBecsDebit" ] """ Stripe users in Australia can accept Bulk Electronic Clearing System (BECS) direct debit payments from customers with an Australian bank account. Check this [page](https://stripe.com/docs/payments/au-becs-debit) for more details. """ bacs_debit: NotRequired["PaymentMethodConfigurationModifyParamsBacsDebit"] """ Stripe users in the UK can accept Bacs Direct Debit payments from customers with a UK bank account, check this [page](https://stripe.com/docs/payments/payment-methods/bacs-debit) for more details. """ bancontact: NotRequired["PaymentMethodConfigurationModifyParamsBancontact"] """ Bancontact is the most popular online payment method in Belgium, with over 15 million cards in circulation. [Customers](https://stripe.com/docs/api/customers) use a Bancontact card or mobile app linked to a Belgian bank account to make online payments that are secure, guaranteed, and confirmed immediately. Check this [page](https://stripe.com/docs/payments/bancontact) for more details. """ billie: NotRequired["PaymentMethodConfigurationModifyParamsBillie"] """ Billie is a [single-use](https://docs.stripe.com/payments/payment-methods#usage) payment method that offers businesses Pay by Invoice where they offer payment terms ranging from 7-120 days. Customers are redirected from your website or app, authorize the payment with Billie, then return to your website or app. You get [immediate notification](https://docs.stripe.com/payments/payment-methods#payment-notification) of whether the payment succeeded or failed. """ blik: NotRequired["PaymentMethodConfigurationModifyParamsBlik"] """ BLIK is a [single use](https://stripe.com/docs/payments/payment-methods#usage) payment method that requires customers to authenticate their payments. When customers want to pay online using BLIK, they request a six-digit code from their banking application and enter it into the payment collection form. Check this [page](https://stripe.com/docs/payments/blik) for more details. """ boleto: NotRequired["PaymentMethodConfigurationModifyParamsBoleto"] """ Boleto is an official (regulated by the Central Bank of Brazil) payment method in Brazil. Check this [page](https://stripe.com/docs/payments/boleto) for more details. """ card: NotRequired["PaymentMethodConfigurationModifyParamsCard"] """ Cards are a popular way for consumers and businesses to pay online or in person. Stripe supports global and local card networks. """ cartes_bancaires: NotRequired[ "PaymentMethodConfigurationModifyParamsCartesBancaires" ] """ Cartes Bancaires is France's local card network. More than 95% of these cards are co-branded with either Visa or Mastercard, meaning you can process these cards over either Cartes Bancaires or the Visa or Mastercard networks. Check this [page](https://stripe.com/docs/payments/cartes-bancaires) for more details. """ cashapp: NotRequired["PaymentMethodConfigurationModifyParamsCashapp"] """ Cash App is a popular consumer app in the US that allows customers to bank, invest, send, and receive money using their digital wallet. Check this [page](https://stripe.com/docs/payments/cash-app-pay) for more details. """ crypto: NotRequired["PaymentMethodConfigurationModifyParamsCrypto"] """ [Stablecoin payments](https://stripe.com/docs/payments/stablecoin-payments) enable customers to pay in stablecoins like USDC from 100s of wallets including Phantom and Metamask. """ customer_balance: NotRequired[ "PaymentMethodConfigurationModifyParamsCustomerBalance" ] """ Uses a customer's [cash balance](https://stripe.com/docs/payments/customer-balance) for the payment. The cash balance can be funded via a bank transfer. Check this [page](https://stripe.com/docs/payments/bank-transfers) for more details. """ eps: NotRequired["PaymentMethodConfigurationModifyParamsEps"] """ EPS is an Austria-based payment method that allows customers to complete transactions online using their bank credentials. EPS is supported by all Austrian banks and is accepted by over 80% of Austrian online retailers. Check this [page](https://stripe.com/docs/payments/eps) for more details. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ fpx: NotRequired["PaymentMethodConfigurationModifyParamsFpx"] """ Financial Process Exchange (FPX) is a Malaysia-based payment method that allows customers to complete transactions online using their bank credentials. Bank Negara Malaysia (BNM), the Central Bank of Malaysia, and eleven other major Malaysian financial institutions are members of the PayNet Group, which owns and operates FPX. It is one of the most popular online payment methods in Malaysia, with nearly 90 million transactions in 2018 according to BNM. Check this [page](https://stripe.com/docs/payments/fpx) for more details. """ fr_meal_voucher_conecs: NotRequired[ "PaymentMethodConfigurationModifyParamsFrMealVoucherConecs" ] """ Meal vouchers in France, or “titres-restaurant”, is a local benefits program commonly offered by employers for their employees to purchase prepared food and beverages on working days. Check this [page](https://stripe.com/docs/payments/benefits/fr-meal-vouchers) for more details. """ giropay: NotRequired["PaymentMethodConfigurationModifyParamsGiropay"] """ giropay is a German payment method based on online banking, introduced in 2006. It allows customers to complete transactions online using their online banking environment, with funds debited from their bank account. Depending on their bank, customers confirm payments on giropay using a second factor of authentication or a PIN. giropay accounts for 10% of online checkouts in Germany. Check this [page](https://stripe.com/docs/payments/giropay) for more details. """ google_pay: NotRequired["PaymentMethodConfigurationModifyParamsGooglePay"] """ Google Pay allows customers to make payments in your app or website using any credit or debit card saved to their Google Account, including those from Google Play, YouTube, Chrome, or an Android device. Use the Google Pay API to request any credit or debit card stored in your customer's Google account. Check this [page](https://stripe.com/docs/google-pay) for more details. """ grabpay: NotRequired["PaymentMethodConfigurationModifyParamsGrabpay"] """ GrabPay is a payment method developed by [Grab](https://www.grab.com/sg/consumer/finance/pay/). GrabPay is a digital wallet - customers maintain a balance in their wallets that they pay out with. Check this [page](https://stripe.com/docs/payments/grabpay) for more details. """ ideal: NotRequired["PaymentMethodConfigurationModifyParamsIdeal"] """ iDEAL is a Netherlands-based payment method that allows customers to complete transactions online using their bank credentials. All major Dutch banks are members of Currence, the scheme that operates iDEAL, making it the most popular online payment method in the Netherlands with a share of online transactions close to 55%. Check this [page](https://stripe.com/docs/payments/ideal) for more details. """ jcb: NotRequired["PaymentMethodConfigurationModifyParamsJcb"] """ JCB is a credit card company based in Japan. JCB is currently available in Japan to businesses approved by JCB, and available to all businesses in Australia, Canada, Hong Kong, Japan, New Zealand, Singapore, Switzerland, United Kingdom, United States, and all countries in the European Economic Area except Iceland. Check this [page](https://support.stripe.com/questions/accepting-japan-credit-bureau-%28jcb%29-payments) for more details. """ kakao_pay: NotRequired["PaymentMethodConfigurationModifyParamsKakaoPay"] """ Kakao Pay is a popular local wallet available in South Korea. """ klarna: NotRequired["PaymentMethodConfigurationModifyParamsKlarna"] """ Klarna gives customers a range of [payment options](https://stripe.com/docs/payments/klarna#payment-options) during checkout. Available payment options vary depending on the customer's billing address and the transaction amount. These payment options make it convenient for customers to purchase items in all price ranges. Check this [page](https://stripe.com/docs/payments/klarna) for more details. """ konbini: NotRequired["PaymentMethodConfigurationModifyParamsKonbini"] """ Konbini allows customers in Japan to pay for bills and online purchases at convenience stores with cash. Check this [page](https://stripe.com/docs/payments/konbini) for more details. """ kr_card: NotRequired["PaymentMethodConfigurationModifyParamsKrCard"] """ Korean cards let users pay using locally issued cards from South Korea. """ link: NotRequired["PaymentMethodConfigurationModifyParamsLink"] """ [Link](https://stripe.com/docs/payments/link) is a payment method network. With Link, users save their payment details once, then reuse that information to pay with one click for any business on the network. """ mb_way: NotRequired["PaymentMethodConfigurationModifyParamsMbWay"] """ MB WAY is the most popular wallet in Portugal. After entering their phone number in your checkout, customers approve the payment directly in their MB WAY app. Check this [page](https://stripe.com/docs/payments/mb-way) for more details. """ mobilepay: NotRequired["PaymentMethodConfigurationModifyParamsMobilepay"] """ MobilePay is a [single-use](https://stripe.com/docs/payments/payment-methods#usage) card wallet payment method used in Denmark and Finland. It allows customers to [authenticate and approve](https://stripe.com/docs/payments/payment-methods#customer-actions) payments using the MobilePay app. Check this [page](https://stripe.com/docs/payments/mobilepay) for more details. """ multibanco: NotRequired["PaymentMethodConfigurationModifyParamsMultibanco"] """ Stripe users in Europe and the United States can accept Multibanco payments from customers in Portugal using [Sources](https://stripe.com/docs/sources)—a single integration path for creating payments using any supported method. """ name: NotRequired[str] """ Configuration name. """ naver_pay: NotRequired["PaymentMethodConfigurationModifyParamsNaverPay"] """ Naver Pay is a popular local wallet available in South Korea. """ nz_bank_account: NotRequired[ "PaymentMethodConfigurationModifyParamsNzBankAccount" ] """ Stripe users in New Zealand can accept Bulk Electronic Clearing System (BECS) direct debit payments from customers with a New Zeland bank account. Check this [page](https://stripe.com/docs/payments/nz-bank-account) for more details. """ oxxo: NotRequired["PaymentMethodConfigurationModifyParamsOxxo"] """ OXXO is a Mexican chain of convenience stores with thousands of locations across Latin America and represents nearly 20% of online transactions in Mexico. OXXO allows customers to pay bills and online purchases in-store with cash. Check this [page](https://stripe.com/docs/payments/oxxo) for more details. """ p24: NotRequired["PaymentMethodConfigurationModifyParamsP24"] """ Przelewy24 is a Poland-based payment method aggregator that allows customers to complete transactions online using bank transfers and other methods. Bank transfers account for 30% of online payments in Poland and Przelewy24 provides a way for customers to pay with over 165 banks. Check this [page](https://stripe.com/docs/payments/p24) for more details. """ pay_by_bank: NotRequired["PaymentMethodConfigurationModifyParamsPayByBank"] """ Pay by bank is a redirect payment method backed by bank transfers. A customer is redirected to their bank to authorize a bank transfer for a given amount. This removes a lot of the error risks inherent in waiting for the customer to initiate a transfer themselves, and is less expensive than card payments. """ payco: NotRequired["PaymentMethodConfigurationModifyParamsPayco"] """ PAYCO is a [single-use](https://docs.stripe.com/payments/payment-methods#usage local wallet available in South Korea. """ paynow: NotRequired["PaymentMethodConfigurationModifyParamsPaynow"] """ PayNow is a Singapore-based payment method that allows customers to make a payment using their preferred app from participating banks and participating non-bank financial institutions. Check this [page](https://stripe.com/docs/payments/paynow) for more details. """ paypal: NotRequired["PaymentMethodConfigurationModifyParamsPaypal"] """ PayPal, a digital wallet popular with customers in Europe, allows your customers worldwide to pay using their PayPal account. Check this [page](https://stripe.com/docs/payments/paypal) for more details. """ pix: NotRequired["PaymentMethodConfigurationModifyParamsPix"] """ Pix is a payment method popular in Brazil. When paying with Pix, customers authenticate and approve payments by scanning a QR code in their preferred banking app. Check this [page](https://docs.stripe.com/payments/pix) for more details. """ promptpay: NotRequired["PaymentMethodConfigurationModifyParamsPromptpay"] """ PromptPay is a Thailand-based payment method that allows customers to make a payment using their preferred app from participating banks. Check this [page](https://stripe.com/docs/payments/promptpay) for more details. """ revolut_pay: NotRequired[ "PaymentMethodConfigurationModifyParamsRevolutPay" ] """ Revolut Pay, developed by Revolut, a global finance app, is a digital wallet payment method. Revolut Pay uses the customer's stored balance or cards to fund the payment, and offers the option for non-Revolut customers to save their details after their first purchase. """ samsung_pay: NotRequired[ "PaymentMethodConfigurationModifyParamsSamsungPay" ] """ Samsung Pay is a [single-use](https://docs.stripe.com/payments/payment-methods#usage local wallet available in South Korea. """ satispay: NotRequired["PaymentMethodConfigurationModifyParamsSatispay"] """ Satispay is a [single-use](https://docs.stripe.com/payments/payment-methods#usage) payment method where customers are required to [authenticate](https://docs.stripe.com/payments/payment-methods#customer-actions) their payment. Customers pay by being redirected from your website or app, authorizing the payment with Satispay, then returning to your website or app. You get [immediate notification](https://docs.stripe.com/payments/payment-methods#payment-notification) of whether the payment succeeded or failed. """ sepa_debit: NotRequired["PaymentMethodConfigurationModifyParamsSepaDebit"] """ The [Single Euro Payments Area (SEPA)](https://en.wikipedia.org/wiki/Single_Euro_Payments_Area) is an initiative of the European Union to simplify payments within and across member countries. SEPA established and enforced banking standards to allow for the direct debiting of every EUR-denominated bank account within the SEPA region, check this [page](https://stripe.com/docs/payments/sepa-debit) for more details. """ sofort: NotRequired["PaymentMethodConfigurationModifyParamsSofort"] """ Stripe users in Europe and the United States can use the [Payment Intents API](https://stripe.com/docs/payments/payment-intents)—a single integration path for creating payments using any supported method—to accept [Sofort](https://www.sofort.com/) payments from customers. Check this [page](https://stripe.com/docs/payments/sofort) for more details. """ swish: NotRequired["PaymentMethodConfigurationModifyParamsSwish"] """ Swish is a [real-time](https://stripe.com/docs/payments/real-time) payment method popular in Sweden. It allows customers to [authenticate and approve](https://stripe.com/docs/payments/payment-methods#customer-actions) payments using the Swish mobile app and the Swedish BankID mobile app. Check this [page](https://stripe.com/docs/payments/swish) for more details. """ twint: NotRequired["PaymentMethodConfigurationModifyParamsTwint"] """ Twint is a payment method popular in Switzerland. It allows customers to pay using their mobile phone. Check this [page](https://docs.stripe.com/payments/twint) for more details. """ us_bank_account: NotRequired[ "PaymentMethodConfigurationModifyParamsUsBankAccount" ] """ Stripe users in the United States can accept ACH direct debit payments from customers with a US bank account using the Automated Clearing House (ACH) payments system operated by Nacha. Check this [page](https://stripe.com/docs/payments/ach-direct-debit) for more details. """ wechat_pay: NotRequired["PaymentMethodConfigurationModifyParamsWechatPay"] """ WeChat, owned by Tencent, is China's leading mobile app with over 1 billion monthly active users. Chinese consumers can use WeChat Pay to pay for goods and services inside of businesses' apps and websites. WeChat Pay users buy most frequently in gaming, e-commerce, travel, online education, and food/nutrition. Check this [page](https://stripe.com/docs/payments/wechat-pay) for more details. """ zip: NotRequired["PaymentMethodConfigurationModifyParamsZip"] """ Zip gives your customers a way to split purchases over a series of payments. Check this [page](https://stripe.com/docs/payments/zip) for more details like country availability. """ class PaymentMethodConfigurationModifyParamsAcssDebit(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsAcssDebitDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsAcssDebitDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsAffirm(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsAffirmDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsAffirmDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsAfterpayClearpay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsAfterpayClearpayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsAfterpayClearpayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsAlipay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsAlipayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsAlipayDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsAlma(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsAlmaDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsAlmaDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsAmazonPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsAmazonPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsAmazonPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsApplePay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsApplePayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsApplePayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsApplePayLater(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsApplePayLaterDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsApplePayLaterDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsAuBecsDebit(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsAuBecsDebitDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsAuBecsDebitDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsBacsDebit(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsBacsDebitDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsBacsDebitDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsBancontact(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsBancontactDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsBancontactDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsBillie(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsBillieDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsBillieDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsBlik(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsBlikDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsBlikDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsBoleto(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsBoletoDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsBoletoDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsCard(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsCardDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsCardDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsCartesBancaires(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsCartesBancairesDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsCartesBancairesDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsCashapp(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsCashappDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsCashappDisplayPreference( TypedDict ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsCrypto(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsCryptoDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsCryptoDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsCustomerBalance(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsCustomerBalanceDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsCustomerBalanceDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsEps(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsEpsDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsEpsDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsFpx(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsFpxDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsFpxDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsFrMealVoucherConecs(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsFrMealVoucherConecsDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsFrMealVoucherConecsDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsGiropay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsGiropayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsGiropayDisplayPreference( TypedDict ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsGooglePay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsGooglePayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsGooglePayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsGrabpay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsGrabpayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsGrabpayDisplayPreference( TypedDict ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsIdeal(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsIdealDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsIdealDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsJcb(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsJcbDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsJcbDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsKakaoPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsKakaoPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsKakaoPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsKlarna(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsKlarnaDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsKlarnaDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsKonbini(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsKonbiniDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsKonbiniDisplayPreference( TypedDict ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsKrCard(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsKrCardDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsKrCardDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsLink(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsLinkDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsLinkDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsMbWay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsMbWayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsMbWayDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsMobilepay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsMobilepayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsMobilepayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsMultibanco(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsMultibancoDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsMultibancoDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsNaverPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsNaverPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsNaverPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsNzBankAccount(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsNzBankAccountDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsNzBankAccountDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsOxxo(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsOxxoDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsOxxoDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsP24(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsP24DisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsP24DisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsPayByBank(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsPayByBankDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsPayByBankDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsPayco(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsPaycoDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsPaycoDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsPaynow(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsPaynowDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsPaynowDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsPaypal(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsPaypalDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsPaypalDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsPix(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsPixDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsPixDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsPromptpay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsPromptpayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsPromptpayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsRevolutPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsRevolutPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsRevolutPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsSamsungPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsSamsungPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsSamsungPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsSatispay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsSatispayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsSatispayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsSepaDebit(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsSepaDebitDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsSepaDebitDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsSofort(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsSofortDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsSofortDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsSwish(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsSwishDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsSwishDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsTwint(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsTwintDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsTwintDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsUsBankAccount(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsUsBankAccountDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsUsBankAccountDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsWechatPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsWechatPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsWechatPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationModifyParamsZip(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationModifyParamsZipDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationModifyParamsZipDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_method_configuration_retrieve_params.py0000644000000000000000000000055015102753431024550 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentMethodConfigurationRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_method_configuration_update_params.py0000644000000000000000000013642415102753431024217 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class PaymentMethodConfigurationUpdateParams(TypedDict): acss_debit: NotRequired["PaymentMethodConfigurationUpdateParamsAcssDebit"] """ Canadian pre-authorized debit payments, check this [page](https://stripe.com/docs/payments/acss-debit) for more details like country availability. """ active: NotRequired[bool] """ Whether the configuration can be used for new payments. """ affirm: NotRequired["PaymentMethodConfigurationUpdateParamsAffirm"] """ [Affirm](https://www.affirm.com/) gives your customers a way to split purchases over a series of payments. Depending on the purchase, they can pay with four interest-free payments (Split Pay) or pay over a longer term (Installments), which might include interest. Check this [page](https://stripe.com/docs/payments/affirm) for more details like country availability. """ afterpay_clearpay: NotRequired[ "PaymentMethodConfigurationUpdateParamsAfterpayClearpay" ] """ Afterpay gives your customers a way to pay for purchases in installments, check this [page](https://stripe.com/docs/payments/afterpay-clearpay) for more details like country availability. Afterpay is particularly popular among businesses selling fashion, beauty, and sports products. """ alipay: NotRequired["PaymentMethodConfigurationUpdateParamsAlipay"] """ Alipay is a digital wallet in China that has more than a billion active users worldwide. Alipay users can pay on the web or on a mobile device using login credentials or their Alipay app. Alipay has a low dispute rate and reduces fraud by authenticating payments using the customer's login credentials. Check this [page](https://stripe.com/docs/payments/alipay) for more details. """ alma: NotRequired["PaymentMethodConfigurationUpdateParamsAlma"] """ Alma is a Buy Now, Pay Later payment method that offers customers the ability to pay in 2, 3, or 4 installments. """ amazon_pay: NotRequired["PaymentMethodConfigurationUpdateParamsAmazonPay"] """ Amazon Pay is a wallet payment method that lets your customers check out the same way as on Amazon. """ apple_pay: NotRequired["PaymentMethodConfigurationUpdateParamsApplePay"] """ Stripe users can accept [Apple Pay](https://stripe.com/payments/apple-pay) in iOS applications in iOS 9 and later, and on the web in Safari starting with iOS 10 or macOS Sierra. There are no additional fees to process Apple Pay payments, and the [pricing](https://stripe.com/pricing) is the same as other card transactions. Check this [page](https://stripe.com/docs/apple-pay) for more details. """ apple_pay_later: NotRequired[ "PaymentMethodConfigurationUpdateParamsApplePayLater" ] """ Apple Pay Later, a payment method for customers to buy now and pay later, gives your customers a way to split purchases into four installments across six weeks. """ au_becs_debit: NotRequired[ "PaymentMethodConfigurationUpdateParamsAuBecsDebit" ] """ Stripe users in Australia can accept Bulk Electronic Clearing System (BECS) direct debit payments from customers with an Australian bank account. Check this [page](https://stripe.com/docs/payments/au-becs-debit) for more details. """ bacs_debit: NotRequired["PaymentMethodConfigurationUpdateParamsBacsDebit"] """ Stripe users in the UK can accept Bacs Direct Debit payments from customers with a UK bank account, check this [page](https://stripe.com/docs/payments/payment-methods/bacs-debit) for more details. """ bancontact: NotRequired["PaymentMethodConfigurationUpdateParamsBancontact"] """ Bancontact is the most popular online payment method in Belgium, with over 15 million cards in circulation. [Customers](https://stripe.com/docs/api/customers) use a Bancontact card or mobile app linked to a Belgian bank account to make online payments that are secure, guaranteed, and confirmed immediately. Check this [page](https://stripe.com/docs/payments/bancontact) for more details. """ billie: NotRequired["PaymentMethodConfigurationUpdateParamsBillie"] """ Billie is a [single-use](https://docs.stripe.com/payments/payment-methods#usage) payment method that offers businesses Pay by Invoice where they offer payment terms ranging from 7-120 days. Customers are redirected from your website or app, authorize the payment with Billie, then return to your website or app. You get [immediate notification](https://docs.stripe.com/payments/payment-methods#payment-notification) of whether the payment succeeded or failed. """ blik: NotRequired["PaymentMethodConfigurationUpdateParamsBlik"] """ BLIK is a [single use](https://stripe.com/docs/payments/payment-methods#usage) payment method that requires customers to authenticate their payments. When customers want to pay online using BLIK, they request a six-digit code from their banking application and enter it into the payment collection form. Check this [page](https://stripe.com/docs/payments/blik) for more details. """ boleto: NotRequired["PaymentMethodConfigurationUpdateParamsBoleto"] """ Boleto is an official (regulated by the Central Bank of Brazil) payment method in Brazil. Check this [page](https://stripe.com/docs/payments/boleto) for more details. """ card: NotRequired["PaymentMethodConfigurationUpdateParamsCard"] """ Cards are a popular way for consumers and businesses to pay online or in person. Stripe supports global and local card networks. """ cartes_bancaires: NotRequired[ "PaymentMethodConfigurationUpdateParamsCartesBancaires" ] """ Cartes Bancaires is France's local card network. More than 95% of these cards are co-branded with either Visa or Mastercard, meaning you can process these cards over either Cartes Bancaires or the Visa or Mastercard networks. Check this [page](https://stripe.com/docs/payments/cartes-bancaires) for more details. """ cashapp: NotRequired["PaymentMethodConfigurationUpdateParamsCashapp"] """ Cash App is a popular consumer app in the US that allows customers to bank, invest, send, and receive money using their digital wallet. Check this [page](https://stripe.com/docs/payments/cash-app-pay) for more details. """ crypto: NotRequired["PaymentMethodConfigurationUpdateParamsCrypto"] """ [Stablecoin payments](https://stripe.com/docs/payments/stablecoin-payments) enable customers to pay in stablecoins like USDC from 100s of wallets including Phantom and Metamask. """ customer_balance: NotRequired[ "PaymentMethodConfigurationUpdateParamsCustomerBalance" ] """ Uses a customer's [cash balance](https://stripe.com/docs/payments/customer-balance) for the payment. The cash balance can be funded via a bank transfer. Check this [page](https://stripe.com/docs/payments/bank-transfers) for more details. """ eps: NotRequired["PaymentMethodConfigurationUpdateParamsEps"] """ EPS is an Austria-based payment method that allows customers to complete transactions online using their bank credentials. EPS is supported by all Austrian banks and is accepted by over 80% of Austrian online retailers. Check this [page](https://stripe.com/docs/payments/eps) for more details. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ fpx: NotRequired["PaymentMethodConfigurationUpdateParamsFpx"] """ Financial Process Exchange (FPX) is a Malaysia-based payment method that allows customers to complete transactions online using their bank credentials. Bank Negara Malaysia (BNM), the Central Bank of Malaysia, and eleven other major Malaysian financial institutions are members of the PayNet Group, which owns and operates FPX. It is one of the most popular online payment methods in Malaysia, with nearly 90 million transactions in 2018 according to BNM. Check this [page](https://stripe.com/docs/payments/fpx) for more details. """ fr_meal_voucher_conecs: NotRequired[ "PaymentMethodConfigurationUpdateParamsFrMealVoucherConecs" ] """ Meal vouchers in France, or “titres-restaurant”, is a local benefits program commonly offered by employers for their employees to purchase prepared food and beverages on working days. Check this [page](https://stripe.com/docs/payments/benefits/fr-meal-vouchers) for more details. """ giropay: NotRequired["PaymentMethodConfigurationUpdateParamsGiropay"] """ giropay is a German payment method based on online banking, introduced in 2006. It allows customers to complete transactions online using their online banking environment, with funds debited from their bank account. Depending on their bank, customers confirm payments on giropay using a second factor of authentication or a PIN. giropay accounts for 10% of online checkouts in Germany. Check this [page](https://stripe.com/docs/payments/giropay) for more details. """ google_pay: NotRequired["PaymentMethodConfigurationUpdateParamsGooglePay"] """ Google Pay allows customers to make payments in your app or website using any credit or debit card saved to their Google Account, including those from Google Play, YouTube, Chrome, or an Android device. Use the Google Pay API to request any credit or debit card stored in your customer's Google account. Check this [page](https://stripe.com/docs/google-pay) for more details. """ grabpay: NotRequired["PaymentMethodConfigurationUpdateParamsGrabpay"] """ GrabPay is a payment method developed by [Grab](https://www.grab.com/sg/consumer/finance/pay/). GrabPay is a digital wallet - customers maintain a balance in their wallets that they pay out with. Check this [page](https://stripe.com/docs/payments/grabpay) for more details. """ ideal: NotRequired["PaymentMethodConfigurationUpdateParamsIdeal"] """ iDEAL is a Netherlands-based payment method that allows customers to complete transactions online using their bank credentials. All major Dutch banks are members of Currence, the scheme that operates iDEAL, making it the most popular online payment method in the Netherlands with a share of online transactions close to 55%. Check this [page](https://stripe.com/docs/payments/ideal) for more details. """ jcb: NotRequired["PaymentMethodConfigurationUpdateParamsJcb"] """ JCB is a credit card company based in Japan. JCB is currently available in Japan to businesses approved by JCB, and available to all businesses in Australia, Canada, Hong Kong, Japan, New Zealand, Singapore, Switzerland, United Kingdom, United States, and all countries in the European Economic Area except Iceland. Check this [page](https://support.stripe.com/questions/accepting-japan-credit-bureau-%28jcb%29-payments) for more details. """ kakao_pay: NotRequired["PaymentMethodConfigurationUpdateParamsKakaoPay"] """ Kakao Pay is a popular local wallet available in South Korea. """ klarna: NotRequired["PaymentMethodConfigurationUpdateParamsKlarna"] """ Klarna gives customers a range of [payment options](https://stripe.com/docs/payments/klarna#payment-options) during checkout. Available payment options vary depending on the customer's billing address and the transaction amount. These payment options make it convenient for customers to purchase items in all price ranges. Check this [page](https://stripe.com/docs/payments/klarna) for more details. """ konbini: NotRequired["PaymentMethodConfigurationUpdateParamsKonbini"] """ Konbini allows customers in Japan to pay for bills and online purchases at convenience stores with cash. Check this [page](https://stripe.com/docs/payments/konbini) for more details. """ kr_card: NotRequired["PaymentMethodConfigurationUpdateParamsKrCard"] """ Korean cards let users pay using locally issued cards from South Korea. """ link: NotRequired["PaymentMethodConfigurationUpdateParamsLink"] """ [Link](https://stripe.com/docs/payments/link) is a payment method network. With Link, users save their payment details once, then reuse that information to pay with one click for any business on the network. """ mb_way: NotRequired["PaymentMethodConfigurationUpdateParamsMbWay"] """ MB WAY is the most popular wallet in Portugal. After entering their phone number in your checkout, customers approve the payment directly in their MB WAY app. Check this [page](https://stripe.com/docs/payments/mb-way) for more details. """ mobilepay: NotRequired["PaymentMethodConfigurationUpdateParamsMobilepay"] """ MobilePay is a [single-use](https://stripe.com/docs/payments/payment-methods#usage) card wallet payment method used in Denmark and Finland. It allows customers to [authenticate and approve](https://stripe.com/docs/payments/payment-methods#customer-actions) payments using the MobilePay app. Check this [page](https://stripe.com/docs/payments/mobilepay) for more details. """ multibanco: NotRequired["PaymentMethodConfigurationUpdateParamsMultibanco"] """ Stripe users in Europe and the United States can accept Multibanco payments from customers in Portugal using [Sources](https://stripe.com/docs/sources)—a single integration path for creating payments using any supported method. """ name: NotRequired[str] """ Configuration name. """ naver_pay: NotRequired["PaymentMethodConfigurationUpdateParamsNaverPay"] """ Naver Pay is a popular local wallet available in South Korea. """ nz_bank_account: NotRequired[ "PaymentMethodConfigurationUpdateParamsNzBankAccount" ] """ Stripe users in New Zealand can accept Bulk Electronic Clearing System (BECS) direct debit payments from customers with a New Zeland bank account. Check this [page](https://stripe.com/docs/payments/nz-bank-account) for more details. """ oxxo: NotRequired["PaymentMethodConfigurationUpdateParamsOxxo"] """ OXXO is a Mexican chain of convenience stores with thousands of locations across Latin America and represents nearly 20% of online transactions in Mexico. OXXO allows customers to pay bills and online purchases in-store with cash. Check this [page](https://stripe.com/docs/payments/oxxo) for more details. """ p24: NotRequired["PaymentMethodConfigurationUpdateParamsP24"] """ Przelewy24 is a Poland-based payment method aggregator that allows customers to complete transactions online using bank transfers and other methods. Bank transfers account for 30% of online payments in Poland and Przelewy24 provides a way for customers to pay with over 165 banks. Check this [page](https://stripe.com/docs/payments/p24) for more details. """ pay_by_bank: NotRequired["PaymentMethodConfigurationUpdateParamsPayByBank"] """ Pay by bank is a redirect payment method backed by bank transfers. A customer is redirected to their bank to authorize a bank transfer for a given amount. This removes a lot of the error risks inherent in waiting for the customer to initiate a transfer themselves, and is less expensive than card payments. """ payco: NotRequired["PaymentMethodConfigurationUpdateParamsPayco"] """ PAYCO is a [single-use](https://docs.stripe.com/payments/payment-methods#usage local wallet available in South Korea. """ paynow: NotRequired["PaymentMethodConfigurationUpdateParamsPaynow"] """ PayNow is a Singapore-based payment method that allows customers to make a payment using their preferred app from participating banks and participating non-bank financial institutions. Check this [page](https://stripe.com/docs/payments/paynow) for more details. """ paypal: NotRequired["PaymentMethodConfigurationUpdateParamsPaypal"] """ PayPal, a digital wallet popular with customers in Europe, allows your customers worldwide to pay using their PayPal account. Check this [page](https://stripe.com/docs/payments/paypal) for more details. """ pix: NotRequired["PaymentMethodConfigurationUpdateParamsPix"] """ Pix is a payment method popular in Brazil. When paying with Pix, customers authenticate and approve payments by scanning a QR code in their preferred banking app. Check this [page](https://docs.stripe.com/payments/pix) for more details. """ promptpay: NotRequired["PaymentMethodConfigurationUpdateParamsPromptpay"] """ PromptPay is a Thailand-based payment method that allows customers to make a payment using their preferred app from participating banks. Check this [page](https://stripe.com/docs/payments/promptpay) for more details. """ revolut_pay: NotRequired[ "PaymentMethodConfigurationUpdateParamsRevolutPay" ] """ Revolut Pay, developed by Revolut, a global finance app, is a digital wallet payment method. Revolut Pay uses the customer's stored balance or cards to fund the payment, and offers the option for non-Revolut customers to save their details after their first purchase. """ samsung_pay: NotRequired[ "PaymentMethodConfigurationUpdateParamsSamsungPay" ] """ Samsung Pay is a [single-use](https://docs.stripe.com/payments/payment-methods#usage local wallet available in South Korea. """ satispay: NotRequired["PaymentMethodConfigurationUpdateParamsSatispay"] """ Satispay is a [single-use](https://docs.stripe.com/payments/payment-methods#usage) payment method where customers are required to [authenticate](https://docs.stripe.com/payments/payment-methods#customer-actions) their payment. Customers pay by being redirected from your website or app, authorizing the payment with Satispay, then returning to your website or app. You get [immediate notification](https://docs.stripe.com/payments/payment-methods#payment-notification) of whether the payment succeeded or failed. """ sepa_debit: NotRequired["PaymentMethodConfigurationUpdateParamsSepaDebit"] """ The [Single Euro Payments Area (SEPA)](https://en.wikipedia.org/wiki/Single_Euro_Payments_Area) is an initiative of the European Union to simplify payments within and across member countries. SEPA established and enforced banking standards to allow for the direct debiting of every EUR-denominated bank account within the SEPA region, check this [page](https://stripe.com/docs/payments/sepa-debit) for more details. """ sofort: NotRequired["PaymentMethodConfigurationUpdateParamsSofort"] """ Stripe users in Europe and the United States can use the [Payment Intents API](https://stripe.com/docs/payments/payment-intents)—a single integration path for creating payments using any supported method—to accept [Sofort](https://www.sofort.com/) payments from customers. Check this [page](https://stripe.com/docs/payments/sofort) for more details. """ swish: NotRequired["PaymentMethodConfigurationUpdateParamsSwish"] """ Swish is a [real-time](https://stripe.com/docs/payments/real-time) payment method popular in Sweden. It allows customers to [authenticate and approve](https://stripe.com/docs/payments/payment-methods#customer-actions) payments using the Swish mobile app and the Swedish BankID mobile app. Check this [page](https://stripe.com/docs/payments/swish) for more details. """ twint: NotRequired["PaymentMethodConfigurationUpdateParamsTwint"] """ Twint is a payment method popular in Switzerland. It allows customers to pay using their mobile phone. Check this [page](https://docs.stripe.com/payments/twint) for more details. """ us_bank_account: NotRequired[ "PaymentMethodConfigurationUpdateParamsUsBankAccount" ] """ Stripe users in the United States can accept ACH direct debit payments from customers with a US bank account using the Automated Clearing House (ACH) payments system operated by Nacha. Check this [page](https://stripe.com/docs/payments/ach-direct-debit) for more details. """ wechat_pay: NotRequired["PaymentMethodConfigurationUpdateParamsWechatPay"] """ WeChat, owned by Tencent, is China's leading mobile app with over 1 billion monthly active users. Chinese consumers can use WeChat Pay to pay for goods and services inside of businesses' apps and websites. WeChat Pay users buy most frequently in gaming, e-commerce, travel, online education, and food/nutrition. Check this [page](https://stripe.com/docs/payments/wechat-pay) for more details. """ zip: NotRequired["PaymentMethodConfigurationUpdateParamsZip"] """ Zip gives your customers a way to split purchases over a series of payments. Check this [page](https://stripe.com/docs/payments/zip) for more details like country availability. """ class PaymentMethodConfigurationUpdateParamsAcssDebit(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsAcssDebitDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsAcssDebitDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsAffirm(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsAffirmDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsAffirmDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsAfterpayClearpay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsAfterpayClearpayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsAfterpayClearpayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsAlipay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsAlipayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsAlipayDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsAlma(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsAlmaDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsAlmaDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsAmazonPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsAmazonPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsAmazonPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsApplePay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsApplePayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsApplePayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsApplePayLater(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsApplePayLaterDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsApplePayLaterDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsAuBecsDebit(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsAuBecsDebitDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsAuBecsDebitDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsBacsDebit(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsBacsDebitDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsBacsDebitDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsBancontact(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsBancontactDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsBancontactDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsBillie(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsBillieDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsBillieDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsBlik(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsBlikDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsBlikDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsBoleto(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsBoletoDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsBoletoDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsCard(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsCardDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsCardDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsCartesBancaires(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsCartesBancairesDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsCartesBancairesDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsCashapp(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsCashappDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsCashappDisplayPreference( TypedDict ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsCrypto(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsCryptoDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsCryptoDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsCustomerBalance(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsCustomerBalanceDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsCustomerBalanceDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsEps(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsEpsDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsEpsDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsFpx(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsFpxDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsFpxDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsFrMealVoucherConecs(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsFrMealVoucherConecsDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsFrMealVoucherConecsDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsGiropay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsGiropayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsGiropayDisplayPreference( TypedDict ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsGooglePay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsGooglePayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsGooglePayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsGrabpay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsGrabpayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsGrabpayDisplayPreference( TypedDict ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsIdeal(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsIdealDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsIdealDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsJcb(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsJcbDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsJcbDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsKakaoPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsKakaoPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsKakaoPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsKlarna(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsKlarnaDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsKlarnaDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsKonbini(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsKonbiniDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsKonbiniDisplayPreference( TypedDict ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsKrCard(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsKrCardDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsKrCardDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsLink(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsLinkDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsLinkDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsMbWay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsMbWayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsMbWayDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsMobilepay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsMobilepayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsMobilepayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsMultibanco(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsMultibancoDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsMultibancoDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsNaverPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsNaverPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsNaverPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsNzBankAccount(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsNzBankAccountDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsNzBankAccountDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsOxxo(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsOxxoDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsOxxoDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsP24(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsP24DisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsP24DisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsPayByBank(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsPayByBankDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsPayByBankDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsPayco(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsPaycoDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsPaycoDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsPaynow(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsPaynowDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsPaynowDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsPaypal(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsPaypalDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsPaypalDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsPix(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsPixDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsPixDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsPromptpay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsPromptpayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsPromptpayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsRevolutPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsRevolutPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsRevolutPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsSamsungPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsSamsungPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsSamsungPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsSatispay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsSatispayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsSatispayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsSepaDebit(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsSepaDebitDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsSepaDebitDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsSofort(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsSofortDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsSofortDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsSwish(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsSwishDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsSwishDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsTwint(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsTwintDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsTwintDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsUsBankAccount(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsUsBankAccountDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsUsBankAccountDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsWechatPay(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsWechatPayDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsWechatPayDisplayPreference( TypedDict, ): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ class PaymentMethodConfigurationUpdateParamsZip(TypedDict): display_preference: NotRequired[ "PaymentMethodConfigurationUpdateParamsZipDisplayPreference" ] """ Whether or not the payment method should be displayed. """ class PaymentMethodConfigurationUpdateParamsZipDisplayPreference(TypedDict): preference: NotRequired[Literal["none", "off", "on"]] """ The account's preference for whether or not to display this payment method. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_method_create_params.py0000644000000000000000000006045415102753431021250 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentMethodCreateParams(RequestOptions): acss_debit: NotRequired["PaymentMethodCreateParamsAcssDebit"] """ If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method. """ affirm: NotRequired["PaymentMethodCreateParamsAffirm"] """ If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method. """ afterpay_clearpay: NotRequired["PaymentMethodCreateParamsAfterpayClearpay"] """ If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method. """ alipay: NotRequired["PaymentMethodCreateParamsAlipay"] """ If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method. """ allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. """ alma: NotRequired["PaymentMethodCreateParamsAlma"] """ If this is a Alma PaymentMethod, this hash contains details about the Alma payment method. """ amazon_pay: NotRequired["PaymentMethodCreateParamsAmazonPay"] """ If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method. """ au_becs_debit: NotRequired["PaymentMethodCreateParamsAuBecsDebit"] """ If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account. """ bacs_debit: NotRequired["PaymentMethodCreateParamsBacsDebit"] """ If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account. """ bancontact: NotRequired["PaymentMethodCreateParamsBancontact"] """ If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method. """ billie: NotRequired["PaymentMethodCreateParamsBillie"] """ If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method. """ billing_details: NotRequired["PaymentMethodCreateParamsBillingDetails"] """ Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. """ blik: NotRequired["PaymentMethodCreateParamsBlik"] """ If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method. """ boleto: NotRequired["PaymentMethodCreateParamsBoleto"] """ If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method. """ card: NotRequired["PaymentMethodCreateParamsCard"] """ If this is a `card` PaymentMethod, this hash contains the user's card details. For backwards compatibility, you can alternatively provide a Stripe token (e.g., for Apple Pay, Amex Express Checkout, or legacy Checkout) into the card hash with format `card: {token: "tok_visa"}`. When providing a card number, you must meet the requirements for [PCI compliance](https://stripe.com/docs/security#validating-pci-compliance). We strongly recommend using Stripe.js instead of interacting with this API directly. """ cashapp: NotRequired["PaymentMethodCreateParamsCashapp"] """ If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method. """ crypto: NotRequired["PaymentMethodCreateParamsCrypto"] """ If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method. """ custom: NotRequired["PaymentMethodCreateParamsCustom"] """ If this is a `custom` PaymentMethod, this hash contains details about the Custom payment method. """ customer: NotRequired[str] """ The `Customer` to whom the original PaymentMethod is attached. """ customer_balance: NotRequired["PaymentMethodCreateParamsCustomerBalance"] """ If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method. """ eps: NotRequired["PaymentMethodCreateParamsEps"] """ If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ fpx: NotRequired["PaymentMethodCreateParamsFpx"] """ If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method. """ giropay: NotRequired["PaymentMethodCreateParamsGiropay"] """ If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method. """ grabpay: NotRequired["PaymentMethodCreateParamsGrabpay"] """ If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method. """ ideal: NotRequired["PaymentMethodCreateParamsIdeal"] """ If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method. """ interac_present: NotRequired["PaymentMethodCreateParamsInteracPresent"] """ If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method. """ kakao_pay: NotRequired["PaymentMethodCreateParamsKakaoPay"] """ If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method. """ klarna: NotRequired["PaymentMethodCreateParamsKlarna"] """ If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method. """ konbini: NotRequired["PaymentMethodCreateParamsKonbini"] """ If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method. """ kr_card: NotRequired["PaymentMethodCreateParamsKrCard"] """ If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method. """ link: NotRequired["PaymentMethodCreateParamsLink"] """ If this is an `Link` PaymentMethod, this hash contains details about the Link payment method. """ mb_way: NotRequired["PaymentMethodCreateParamsMbWay"] """ If this is a MB WAY PaymentMethod, this hash contains details about the MB WAY payment method. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ mobilepay: NotRequired["PaymentMethodCreateParamsMobilepay"] """ If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method. """ multibanco: NotRequired["PaymentMethodCreateParamsMultibanco"] """ If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method. """ naver_pay: NotRequired["PaymentMethodCreateParamsNaverPay"] """ If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method. """ nz_bank_account: NotRequired["PaymentMethodCreateParamsNzBankAccount"] """ If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method. """ oxxo: NotRequired["PaymentMethodCreateParamsOxxo"] """ If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method. """ p24: NotRequired["PaymentMethodCreateParamsP24"] """ If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method. """ pay_by_bank: NotRequired["PaymentMethodCreateParamsPayByBank"] """ If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method. """ payco: NotRequired["PaymentMethodCreateParamsPayco"] """ If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method. """ payment_method: NotRequired[str] """ The PaymentMethod to share. """ paynow: NotRequired["PaymentMethodCreateParamsPaynow"] """ If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method. """ paypal: NotRequired["PaymentMethodCreateParamsPaypal"] """ If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method. """ pix: NotRequired["PaymentMethodCreateParamsPix"] """ If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method. """ promptpay: NotRequired["PaymentMethodCreateParamsPromptpay"] """ If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method. """ radar_options: NotRequired["PaymentMethodCreateParamsRadarOptions"] """ Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. """ revolut_pay: NotRequired["PaymentMethodCreateParamsRevolutPay"] """ If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method. """ samsung_pay: NotRequired["PaymentMethodCreateParamsSamsungPay"] """ If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method. """ satispay: NotRequired["PaymentMethodCreateParamsSatispay"] """ If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method. """ sepa_debit: NotRequired["PaymentMethodCreateParamsSepaDebit"] """ If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account. """ sofort: NotRequired["PaymentMethodCreateParamsSofort"] """ If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method. """ swish: NotRequired["PaymentMethodCreateParamsSwish"] """ If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method. """ twint: NotRequired["PaymentMethodCreateParamsTwint"] """ If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method. """ type: NotRequired[ Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "card", "cashapp", "crypto", "custom", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] ] """ 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. """ us_bank_account: NotRequired["PaymentMethodCreateParamsUsBankAccount"] """ If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. """ wechat_pay: NotRequired["PaymentMethodCreateParamsWechatPay"] """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ zip: NotRequired["PaymentMethodCreateParamsZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. """ class PaymentMethodCreateParamsAcssDebit(TypedDict): account_number: str """ Customer's bank account number. """ institution_number: str """ Institution number of the customer's bank. """ transit_number: str """ Transit number of the customer's bank. """ class PaymentMethodCreateParamsAffirm(TypedDict): pass class PaymentMethodCreateParamsAfterpayClearpay(TypedDict): pass class PaymentMethodCreateParamsAlipay(TypedDict): pass class PaymentMethodCreateParamsAlma(TypedDict): pass class PaymentMethodCreateParamsAmazonPay(TypedDict): pass class PaymentMethodCreateParamsAuBecsDebit(TypedDict): account_number: str """ The account number for the bank account. """ bsb_number: str """ Bank-State-Branch number of the bank account. """ class PaymentMethodCreateParamsBacsDebit(TypedDict): account_number: NotRequired[str] """ Account number of the bank account that the funds will be debited from. """ sort_code: NotRequired[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class PaymentMethodCreateParamsBancontact(TypedDict): pass class PaymentMethodCreateParamsBillie(TypedDict): pass class PaymentMethodCreateParamsBillingDetails(TypedDict): address: NotRequired[ "Literal['']|PaymentMethodCreateParamsBillingDetailsAddress" ] """ Billing address. """ email: NotRequired["Literal['']|str"] """ Email address. """ name: NotRequired["Literal['']|str"] """ Full name. """ phone: NotRequired["Literal['']|str"] """ Billing phone number (including extension). """ tax_id: NotRequired[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ class PaymentMethodCreateParamsBillingDetailsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class PaymentMethodCreateParamsBlik(TypedDict): pass class PaymentMethodCreateParamsBoleto(TypedDict): tax_id: str """ The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers) """ class PaymentMethodCreateParamsCard(TypedDict): cvc: NotRequired[str] """ The card's CVC. It is highly recommended to always include this value. """ exp_month: NotRequired[int] """ Two-digit number representing the card's expiration month. """ exp_year: NotRequired[int] """ Four-digit number representing the card's expiration year. """ networks: NotRequired["PaymentMethodCreateParamsCardNetworks"] """ Contains information about card networks used to process the payment. """ number: NotRequired[str] """ The card number, as a string without any separators. """ token: NotRequired[str] """ For backwards compatibility, you can alternatively provide a Stripe token (e.g., for Apple Pay, Amex Express Checkout, or legacy Checkout) into the card hash with format card: {token: "tok_visa"}. """ class PaymentMethodCreateParamsCardNetworks(TypedDict): preferred: NotRequired[Literal["cartes_bancaires", "mastercard", "visa"]] """ The customer's preferred card network for co-branded cards. Supports `cartes_bancaires`, `mastercard`, or `visa`. Selection of a network that does not apply to the card will be stored as `invalid_preference` on the card. """ class PaymentMethodCreateParamsCashapp(TypedDict): pass class PaymentMethodCreateParamsCrypto(TypedDict): pass class PaymentMethodCreateParamsCustom(TypedDict): type: str """ ID of the Dashboard-only CustomPaymentMethodType. This field is used by Stripe products' internal code to support CPMs. """ class PaymentMethodCreateParamsCustomerBalance(TypedDict): pass class PaymentMethodCreateParamsEps(TypedDict): bank: NotRequired[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. """ class PaymentMethodCreateParamsFpx(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type for FPX transaction """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank. """ class PaymentMethodCreateParamsGiropay(TypedDict): pass class PaymentMethodCreateParamsGrabpay(TypedDict): pass class PaymentMethodCreateParamsIdeal(TypedDict): bank: NotRequired[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank. Only use this parameter for existing customers. Don't use it for new customers. """ class PaymentMethodCreateParamsInteracPresent(TypedDict): pass class PaymentMethodCreateParamsKakaoPay(TypedDict): pass class PaymentMethodCreateParamsKlarna(TypedDict): dob: NotRequired["PaymentMethodCreateParamsKlarnaDob"] """ Customer's date of birth """ class PaymentMethodCreateParamsKlarnaDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class PaymentMethodCreateParamsKonbini(TypedDict): pass class PaymentMethodCreateParamsKrCard(TypedDict): pass class PaymentMethodCreateParamsLink(TypedDict): pass class PaymentMethodCreateParamsMbWay(TypedDict): pass class PaymentMethodCreateParamsMobilepay(TypedDict): pass class PaymentMethodCreateParamsMultibanco(TypedDict): pass class PaymentMethodCreateParamsNaverPay(TypedDict): funding: NotRequired[Literal["card", "points"]] """ Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`. """ class PaymentMethodCreateParamsNzBankAccount(TypedDict): account_holder_name: NotRequired[str] """ The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ account_number: str """ The account number for the bank account. """ bank_code: str """ The numeric code for the bank account's bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ reference: NotRequired[str] suffix: str """ The suffix of the bank account number. """ class PaymentMethodCreateParamsOxxo(TypedDict): pass class PaymentMethodCreateParamsP24(TypedDict): bank: NotRequired[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank. """ class PaymentMethodCreateParamsPayByBank(TypedDict): pass class PaymentMethodCreateParamsPayco(TypedDict): pass class PaymentMethodCreateParamsPaynow(TypedDict): pass class PaymentMethodCreateParamsPaypal(TypedDict): pass class PaymentMethodCreateParamsPix(TypedDict): pass class PaymentMethodCreateParamsPromptpay(TypedDict): pass class PaymentMethodCreateParamsRadarOptions(TypedDict): session: NotRequired[str] """ 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. """ class PaymentMethodCreateParamsRevolutPay(TypedDict): pass class PaymentMethodCreateParamsSamsungPay(TypedDict): pass class PaymentMethodCreateParamsSatispay(TypedDict): pass class PaymentMethodCreateParamsSepaDebit(TypedDict): iban: str """ IBAN of the bank account. """ class PaymentMethodCreateParamsSofort(TypedDict): country: Literal["AT", "BE", "DE", "ES", "IT", "NL"] """ Two-letter ISO code representing the country the bank account is located in. """ class PaymentMethodCreateParamsSwish(TypedDict): pass class PaymentMethodCreateParamsTwint(TypedDict): pass class PaymentMethodCreateParamsUsBankAccount(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_number: NotRequired[str] """ Account number of the bank account. """ account_type: NotRequired[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. """ routing_number: NotRequired[str] """ Routing number of the bank account. """ class PaymentMethodCreateParamsWechatPay(TypedDict): pass class PaymentMethodCreateParamsZip(TypedDict): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_method_detach_params.py0000644000000000000000000000053115102753431021223 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentMethodDetachParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_method_domain_create_params.py0000644000000000000000000000126215102753431022567 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentMethodDomainCreateParams(RequestOptions): domain_name: str """ The domain name that this payment method domain object represents. """ enabled: NotRequired[bool] """ Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements or Embedded Checkout. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_method_domain_list_params.py0000644000000000000000000000276315102753431022306 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentMethodDomainListParams(RequestOptions): domain_name: NotRequired[str] """ The domain name that this payment method domain object represents. """ enabled: NotRequired[bool] """ Whether this payment method domain is enabled. If the domain is not enabled, payment methods will not appear in Elements or Embedded Checkout """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_method_domain_modify_params.py0000644000000000000000000000110615102753431022610 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentMethodDomainModifyParams(RequestOptions): enabled: NotRequired[bool] """ Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements or Embedded Checkout. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_method_domain_retrieve_params.py0000644000000000000000000000054115102753431023150 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentMethodDomainRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_method_domain_update_params.py0000644000000000000000000000103115102753431022600 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class PaymentMethodDomainUpdateParams(TypedDict): enabled: NotRequired[bool] """ Whether this payment method domain is enabled. If the domain is not enabled, payment methods that require a payment method domain will not appear in Elements or Embedded Checkout. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_method_domain_validate_params.py0000644000000000000000000000054115102753431023114 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentMethodDomainValidateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_method_list_params.py0000644000000000000000000000542515102753431020755 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class PaymentMethodListParams(RequestOptions): customer: NotRequired[str] """ The ID of the customer whose PaymentMethods will be retrieved. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ type: NotRequired[ Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "card", "cashapp", "crypto", "custom", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] ] """ Filters the list by the object `type` field. Unfiltered, the list returns all payment method types except `custom`. If your integration expects only one type of payment method in the response, specify that type value in the request to reduce your payload. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_method_modify_params.py0000644000000000000000000001006215102753431021262 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentMethodModifyParams(RequestOptions): allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. """ billing_details: NotRequired["PaymentMethodModifyParamsBillingDetails"] """ Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. """ card: NotRequired["PaymentMethodModifyParamsCard"] """ If this is a `card` PaymentMethod, this hash contains the user's card details. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ us_bank_account: NotRequired["PaymentMethodModifyParamsUsBankAccount"] """ If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. """ class PaymentMethodModifyParamsBillingDetails(TypedDict): address: NotRequired[ "Literal['']|PaymentMethodModifyParamsBillingDetailsAddress" ] """ Billing address. """ email: NotRequired["Literal['']|str"] """ Email address. """ name: NotRequired["Literal['']|str"] """ Full name. """ phone: NotRequired["Literal['']|str"] """ Billing phone number (including extension). """ tax_id: NotRequired[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ class PaymentMethodModifyParamsBillingDetailsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class PaymentMethodModifyParamsCard(TypedDict): exp_month: NotRequired[int] """ Two-digit number representing the card's expiration month. """ exp_year: NotRequired[int] """ Four-digit number representing the card's expiration year. """ networks: NotRequired["PaymentMethodModifyParamsCardNetworks"] """ Contains information about card networks used to process the payment. """ class PaymentMethodModifyParamsCardNetworks(TypedDict): preferred: NotRequired[ "Literal['']|Literal['cartes_bancaires', 'mastercard', 'visa']" ] """ The customer's preferred card network for co-branded cards. Supports `cartes_bancaires`, `mastercard`, or `visa`. Selection of a network that does not apply to the card will be stored as `invalid_preference` on the card. """ class PaymentMethodModifyParamsUsBankAccount(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Bank account holder type. """ account_type: NotRequired[Literal["checking", "savings"]] """ Bank account type. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_method_retrieve_params.py0000644000000000000000000000053315102753431021622 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentMethodRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_method_update_params.py0000644000000000000000000000777215102753431021273 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentMethodUpdateParams(TypedDict): allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. """ billing_details: NotRequired["PaymentMethodUpdateParamsBillingDetails"] """ Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. """ card: NotRequired["PaymentMethodUpdateParamsCard"] """ If this is a `card` PaymentMethod, this hash contains the user's card details. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ us_bank_account: NotRequired["PaymentMethodUpdateParamsUsBankAccount"] """ If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. """ class PaymentMethodUpdateParamsBillingDetails(TypedDict): address: NotRequired[ "Literal['']|PaymentMethodUpdateParamsBillingDetailsAddress" ] """ Billing address. """ email: NotRequired["Literal['']|str"] """ Email address. """ name: NotRequired["Literal['']|str"] """ Full name. """ phone: NotRequired["Literal['']|str"] """ Billing phone number (including extension). """ tax_id: NotRequired[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ class PaymentMethodUpdateParamsBillingDetailsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class PaymentMethodUpdateParamsCard(TypedDict): exp_month: NotRequired[int] """ Two-digit number representing the card's expiration month. """ exp_year: NotRequired[int] """ Four-digit number representing the card's expiration year. """ networks: NotRequired["PaymentMethodUpdateParamsCardNetworks"] """ Contains information about card networks used to process the payment. """ class PaymentMethodUpdateParamsCardNetworks(TypedDict): preferred: NotRequired[ "Literal['']|Literal['cartes_bancaires', 'mastercard', 'visa']" ] """ The customer's preferred card network for co-branded cards. Supports `cartes_bancaires`, `mastercard`, or `visa`. Selection of a network that does not apply to the card will be stored as `invalid_preference` on the card. """ class PaymentMethodUpdateParamsUsBankAccount(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Bank account holder type. """ account_type: NotRequired[Literal["checking", "savings"]] """ Bank account type. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_record_report_payment_attempt_canceled_params.py0000644000000000000000000000106115102753431026414 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class PaymentRecordReportPaymentAttemptCanceledParams(RequestOptions): canceled_at: int """ When the reported payment was canceled. Measured in seconds since the Unix epoch. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|Dict[str, str]"] ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_record_report_payment_attempt_failed_params.py0000644000000000000000000000104715102753431026106 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class PaymentRecordReportPaymentAttemptFailedParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ failed_at: int """ When the reported payment failed. Measured in seconds since the Unix epoch. """ metadata: NotRequired["Literal['']|Dict[str, str]"] ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_record_report_payment_attempt_guaranteed_params.py0000644000000000000000000000106715102753431027003 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class PaymentRecordReportPaymentAttemptGuaranteedParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ guaranteed_at: int """ When the reported payment was guaranteed. Measured in seconds since the Unix epoch. """ metadata: NotRequired["Literal['']|Dict[str, str]"] ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3560622 stripe-13.2.0/stripe/params/_payment_record_report_payment_attempt_informational_params.py0000644000000000000000000000545515102753431027533 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentRecordReportPaymentAttemptInformationalParams(RequestOptions): customer_details: NotRequired[ "PaymentRecordReportPaymentAttemptInformationalParamsCustomerDetails" ] """ Customer information for this payment. """ description: NotRequired["Literal['']|str"] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ shipping_details: NotRequired[ "Literal['']|PaymentRecordReportPaymentAttemptInformationalParamsShippingDetails" ] """ Shipping information for this payment. """ class PaymentRecordReportPaymentAttemptInformationalParamsCustomerDetails( TypedDict, ): customer: NotRequired[str] """ The customer who made the payment. """ email: NotRequired[str] """ The customer's phone number. """ name: NotRequired[str] """ The customer's name. """ phone: NotRequired[str] """ The customer's phone number. """ class PaymentRecordReportPaymentAttemptInformationalParamsShippingDetails( TypedDict, ): address: NotRequired[ "PaymentRecordReportPaymentAttemptInformationalParamsShippingDetailsAddress" ] """ The physical shipping address. """ name: NotRequired[str] """ The shipping recipient's name. """ phone: NotRequired[str] """ The shipping recipient's phone number. """ class PaymentRecordReportPaymentAttemptInformationalParamsShippingDetailsAddress( TypedDict, ): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_payment_record_report_payment_attempt_params.py0000644000000000000000000001333715102753431024607 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentRecordReportPaymentAttemptParams(RequestOptions): description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ failed: NotRequired["PaymentRecordReportPaymentAttemptParamsFailed"] """ Information about the payment attempt failure. """ guaranteed: NotRequired[ "PaymentRecordReportPaymentAttemptParamsGuaranteed" ] """ Information about the payment attempt guarantee. """ initiated_at: int """ When the reported payment was initiated. Measured in seconds since the Unix epoch. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ outcome: NotRequired[Literal["failed", "guaranteed"]] """ The outcome of the reported payment. """ payment_method_details: NotRequired[ "PaymentRecordReportPaymentAttemptParamsPaymentMethodDetails" ] """ Information about the Payment Method debited for this payment. """ shipping_details: NotRequired[ "PaymentRecordReportPaymentAttemptParamsShippingDetails" ] """ Shipping information for this payment. """ class PaymentRecordReportPaymentAttemptParamsFailed(TypedDict): failed_at: int """ When the reported payment failed. Measured in seconds since the Unix epoch. """ class PaymentRecordReportPaymentAttemptParamsGuaranteed(TypedDict): guaranteed_at: int """ When the reported payment was guaranteed. Measured in seconds since the Unix epoch. """ class PaymentRecordReportPaymentAttemptParamsPaymentMethodDetails(TypedDict): billing_details: NotRequired[ "PaymentRecordReportPaymentAttemptParamsPaymentMethodDetailsBillingDetails" ] """ The billing details associated with the method of payment. """ custom: NotRequired[ "PaymentRecordReportPaymentAttemptParamsPaymentMethodDetailsCustom" ] """ Information about the custom (user-defined) payment method used to make this payment. """ payment_method: NotRequired[str] """ ID of the Stripe Payment Method used to make this payment. """ type: NotRequired[Literal["custom"]] """ The type of the payment method details. An additional hash is included on the payment_method_details with a name matching this value. It contains additional information specific to the type. """ class PaymentRecordReportPaymentAttemptParamsPaymentMethodDetailsBillingDetails( TypedDict, ): address: NotRequired[ "PaymentRecordReportPaymentAttemptParamsPaymentMethodDetailsBillingDetailsAddress" ] """ The billing address associated with the method of payment. """ email: NotRequired[str] """ The billing email associated with the method of payment. """ name: NotRequired[str] """ The billing name associated with the method of payment. """ phone: NotRequired[str] """ The billing phone number associated with the method of payment. """ class PaymentRecordReportPaymentAttemptParamsPaymentMethodDetailsBillingDetailsAddress( TypedDict, ): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class PaymentRecordReportPaymentAttemptParamsPaymentMethodDetailsCustom( TypedDict, ): display_name: NotRequired[str] """ Display name for the custom (user-defined) payment method type used to make this payment. """ type: NotRequired[str] """ The custom payment method type associated with this payment. """ class PaymentRecordReportPaymentAttemptParamsShippingDetails(TypedDict): address: NotRequired[ "PaymentRecordReportPaymentAttemptParamsShippingDetailsAddress" ] """ The physical shipping address. """ name: NotRequired[str] """ The shipping recipient's name. """ phone: NotRequired[str] """ The shipping recipient's phone number. """ class PaymentRecordReportPaymentAttemptParamsShippingDetailsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_payment_record_report_payment_params.py0000644000000000000000000001736215102753431023053 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentRecordReportPaymentParams(RequestOptions): amount_requested: "PaymentRecordReportPaymentParamsAmountRequested" """ The amount you initially requested for this payment. """ customer_details: NotRequired[ "PaymentRecordReportPaymentParamsCustomerDetails" ] """ Customer information for this payment. """ customer_presence: NotRequired[Literal["off_session", "on_session"]] """ Indicates whether the customer was present in your checkout flow during this payment. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ failed: NotRequired["PaymentRecordReportPaymentParamsFailed"] """ Information about the payment attempt failure. """ guaranteed: NotRequired["PaymentRecordReportPaymentParamsGuaranteed"] """ Information about the payment attempt guarantee. """ initiated_at: int """ When the reported payment was initiated. Measured in seconds since the Unix epoch. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ outcome: NotRequired[Literal["failed", "guaranteed"]] """ The outcome of the reported payment. """ payment_method_details: ( "PaymentRecordReportPaymentParamsPaymentMethodDetails" ) """ Information about the Payment Method debited for this payment. """ processor_details: NotRequired[ "PaymentRecordReportPaymentParamsProcessorDetails" ] """ Processor information for this payment. """ shipping_details: NotRequired[ "PaymentRecordReportPaymentParamsShippingDetails" ] """ Shipping information for this payment. """ class PaymentRecordReportPaymentParamsAmountRequested(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class PaymentRecordReportPaymentParamsCustomerDetails(TypedDict): customer: NotRequired[str] """ The customer who made the payment. """ email: NotRequired[str] """ The customer's phone number. """ name: NotRequired[str] """ The customer's name. """ phone: NotRequired[str] """ The customer's phone number. """ class PaymentRecordReportPaymentParamsFailed(TypedDict): failed_at: int """ When the reported payment failed. Measured in seconds since the Unix epoch. """ class PaymentRecordReportPaymentParamsGuaranteed(TypedDict): guaranteed_at: int """ When the reported payment was guaranteed. Measured in seconds since the Unix epoch. """ class PaymentRecordReportPaymentParamsPaymentMethodDetails(TypedDict): billing_details: NotRequired[ "PaymentRecordReportPaymentParamsPaymentMethodDetailsBillingDetails" ] """ The billing details associated with the method of payment. """ custom: NotRequired[ "PaymentRecordReportPaymentParamsPaymentMethodDetailsCustom" ] """ Information about the custom (user-defined) payment method used to make this payment. """ payment_method: NotRequired[str] """ ID of the Stripe Payment Method used to make this payment. """ type: NotRequired[Literal["custom"]] """ The type of the payment method details. An additional hash is included on the payment_method_details with a name matching this value. It contains additional information specific to the type. """ class PaymentRecordReportPaymentParamsPaymentMethodDetailsBillingDetails( TypedDict, ): address: NotRequired[ "PaymentRecordReportPaymentParamsPaymentMethodDetailsBillingDetailsAddress" ] """ The billing address associated with the method of payment. """ email: NotRequired[str] """ The billing email associated with the method of payment. """ name: NotRequired[str] """ The billing name associated with the method of payment. """ phone: NotRequired[str] """ The billing phone number associated with the method of payment. """ class PaymentRecordReportPaymentParamsPaymentMethodDetailsBillingDetailsAddress( TypedDict, ): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class PaymentRecordReportPaymentParamsPaymentMethodDetailsCustom(TypedDict): display_name: NotRequired[str] """ Display name for the custom (user-defined) payment method type used to make this payment. """ type: NotRequired[str] """ The custom payment method type associated with this payment. """ class PaymentRecordReportPaymentParamsProcessorDetails(TypedDict): custom: NotRequired[ "PaymentRecordReportPaymentParamsProcessorDetailsCustom" ] """ Information about the custom processor used to make this payment. """ type: Literal["custom"] """ The type of the processor details. An additional hash is included on processor_details with a name matching this value. It contains additional information specific to the processor. """ class PaymentRecordReportPaymentParamsProcessorDetailsCustom(TypedDict): payment_reference: str """ An opaque string for manual reconciliation of this payment, for example a check number or a payment processor ID. """ class PaymentRecordReportPaymentParamsShippingDetails(TypedDict): address: NotRequired[ "PaymentRecordReportPaymentParamsShippingDetailsAddress" ] """ The physical shipping address. """ name: NotRequired[str] """ The shipping recipient's name. """ phone: NotRequired[str] """ The shipping recipient's phone number. """ class PaymentRecordReportPaymentParamsShippingDetailsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_payment_record_report_refund_params.py0000644000000000000000000000551015102753431022651 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PaymentRecordReportRefundParams(RequestOptions): amount: NotRequired["PaymentRecordReportRefundParamsAmount"] """ A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) representing how much of this payment to refund. Can refund only up to the remaining, unrefunded amount of the payment. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ initiated_at: NotRequired[int] """ When the reported refund was initiated. Measured in seconds since the Unix epoch. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ outcome: Literal["refunded"] """ The outcome of the reported refund. """ processor_details: "PaymentRecordReportRefundParamsProcessorDetails" """ Processor information for this refund. """ refunded: "PaymentRecordReportRefundParamsRefunded" """ Information about the payment attempt refund. """ class PaymentRecordReportRefundParamsAmount(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ value: int """ A positive integer representing the amount in the currency's [minor unit](https://stripe.com/docs/currencies#zero-decimal). For example, `100` can represent 1 USD or 100 JPY. """ class PaymentRecordReportRefundParamsProcessorDetails(TypedDict): custom: NotRequired[ "PaymentRecordReportRefundParamsProcessorDetailsCustom" ] """ Information about the custom processor used to make this refund. """ type: Literal["custom"] """ The type of the processor details. An additional hash is included on processor_details with a name matching this value. It contains additional information specific to the processor. """ class PaymentRecordReportRefundParamsProcessorDetailsCustom(TypedDict): refund_reference: str """ A reference to the external refund. This field must be unique across all refunds. """ class PaymentRecordReportRefundParamsRefunded(TypedDict): refunded_at: int """ When the reported refund completed. Measured in seconds since the Unix epoch. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_payment_record_retrieve_params.py0000644000000000000000000000053315102753431021620 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PaymentRecordRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_payout_cancel_params.py0000644000000000000000000000052215102753431017524 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PayoutCancelParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_payout_create_params.py0000644000000000000000000000464615102753431017555 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class PayoutCreateParams(RequestOptions): amount: int """ A positive integer in cents representing how much to payout. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ destination: NotRequired[str] """ The ID of a bank account or a card to send the payout to. If you don't provide a destination, we use the default external account for the specified currency. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ method: NotRequired[Literal["instant", "standard"]] """ The method used to send this payout, which is `standard` or `instant`. We support `instant` for payouts to debit cards and bank accounts in certain countries. Learn more about [bank support for Instant Payouts](https://stripe.com/docs/payouts/instant-payouts-banks). """ payout_method: NotRequired[str] """ The ID of a v2 FinancialAccount to send funds to. """ source_type: NotRequired[Literal["bank_account", "card", "fpx"]] """ The balance type of your Stripe balance to draw this payout from. Balances for different payment sources are kept separately. You can find the amounts with the Balances API. One of `bank_account`, `card`, or `fpx`. """ statement_descriptor: NotRequired[str] """ A string that displays on the recipient's bank or card statement (up to 22 characters). A `statement_descriptor` that's longer than 22 characters return an error. Most banks truncate this information and display it inconsistently. Some banks might not display it at all. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_payout_list_params.py0000644000000000000000000000500415102753431017252 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class PayoutListParams(RequestOptions): arrival_date: NotRequired["PayoutListParamsArrivalDate|int"] """ Only return payouts that are expected to arrive during the given date interval. """ created: NotRequired["PayoutListParamsCreated|int"] """ Only return payouts that were created during the given date interval. """ destination: NotRequired[str] """ The ID of an external account - only return payouts sent to this external account. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[str] """ Only return payouts that have the given status: `pending`, `paid`, `failed`, or `canceled`. """ class PayoutListParamsArrivalDate(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ class PayoutListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_payout_modify_params.py0000644000000000000000000000135415102753431017572 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class PayoutModifyParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_payout_retrieve_params.py0000644000000000000000000000052415102753431020126 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PayoutRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_payout_reverse_params.py0000644000000000000000000000132615102753431017755 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import NotRequired class PayoutReverseParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_payout_update_params.py0000644000000000000000000000127715102753431017571 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PayoutUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_plan_create_params.py0000644000000000000000000001574315102753431017166 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict class PlanCreateParams(RequestOptions): active: NotRequired[bool] """ Whether the plan is currently available for new subscriptions. Defaults to `true`. """ amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free plan) representing how much to charge on a recurring basis. """ amount_decimal: NotRequired[str] """ Same as `amount`, but accepts a decimal value with at most 12 decimal places. Only one of `amount` and `amount_decimal` can be set. """ billing_scheme: NotRequired[Literal["per_unit", "tiered"]] """ Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `amount`) will be charged per unit in `quantity` (for plans with `usage_type=licensed`), or per unit of total usage (for plans 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. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ id: NotRequired[str] """ An identifier randomly generated by Stripe. Used to identify this plan when subscribing a customer. You can optionally override this ID, but the ID must be unique across all plans in your Stripe account. You can, however, use the same plan ID in both live and test modes. """ interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ meter: NotRequired[str] """ The meter tracking the usage of a metered price """ nickname: NotRequired[str] """ A brief description of the plan, hidden from customers. """ product: NotRequired["PlanCreateParamsProduct|str"] tiers: NotRequired[List["PlanCreateParamsTier"]] """ Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. """ tiers_mode: NotRequired[Literal["graduated", "volume"]] """ Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price, in `graduated` tiering pricing can successively change as the quantity grows. """ transform_usage: NotRequired["PlanCreateParamsTransformUsage"] """ Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with `tiers`. """ trial_period_days: NotRequired[int] """ Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan). """ usage_type: NotRequired[Literal["licensed", "metered"]] """ Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`. """ class PlanCreateParamsProduct(TypedDict): active: NotRequired[bool] """ Whether the product is currently available for purchase. Defaults to `true`. """ id: NotRequired[str] """ The identifier for the product. Must be unique. If not provided, an identifier will be randomly generated. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: str """ The product's name, meant to be displayable to the customer. """ statement_descriptor: NotRequired[str] """ An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all. This may be up to 22 characters. The statement description may not include `<`, `>`, `\\`, `"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ unit_label: NotRequired[str] """ A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. """ class PlanCreateParamsTier(TypedDict): flat_amount: NotRequired[int] """ The flat billing amount for an entire tier, regardless of the number of units in the tier. """ flat_amount_decimal: NotRequired[str] """ Same as `flat_amount`, but accepts a decimal value representing an integer in the minor units of the currency. Only one of `flat_amount` and `flat_amount_decimal` can be set. """ unit_amount: NotRequired[int] """ The per unit billing amount for each individual unit for which this tier applies. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ up_to: Union[Literal["inf"], int] """ Specifies the upper bound of this tier. The lower bound of a tier is the upper bound of the previous tier adding one. Use `inf` to define a fallback tier. """ class PlanCreateParamsTransformUsage(TypedDict): divide_by: int """ Divide usage by this number. """ round: Literal["down", "up"] """ After division, either round the result `up` or `down`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_plan_delete_params.py0000644000000000000000000000024515102753431017154 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class PlanDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_plan_list_params.py0000644000000000000000000000404015102753431016662 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class PlanListParams(RequestOptions): active: NotRequired[bool] """ Only return plans that are active or inactive (e.g., pass `false` to list all inactive plans). """ created: NotRequired["PlanListParamsCreated|int"] """ A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ product: NotRequired[str] """ Only return plans for the given product. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class PlanListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_plan_modify_params.py0000644000000000000000000000252515102753431017204 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class PlanModifyParams(RequestOptions): active: NotRequired[bool] """ Whether the plan is currently available for new subscriptions. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ nickname: NotRequired[str] """ A brief description of the plan, hidden from customers. """ product: NotRequired[str] """ The product the plan belongs to. This cannot be changed once it has been used in a subscription or subscription schedule. """ trial_period_days: NotRequired[int] """ Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_plan_retrieve_params.py0000644000000000000000000000052215102753431017535 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PlanRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_plan_update_params.py0000644000000000000000000000245015102753431017174 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PlanUpdateParams(TypedDict): active: NotRequired[bool] """ Whether the plan is currently available for new subscriptions. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ nickname: NotRequired[str] """ A brief description of the plan, hidden from customers. """ product: NotRequired[str] """ The product the plan belongs to. This cannot be changed once it has been used in a subscription or subscription schedule. """ trial_period_days: NotRequired[int] """ Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_price_create_params.py0000644000000000000000000003031515102753431017326 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict class PriceCreateParams(RequestOptions): active: NotRequired[bool] """ Whether the price can be used for new purchases. Defaults to `true`. """ billing_scheme: NotRequired[Literal["per_unit", "tiered"]] """ 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. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ currency_options: NotRequired[ Dict[str, "PriceCreateParamsCurrencyOptions"] ] """ Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ custom_unit_amount: NotRequired["PriceCreateParamsCustomUnitAmount"] """ When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ lookup_key: NotRequired[str] """ A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ nickname: NotRequired[str] """ A brief description of the price, hidden from customers. """ product: NotRequired[str] """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ product_data: NotRequired["PriceCreateParamsProductData"] """ These fields can be used to create a new product that this price will belong to. """ recurring: NotRequired["PriceCreateParamsRecurring"] """ The recurring components of a price such as `interval` and `usage_type`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ tiers: NotRequired[List["PriceCreateParamsTier"]] """ Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. """ tiers_mode: NotRequired[Literal["graduated", "volume"]] """ Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price, in `graduated` tiering pricing can successively change as the quantity grows. """ transfer_lookup_key: NotRequired[bool] """ If set to true, will atomically remove the lookup key from the existing price, and assign it to this price. """ transform_quantity: NotRequired["PriceCreateParamsTransformQuantity"] """ Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with `tiers`. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. One of `unit_amount`, `unit_amount_decimal`, or `custom_unit_amount` is required, unless `billing_scheme=tiered`. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class PriceCreateParamsCurrencyOptions(TypedDict): custom_unit_amount: NotRequired[ "PriceCreateParamsCurrencyOptionsCustomUnitAmount" ] """ When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ tiers: NotRequired[List["PriceCreateParamsCurrencyOptionsTier"]] """ Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class PriceCreateParamsCurrencyOptionsCustomUnitAmount(TypedDict): enabled: bool """ Pass in `true` to enable `custom_unit_amount`, otherwise omit `custom_unit_amount`. """ maximum: NotRequired[int] """ The maximum unit amount the customer can specify for this item. """ minimum: NotRequired[int] """ The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount. """ preset: NotRequired[int] """ The starting unit amount which can be updated by the customer. """ class PriceCreateParamsCurrencyOptionsTier(TypedDict): flat_amount: NotRequired[int] """ The flat billing amount for an entire tier, regardless of the number of units in the tier. """ flat_amount_decimal: NotRequired[str] """ Same as `flat_amount`, but accepts a decimal value representing an integer in the minor units of the currency. Only one of `flat_amount` and `flat_amount_decimal` can be set. """ unit_amount: NotRequired[int] """ The per unit billing amount for each individual unit for which this tier applies. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ up_to: Union[Literal["inf"], int] """ Specifies the upper bound of this tier. The lower bound of a tier is the upper bound of the previous tier adding one. Use `inf` to define a fallback tier. """ class PriceCreateParamsCustomUnitAmount(TypedDict): enabled: bool """ Pass in `true` to enable `custom_unit_amount`, otherwise omit `custom_unit_amount`. """ maximum: NotRequired[int] """ The maximum unit amount the customer can specify for this item. """ minimum: NotRequired[int] """ The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount. """ preset: NotRequired[int] """ The starting unit amount which can be updated by the customer. """ class PriceCreateParamsProductData(TypedDict): active: NotRequired[bool] """ Whether the product is currently available for purchase. Defaults to `true`. """ id: NotRequired[str] """ The identifier for the product. Must be unique. If not provided, an identifier will be randomly generated. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: str """ The product's name, meant to be displayable to the customer. """ statement_descriptor: NotRequired[str] """ An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all. This may be up to 22 characters. The statement description may not include `<`, `>`, `\\`, `"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ unit_label: NotRequired[str] """ A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. """ class PriceCreateParamsRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ meter: NotRequired[str] """ The meter tracking the usage of a metered price """ trial_period_days: NotRequired[int] """ Default number of trial days when subscribing a customer to this price using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan). """ usage_type: NotRequired[Literal["licensed", "metered"]] """ Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`. """ class PriceCreateParamsTier(TypedDict): flat_amount: NotRequired[int] """ The flat billing amount for an entire tier, regardless of the number of units in the tier. """ flat_amount_decimal: NotRequired[str] """ Same as `flat_amount`, but accepts a decimal value representing an integer in the minor units of the currency. Only one of `flat_amount` and `flat_amount_decimal` can be set. """ unit_amount: NotRequired[int] """ The per unit billing amount for each individual unit for which this tier applies. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ up_to: Union[Literal["inf"], int] """ Specifies the upper bound of this tier. The lower bound of a tier is the upper bound of the previous tier adding one. Use `inf` to define a fallback tier. """ class PriceCreateParamsTransformQuantity(TypedDict): divide_by: int """ Divide usage by this number. """ round: Literal["down", "up"] """ After division, either round the result `up` or `down`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_price_list_params.py0000644000000000000000000000573715102753431017050 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class PriceListParams(RequestOptions): active: NotRequired[bool] """ Only return prices that are active or inactive (e.g., pass `false` to list all inactive prices). """ created: NotRequired["PriceListParamsCreated|int"] """ A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. """ currency: NotRequired[str] """ Only return prices for the given currency. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ lookup_keys: NotRequired[List[str]] """ Only return the price with these lookup_keys, if any exist. You can specify up to 10 lookup_keys. """ product: NotRequired[str] """ Only return prices for the given product. """ recurring: NotRequired["PriceListParamsRecurring"] """ Only return prices with these recurring fields. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ type: NotRequired[Literal["one_time", "recurring"]] """ Only return prices of type `recurring` or `one_time`. """ class PriceListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ class PriceListParamsRecurring(TypedDict): interval: NotRequired[Literal["day", "month", "week", "year"]] """ Filter by billing frequency. Either `day`, `week`, `month` or `year`. """ meter: NotRequired[str] """ Filter by the price's meter. """ usage_type: NotRequired[Literal["licensed", "metered"]] """ Filter by the usage type for this price. Can be either `metered` or `licensed`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_price_modify_params.py0000644000000000000000000001216615102753431017356 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict class PriceModifyParams(RequestOptions): active: NotRequired[bool] """ Whether the price can be used for new purchases. Defaults to `true`. """ currency_options: NotRequired[ "Literal['']|Dict[str, PriceModifyParamsCurrencyOptions]" ] """ Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ lookup_key: NotRequired[str] """ A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ nickname: NotRequired[str] """ A brief description of the price, hidden from customers. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ transfer_lookup_key: NotRequired[bool] """ If set to true, will atomically remove the lookup key from the existing price, and assign it to this price. """ class PriceModifyParamsCurrencyOptions(TypedDict): custom_unit_amount: NotRequired[ "PriceModifyParamsCurrencyOptionsCustomUnitAmount" ] """ When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ tiers: NotRequired[List["PriceModifyParamsCurrencyOptionsTier"]] """ Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class PriceModifyParamsCurrencyOptionsCustomUnitAmount(TypedDict): enabled: bool """ Pass in `true` to enable `custom_unit_amount`, otherwise omit `custom_unit_amount`. """ maximum: NotRequired[int] """ The maximum unit amount the customer can specify for this item. """ minimum: NotRequired[int] """ The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount. """ preset: NotRequired[int] """ The starting unit amount which can be updated by the customer. """ class PriceModifyParamsCurrencyOptionsTier(TypedDict): flat_amount: NotRequired[int] """ The flat billing amount for an entire tier, regardless of the number of units in the tier. """ flat_amount_decimal: NotRequired[str] """ Same as `flat_amount`, but accepts a decimal value representing an integer in the minor units of the currency. Only one of `flat_amount` and `flat_amount_decimal` can be set. """ unit_amount: NotRequired[int] """ The per unit billing amount for each individual unit for which this tier applies. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ up_to: Union[Literal["inf"], int] """ Specifies the upper bound of this tier. The lower bound of a tier is the upper bound of the previous tier adding one. Use `inf` to define a fallback tier. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_price_retrieve_params.py0000644000000000000000000000052315102753431017706 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PriceRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_price_search_params.py0000644000000000000000000000172715102753431017335 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PriceSearchParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ page: NotRequired[str] """ A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. """ query: str """ The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for prices](https://stripe.com/docs/search#query-fields-for-prices). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_price_update_params.py0000644000000000000000000001207615102753431017351 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict class PriceUpdateParams(TypedDict): active: NotRequired[bool] """ Whether the price can be used for new purchases. Defaults to `true`. """ currency_options: NotRequired[ "Literal['']|Dict[str, PriceUpdateParamsCurrencyOptions]" ] """ Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ lookup_key: NotRequired[str] """ A lookup key used to retrieve prices dynamically from a static string. This may be up to 200 characters. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ nickname: NotRequired[str] """ A brief description of the price, hidden from customers. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ transfer_lookup_key: NotRequired[bool] """ If set to true, will atomically remove the lookup key from the existing price, and assign it to this price. """ class PriceUpdateParamsCurrencyOptions(TypedDict): custom_unit_amount: NotRequired[ "PriceUpdateParamsCurrencyOptionsCustomUnitAmount" ] """ When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ tiers: NotRequired[List["PriceUpdateParamsCurrencyOptionsTier"]] """ Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class PriceUpdateParamsCurrencyOptionsCustomUnitAmount(TypedDict): enabled: bool """ Pass in `true` to enable `custom_unit_amount`, otherwise omit `custom_unit_amount`. """ maximum: NotRequired[int] """ The maximum unit amount the customer can specify for this item. """ minimum: NotRequired[int] """ The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount. """ preset: NotRequired[int] """ The starting unit amount which can be updated by the customer. """ class PriceUpdateParamsCurrencyOptionsTier(TypedDict): flat_amount: NotRequired[int] """ The flat billing amount for an entire tier, regardless of the number of units in the tier. """ flat_amount_decimal: NotRequired[str] """ Same as `flat_amount`, but accepts a decimal value representing an integer in the minor units of the currency. Only one of `flat_amount` and `flat_amount_decimal` can be set. """ unit_amount: NotRequired[int] """ The per unit billing amount for each individual unit for which this tier applies. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ up_to: Union[Literal["inf"], int] """ Specifies the upper bound of this tier. The lower bound of a tier is the upper bound of the previous tier adding one. Use `inf` to define a fallback tier. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.357062 stripe-13.2.0/stripe/params/_product_create_feature_params.py0000644000000000000000000000076615102753431021426 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ProductCreateFeatureParams(RequestOptions): entitlement_feature: str """ The ID of the [Feature](https://stripe.com/docs/api/entitlements/feature) object attached to this product. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_product_create_params.py0000644000000000000000000002521215102753431017704 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict class ProductCreateParams(RequestOptions): active: NotRequired[bool] """ Whether the product is currently available for purchase. Defaults to `true`. """ default_price_data: NotRequired["ProductCreateParamsDefaultPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object. This Price will be set as the default price for this product. """ description: NotRequired[str] """ 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. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ id: NotRequired[str] """ 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. """ images: NotRequired[List[str]] """ A list of up to 8 URLs of images for this product, meant to be displayable to the customer. """ marketing_features: NotRequired[ List["ProductCreateParamsMarketingFeature"] ] """ 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). """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: str """ The product's name, meant to be displayable to the customer. """ package_dimensions: NotRequired["ProductCreateParamsPackageDimensions"] """ The dimensions of this product for shipping purposes. """ shippable: NotRequired[bool] """ Whether this product is shipped (i.e., physical goods). """ statement_descriptor: NotRequired[str] """ An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all. This may be up to 22 characters. The statement description may not include `<`, `>`, `\\`, `"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. It must contain at least one letter. Only used for subscription payments. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ type: NotRequired[Literal["good", "service"]] """ The type of the product. Defaults to `service` if not explicitly specified, enabling use of this product with Subscriptions and Plans. Set this parameter to `good` to use this product with Orders and SKUs. On API versions before `2018-02-05`, this field defaults to `good` for compatibility reasons. """ unit_label: NotRequired[str] """ A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. """ url: NotRequired[str] """ A URL of a publicly-accessible webpage for this product. """ class ProductCreateParamsDefaultPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ currency_options: NotRequired[ Dict[str, "ProductCreateParamsDefaultPriceDataCurrencyOptions"] ] """ Prices defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ custom_unit_amount: NotRequired[ "ProductCreateParamsDefaultPriceDataCustomUnitAmount" ] """ When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ recurring: NotRequired["ProductCreateParamsDefaultPriceDataRecurring"] """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. One of `unit_amount`, `unit_amount_decimal`, or `custom_unit_amount` is required. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class ProductCreateParamsDefaultPriceDataCurrencyOptions(TypedDict): custom_unit_amount: NotRequired[ "ProductCreateParamsDefaultPriceDataCurrencyOptionsCustomUnitAmount" ] """ When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ tiers: NotRequired[ List["ProductCreateParamsDefaultPriceDataCurrencyOptionsTier"] ] """ Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class ProductCreateParamsDefaultPriceDataCurrencyOptionsCustomUnitAmount( TypedDict, ): enabled: bool """ Pass in `true` to enable `custom_unit_amount`, otherwise omit `custom_unit_amount`. """ maximum: NotRequired[int] """ The maximum unit amount the customer can specify for this item. """ minimum: NotRequired[int] """ The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount. """ preset: NotRequired[int] """ The starting unit amount which can be updated by the customer. """ class ProductCreateParamsDefaultPriceDataCurrencyOptionsTier(TypedDict): flat_amount: NotRequired[int] """ The flat billing amount for an entire tier, regardless of the number of units in the tier. """ flat_amount_decimal: NotRequired[str] """ Same as `flat_amount`, but accepts a decimal value representing an integer in the minor units of the currency. Only one of `flat_amount` and `flat_amount_decimal` can be set. """ unit_amount: NotRequired[int] """ The per unit billing amount for each individual unit for which this tier applies. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ up_to: Union[Literal["inf"], int] """ Specifies the upper bound of this tier. The lower bound of a tier is the upper bound of the previous tier adding one. Use `inf` to define a fallback tier. """ class ProductCreateParamsDefaultPriceDataCustomUnitAmount(TypedDict): enabled: bool """ Pass in `true` to enable `custom_unit_amount`, otherwise omit `custom_unit_amount`. """ maximum: NotRequired[int] """ The maximum unit amount the customer can specify for this item. """ minimum: NotRequired[int] """ The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount. """ preset: NotRequired[int] """ The starting unit amount which can be updated by the customer. """ class ProductCreateParamsDefaultPriceDataRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ class ProductCreateParamsMarketingFeature(TypedDict): name: str """ The marketing feature name. Up to 80 characters long. """ class ProductCreateParamsPackageDimensions(TypedDict): height: float """ Height, in inches. Maximum precision is 2 decimal places. """ length: float """ Length, in inches. Maximum precision is 2 decimal places. """ weight: float """ Weight, in ounces. Maximum precision is 2 decimal places. """ width: float """ Width, in inches. Maximum precision is 2 decimal places. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_product_delete_feature_params.py0000644000000000000000000000025715102753431021420 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class ProductDeleteFeatureParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_product_delete_params.py0000644000000000000000000000025015102753431017676 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class ProductDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_product_feature_create_params.py0000644000000000000000000000071115102753431021414 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class ProductFeatureCreateParams(TypedDict): entitlement_feature: str """ The ID of the [Feature](https://stripe.com/docs/api/entitlements/feature) object attached to this product. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_product_feature_delete_params.py0000644000000000000000000000023715102753431021416 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing_extensions import TypedDict class ProductFeatureDeleteParams(TypedDict): pass ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_product_feature_list_params.py0000644000000000000000000000220715102753431021126 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class ProductFeatureListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_product_feature_retrieve_params.py0000644000000000000000000000045715102753431022005 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class ProductFeatureRetrieveParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_product_list_features_params.py0000644000000000000000000000226515102753431021315 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ProductListFeaturesParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_product_list_params.py0000644000000000000000000000467215102753431017423 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ProductListParams(RequestOptions): active: NotRequired[bool] """ Only return products that are active or inactive (e.g., pass `false` to list all inactive products). """ created: NotRequired["ProductListParamsCreated|int"] """ Only return products that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ids: NotRequired[List[str]] """ Only return products with the given IDs. Cannot be used with [starting_after](https://stripe.com/docs/api#list_products-starting_after) or [ending_before](https://stripe.com/docs/api#list_products-ending_before). """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ shippable: NotRequired[bool] """ Only return products that can be shipped (i.e., physical, not digital products). """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ type: NotRequired[Literal["good", "service"]] """ Only return products of this type. """ url: NotRequired[str] """ Only return products with the given url. """ class ProductListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_product_modify_params.py0000644000000000000000000000731015102753431017727 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class ProductModifyParams(RequestOptions): active: NotRequired[bool] """ Whether the product is available for purchase. """ default_price: NotRequired[str] """ The ID of the [Price](https://stripe.com/docs/api/prices) object that is the default price for this product. """ description: NotRequired["Literal['']|str"] """ 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. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ images: NotRequired["Literal['']|List[str]"] """ A list of up to 8 URLs of images for this product, meant to be displayable to the customer. """ marketing_features: NotRequired[ "Literal['']|List[ProductModifyParamsMarketingFeature]" ] """ 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). """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired[str] """ The product's name, meant to be displayable to the customer. """ package_dimensions: NotRequired[ "Literal['']|ProductModifyParamsPackageDimensions" ] """ The dimensions of this product for shipping purposes. """ shippable: NotRequired[bool] """ Whether this product is shipped (i.e., physical goods). """ statement_descriptor: NotRequired[str] """ An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all. This may be up to 22 characters. The statement description may not include `<`, `>`, `\\`, `"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. It must contain at least one letter. May only be set if `type=service`. Only used for subscription payments. """ tax_code: NotRequired["Literal['']|str"] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ unit_label: NotRequired["Literal['']|str"] """ A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. May only be set if `type=service`. """ url: NotRequired["Literal['']|str"] """ A URL of a publicly-accessible webpage for this product. """ class ProductModifyParamsMarketingFeature(TypedDict): name: str """ The marketing feature name. Up to 80 characters long. """ class ProductModifyParamsPackageDimensions(TypedDict): height: float """ Height, in inches. Maximum precision is 2 decimal places. """ length: float """ Length, in inches. Maximum precision is 2 decimal places. """ weight: float """ Weight, in ounces. Maximum precision is 2 decimal places. """ width: float """ Width, in inches. Maximum precision is 2 decimal places. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_product_retrieve_feature_params.py0000644000000000000000000000053415102753431022001 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ProductRetrieveFeatureParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_product_retrieve_params.py0000644000000000000000000000052515102753431020266 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ProductRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_product_search_params.py0000644000000000000000000000173515102753431017712 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ProductSearchParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ page: NotRequired[str] """ A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. """ query: str """ The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for products](https://stripe.com/docs/search#query-fields-for-products). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_product_update_params.py0000644000000000000000000000722015102753431017722 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class ProductUpdateParams(TypedDict): active: NotRequired[bool] """ Whether the product is available for purchase. """ default_price: NotRequired[str] """ The ID of the [Price](https://stripe.com/docs/api/prices) object that is the default price for this product. """ description: NotRequired["Literal['']|str"] """ 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. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ images: NotRequired["Literal['']|List[str]"] """ A list of up to 8 URLs of images for this product, meant to be displayable to the customer. """ marketing_features: NotRequired[ "Literal['']|List[ProductUpdateParamsMarketingFeature]" ] """ 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). """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired[str] """ The product's name, meant to be displayable to the customer. """ package_dimensions: NotRequired[ "Literal['']|ProductUpdateParamsPackageDimensions" ] """ The dimensions of this product for shipping purposes. """ shippable: NotRequired[bool] """ Whether this product is shipped (i.e., physical goods). """ statement_descriptor: NotRequired[str] """ An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all. This may be up to 22 characters. The statement description may not include `<`, `>`, `\\`, `"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped. It must contain at least one letter. May only be set if `type=service`. Only used for subscription payments. """ tax_code: NotRequired["Literal['']|str"] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ unit_label: NotRequired["Literal['']|str"] """ A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. May only be set if `type=service`. """ url: NotRequired["Literal['']|str"] """ A URL of a publicly-accessible webpage for this product. """ class ProductUpdateParamsMarketingFeature(TypedDict): name: str """ The marketing feature name. Up to 80 characters long. """ class ProductUpdateParamsPackageDimensions(TypedDict): height: float """ Height, in inches. Maximum precision is 2 decimal places. """ length: float """ Length, in inches. Maximum precision is 2 decimal places. """ weight: float """ Weight, in ounces. Maximum precision is 2 decimal places. """ width: float """ Width, in inches. Maximum precision is 2 decimal places. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_promotion_code_create_params.py0000644000000000000000000000667615102753431021261 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PromotionCodeCreateParams(RequestOptions): active: NotRequired[bool] """ Whether the promotion code is currently active. """ code: NotRequired[str] """ The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for a specific customer. Valid characters are lower case letters (a-z), upper case letters (A-Z), and digits (0-9). If left blank, we will generate one automatically. """ customer: NotRequired[str] """ The customer that this promotion code can be used by. If not set, the promotion code can be used by all customers. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired[int] """ The timestamp at which this promotion code will expire. If the coupon has specified a `redeems_by`, then this value cannot be after the coupon's `redeems_by`. """ max_redemptions: NotRequired[int] """ A positive integer specifying the number of times the promotion code can be redeemed. If the coupon has specified a `max_redemptions`, then this value cannot be greater than the coupon's `max_redemptions`. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ promotion: "PromotionCodeCreateParamsPromotion" """ The promotion referenced by this promotion code. """ restrictions: NotRequired["PromotionCodeCreateParamsRestrictions"] """ Settings that restrict the redemption of the promotion code. """ class PromotionCodeCreateParamsPromotion(TypedDict): coupon: NotRequired[str] """ If promotion `type` is `coupon`, the coupon for this promotion code. """ type: Literal["coupon"] """ Specifies the type of promotion. """ class PromotionCodeCreateParamsRestrictions(TypedDict): currency_options: NotRequired[ Dict[str, "PromotionCodeCreateParamsRestrictionsCurrencyOptions"] ] """ Promotion codes defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ first_time_transaction: NotRequired[bool] """ A Boolean indicating if the Promotion Code should only be redeemed for Customers without any successful payments or invoices """ minimum_amount: NotRequired[int] """ Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work). """ minimum_amount_currency: NotRequired[str] """ Three-letter [ISO code](https://stripe.com/docs/currencies) for minimum_amount """ class PromotionCodeCreateParamsRestrictionsCurrencyOptions(TypedDict): minimum_amount: NotRequired[int] """ Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_promotion_code_list_params.py0000644000000000000000000000437015102753431020756 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class PromotionCodeListParams(RequestOptions): active: NotRequired[bool] """ Filter promotion codes by whether they are active. """ code: NotRequired[str] """ Only return promotion codes that have this case-insensitive code. """ coupon: NotRequired[str] """ Only return promotion codes for this coupon. """ created: NotRequired["PromotionCodeListParamsCreated|int"] """ A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. """ customer: NotRequired[str] """ Only return promotion codes that are restricted to this customer. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class PromotionCodeListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_promotion_code_modify_params.py0000644000000000000000000000341115102753431021265 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PromotionCodeModifyParams(RequestOptions): active: NotRequired[bool] """ Whether the promotion code is currently active. A promotion code can only be reactivated when the coupon is still valid and the promotion code is otherwise redeemable. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ restrictions: NotRequired["PromotionCodeModifyParamsRestrictions"] """ Settings that restrict the redemption of the promotion code. """ class PromotionCodeModifyParamsRestrictions(TypedDict): currency_options: NotRequired[ Dict[str, "PromotionCodeModifyParamsRestrictionsCurrencyOptions"] ] """ Promotion codes defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ class PromotionCodeModifyParamsRestrictionsCurrencyOptions(TypedDict): minimum_amount: NotRequired[int] """ Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_promotion_code_retrieve_params.py0000644000000000000000000000053315102753431021625 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PromotionCodeRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_promotion_code_update_params.py0000644000000000000000000000332115102753431021260 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PromotionCodeUpdateParams(TypedDict): active: NotRequired[bool] """ Whether the promotion code is currently active. A promotion code can only be reactivated when the coupon is still valid and the promotion code is otherwise redeemable. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ restrictions: NotRequired["PromotionCodeUpdateParamsRestrictions"] """ Settings that restrict the redemption of the promotion code. """ class PromotionCodeUpdateParamsRestrictions(TypedDict): currency_options: NotRequired[ Dict[str, "PromotionCodeUpdateParamsRestrictionsCurrencyOptions"] ] """ Promotion codes defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ class PromotionCodeUpdateParamsRestrictionsCurrencyOptions(TypedDict): minimum_amount: NotRequired[int] """ Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_quote_accept_params.py0000644000000000000000000000052115102753431017351 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class QuoteAcceptParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_quote_cancel_params.py0000644000000000000000000000052115102753431017337 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class QuoteCancelParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_quote_computed_upfront_line_items_list_params.py0000644000000000000000000000222615102753431024756 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class QuoteComputedUpfrontLineItemsListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_quote_create_params.py0000644000000000000000000003256415102753431017371 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class QuoteCreateParams(RequestOptions): application_fee_amount: NotRequired["Literal['']|int"] """ The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field. """ application_fee_percent: NotRequired["Literal['']|float"] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field. """ automatic_tax: NotRequired["QuoteCreateParamsAutomaticTax"] """ Settings for automatic tax lookup for this quote and resulting invoices and subscriptions. """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or at invoice finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. """ customer: NotRequired[str] """ The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed. """ default_tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates that will apply to any line item that does not have `tax_rates` set. """ description: NotRequired["Literal['']|str"] """ A description that will be displayed on the quote PDF. If no value is passed, the default description configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used. """ discounts: NotRequired["Literal['']|List[QuoteCreateParamsDiscount]"] """ The discounts applied to the quote. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired[int] """ A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. If no value is passed, the default expiration date configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used. """ footer: NotRequired["Literal['']|str"] """ A footer that will be displayed on the quote PDF. If no value is passed, the default footer configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used. """ from_quote: NotRequired["QuoteCreateParamsFromQuote"] """ Clone an existing quote. The new quote will be created in `status=draft`. When using this parameter, you cannot specify any other parameters except for `expires_at`. """ header: NotRequired["Literal['']|str"] """ A header that will be displayed on the quote PDF. If no value is passed, the default header configured in your [quote template settings](https://dashboard.stripe.com/settings/billing/quote) will be used. """ invoice_settings: NotRequired["QuoteCreateParamsInvoiceSettings"] """ All invoices will be billed using the specified settings. """ line_items: NotRequired[List["QuoteCreateParamsLineItem"]] """ A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ on_behalf_of: NotRequired["Literal['']|str"] """ The account on behalf of which to charge. """ subscription_data: NotRequired["QuoteCreateParamsSubscriptionData"] """ When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created. """ test_clock: NotRequired[str] """ ID of the test clock to attach to the quote. """ transfer_data: NotRequired["Literal['']|QuoteCreateParamsTransferData"] """ The data with which to automatically create a Transfer for each of the invoices. """ class QuoteCreateParamsAutomaticTax(TypedDict): enabled: bool """ Controls whether Stripe will automatically compute tax on the resulting invoices or subscriptions as well as the quote itself. """ liability: NotRequired["QuoteCreateParamsAutomaticTaxLiability"] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class QuoteCreateParamsAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class QuoteCreateParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class QuoteCreateParamsFromQuote(TypedDict): is_revision: NotRequired[bool] """ Whether this quote is a revision of the previous quote. """ quote: str """ The `id` of the quote that will be cloned. """ class QuoteCreateParamsInvoiceSettings(TypedDict): days_until_due: NotRequired[int] """ Number of days within which a customer must pay the invoice generated by this quote. This value will be `null` for quotes where `collection_method=charge_automatically`. """ issuer: NotRequired["QuoteCreateParamsInvoiceSettingsIssuer"] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class QuoteCreateParamsInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class QuoteCreateParamsLineItem(TypedDict): discounts: NotRequired[ "Literal['']|List[QuoteCreateParamsLineItemDiscount]" ] """ The discounts applied to this line item. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. """ price_data: NotRequired["QuoteCreateParamsLineItemPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: NotRequired[int] """ The quantity of the line item. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the line item. When set, the `default_tax_rates` on the quote do not apply to this line item. """ class QuoteCreateParamsLineItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class QuoteCreateParamsLineItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ recurring: NotRequired["QuoteCreateParamsLineItemPriceDataRecurring"] """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class QuoteCreateParamsLineItemPriceDataRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ class QuoteCreateParamsSubscriptionData(TypedDict): billing_mode: NotRequired["QuoteCreateParamsSubscriptionDataBillingMode"] """ Controls how prorations and invoices for subscriptions are calculated and orchestrated. """ description: NotRequired[str] """ The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ effective_date: NotRequired[ "Literal['']|Literal['current_period_end']|int" ] """ When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. The `effective_date` is ignored if it is in the past when the quote is accepted. """ metadata: NotRequired[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values. """ trial_period_days: NotRequired["Literal['']|int"] """ Integer representing the number of trial period days before the customer is charged for the first time. """ class QuoteCreateParamsSubscriptionDataBillingMode(TypedDict): flexible: NotRequired[ "QuoteCreateParamsSubscriptionDataBillingModeFlexible" ] """ Configure behavior for flexible billing mode. """ type: Literal["classic", "flexible"] """ Controls the calculation and orchestration of prorations and invoices for subscriptions. If no value is passed, the default is `flexible`. """ class QuoteCreateParamsSubscriptionDataBillingModeFlexible(TypedDict): proration_discounts: NotRequired[Literal["included", "itemized"]] """ Controls how invoices and invoice items display proration amounts and discount amounts. """ class QuoteCreateParamsTransferData(TypedDict): amount: NotRequired[int] """ The amount that will be transferred automatically when the invoice is paid. If no amount is set, the full amount is transferred. There cannot be any line items with recurring prices when using this field. """ amount_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. There must be at least 1 line item with a recurring price to use this field. """ destination: str """ ID of an existing, connected Stripe account. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_quote_finalize_quote_params.py0000644000000000000000000000101615102753431021130 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class QuoteFinalizeQuoteParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired[int] """ A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_quote_line_item_list_params.py0000644000000000000000000000220615102753431021114 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class QuoteLineItemListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.358062 stripe-13.2.0/stripe/params/_quote_list_computed_upfront_line_items_params.py0000644000000000000000000000230315102753431024752 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class QuoteListComputedUpfrontLineItemsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_quote_list_line_items_params.py0000644000000000000000000000226415102753431021303 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class QuoteListLineItemsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_quote_list_params.py0000644000000000000000000000317415102753431017074 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class QuoteListParams(RequestOptions): customer: NotRequired[str] """ The ID of the customer whose quotes will be retrieved. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["accepted", "canceled", "draft", "open"]] """ The status of the quote. """ test_clock: NotRequired[str] """ Provides a list of quotes that are associated with the specified test clock. The response will not include quotes with test clocks if this and the customer parameter is not set. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_quote_modify_params.py0000644000000000000000000002670515102753431017415 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class QuoteModifyParams(RequestOptions): application_fee_amount: NotRequired["Literal['']|int"] """ The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field. """ application_fee_percent: NotRequired["Literal['']|float"] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field. """ automatic_tax: NotRequired["QuoteModifyParamsAutomaticTax"] """ Settings for automatic tax lookup for this quote and resulting invoices and subscriptions. """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or at invoice finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. """ customer: NotRequired[str] """ The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed. """ default_tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates that will apply to any line item that does not have `tax_rates` set. """ description: NotRequired["Literal['']|str"] """ A description that will be displayed on the quote PDF. """ discounts: NotRequired["Literal['']|List[QuoteModifyParamsDiscount]"] """ The discounts applied to the quote. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired[int] """ A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. """ footer: NotRequired["Literal['']|str"] """ A footer that will be displayed on the quote PDF. """ header: NotRequired["Literal['']|str"] """ A header that will be displayed on the quote PDF. """ invoice_settings: NotRequired["QuoteModifyParamsInvoiceSettings"] """ All invoices will be billed using the specified settings. """ line_items: NotRequired[List["QuoteModifyParamsLineItem"]] """ A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ on_behalf_of: NotRequired["Literal['']|str"] """ The account on behalf of which to charge. """ subscription_data: NotRequired["QuoteModifyParamsSubscriptionData"] """ When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created. """ transfer_data: NotRequired["Literal['']|QuoteModifyParamsTransferData"] """ The data with which to automatically create a Transfer for each of the invoices. """ class QuoteModifyParamsAutomaticTax(TypedDict): enabled: bool """ Controls whether Stripe will automatically compute tax on the resulting invoices or subscriptions as well as the quote itself. """ liability: NotRequired["QuoteModifyParamsAutomaticTaxLiability"] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class QuoteModifyParamsAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class QuoteModifyParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class QuoteModifyParamsInvoiceSettings(TypedDict): days_until_due: NotRequired[int] """ Number of days within which a customer must pay the invoice generated by this quote. This value will be `null` for quotes where `collection_method=charge_automatically`. """ issuer: NotRequired["QuoteModifyParamsInvoiceSettingsIssuer"] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class QuoteModifyParamsInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class QuoteModifyParamsLineItem(TypedDict): discounts: NotRequired[ "Literal['']|List[QuoteModifyParamsLineItemDiscount]" ] """ The discounts applied to this line item. """ id: NotRequired[str] """ The ID of an existing line item on the quote. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. """ price_data: NotRequired["QuoteModifyParamsLineItemPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: NotRequired[int] """ The quantity of the line item. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the line item. When set, the `default_tax_rates` on the quote do not apply to this line item. """ class QuoteModifyParamsLineItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class QuoteModifyParamsLineItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ recurring: NotRequired["QuoteModifyParamsLineItemPriceDataRecurring"] """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class QuoteModifyParamsLineItemPriceDataRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ class QuoteModifyParamsSubscriptionData(TypedDict): description: NotRequired["Literal['']|str"] """ The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ effective_date: NotRequired[ "Literal['']|Literal['current_period_end']|int" ] """ When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. The `effective_date` is ignored if it is in the past when the quote is accepted. """ metadata: NotRequired[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values. """ trial_period_days: NotRequired["Literal['']|int"] """ Integer representing the number of trial period days before the customer is charged for the first time. """ class QuoteModifyParamsTransferData(TypedDict): amount: NotRequired[int] """ The amount that will be transferred automatically when the invoice is paid. If no amount is set, the full amount is transferred. There cannot be any line items with recurring prices when using this field. """ amount_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. There must be at least 1 line item with a recurring price to use this field. """ destination: str """ ID of an existing, connected Stripe account. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_quote_pdf_params.py0000644000000000000000000000051615102753431016667 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class QuotePdfParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_quote_retrieve_params.py0000644000000000000000000000052315102753431017741 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class QuoteRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_quote_update_params.py0000644000000000000000000002661515102753431017410 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class QuoteUpdateParams(TypedDict): application_fee_amount: NotRequired["Literal['']|int"] """ The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. There cannot be any line items with recurring prices when using this field. """ application_fee_percent: NotRequired["Literal['']|float"] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. There must be at least 1 line item with a recurring price to use this field. """ automatic_tax: NotRequired["QuoteUpdateParamsAutomaticTax"] """ Settings for automatic tax lookup for this quote and resulting invoices and subscriptions. """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay invoices at the end of the subscription cycle or at invoice finalization using the default payment method attached to the subscription or customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. """ customer: NotRequired[str] """ The customer for which this quote belongs to. A customer is required before finalizing the quote. Once specified, it cannot be changed. """ default_tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates that will apply to any line item that does not have `tax_rates` set. """ description: NotRequired["Literal['']|str"] """ A description that will be displayed on the quote PDF. """ discounts: NotRequired["Literal['']|List[QuoteUpdateParamsDiscount]"] """ The discounts applied to the quote. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired[int] """ A future timestamp on which the quote will be canceled if in `open` or `draft` status. Measured in seconds since the Unix epoch. """ footer: NotRequired["Literal['']|str"] """ A footer that will be displayed on the quote PDF. """ header: NotRequired["Literal['']|str"] """ A header that will be displayed on the quote PDF. """ invoice_settings: NotRequired["QuoteUpdateParamsInvoiceSettings"] """ All invoices will be billed using the specified settings. """ line_items: NotRequired[List["QuoteUpdateParamsLineItem"]] """ A list of line items the customer is being quoted for. Each line item includes information about the product, the quantity, and the resulting cost. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ on_behalf_of: NotRequired["Literal['']|str"] """ The account on behalf of which to charge. """ subscription_data: NotRequired["QuoteUpdateParamsSubscriptionData"] """ When creating a subscription or subscription schedule, the specified configuration data will be used. There must be at least one line item with a recurring price for a subscription or subscription schedule to be created. A subscription schedule is created if `subscription_data[effective_date]` is present and in the future, otherwise a subscription is created. """ transfer_data: NotRequired["Literal['']|QuoteUpdateParamsTransferData"] """ The data with which to automatically create a Transfer for each of the invoices. """ class QuoteUpdateParamsAutomaticTax(TypedDict): enabled: bool """ Controls whether Stripe will automatically compute tax on the resulting invoices or subscriptions as well as the quote itself. """ liability: NotRequired["QuoteUpdateParamsAutomaticTaxLiability"] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class QuoteUpdateParamsAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class QuoteUpdateParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class QuoteUpdateParamsInvoiceSettings(TypedDict): days_until_due: NotRequired[int] """ Number of days within which a customer must pay the invoice generated by this quote. This value will be `null` for quotes where `collection_method=charge_automatically`. """ issuer: NotRequired["QuoteUpdateParamsInvoiceSettingsIssuer"] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class QuoteUpdateParamsInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class QuoteUpdateParamsLineItem(TypedDict): discounts: NotRequired[ "Literal['']|List[QuoteUpdateParamsLineItemDiscount]" ] """ The discounts applied to this line item. """ id: NotRequired[str] """ The ID of an existing line item on the quote. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. """ price_data: NotRequired["QuoteUpdateParamsLineItemPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: NotRequired[int] """ The quantity of the line item. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the line item. When set, the `default_tax_rates` on the quote do not apply to this line item. """ class QuoteUpdateParamsLineItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class QuoteUpdateParamsLineItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ recurring: NotRequired["QuoteUpdateParamsLineItemPriceDataRecurring"] """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class QuoteUpdateParamsLineItemPriceDataRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ class QuoteUpdateParamsSubscriptionData(TypedDict): description: NotRequired["Literal['']|str"] """ The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ effective_date: NotRequired[ "Literal['']|Literal['current_period_end']|int" ] """ When creating a new subscription, the date of which the subscription schedule will start after the quote is accepted. The `effective_date` is ignored if it is in the past when the quote is accepted. """ metadata: NotRequired[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on the subscription or subscription schedule when the quote is accepted. If a recurring price is included in `line_items`, this field will be passed to the resulting subscription's `metadata` field. If `subscription_data.effective_date` is used, this field will be passed to the resulting subscription schedule's `phases.metadata` field. Unlike object-level metadata, this field is declarative. Updates will clear prior values. """ trial_period_days: NotRequired["Literal['']|int"] """ Integer representing the number of trial period days before the customer is charged for the first time. """ class QuoteUpdateParamsTransferData(TypedDict): amount: NotRequired[int] """ The amount that will be transferred automatically when the invoice is paid. If no amount is set, the full amount is transferred. There cannot be any line items with recurring prices when using this field. """ amount_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. There must be at least 1 line item with a recurring price to use this field. """ destination: str """ ID of an existing, connected Stripe account. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_refund_cancel_params.py0000644000000000000000000000052215102753431017466 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class RefundCancelParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_refund_create_params.py0000644000000000000000000000544115102753431017511 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class RefundCreateParams(RequestOptions): amount: NotRequired[int] charge: NotRequired[str] """ The identifier of the charge to refund. """ currency: NotRequired[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: NotRequired[str] """ Customer whose customer balance to refund from. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ instructions_email: NotRequired[str] """ For payment methods without native refund support (e.g., Konbini, PromptPay), use this email from the customer to receive refund instructions. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ origin: NotRequired[Literal["customer_balance"]] """ Origin of the refund """ payment_intent: NotRequired[str] """ The identifier of the PaymentIntent to refund. """ reason: NotRequired[ Literal["duplicate", "fraudulent", "requested_by_customer"] ] """ String indicating the reason for the refund. If set, possible values are `duplicate`, `fraudulent`, and `requested_by_customer`. If you believe the charge to be fraudulent, specifying `fraudulent` as the reason will add the associated card and email to your [block lists](https://stripe.com/docs/radar/lists), and will also help us improve our fraud detection algorithms. """ refund_application_fee: NotRequired[bool] """ Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge. """ reverse_transfer: NotRequired[bool] """ Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount). A transfer can be reversed only by the application that created the charge. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_refund_expire_params.py0000644000000000000000000000052215102753431017535 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class RefundExpireParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_refund_list_params.py0000644000000000000000000000366115102753431017223 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class RefundListParams(RequestOptions): charge: NotRequired[str] """ Only return refunds for the charge specified by this charge ID. """ created: NotRequired["RefundListParamsCreated|int"] """ Only return refunds that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ payment_intent: NotRequired[str] """ Only return refunds for the PaymentIntent specified by this ID. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class RefundListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_refund_modify_params.py0000644000000000000000000000135415102753431017534 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class RefundModifyParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_refund_retrieve_params.py0000644000000000000000000000052415102753431020070 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class RefundRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_refund_update_params.py0000644000000000000000000000127715102753431017533 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class RefundUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_review_approve_params.py0000644000000000000000000000052315102753431017734 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ReviewApproveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_review_list_params.py0000644000000000000000000000330715102753431017236 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class ReviewListParams(RequestOptions): created: NotRequired["ReviewListParamsCreated|int"] """ Only return reviews that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class ReviewListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_review_retrieve_params.py0000644000000000000000000000052415102753431020106 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ReviewRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_setup_attempt_list_params.py0000644000000000000000000000370215102753431020632 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class SetupAttemptListParams(RequestOptions): created: NotRequired["SetupAttemptListParamsCreated|int"] """ A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp or a dictionary with a number of different query options. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ setup_intent: str """ Only return SetupAttempts created by the SetupIntent specified by this ID. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class SetupAttemptListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_setup_intent_cancel_params.py0000644000000000000000000000112415102753431020723 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class SetupIntentCancelParams(RequestOptions): cancellation_reason: NotRequired[ Literal["abandoned", "duplicate", "requested_by_customer"] ] """ Reason for canceling this SetupIntent. Possible values are: `abandoned`, `requested_by_customer`, or `duplicate` """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_setup_intent_confirm_params.py0000644000000000000000000013262715102753431021150 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SetupIntentConfirmParams(RequestOptions): confirmation_token: NotRequired[str] """ ID of the ConfirmationToken used to confirm this SetupIntent. If the provided ConfirmationToken contains properties that are also being provided in this request, such as `payment_method`, then the values in this request will take precedence. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ mandate_data: NotRequired[ "Literal['']|SetupIntentConfirmParamsMandateData" ] payment_method: NotRequired[str] """ ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. """ payment_method_data: NotRequired[ "SetupIntentConfirmParamsPaymentMethodData" ] """ When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method) value in the SetupIntent. """ payment_method_options: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptions" ] """ Payment method-specific configuration for this SetupIntent. """ return_url: NotRequired[str] """ The URL to redirect your customer back to after they authenticate on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter is only used for cards and other redirect-based payment methods. """ use_stripe_sdk: NotRequired[bool] """ Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions. """ class SetupIntentConfirmParamsMandateData(TypedDict): customer_acceptance: NotRequired[ "SetupIntentConfirmParamsMandateDataCustomerAcceptance" ] """ This hash contains details about the customer acceptance of the Mandate. """ class SetupIntentConfirmParamsMandateDataCustomerAcceptance(TypedDict): accepted_at: NotRequired[int] """ The time at which the customer accepted the Mandate. """ offline: NotRequired[ "SetupIntentConfirmParamsMandateDataCustomerAcceptanceOffline" ] """ If this is a Mandate accepted offline, this hash contains details about the offline acceptance. """ online: NotRequired[ "SetupIntentConfirmParamsMandateDataCustomerAcceptanceOnline" ] """ If this is a Mandate accepted online, this hash contains details about the online acceptance. """ type: Literal["offline", "online"] """ The type of customer acceptance information included with the Mandate. One of `online` or `offline`. """ class SetupIntentConfirmParamsMandateDataCustomerAcceptanceOffline(TypedDict): pass class SetupIntentConfirmParamsMandateDataCustomerAcceptanceOnline(TypedDict): ip_address: NotRequired[str] """ The IP address from which the Mandate was accepted by the customer. """ user_agent: NotRequired[str] """ The user agent of the browser from which the Mandate was accepted by the customer. """ class SetupIntentConfirmParamsPaymentMethodData(TypedDict): acss_debit: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataAcssDebit" ] """ If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method. """ affirm: NotRequired["SetupIntentConfirmParamsPaymentMethodDataAffirm"] """ If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method. """ afterpay_clearpay: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataAfterpayClearpay" ] """ If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method. """ alipay: NotRequired["SetupIntentConfirmParamsPaymentMethodDataAlipay"] """ If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method. """ allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. """ alma: NotRequired["SetupIntentConfirmParamsPaymentMethodDataAlma"] """ If this is a Alma PaymentMethod, this hash contains details about the Alma payment method. """ amazon_pay: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataAmazonPay" ] """ If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method. """ au_becs_debit: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataAuBecsDebit" ] """ If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account. """ bacs_debit: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataBacsDebit" ] """ If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account. """ bancontact: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataBancontact" ] """ If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method. """ billie: NotRequired["SetupIntentConfirmParamsPaymentMethodDataBillie"] """ If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method. """ billing_details: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataBillingDetails" ] """ Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. """ blik: NotRequired["SetupIntentConfirmParamsPaymentMethodDataBlik"] """ If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method. """ boleto: NotRequired["SetupIntentConfirmParamsPaymentMethodDataBoleto"] """ If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method. """ cashapp: NotRequired["SetupIntentConfirmParamsPaymentMethodDataCashapp"] """ If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method. """ crypto: NotRequired["SetupIntentConfirmParamsPaymentMethodDataCrypto"] """ If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method. """ customer_balance: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataCustomerBalance" ] """ If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method. """ eps: NotRequired["SetupIntentConfirmParamsPaymentMethodDataEps"] """ If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method. """ fpx: NotRequired["SetupIntentConfirmParamsPaymentMethodDataFpx"] """ If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method. """ giropay: NotRequired["SetupIntentConfirmParamsPaymentMethodDataGiropay"] """ If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method. """ grabpay: NotRequired["SetupIntentConfirmParamsPaymentMethodDataGrabpay"] """ If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method. """ ideal: NotRequired["SetupIntentConfirmParamsPaymentMethodDataIdeal"] """ If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method. """ interac_present: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataInteracPresent" ] """ If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method. """ kakao_pay: NotRequired["SetupIntentConfirmParamsPaymentMethodDataKakaoPay"] """ If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method. """ klarna: NotRequired["SetupIntentConfirmParamsPaymentMethodDataKlarna"] """ If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method. """ konbini: NotRequired["SetupIntentConfirmParamsPaymentMethodDataKonbini"] """ If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method. """ kr_card: NotRequired["SetupIntentConfirmParamsPaymentMethodDataKrCard"] """ If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method. """ link: NotRequired["SetupIntentConfirmParamsPaymentMethodDataLink"] """ If this is an `Link` PaymentMethod, this hash contains details about the Link payment method. """ mb_way: NotRequired["SetupIntentConfirmParamsPaymentMethodDataMbWay"] """ If this is a MB WAY PaymentMethod, this hash contains details about the MB WAY payment method. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ mobilepay: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataMobilepay" ] """ If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method. """ multibanco: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataMultibanco" ] """ If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method. """ naver_pay: NotRequired["SetupIntentConfirmParamsPaymentMethodDataNaverPay"] """ If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method. """ nz_bank_account: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataNzBankAccount" ] """ If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method. """ oxxo: NotRequired["SetupIntentConfirmParamsPaymentMethodDataOxxo"] """ If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method. """ p24: NotRequired["SetupIntentConfirmParamsPaymentMethodDataP24"] """ If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method. """ pay_by_bank: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataPayByBank" ] """ If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method. """ payco: NotRequired["SetupIntentConfirmParamsPaymentMethodDataPayco"] """ If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method. """ paynow: NotRequired["SetupIntentConfirmParamsPaymentMethodDataPaynow"] """ If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method. """ paypal: NotRequired["SetupIntentConfirmParamsPaymentMethodDataPaypal"] """ If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method. """ pix: NotRequired["SetupIntentConfirmParamsPaymentMethodDataPix"] """ If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method. """ promptpay: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataPromptpay" ] """ If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method. """ radar_options: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataRadarOptions" ] """ Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. """ revolut_pay: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataRevolutPay" ] """ If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method. """ samsung_pay: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataSamsungPay" ] """ If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method. """ satispay: NotRequired["SetupIntentConfirmParamsPaymentMethodDataSatispay"] """ If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method. """ sepa_debit: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataSepaDebit" ] """ If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account. """ sofort: NotRequired["SetupIntentConfirmParamsPaymentMethodDataSofort"] """ If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method. """ swish: NotRequired["SetupIntentConfirmParamsPaymentMethodDataSwish"] """ If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method. """ twint: NotRequired["SetupIntentConfirmParamsPaymentMethodDataTwint"] """ If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method. """ type: Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] """ 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. """ us_bank_account: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataUsBankAccount" ] """ If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. """ wechat_pay: NotRequired[ "SetupIntentConfirmParamsPaymentMethodDataWechatPay" ] """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ zip: NotRequired["SetupIntentConfirmParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. """ class SetupIntentConfirmParamsPaymentMethodDataAcssDebit(TypedDict): account_number: str """ Customer's bank account number. """ institution_number: str """ Institution number of the customer's bank. """ transit_number: str """ Transit number of the customer's bank. """ class SetupIntentConfirmParamsPaymentMethodDataAffirm(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataAfterpayClearpay(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataAlipay(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataAlma(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataAmazonPay(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataAuBecsDebit(TypedDict): account_number: str """ The account number for the bank account. """ bsb_number: str """ Bank-State-Branch number of the bank account. """ class SetupIntentConfirmParamsPaymentMethodDataBacsDebit(TypedDict): account_number: NotRequired[str] """ Account number of the bank account that the funds will be debited from. """ sort_code: NotRequired[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class SetupIntentConfirmParamsPaymentMethodDataBancontact(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataBillie(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataBillingDetails(TypedDict): address: NotRequired[ "Literal['']|SetupIntentConfirmParamsPaymentMethodDataBillingDetailsAddress" ] """ Billing address. """ email: NotRequired["Literal['']|str"] """ Email address. """ name: NotRequired["Literal['']|str"] """ Full name. """ phone: NotRequired["Literal['']|str"] """ Billing phone number (including extension). """ tax_id: NotRequired[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ class SetupIntentConfirmParamsPaymentMethodDataBillingDetailsAddress( TypedDict ): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class SetupIntentConfirmParamsPaymentMethodDataBlik(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataBoleto(TypedDict): tax_id: str """ The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers) """ class SetupIntentConfirmParamsPaymentMethodDataCashapp(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataCrypto(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataCustomerBalance(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataEps(TypedDict): bank: NotRequired[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. """ class SetupIntentConfirmParamsPaymentMethodDataFpx(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type for FPX transaction """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank. """ class SetupIntentConfirmParamsPaymentMethodDataGiropay(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataGrabpay(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataIdeal(TypedDict): bank: NotRequired[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank. Only use this parameter for existing customers. Don't use it for new customers. """ class SetupIntentConfirmParamsPaymentMethodDataInteracPresent(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataKakaoPay(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataKlarna(TypedDict): dob: NotRequired["SetupIntentConfirmParamsPaymentMethodDataKlarnaDob"] """ Customer's date of birth """ class SetupIntentConfirmParamsPaymentMethodDataKlarnaDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class SetupIntentConfirmParamsPaymentMethodDataKonbini(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataKrCard(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataLink(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataMbWay(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataMobilepay(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataMultibanco(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataNaverPay(TypedDict): funding: NotRequired[Literal["card", "points"]] """ Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`. """ class SetupIntentConfirmParamsPaymentMethodDataNzBankAccount(TypedDict): account_holder_name: NotRequired[str] """ The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ account_number: str """ The account number for the bank account. """ bank_code: str """ The numeric code for the bank account's bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ reference: NotRequired[str] suffix: str """ The suffix of the bank account number. """ class SetupIntentConfirmParamsPaymentMethodDataOxxo(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataP24(TypedDict): bank: NotRequired[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank. """ class SetupIntentConfirmParamsPaymentMethodDataPayByBank(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataPayco(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataPaynow(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataPaypal(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataPix(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataPromptpay(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataRadarOptions(TypedDict): session: NotRequired[str] """ 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. """ class SetupIntentConfirmParamsPaymentMethodDataRevolutPay(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataSamsungPay(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataSatispay(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataSepaDebit(TypedDict): iban: str """ IBAN of the bank account. """ class SetupIntentConfirmParamsPaymentMethodDataSofort(TypedDict): country: Literal["AT", "BE", "DE", "ES", "IT", "NL"] """ Two-letter ISO code representing the country the bank account is located in. """ class SetupIntentConfirmParamsPaymentMethodDataSwish(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataTwint(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataUsBankAccount(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_number: NotRequired[str] """ Account number of the bank account. """ account_type: NotRequired[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. """ routing_number: NotRequired[str] """ Routing number of the bank account. """ class SetupIntentConfirmParamsPaymentMethodDataWechatPay(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodDataZip(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodOptions(TypedDict): acss_debit: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsAcssDebit" ] """ If this is a `acss_debit` SetupIntent, this sub-hash contains details about the ACSS Debit payment method options. """ amazon_pay: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsAmazonPay" ] """ If this is a `amazon_pay` SetupIntent, this sub-hash contains details about the AmazonPay payment method options. """ bacs_debit: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsBacsDebit" ] """ If this is a `bacs_debit` SetupIntent, this sub-hash contains details about the Bacs Debit payment method options. """ card: NotRequired["SetupIntentConfirmParamsPaymentMethodOptionsCard"] """ Configuration for any card setup attempted on this SetupIntent. """ card_present: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsCardPresent" ] """ If this is a `card_present` PaymentMethod, this sub-hash contains details about the card-present payment method options. """ klarna: NotRequired["SetupIntentConfirmParamsPaymentMethodOptionsKlarna"] """ If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method options. """ link: NotRequired["SetupIntentConfirmParamsPaymentMethodOptionsLink"] """ If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options. """ paypal: NotRequired["SetupIntentConfirmParamsPaymentMethodOptionsPaypal"] """ If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options. """ sepa_debit: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsSepaDebit" ] """ If this is a `sepa_debit` SetupIntent, this sub-hash contains details about the SEPA Debit payment method options. """ us_bank_account: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccount" ] """ If this is a `us_bank_account` SetupIntent, this sub-hash contains details about the US bank account payment method options. """ class SetupIntentConfirmParamsPaymentMethodOptionsAcssDebit(TypedDict): currency: NotRequired[Literal["cad", "usd"]] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ mandate_options: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsAcssDebitMandateOptions" ] """ Additional fields for Mandate creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class SetupIntentConfirmParamsPaymentMethodOptionsAcssDebitMandateOptions( TypedDict, ): custom_mandate_url: NotRequired["Literal['']|str"] """ A URL for custom mandate text to render during confirmation step. The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent, or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent. """ default_for: NotRequired[List[Literal["invoice", "subscription"]]] """ List of Stripe products where this mandate can be selected automatically. """ interval_description: NotRequired[str] """ Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'. """ payment_schedule: NotRequired[Literal["combined", "interval", "sporadic"]] """ Payment schedule for the mandate. """ transaction_type: NotRequired[Literal["business", "personal"]] """ Transaction type of the mandate. """ class SetupIntentConfirmParamsPaymentMethodOptionsAmazonPay(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodOptionsBacsDebit(TypedDict): mandate_options: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsBacsDebitMandateOptions" ] """ Additional fields for Mandate creation """ class SetupIntentConfirmParamsPaymentMethodOptionsBacsDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'. """ class SetupIntentConfirmParamsPaymentMethodOptionsCard(TypedDict): mandate_options: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsCardMandateOptions" ] """ Configuration options for setting up an eMandate for cards issued in India. """ moto: NotRequired[bool] """ When specified, this parameter signals that a card has been collected as MOTO (Mail Order Telephone Order) and thus out of scope for SCA. This parameter can only be provided during confirmation. """ network: NotRequired[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "girocard", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Selected network to process this SetupIntent on. Depends on the available networks of the card attached to the SetupIntent. Can be only set confirm-time. """ request_three_d_secure: NotRequired[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ three_d_secure: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsCardThreeDSecure" ] """ If 3D Secure authentication was performed with a third-party provider, the authentication details to use for this setup. """ class SetupIntentConfirmParamsPaymentMethodOptionsCardMandateOptions( TypedDict ): amount: int """ Amount to be charged for future payments. """ amount_type: Literal["fixed", "maximum"] """ One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. """ currency: str """ Currency in which future payments will be charged. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: NotRequired[str] """ A description of the mandate or subscription that is meant to be displayed to the customer. """ end_date: NotRequired[int] """ End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date. """ interval: Literal["day", "month", "sporadic", "week", "year"] """ Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`. """ interval_count: NotRequired[int] """ The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`. """ reference: str """ Unique identifier for the mandate or subscription. """ start_date: int """ Start date of the mandate or subscription. Start date should not be lesser than yesterday. """ supported_types: NotRequired[List[Literal["india"]]] """ Specifies the type of mandates supported. Possible values are `india`. """ class SetupIntentConfirmParamsPaymentMethodOptionsCardThreeDSecure(TypedDict): ares_trans_status: NotRequired[Literal["A", "C", "I", "N", "R", "U", "Y"]] """ The `transStatus` returned from the card Issuer's ACS in the ARes. """ cryptogram: NotRequired[str] """ The cryptogram, also known as the "authentication value" (AAV, CAVV or AEVV). This value is 20 bytes, base64-encoded into a 28-character string. (Most 3D Secure providers will return the base64-encoded version, which is what you should specify here.) """ electronic_commerce_indicator: NotRequired[ Literal["01", "02", "05", "06", "07"] ] """ The Electronic Commerce Indicator (ECI) is returned by your 3D Secure provider and indicates what degree of authentication was performed. """ network_options: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions" ] """ Network specific 3DS fields. Network specific arguments require an explicit card brand choice. The parameter `payment_method_options.card.network`` must be populated accordingly """ requestor_challenge_indicator: NotRequired[str] """ The challenge indicator (`threeDSRequestorChallengeInd`) which was requested in the AReq sent to the card Issuer's ACS. A string containing 2 digits from 01-99. """ transaction_id: NotRequired[str] """ For 3D Secure 1, the XID. For 3D Secure 2, the Directory Server Transaction ID (dsTransID). """ version: NotRequired[Literal["1.0.2", "2.1.0", "2.2.0"]] """ The version of 3D Secure that was performed. """ class SetupIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions( TypedDict, ): cartes_bancaires: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires" ] """ Cartes Bancaires-specific 3DS fields. """ class SetupIntentConfirmParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires( TypedDict, ): cb_avalgo: Literal["0", "1", "2", "3", "4", "A"] """ The cryptogram calculation algorithm used by the card Issuer's ACS to calculate the Authentication cryptogram. Also known as `cavvAlgorithm`. messageExtension: CB-AVALGO """ cb_exemption: NotRequired[str] """ The exemption indicator returned from Cartes Bancaires in the ARes. message extension: CB-EXEMPTION; string (4 characters) This is a 3 byte bitmap (low significant byte first and most significant bit first) that has been Base64 encoded """ cb_score: NotRequired[int] """ The risk score returned from Cartes Bancaires in the ARes. message extension: CB-SCORE; numeric value 0-99 """ class SetupIntentConfirmParamsPaymentMethodOptionsCardPresent(TypedDict): pass class SetupIntentConfirmParamsPaymentMethodOptionsKlarna(TypedDict): currency: NotRequired[str] """ The currency of the SetupIntent. Three letter ISO currency code. """ on_demand: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsKlarnaOnDemand" ] """ On-demand details if setting up a payment method for on-demand payments. """ preferred_locale: NotRequired[ Literal[ "cs-CZ", "da-DK", "de-AT", "de-CH", "de-DE", "el-GR", "en-AT", "en-AU", "en-BE", "en-CA", "en-CH", "en-CZ", "en-DE", "en-DK", "en-ES", "en-FI", "en-FR", "en-GB", "en-GR", "en-IE", "en-IT", "en-NL", "en-NO", "en-NZ", "en-PL", "en-PT", "en-RO", "en-SE", "en-US", "es-ES", "es-US", "fi-FI", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "it-CH", "it-IT", "nb-NO", "nl-BE", "nl-NL", "pl-PL", "pt-PT", "ro-RO", "sv-FI", "sv-SE", ] ] """ Preferred language of the Klarna authorization page that the customer is redirected to """ subscriptions: NotRequired[ "Literal['']|List[SetupIntentConfirmParamsPaymentMethodOptionsKlarnaSubscription]" ] """ Subscription details if setting up or charging a subscription """ class SetupIntentConfirmParamsPaymentMethodOptionsKlarnaOnDemand(TypedDict): average_amount: NotRequired[int] """ Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc. """ maximum_amount: NotRequired[int] """ The maximum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ minimum_amount: NotRequired[int] """ The lowest or minimum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ purchase_interval: NotRequired[Literal["day", "month", "week", "year"]] """ Interval at which the customer is making purchases """ purchase_interval_count: NotRequired[int] """ The number of `purchase_interval` between charges """ class SetupIntentConfirmParamsPaymentMethodOptionsKlarnaSubscription( TypedDict ): interval: Literal["day", "month", "week", "year"] """ Unit of time between subscription charges. """ interval_count: NotRequired[int] """ The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months. """ name: NotRequired[str] """ Name for subscription. """ next_billing: "SetupIntentConfirmParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling" """ Describes the upcoming charge for this subscription. """ reference: str """ A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges. """ class SetupIntentConfirmParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling( TypedDict, ): amount: int """ The amount of the next charge for the subscription. """ date: str """ The date of the next charge for the subscription in YYYY-MM-DD format. """ class SetupIntentConfirmParamsPaymentMethodOptionsLink(TypedDict): persistent_token: NotRequired[str] """ [Deprecated] This is a legacy parameter that no longer has any function. """ class SetupIntentConfirmParamsPaymentMethodOptionsPaypal(TypedDict): billing_agreement_id: NotRequired[str] """ The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer. """ class SetupIntentConfirmParamsPaymentMethodOptionsSepaDebit(TypedDict): mandate_options: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsSepaDebitMandateOptions" ] """ Additional fields for Mandate creation """ class SetupIntentConfirmParamsPaymentMethodOptionsSepaDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'. """ class SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccount(TypedDict): financial_connections: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnections" ] """ Additional fields for Financial Connections Session creation """ mandate_options: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountMandateOptions" ] """ Additional fields for Mandate creation """ networks: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountNetworks" ] """ Additional fields for network related functions """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnections( TypedDict, ): filters: NotRequired[ "SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters" ] """ Provide filters for the linked accounts that the customer can select for the payment method. """ permissions: NotRequired[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ return_url: NotRequired[str] """ For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. """ class SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters( TypedDict, ): account_subcategories: NotRequired[List[Literal["checking", "savings"]]] """ The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`. """ class SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountMandateOptions( TypedDict, ): collection_method: NotRequired["Literal['']|Literal['paper']"] """ The method used to collect offline mandate customer acceptance. """ class SetupIntentConfirmParamsPaymentMethodOptionsUsBankAccountNetworks( TypedDict, ): requested: NotRequired[List[Literal["ach", "us_domestic_wire"]]] """ Triggers validations to run across the selected networks """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_setup_intent_create_params.py0000644000000000000000000014757115102753431020762 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SetupIntentCreateParams(RequestOptions): attach_to_self: NotRequired[bool] """ If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. It can only be used for this Stripe Account's own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. """ automatic_payment_methods: NotRequired[ "SetupIntentCreateParamsAutomaticPaymentMethods" ] """ When you enable this parameter, this SetupIntent accepts payment methods that you enable in the Dashboard and that are compatible with its other parameters. """ confirm: NotRequired[bool] """ Set to `true` to attempt to confirm this SetupIntent immediately. This parameter defaults to `false`. If a card is the attached payment method, you can provide a `return_url` in case further authentication is necessary. """ confirmation_token: NotRequired[str] """ ID of the ConfirmationToken used to confirm this SetupIntent. If the provided ConfirmationToken contains properties that are also being provided in this request, such as `payment_method`, then the values in this request will take precedence. """ customer: NotRequired[str] """ ID of the Customer this SetupIntent belongs to, if one exists. If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ excluded_payment_method_types: NotRequired[ List[ Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "card", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] ] ] """ The list of payment method types to exclude from use with this SetupIntent. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ flow_directions: NotRequired[List[Literal["inbound", "outbound"]]] """ Indicates the directions of money movement for which this payment method is intended to be used. Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes. """ mandate_data: NotRequired["Literal['']|SetupIntentCreateParamsMandateData"] """ This hash contains details about the mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/setup_intents/create#create_setup_intent-confirm). """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ on_behalf_of: NotRequired[str] """ The Stripe account ID created for this SetupIntent. """ payment_method: NotRequired[str] """ ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. """ payment_method_configuration: NotRequired[str] """ The ID of the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) to use with this SetupIntent. """ payment_method_data: NotRequired[ "SetupIntentCreateParamsPaymentMethodData" ] """ When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method) value in the SetupIntent. """ payment_method_options: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptions" ] """ Payment method-specific configuration for this SetupIntent. """ payment_method_types: NotRequired[List[str]] """ The list of payment method types (for example, card) that this SetupIntent can use. If you don't provide this, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). A list of valid payment method types can be found [here](https://docs.stripe.com/api/payment_methods/object#payment_method_object-type). """ return_url: NotRequired[str] """ The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. To redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/setup_intents/create#create_setup_intent-confirm). """ single_use: NotRequired["SetupIntentCreateParamsSingleUse"] """ If you populate this hash, this SetupIntent generates a `single_use` mandate after successful completion. Single-use mandates are only valid for the following payment methods: `acss_debit`, `alipay`, `au_becs_debit`, `bacs_debit`, `bancontact`, `boleto`, `ideal`, `link`, `sepa_debit`, and `us_bank_account`. """ usage: NotRequired[Literal["off_session", "on_session"]] """ Indicates how the payment method is intended to be used in the future. If not provided, this value defaults to `off_session`. """ use_stripe_sdk: NotRequired[bool] """ Set to `true` when confirming server-side and using Stripe.js, iOS, or Android client-side SDKs to handle the next actions. """ class SetupIntentCreateParamsAutomaticPaymentMethods(TypedDict): allow_redirects: NotRequired[Literal["always", "never"]] """ Controls whether this SetupIntent will accept redirect-based payment methods. Redirect-based payment methods may require your customer to be redirected to a payment method's app or site for authentication or additional steps. To [confirm](https://stripe.com/docs/api/setup_intents/confirm) this SetupIntent, you may be required to provide a `return_url` to redirect customers back to your site after they authenticate or complete the setup. """ enabled: bool """ Whether this feature is enabled. """ class SetupIntentCreateParamsMandateData(TypedDict): customer_acceptance: "SetupIntentCreateParamsMandateDataCustomerAcceptance" """ This hash contains details about the customer acceptance of the Mandate. """ class SetupIntentCreateParamsMandateDataCustomerAcceptance(TypedDict): accepted_at: NotRequired[int] """ The time at which the customer accepted the Mandate. """ offline: NotRequired[ "SetupIntentCreateParamsMandateDataCustomerAcceptanceOffline" ] """ If this is a Mandate accepted offline, this hash contains details about the offline acceptance. """ online: NotRequired[ "SetupIntentCreateParamsMandateDataCustomerAcceptanceOnline" ] """ If this is a Mandate accepted online, this hash contains details about the online acceptance. """ type: Literal["offline", "online"] """ The type of customer acceptance information included with the Mandate. One of `online` or `offline`. """ class SetupIntentCreateParamsMandateDataCustomerAcceptanceOffline(TypedDict): pass class SetupIntentCreateParamsMandateDataCustomerAcceptanceOnline(TypedDict): ip_address: str """ The IP address from which the Mandate was accepted by the customer. """ user_agent: str """ The user agent of the browser from which the Mandate was accepted by the customer. """ class SetupIntentCreateParamsPaymentMethodData(TypedDict): acss_debit: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataAcssDebit" ] """ If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method. """ affirm: NotRequired["SetupIntentCreateParamsPaymentMethodDataAffirm"] """ If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method. """ afterpay_clearpay: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataAfterpayClearpay" ] """ If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method. """ alipay: NotRequired["SetupIntentCreateParamsPaymentMethodDataAlipay"] """ If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method. """ allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. """ alma: NotRequired["SetupIntentCreateParamsPaymentMethodDataAlma"] """ If this is a Alma PaymentMethod, this hash contains details about the Alma payment method. """ amazon_pay: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataAmazonPay" ] """ If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method. """ au_becs_debit: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataAuBecsDebit" ] """ If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account. """ bacs_debit: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataBacsDebit" ] """ If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account. """ bancontact: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataBancontact" ] """ If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method. """ billie: NotRequired["SetupIntentCreateParamsPaymentMethodDataBillie"] """ If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method. """ billing_details: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataBillingDetails" ] """ Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. """ blik: NotRequired["SetupIntentCreateParamsPaymentMethodDataBlik"] """ If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method. """ boleto: NotRequired["SetupIntentCreateParamsPaymentMethodDataBoleto"] """ If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method. """ cashapp: NotRequired["SetupIntentCreateParamsPaymentMethodDataCashapp"] """ If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method. """ crypto: NotRequired["SetupIntentCreateParamsPaymentMethodDataCrypto"] """ If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method. """ customer_balance: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataCustomerBalance" ] """ If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method. """ eps: NotRequired["SetupIntentCreateParamsPaymentMethodDataEps"] """ If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method. """ fpx: NotRequired["SetupIntentCreateParamsPaymentMethodDataFpx"] """ If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method. """ giropay: NotRequired["SetupIntentCreateParamsPaymentMethodDataGiropay"] """ If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method. """ grabpay: NotRequired["SetupIntentCreateParamsPaymentMethodDataGrabpay"] """ If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method. """ ideal: NotRequired["SetupIntentCreateParamsPaymentMethodDataIdeal"] """ If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method. """ interac_present: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataInteracPresent" ] """ If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method. """ kakao_pay: NotRequired["SetupIntentCreateParamsPaymentMethodDataKakaoPay"] """ If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method. """ klarna: NotRequired["SetupIntentCreateParamsPaymentMethodDataKlarna"] """ If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method. """ konbini: NotRequired["SetupIntentCreateParamsPaymentMethodDataKonbini"] """ If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method. """ kr_card: NotRequired["SetupIntentCreateParamsPaymentMethodDataKrCard"] """ If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method. """ link: NotRequired["SetupIntentCreateParamsPaymentMethodDataLink"] """ If this is an `Link` PaymentMethod, this hash contains details about the Link payment method. """ mb_way: NotRequired["SetupIntentCreateParamsPaymentMethodDataMbWay"] """ If this is a MB WAY PaymentMethod, this hash contains details about the MB WAY payment method. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ mobilepay: NotRequired["SetupIntentCreateParamsPaymentMethodDataMobilepay"] """ If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method. """ multibanco: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataMultibanco" ] """ If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method. """ naver_pay: NotRequired["SetupIntentCreateParamsPaymentMethodDataNaverPay"] """ If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method. """ nz_bank_account: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataNzBankAccount" ] """ If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method. """ oxxo: NotRequired["SetupIntentCreateParamsPaymentMethodDataOxxo"] """ If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method. """ p24: NotRequired["SetupIntentCreateParamsPaymentMethodDataP24"] """ If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method. """ pay_by_bank: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataPayByBank" ] """ If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method. """ payco: NotRequired["SetupIntentCreateParamsPaymentMethodDataPayco"] """ If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method. """ paynow: NotRequired["SetupIntentCreateParamsPaymentMethodDataPaynow"] """ If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method. """ paypal: NotRequired["SetupIntentCreateParamsPaymentMethodDataPaypal"] """ If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method. """ pix: NotRequired["SetupIntentCreateParamsPaymentMethodDataPix"] """ If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method. """ promptpay: NotRequired["SetupIntentCreateParamsPaymentMethodDataPromptpay"] """ If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method. """ radar_options: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataRadarOptions" ] """ Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. """ revolut_pay: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataRevolutPay" ] """ If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method. """ samsung_pay: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataSamsungPay" ] """ If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method. """ satispay: NotRequired["SetupIntentCreateParamsPaymentMethodDataSatispay"] """ If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method. """ sepa_debit: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataSepaDebit" ] """ If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account. """ sofort: NotRequired["SetupIntentCreateParamsPaymentMethodDataSofort"] """ If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method. """ swish: NotRequired["SetupIntentCreateParamsPaymentMethodDataSwish"] """ If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method. """ twint: NotRequired["SetupIntentCreateParamsPaymentMethodDataTwint"] """ If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method. """ type: Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] """ 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. """ us_bank_account: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataUsBankAccount" ] """ If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. """ wechat_pay: NotRequired[ "SetupIntentCreateParamsPaymentMethodDataWechatPay" ] """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ zip: NotRequired["SetupIntentCreateParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. """ class SetupIntentCreateParamsPaymentMethodDataAcssDebit(TypedDict): account_number: str """ Customer's bank account number. """ institution_number: str """ Institution number of the customer's bank. """ transit_number: str """ Transit number of the customer's bank. """ class SetupIntentCreateParamsPaymentMethodDataAffirm(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataAfterpayClearpay(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataAlipay(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataAlma(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataAmazonPay(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataAuBecsDebit(TypedDict): account_number: str """ The account number for the bank account. """ bsb_number: str """ Bank-State-Branch number of the bank account. """ class SetupIntentCreateParamsPaymentMethodDataBacsDebit(TypedDict): account_number: NotRequired[str] """ Account number of the bank account that the funds will be debited from. """ sort_code: NotRequired[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class SetupIntentCreateParamsPaymentMethodDataBancontact(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataBillie(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataBillingDetails(TypedDict): address: NotRequired[ "Literal['']|SetupIntentCreateParamsPaymentMethodDataBillingDetailsAddress" ] """ Billing address. """ email: NotRequired["Literal['']|str"] """ Email address. """ name: NotRequired["Literal['']|str"] """ Full name. """ phone: NotRequired["Literal['']|str"] """ Billing phone number (including extension). """ tax_id: NotRequired[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ class SetupIntentCreateParamsPaymentMethodDataBillingDetailsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class SetupIntentCreateParamsPaymentMethodDataBlik(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataBoleto(TypedDict): tax_id: str """ The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers) """ class SetupIntentCreateParamsPaymentMethodDataCashapp(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataCrypto(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataCustomerBalance(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataEps(TypedDict): bank: NotRequired[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. """ class SetupIntentCreateParamsPaymentMethodDataFpx(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type for FPX transaction """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank. """ class SetupIntentCreateParamsPaymentMethodDataGiropay(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataGrabpay(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataIdeal(TypedDict): bank: NotRequired[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank. Only use this parameter for existing customers. Don't use it for new customers. """ class SetupIntentCreateParamsPaymentMethodDataInteracPresent(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataKakaoPay(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataKlarna(TypedDict): dob: NotRequired["SetupIntentCreateParamsPaymentMethodDataKlarnaDob"] """ Customer's date of birth """ class SetupIntentCreateParamsPaymentMethodDataKlarnaDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class SetupIntentCreateParamsPaymentMethodDataKonbini(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataKrCard(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataLink(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataMbWay(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataMobilepay(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataMultibanco(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataNaverPay(TypedDict): funding: NotRequired[Literal["card", "points"]] """ Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`. """ class SetupIntentCreateParamsPaymentMethodDataNzBankAccount(TypedDict): account_holder_name: NotRequired[str] """ The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ account_number: str """ The account number for the bank account. """ bank_code: str """ The numeric code for the bank account's bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ reference: NotRequired[str] suffix: str """ The suffix of the bank account number. """ class SetupIntentCreateParamsPaymentMethodDataOxxo(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataP24(TypedDict): bank: NotRequired[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank. """ class SetupIntentCreateParamsPaymentMethodDataPayByBank(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataPayco(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataPaynow(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataPaypal(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataPix(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataPromptpay(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataRadarOptions(TypedDict): session: NotRequired[str] """ 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. """ class SetupIntentCreateParamsPaymentMethodDataRevolutPay(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataSamsungPay(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataSatispay(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataSepaDebit(TypedDict): iban: str """ IBAN of the bank account. """ class SetupIntentCreateParamsPaymentMethodDataSofort(TypedDict): country: Literal["AT", "BE", "DE", "ES", "IT", "NL"] """ Two-letter ISO code representing the country the bank account is located in. """ class SetupIntentCreateParamsPaymentMethodDataSwish(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataTwint(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataUsBankAccount(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_number: NotRequired[str] """ Account number of the bank account. """ account_type: NotRequired[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. """ routing_number: NotRequired[str] """ Routing number of the bank account. """ class SetupIntentCreateParamsPaymentMethodDataWechatPay(TypedDict): pass class SetupIntentCreateParamsPaymentMethodDataZip(TypedDict): pass class SetupIntentCreateParamsPaymentMethodOptions(TypedDict): acss_debit: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsAcssDebit" ] """ If this is a `acss_debit` SetupIntent, this sub-hash contains details about the ACSS Debit payment method options. """ amazon_pay: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsAmazonPay" ] """ If this is a `amazon_pay` SetupIntent, this sub-hash contains details about the AmazonPay payment method options. """ bacs_debit: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsBacsDebit" ] """ If this is a `bacs_debit` SetupIntent, this sub-hash contains details about the Bacs Debit payment method options. """ card: NotRequired["SetupIntentCreateParamsPaymentMethodOptionsCard"] """ Configuration for any card setup attempted on this SetupIntent. """ card_present: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsCardPresent" ] """ If this is a `card_present` PaymentMethod, this sub-hash contains details about the card-present payment method options. """ klarna: NotRequired["SetupIntentCreateParamsPaymentMethodOptionsKlarna"] """ If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method options. """ link: NotRequired["SetupIntentCreateParamsPaymentMethodOptionsLink"] """ If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options. """ paypal: NotRequired["SetupIntentCreateParamsPaymentMethodOptionsPaypal"] """ If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options. """ sepa_debit: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsSepaDebit" ] """ If this is a `sepa_debit` SetupIntent, this sub-hash contains details about the SEPA Debit payment method options. """ us_bank_account: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsUsBankAccount" ] """ If this is a `us_bank_account` SetupIntent, this sub-hash contains details about the US bank account payment method options. """ class SetupIntentCreateParamsPaymentMethodOptionsAcssDebit(TypedDict): currency: NotRequired[Literal["cad", "usd"]] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ mandate_options: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsAcssDebitMandateOptions" ] """ Additional fields for Mandate creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class SetupIntentCreateParamsPaymentMethodOptionsAcssDebitMandateOptions( TypedDict, ): custom_mandate_url: NotRequired["Literal['']|str"] """ A URL for custom mandate text to render during confirmation step. The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent, or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent. """ default_for: NotRequired[List[Literal["invoice", "subscription"]]] """ List of Stripe products where this mandate can be selected automatically. """ interval_description: NotRequired[str] """ Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'. """ payment_schedule: NotRequired[Literal["combined", "interval", "sporadic"]] """ Payment schedule for the mandate. """ transaction_type: NotRequired[Literal["business", "personal"]] """ Transaction type of the mandate. """ class SetupIntentCreateParamsPaymentMethodOptionsAmazonPay(TypedDict): pass class SetupIntentCreateParamsPaymentMethodOptionsBacsDebit(TypedDict): mandate_options: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsBacsDebitMandateOptions" ] """ Additional fields for Mandate creation """ class SetupIntentCreateParamsPaymentMethodOptionsBacsDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'. """ class SetupIntentCreateParamsPaymentMethodOptionsCard(TypedDict): mandate_options: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsCardMandateOptions" ] """ Configuration options for setting up an eMandate for cards issued in India. """ moto: NotRequired[bool] """ When specified, this parameter signals that a card has been collected as MOTO (Mail Order Telephone Order) and thus out of scope for SCA. This parameter can only be provided during confirmation. """ network: NotRequired[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "girocard", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Selected network to process this SetupIntent on. Depends on the available networks of the card attached to the SetupIntent. Can be only set confirm-time. """ request_three_d_secure: NotRequired[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ three_d_secure: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsCardThreeDSecure" ] """ If 3D Secure authentication was performed with a third-party provider, the authentication details to use for this setup. """ class SetupIntentCreateParamsPaymentMethodOptionsCardMandateOptions(TypedDict): amount: int """ Amount to be charged for future payments. """ amount_type: Literal["fixed", "maximum"] """ One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. """ currency: str """ Currency in which future payments will be charged. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: NotRequired[str] """ A description of the mandate or subscription that is meant to be displayed to the customer. """ end_date: NotRequired[int] """ End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date. """ interval: Literal["day", "month", "sporadic", "week", "year"] """ Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`. """ interval_count: NotRequired[int] """ The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`. """ reference: str """ Unique identifier for the mandate or subscription. """ start_date: int """ Start date of the mandate or subscription. Start date should not be lesser than yesterday. """ supported_types: NotRequired[List[Literal["india"]]] """ Specifies the type of mandates supported. Possible values are `india`. """ class SetupIntentCreateParamsPaymentMethodOptionsCardThreeDSecure(TypedDict): ares_trans_status: NotRequired[Literal["A", "C", "I", "N", "R", "U", "Y"]] """ The `transStatus` returned from the card Issuer's ACS in the ARes. """ cryptogram: NotRequired[str] """ The cryptogram, also known as the "authentication value" (AAV, CAVV or AEVV). This value is 20 bytes, base64-encoded into a 28-character string. (Most 3D Secure providers will return the base64-encoded version, which is what you should specify here.) """ electronic_commerce_indicator: NotRequired[ Literal["01", "02", "05", "06", "07"] ] """ The Electronic Commerce Indicator (ECI) is returned by your 3D Secure provider and indicates what degree of authentication was performed. """ network_options: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions" ] """ Network specific 3DS fields. Network specific arguments require an explicit card brand choice. The parameter `payment_method_options.card.network`` must be populated accordingly """ requestor_challenge_indicator: NotRequired[str] """ The challenge indicator (`threeDSRequestorChallengeInd`) which was requested in the AReq sent to the card Issuer's ACS. A string containing 2 digits from 01-99. """ transaction_id: NotRequired[str] """ For 3D Secure 1, the XID. For 3D Secure 2, the Directory Server Transaction ID (dsTransID). """ version: NotRequired[Literal["1.0.2", "2.1.0", "2.2.0"]] """ The version of 3D Secure that was performed. """ class SetupIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions( TypedDict, ): cartes_bancaires: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires" ] """ Cartes Bancaires-specific 3DS fields. """ class SetupIntentCreateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires( TypedDict, ): cb_avalgo: Literal["0", "1", "2", "3", "4", "A"] """ The cryptogram calculation algorithm used by the card Issuer's ACS to calculate the Authentication cryptogram. Also known as `cavvAlgorithm`. messageExtension: CB-AVALGO """ cb_exemption: NotRequired[str] """ The exemption indicator returned from Cartes Bancaires in the ARes. message extension: CB-EXEMPTION; string (4 characters) This is a 3 byte bitmap (low significant byte first and most significant bit first) that has been Base64 encoded """ cb_score: NotRequired[int] """ The risk score returned from Cartes Bancaires in the ARes. message extension: CB-SCORE; numeric value 0-99 """ class SetupIntentCreateParamsPaymentMethodOptionsCardPresent(TypedDict): pass class SetupIntentCreateParamsPaymentMethodOptionsKlarna(TypedDict): currency: NotRequired[str] """ The currency of the SetupIntent. Three letter ISO currency code. """ on_demand: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsKlarnaOnDemand" ] """ On-demand details if setting up a payment method for on-demand payments. """ preferred_locale: NotRequired[ Literal[ "cs-CZ", "da-DK", "de-AT", "de-CH", "de-DE", "el-GR", "en-AT", "en-AU", "en-BE", "en-CA", "en-CH", "en-CZ", "en-DE", "en-DK", "en-ES", "en-FI", "en-FR", "en-GB", "en-GR", "en-IE", "en-IT", "en-NL", "en-NO", "en-NZ", "en-PL", "en-PT", "en-RO", "en-SE", "en-US", "es-ES", "es-US", "fi-FI", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "it-CH", "it-IT", "nb-NO", "nl-BE", "nl-NL", "pl-PL", "pt-PT", "ro-RO", "sv-FI", "sv-SE", ] ] """ Preferred language of the Klarna authorization page that the customer is redirected to """ subscriptions: NotRequired[ "Literal['']|List[SetupIntentCreateParamsPaymentMethodOptionsKlarnaSubscription]" ] """ Subscription details if setting up or charging a subscription """ class SetupIntentCreateParamsPaymentMethodOptionsKlarnaOnDemand(TypedDict): average_amount: NotRequired[int] """ Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc. """ maximum_amount: NotRequired[int] """ The maximum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ minimum_amount: NotRequired[int] """ The lowest or minimum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ purchase_interval: NotRequired[Literal["day", "month", "week", "year"]] """ Interval at which the customer is making purchases """ purchase_interval_count: NotRequired[int] """ The number of `purchase_interval` between charges """ class SetupIntentCreateParamsPaymentMethodOptionsKlarnaSubscription(TypedDict): interval: Literal["day", "month", "week", "year"] """ Unit of time between subscription charges. """ interval_count: NotRequired[int] """ The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months. """ name: NotRequired[str] """ Name for subscription. """ next_billing: "SetupIntentCreateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling" """ Describes the upcoming charge for this subscription. """ reference: str """ A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges. """ class SetupIntentCreateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling( TypedDict, ): amount: int """ The amount of the next charge for the subscription. """ date: str """ The date of the next charge for the subscription in YYYY-MM-DD format. """ class SetupIntentCreateParamsPaymentMethodOptionsLink(TypedDict): persistent_token: NotRequired[str] """ [Deprecated] This is a legacy parameter that no longer has any function. """ class SetupIntentCreateParamsPaymentMethodOptionsPaypal(TypedDict): billing_agreement_id: NotRequired[str] """ The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer. """ class SetupIntentCreateParamsPaymentMethodOptionsSepaDebit(TypedDict): mandate_options: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsSepaDebitMandateOptions" ] """ Additional fields for Mandate creation """ class SetupIntentCreateParamsPaymentMethodOptionsSepaDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'. """ class SetupIntentCreateParamsPaymentMethodOptionsUsBankAccount(TypedDict): financial_connections: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnections" ] """ Additional fields for Financial Connections Session creation """ mandate_options: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountMandateOptions" ] """ Additional fields for Mandate creation """ networks: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountNetworks" ] """ Additional fields for network related functions """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnections( TypedDict, ): filters: NotRequired[ "SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters" ] """ Provide filters for the linked accounts that the customer can select for the payment method. """ permissions: NotRequired[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ return_url: NotRequired[str] """ For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. """ class SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters( TypedDict, ): account_subcategories: NotRequired[List[Literal["checking", "savings"]]] """ The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`. """ class SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountMandateOptions( TypedDict, ): collection_method: NotRequired["Literal['']|Literal['paper']"] """ The method used to collect offline mandate customer acceptance. """ class SetupIntentCreateParamsPaymentMethodOptionsUsBankAccountNetworks( TypedDict, ): requested: NotRequired[List[Literal["ach", "us_domestic_wire"]]] """ Triggers validations to run across the selected networks """ class SetupIntentCreateParamsSingleUse(TypedDict): amount: int """ Amount the customer is granting permission to collect later. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3590622 stripe-13.2.0/stripe/params/_setup_intent_list_params.py0000644000000000000000000000475015102753431020461 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class SetupIntentListParams(RequestOptions): attach_to_self: NotRequired[bool] """ If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. It can only be used for this Stripe Account's own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. """ created: NotRequired["SetupIntentListParamsCreated|int"] """ A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. """ customer: NotRequired[str] """ Only return SetupIntents for the customer specified by this customer ID. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ payment_method: NotRequired[str] """ Only return SetupIntents that associate with the specified payment method. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class SetupIntentListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_setup_intent_modify_params.py0000644000000000000000000013373015102753431020776 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SetupIntentModifyParams(RequestOptions): attach_to_self: NotRequired[bool] """ If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. It can only be used for this Stripe Account's own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. """ customer: NotRequired[str] """ ID of the Customer this SetupIntent belongs to, if one exists. If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ excluded_payment_method_types: NotRequired[ "Literal['']|List[Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'ideal', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'mb_way', 'mobilepay', 'multibanco', 'naver_pay', 'nz_bank_account', 'oxxo', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'pix', 'promptpay', 'revolut_pay', 'samsung_pay', 'satispay', 'sepa_debit', 'sofort', 'swish', 'twint', 'us_bank_account', 'wechat_pay', 'zip']]" ] """ The list of payment method types to exclude from use with this SetupIntent. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ flow_directions: NotRequired[List[Literal["inbound", "outbound"]]] """ Indicates the directions of money movement for which this payment method is intended to be used. Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ payment_method: NotRequired[str] """ ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. To unset this field to null, pass in an empty string. """ payment_method_configuration: NotRequired[str] """ The ID of the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) to use with this SetupIntent. """ payment_method_data: NotRequired[ "SetupIntentModifyParamsPaymentMethodData" ] """ When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method) value in the SetupIntent. """ payment_method_options: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptions" ] """ Payment method-specific configuration for this SetupIntent. """ payment_method_types: NotRequired[List[str]] """ The list of payment method types (for example, card) that this SetupIntent can set up. If you don't provide this, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). A list of valid payment method types can be found [here](https://docs.stripe.com/api/payment_methods/object#payment_method_object-type). """ class SetupIntentModifyParamsPaymentMethodData(TypedDict): acss_debit: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataAcssDebit" ] """ If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method. """ affirm: NotRequired["SetupIntentModifyParamsPaymentMethodDataAffirm"] """ If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method. """ afterpay_clearpay: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataAfterpayClearpay" ] """ If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method. """ alipay: NotRequired["SetupIntentModifyParamsPaymentMethodDataAlipay"] """ If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method. """ allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. """ alma: NotRequired["SetupIntentModifyParamsPaymentMethodDataAlma"] """ If this is a Alma PaymentMethod, this hash contains details about the Alma payment method. """ amazon_pay: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataAmazonPay" ] """ If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method. """ au_becs_debit: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataAuBecsDebit" ] """ If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account. """ bacs_debit: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataBacsDebit" ] """ If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account. """ bancontact: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataBancontact" ] """ If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method. """ billie: NotRequired["SetupIntentModifyParamsPaymentMethodDataBillie"] """ If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method. """ billing_details: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataBillingDetails" ] """ Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. """ blik: NotRequired["SetupIntentModifyParamsPaymentMethodDataBlik"] """ If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method. """ boleto: NotRequired["SetupIntentModifyParamsPaymentMethodDataBoleto"] """ If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method. """ cashapp: NotRequired["SetupIntentModifyParamsPaymentMethodDataCashapp"] """ If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method. """ crypto: NotRequired["SetupIntentModifyParamsPaymentMethodDataCrypto"] """ If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method. """ customer_balance: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataCustomerBalance" ] """ If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method. """ eps: NotRequired["SetupIntentModifyParamsPaymentMethodDataEps"] """ If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method. """ fpx: NotRequired["SetupIntentModifyParamsPaymentMethodDataFpx"] """ If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method. """ giropay: NotRequired["SetupIntentModifyParamsPaymentMethodDataGiropay"] """ If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method. """ grabpay: NotRequired["SetupIntentModifyParamsPaymentMethodDataGrabpay"] """ If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method. """ ideal: NotRequired["SetupIntentModifyParamsPaymentMethodDataIdeal"] """ If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method. """ interac_present: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataInteracPresent" ] """ If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method. """ kakao_pay: NotRequired["SetupIntentModifyParamsPaymentMethodDataKakaoPay"] """ If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method. """ klarna: NotRequired["SetupIntentModifyParamsPaymentMethodDataKlarna"] """ If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method. """ konbini: NotRequired["SetupIntentModifyParamsPaymentMethodDataKonbini"] """ If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method. """ kr_card: NotRequired["SetupIntentModifyParamsPaymentMethodDataKrCard"] """ If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method. """ link: NotRequired["SetupIntentModifyParamsPaymentMethodDataLink"] """ If this is an `Link` PaymentMethod, this hash contains details about the Link payment method. """ mb_way: NotRequired["SetupIntentModifyParamsPaymentMethodDataMbWay"] """ If this is a MB WAY PaymentMethod, this hash contains details about the MB WAY payment method. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ mobilepay: NotRequired["SetupIntentModifyParamsPaymentMethodDataMobilepay"] """ If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method. """ multibanco: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataMultibanco" ] """ If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method. """ naver_pay: NotRequired["SetupIntentModifyParamsPaymentMethodDataNaverPay"] """ If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method. """ nz_bank_account: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataNzBankAccount" ] """ If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method. """ oxxo: NotRequired["SetupIntentModifyParamsPaymentMethodDataOxxo"] """ If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method. """ p24: NotRequired["SetupIntentModifyParamsPaymentMethodDataP24"] """ If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method. """ pay_by_bank: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataPayByBank" ] """ If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method. """ payco: NotRequired["SetupIntentModifyParamsPaymentMethodDataPayco"] """ If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method. """ paynow: NotRequired["SetupIntentModifyParamsPaymentMethodDataPaynow"] """ If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method. """ paypal: NotRequired["SetupIntentModifyParamsPaymentMethodDataPaypal"] """ If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method. """ pix: NotRequired["SetupIntentModifyParamsPaymentMethodDataPix"] """ If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method. """ promptpay: NotRequired["SetupIntentModifyParamsPaymentMethodDataPromptpay"] """ If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method. """ radar_options: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataRadarOptions" ] """ Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. """ revolut_pay: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataRevolutPay" ] """ If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method. """ samsung_pay: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataSamsungPay" ] """ If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method. """ satispay: NotRequired["SetupIntentModifyParamsPaymentMethodDataSatispay"] """ If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method. """ sepa_debit: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataSepaDebit" ] """ If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account. """ sofort: NotRequired["SetupIntentModifyParamsPaymentMethodDataSofort"] """ If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method. """ swish: NotRequired["SetupIntentModifyParamsPaymentMethodDataSwish"] """ If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method. """ twint: NotRequired["SetupIntentModifyParamsPaymentMethodDataTwint"] """ If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method. """ type: Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] """ 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. """ us_bank_account: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataUsBankAccount" ] """ If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. """ wechat_pay: NotRequired[ "SetupIntentModifyParamsPaymentMethodDataWechatPay" ] """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ zip: NotRequired["SetupIntentModifyParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. """ class SetupIntentModifyParamsPaymentMethodDataAcssDebit(TypedDict): account_number: str """ Customer's bank account number. """ institution_number: str """ Institution number of the customer's bank. """ transit_number: str """ Transit number of the customer's bank. """ class SetupIntentModifyParamsPaymentMethodDataAffirm(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataAfterpayClearpay(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataAlipay(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataAlma(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataAmazonPay(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataAuBecsDebit(TypedDict): account_number: str """ The account number for the bank account. """ bsb_number: str """ Bank-State-Branch number of the bank account. """ class SetupIntentModifyParamsPaymentMethodDataBacsDebit(TypedDict): account_number: NotRequired[str] """ Account number of the bank account that the funds will be debited from. """ sort_code: NotRequired[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class SetupIntentModifyParamsPaymentMethodDataBancontact(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataBillie(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataBillingDetails(TypedDict): address: NotRequired[ "Literal['']|SetupIntentModifyParamsPaymentMethodDataBillingDetailsAddress" ] """ Billing address. """ email: NotRequired["Literal['']|str"] """ Email address. """ name: NotRequired["Literal['']|str"] """ Full name. """ phone: NotRequired["Literal['']|str"] """ Billing phone number (including extension). """ tax_id: NotRequired[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ class SetupIntentModifyParamsPaymentMethodDataBillingDetailsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class SetupIntentModifyParamsPaymentMethodDataBlik(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataBoleto(TypedDict): tax_id: str """ The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers) """ class SetupIntentModifyParamsPaymentMethodDataCashapp(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataCrypto(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataCustomerBalance(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataEps(TypedDict): bank: NotRequired[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. """ class SetupIntentModifyParamsPaymentMethodDataFpx(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type for FPX transaction """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank. """ class SetupIntentModifyParamsPaymentMethodDataGiropay(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataGrabpay(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataIdeal(TypedDict): bank: NotRequired[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank. Only use this parameter for existing customers. Don't use it for new customers. """ class SetupIntentModifyParamsPaymentMethodDataInteracPresent(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataKakaoPay(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataKlarna(TypedDict): dob: NotRequired["SetupIntentModifyParamsPaymentMethodDataKlarnaDob"] """ Customer's date of birth """ class SetupIntentModifyParamsPaymentMethodDataKlarnaDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class SetupIntentModifyParamsPaymentMethodDataKonbini(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataKrCard(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataLink(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataMbWay(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataMobilepay(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataMultibanco(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataNaverPay(TypedDict): funding: NotRequired[Literal["card", "points"]] """ Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`. """ class SetupIntentModifyParamsPaymentMethodDataNzBankAccount(TypedDict): account_holder_name: NotRequired[str] """ The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ account_number: str """ The account number for the bank account. """ bank_code: str """ The numeric code for the bank account's bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ reference: NotRequired[str] suffix: str """ The suffix of the bank account number. """ class SetupIntentModifyParamsPaymentMethodDataOxxo(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataP24(TypedDict): bank: NotRequired[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank. """ class SetupIntentModifyParamsPaymentMethodDataPayByBank(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataPayco(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataPaynow(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataPaypal(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataPix(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataPromptpay(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataRadarOptions(TypedDict): session: NotRequired[str] """ 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. """ class SetupIntentModifyParamsPaymentMethodDataRevolutPay(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataSamsungPay(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataSatispay(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataSepaDebit(TypedDict): iban: str """ IBAN of the bank account. """ class SetupIntentModifyParamsPaymentMethodDataSofort(TypedDict): country: Literal["AT", "BE", "DE", "ES", "IT", "NL"] """ Two-letter ISO code representing the country the bank account is located in. """ class SetupIntentModifyParamsPaymentMethodDataSwish(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataTwint(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataUsBankAccount(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_number: NotRequired[str] """ Account number of the bank account. """ account_type: NotRequired[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. """ routing_number: NotRequired[str] """ Routing number of the bank account. """ class SetupIntentModifyParamsPaymentMethodDataWechatPay(TypedDict): pass class SetupIntentModifyParamsPaymentMethodDataZip(TypedDict): pass class SetupIntentModifyParamsPaymentMethodOptions(TypedDict): acss_debit: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsAcssDebit" ] """ If this is a `acss_debit` SetupIntent, this sub-hash contains details about the ACSS Debit payment method options. """ amazon_pay: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsAmazonPay" ] """ If this is a `amazon_pay` SetupIntent, this sub-hash contains details about the AmazonPay payment method options. """ bacs_debit: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsBacsDebit" ] """ If this is a `bacs_debit` SetupIntent, this sub-hash contains details about the Bacs Debit payment method options. """ card: NotRequired["SetupIntentModifyParamsPaymentMethodOptionsCard"] """ Configuration for any card setup attempted on this SetupIntent. """ card_present: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsCardPresent" ] """ If this is a `card_present` PaymentMethod, this sub-hash contains details about the card-present payment method options. """ klarna: NotRequired["SetupIntentModifyParamsPaymentMethodOptionsKlarna"] """ If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method options. """ link: NotRequired["SetupIntentModifyParamsPaymentMethodOptionsLink"] """ If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options. """ paypal: NotRequired["SetupIntentModifyParamsPaymentMethodOptionsPaypal"] """ If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options. """ sepa_debit: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsSepaDebit" ] """ If this is a `sepa_debit` SetupIntent, this sub-hash contains details about the SEPA Debit payment method options. """ us_bank_account: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsUsBankAccount" ] """ If this is a `us_bank_account` SetupIntent, this sub-hash contains details about the US bank account payment method options. """ class SetupIntentModifyParamsPaymentMethodOptionsAcssDebit(TypedDict): currency: NotRequired[Literal["cad", "usd"]] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ mandate_options: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsAcssDebitMandateOptions" ] """ Additional fields for Mandate creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class SetupIntentModifyParamsPaymentMethodOptionsAcssDebitMandateOptions( TypedDict, ): custom_mandate_url: NotRequired["Literal['']|str"] """ A URL for custom mandate text to render during confirmation step. The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent, or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent. """ default_for: NotRequired[List[Literal["invoice", "subscription"]]] """ List of Stripe products where this mandate can be selected automatically. """ interval_description: NotRequired[str] """ Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'. """ payment_schedule: NotRequired[Literal["combined", "interval", "sporadic"]] """ Payment schedule for the mandate. """ transaction_type: NotRequired[Literal["business", "personal"]] """ Transaction type of the mandate. """ class SetupIntentModifyParamsPaymentMethodOptionsAmazonPay(TypedDict): pass class SetupIntentModifyParamsPaymentMethodOptionsBacsDebit(TypedDict): mandate_options: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsBacsDebitMandateOptions" ] """ Additional fields for Mandate creation """ class SetupIntentModifyParamsPaymentMethodOptionsBacsDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'. """ class SetupIntentModifyParamsPaymentMethodOptionsCard(TypedDict): mandate_options: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsCardMandateOptions" ] """ Configuration options for setting up an eMandate for cards issued in India. """ moto: NotRequired[bool] """ When specified, this parameter signals that a card has been collected as MOTO (Mail Order Telephone Order) and thus out of scope for SCA. This parameter can only be provided during confirmation. """ network: NotRequired[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "girocard", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Selected network to process this SetupIntent on. Depends on the available networks of the card attached to the SetupIntent. Can be only set confirm-time. """ request_three_d_secure: NotRequired[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ three_d_secure: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsCardThreeDSecure" ] """ If 3D Secure authentication was performed with a third-party provider, the authentication details to use for this setup. """ class SetupIntentModifyParamsPaymentMethodOptionsCardMandateOptions(TypedDict): amount: int """ Amount to be charged for future payments. """ amount_type: Literal["fixed", "maximum"] """ One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. """ currency: str """ Currency in which future payments will be charged. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: NotRequired[str] """ A description of the mandate or subscription that is meant to be displayed to the customer. """ end_date: NotRequired[int] """ End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date. """ interval: Literal["day", "month", "sporadic", "week", "year"] """ Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`. """ interval_count: NotRequired[int] """ The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`. """ reference: str """ Unique identifier for the mandate or subscription. """ start_date: int """ Start date of the mandate or subscription. Start date should not be lesser than yesterday. """ supported_types: NotRequired[List[Literal["india"]]] """ Specifies the type of mandates supported. Possible values are `india`. """ class SetupIntentModifyParamsPaymentMethodOptionsCardThreeDSecure(TypedDict): ares_trans_status: NotRequired[Literal["A", "C", "I", "N", "R", "U", "Y"]] """ The `transStatus` returned from the card Issuer's ACS in the ARes. """ cryptogram: NotRequired[str] """ The cryptogram, also known as the "authentication value" (AAV, CAVV or AEVV). This value is 20 bytes, base64-encoded into a 28-character string. (Most 3D Secure providers will return the base64-encoded version, which is what you should specify here.) """ electronic_commerce_indicator: NotRequired[ Literal["01", "02", "05", "06", "07"] ] """ The Electronic Commerce Indicator (ECI) is returned by your 3D Secure provider and indicates what degree of authentication was performed. """ network_options: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions" ] """ Network specific 3DS fields. Network specific arguments require an explicit card brand choice. The parameter `payment_method_options.card.network`` must be populated accordingly """ requestor_challenge_indicator: NotRequired[str] """ The challenge indicator (`threeDSRequestorChallengeInd`) which was requested in the AReq sent to the card Issuer's ACS. A string containing 2 digits from 01-99. """ transaction_id: NotRequired[str] """ For 3D Secure 1, the XID. For 3D Secure 2, the Directory Server Transaction ID (dsTransID). """ version: NotRequired[Literal["1.0.2", "2.1.0", "2.2.0"]] """ The version of 3D Secure that was performed. """ class SetupIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions( TypedDict, ): cartes_bancaires: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires" ] """ Cartes Bancaires-specific 3DS fields. """ class SetupIntentModifyParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires( TypedDict, ): cb_avalgo: Literal["0", "1", "2", "3", "4", "A"] """ The cryptogram calculation algorithm used by the card Issuer's ACS to calculate the Authentication cryptogram. Also known as `cavvAlgorithm`. messageExtension: CB-AVALGO """ cb_exemption: NotRequired[str] """ The exemption indicator returned from Cartes Bancaires in the ARes. message extension: CB-EXEMPTION; string (4 characters) This is a 3 byte bitmap (low significant byte first and most significant bit first) that has been Base64 encoded """ cb_score: NotRequired[int] """ The risk score returned from Cartes Bancaires in the ARes. message extension: CB-SCORE; numeric value 0-99 """ class SetupIntentModifyParamsPaymentMethodOptionsCardPresent(TypedDict): pass class SetupIntentModifyParamsPaymentMethodOptionsKlarna(TypedDict): currency: NotRequired[str] """ The currency of the SetupIntent. Three letter ISO currency code. """ on_demand: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsKlarnaOnDemand" ] """ On-demand details if setting up a payment method for on-demand payments. """ preferred_locale: NotRequired[ Literal[ "cs-CZ", "da-DK", "de-AT", "de-CH", "de-DE", "el-GR", "en-AT", "en-AU", "en-BE", "en-CA", "en-CH", "en-CZ", "en-DE", "en-DK", "en-ES", "en-FI", "en-FR", "en-GB", "en-GR", "en-IE", "en-IT", "en-NL", "en-NO", "en-NZ", "en-PL", "en-PT", "en-RO", "en-SE", "en-US", "es-ES", "es-US", "fi-FI", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "it-CH", "it-IT", "nb-NO", "nl-BE", "nl-NL", "pl-PL", "pt-PT", "ro-RO", "sv-FI", "sv-SE", ] ] """ Preferred language of the Klarna authorization page that the customer is redirected to """ subscriptions: NotRequired[ "Literal['']|List[SetupIntentModifyParamsPaymentMethodOptionsKlarnaSubscription]" ] """ Subscription details if setting up or charging a subscription """ class SetupIntentModifyParamsPaymentMethodOptionsKlarnaOnDemand(TypedDict): average_amount: NotRequired[int] """ Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc. """ maximum_amount: NotRequired[int] """ The maximum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ minimum_amount: NotRequired[int] """ The lowest or minimum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ purchase_interval: NotRequired[Literal["day", "month", "week", "year"]] """ Interval at which the customer is making purchases """ purchase_interval_count: NotRequired[int] """ The number of `purchase_interval` between charges """ class SetupIntentModifyParamsPaymentMethodOptionsKlarnaSubscription(TypedDict): interval: Literal["day", "month", "week", "year"] """ Unit of time between subscription charges. """ interval_count: NotRequired[int] """ The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months. """ name: NotRequired[str] """ Name for subscription. """ next_billing: "SetupIntentModifyParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling" """ Describes the upcoming charge for this subscription. """ reference: str """ A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges. """ class SetupIntentModifyParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling( TypedDict, ): amount: int """ The amount of the next charge for the subscription. """ date: str """ The date of the next charge for the subscription in YYYY-MM-DD format. """ class SetupIntentModifyParamsPaymentMethodOptionsLink(TypedDict): persistent_token: NotRequired[str] """ [Deprecated] This is a legacy parameter that no longer has any function. """ class SetupIntentModifyParamsPaymentMethodOptionsPaypal(TypedDict): billing_agreement_id: NotRequired[str] """ The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer. """ class SetupIntentModifyParamsPaymentMethodOptionsSepaDebit(TypedDict): mandate_options: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsSepaDebitMandateOptions" ] """ Additional fields for Mandate creation """ class SetupIntentModifyParamsPaymentMethodOptionsSepaDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'. """ class SetupIntentModifyParamsPaymentMethodOptionsUsBankAccount(TypedDict): financial_connections: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnections" ] """ Additional fields for Financial Connections Session creation """ mandate_options: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountMandateOptions" ] """ Additional fields for Mandate creation """ networks: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountNetworks" ] """ Additional fields for network related functions """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnections( TypedDict, ): filters: NotRequired[ "SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters" ] """ Provide filters for the linked accounts that the customer can select for the payment method. """ permissions: NotRequired[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ return_url: NotRequired[str] """ For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. """ class SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters( TypedDict, ): account_subcategories: NotRequired[List[Literal["checking", "savings"]]] """ The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`. """ class SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountMandateOptions( TypedDict, ): collection_method: NotRequired["Literal['']|Literal['paper']"] """ The method used to collect offline mandate customer acceptance. """ class SetupIntentModifyParamsPaymentMethodOptionsUsBankAccountNetworks( TypedDict, ): requested: NotRequired[List[Literal["ach", "us_domestic_wire"]]] """ Triggers validations to run across the selected networks """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_setup_intent_retrieve_params.py0000644000000000000000000000101015102753431021315 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SetupIntentRetrieveParams(RequestOptions): client_secret: NotRequired[str] """ The client secret of the SetupIntent. We require this string if you use a publishable key to retrieve the SetupIntent. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_setup_intent_update_params.py0000644000000000000000000013364015102753431020771 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SetupIntentUpdateParams(TypedDict): attach_to_self: NotRequired[bool] """ If present, the SetupIntent's payment method will be attached to the in-context Stripe Account. It can only be used for this Stripe Account's own money movement flows like InboundTransfer and OutboundTransfers. It cannot be set to true when setting up a PaymentMethod for a Customer, and defaults to false when attaching a PaymentMethod to a Customer. """ customer: NotRequired[str] """ ID of the Customer this SetupIntent belongs to, if one exists. If present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ excluded_payment_method_types: NotRequired[ "Literal['']|List[Literal['acss_debit', 'affirm', 'afterpay_clearpay', 'alipay', 'alma', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'billie', 'blik', 'boleto', 'card', 'cashapp', 'crypto', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'ideal', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'mb_way', 'mobilepay', 'multibanco', 'naver_pay', 'nz_bank_account', 'oxxo', 'p24', 'pay_by_bank', 'payco', 'paynow', 'paypal', 'pix', 'promptpay', 'revolut_pay', 'samsung_pay', 'satispay', 'sepa_debit', 'sofort', 'swish', 'twint', 'us_bank_account', 'wechat_pay', 'zip']]" ] """ The list of payment method types to exclude from use with this SetupIntent. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ flow_directions: NotRequired[List[Literal["inbound", "outbound"]]] """ Indicates the directions of money movement for which this payment method is intended to be used. Include `inbound` if you intend to use the payment method as the origin to pull funds from. Include `outbound` if you intend to use the payment method as the destination to send funds to. You can include both if you intend to use the payment method for both purposes. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ payment_method: NotRequired[str] """ ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent. To unset this field to null, pass in an empty string. """ payment_method_configuration: NotRequired[str] """ The ID of the [payment method configuration](https://stripe.com/docs/api/payment_method_configurations) to use with this SetupIntent. """ payment_method_data: NotRequired[ "SetupIntentUpdateParamsPaymentMethodData" ] """ When included, this hash creates a PaymentMethod that is set as the [`payment_method`](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-payment_method) value in the SetupIntent. """ payment_method_options: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptions" ] """ Payment method-specific configuration for this SetupIntent. """ payment_method_types: NotRequired[List[str]] """ The list of payment method types (for example, card) that this SetupIntent can set up. If you don't provide this, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods). A list of valid payment method types can be found [here](https://docs.stripe.com/api/payment_methods/object#payment_method_object-type). """ class SetupIntentUpdateParamsPaymentMethodData(TypedDict): acss_debit: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataAcssDebit" ] """ If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method. """ affirm: NotRequired["SetupIntentUpdateParamsPaymentMethodDataAffirm"] """ If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method. """ afterpay_clearpay: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataAfterpayClearpay" ] """ If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method. """ alipay: NotRequired["SetupIntentUpdateParamsPaymentMethodDataAlipay"] """ If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method. """ allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. """ alma: NotRequired["SetupIntentUpdateParamsPaymentMethodDataAlma"] """ If this is a Alma PaymentMethod, this hash contains details about the Alma payment method. """ amazon_pay: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataAmazonPay" ] """ If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method. """ au_becs_debit: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataAuBecsDebit" ] """ If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account. """ bacs_debit: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataBacsDebit" ] """ If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account. """ bancontact: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataBancontact" ] """ If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method. """ billie: NotRequired["SetupIntentUpdateParamsPaymentMethodDataBillie"] """ If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method. """ billing_details: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataBillingDetails" ] """ Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. """ blik: NotRequired["SetupIntentUpdateParamsPaymentMethodDataBlik"] """ If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method. """ boleto: NotRequired["SetupIntentUpdateParamsPaymentMethodDataBoleto"] """ If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method. """ cashapp: NotRequired["SetupIntentUpdateParamsPaymentMethodDataCashapp"] """ If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method. """ crypto: NotRequired["SetupIntentUpdateParamsPaymentMethodDataCrypto"] """ If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method. """ customer_balance: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataCustomerBalance" ] """ If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method. """ eps: NotRequired["SetupIntentUpdateParamsPaymentMethodDataEps"] """ If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method. """ fpx: NotRequired["SetupIntentUpdateParamsPaymentMethodDataFpx"] """ If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method. """ giropay: NotRequired["SetupIntentUpdateParamsPaymentMethodDataGiropay"] """ If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method. """ grabpay: NotRequired["SetupIntentUpdateParamsPaymentMethodDataGrabpay"] """ If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method. """ ideal: NotRequired["SetupIntentUpdateParamsPaymentMethodDataIdeal"] """ If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method. """ interac_present: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataInteracPresent" ] """ If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method. """ kakao_pay: NotRequired["SetupIntentUpdateParamsPaymentMethodDataKakaoPay"] """ If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method. """ klarna: NotRequired["SetupIntentUpdateParamsPaymentMethodDataKlarna"] """ If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method. """ konbini: NotRequired["SetupIntentUpdateParamsPaymentMethodDataKonbini"] """ If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method. """ kr_card: NotRequired["SetupIntentUpdateParamsPaymentMethodDataKrCard"] """ If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method. """ link: NotRequired["SetupIntentUpdateParamsPaymentMethodDataLink"] """ If this is an `Link` PaymentMethod, this hash contains details about the Link payment method. """ mb_way: NotRequired["SetupIntentUpdateParamsPaymentMethodDataMbWay"] """ If this is a MB WAY PaymentMethod, this hash contains details about the MB WAY payment method. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ mobilepay: NotRequired["SetupIntentUpdateParamsPaymentMethodDataMobilepay"] """ If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method. """ multibanco: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataMultibanco" ] """ If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method. """ naver_pay: NotRequired["SetupIntentUpdateParamsPaymentMethodDataNaverPay"] """ If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method. """ nz_bank_account: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataNzBankAccount" ] """ If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method. """ oxxo: NotRequired["SetupIntentUpdateParamsPaymentMethodDataOxxo"] """ If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method. """ p24: NotRequired["SetupIntentUpdateParamsPaymentMethodDataP24"] """ If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method. """ pay_by_bank: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataPayByBank" ] """ If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method. """ payco: NotRequired["SetupIntentUpdateParamsPaymentMethodDataPayco"] """ If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method. """ paynow: NotRequired["SetupIntentUpdateParamsPaymentMethodDataPaynow"] """ If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method. """ paypal: NotRequired["SetupIntentUpdateParamsPaymentMethodDataPaypal"] """ If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method. """ pix: NotRequired["SetupIntentUpdateParamsPaymentMethodDataPix"] """ If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method. """ promptpay: NotRequired["SetupIntentUpdateParamsPaymentMethodDataPromptpay"] """ If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method. """ radar_options: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataRadarOptions" ] """ Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. """ revolut_pay: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataRevolutPay" ] """ If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method. """ samsung_pay: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataSamsungPay" ] """ If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method. """ satispay: NotRequired["SetupIntentUpdateParamsPaymentMethodDataSatispay"] """ If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method. """ sepa_debit: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataSepaDebit" ] """ If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account. """ sofort: NotRequired["SetupIntentUpdateParamsPaymentMethodDataSofort"] """ If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method. """ swish: NotRequired["SetupIntentUpdateParamsPaymentMethodDataSwish"] """ If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method. """ twint: NotRequired["SetupIntentUpdateParamsPaymentMethodDataTwint"] """ If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method. """ type: Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] """ 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. """ us_bank_account: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataUsBankAccount" ] """ If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. """ wechat_pay: NotRequired[ "SetupIntentUpdateParamsPaymentMethodDataWechatPay" ] """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ zip: NotRequired["SetupIntentUpdateParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. """ class SetupIntentUpdateParamsPaymentMethodDataAcssDebit(TypedDict): account_number: str """ Customer's bank account number. """ institution_number: str """ Institution number of the customer's bank. """ transit_number: str """ Transit number of the customer's bank. """ class SetupIntentUpdateParamsPaymentMethodDataAffirm(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataAfterpayClearpay(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataAlipay(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataAlma(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataAmazonPay(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataAuBecsDebit(TypedDict): account_number: str """ The account number for the bank account. """ bsb_number: str """ Bank-State-Branch number of the bank account. """ class SetupIntentUpdateParamsPaymentMethodDataBacsDebit(TypedDict): account_number: NotRequired[str] """ Account number of the bank account that the funds will be debited from. """ sort_code: NotRequired[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class SetupIntentUpdateParamsPaymentMethodDataBancontact(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataBillie(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataBillingDetails(TypedDict): address: NotRequired[ "Literal['']|SetupIntentUpdateParamsPaymentMethodDataBillingDetailsAddress" ] """ Billing address. """ email: NotRequired["Literal['']|str"] """ Email address. """ name: NotRequired["Literal['']|str"] """ Full name. """ phone: NotRequired["Literal['']|str"] """ Billing phone number (including extension). """ tax_id: NotRequired[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ class SetupIntentUpdateParamsPaymentMethodDataBillingDetailsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class SetupIntentUpdateParamsPaymentMethodDataBlik(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataBoleto(TypedDict): tax_id: str """ The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers) """ class SetupIntentUpdateParamsPaymentMethodDataCashapp(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataCrypto(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataCustomerBalance(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataEps(TypedDict): bank: NotRequired[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. """ class SetupIntentUpdateParamsPaymentMethodDataFpx(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type for FPX transaction """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank. """ class SetupIntentUpdateParamsPaymentMethodDataGiropay(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataGrabpay(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataIdeal(TypedDict): bank: NotRequired[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank. Only use this parameter for existing customers. Don't use it for new customers. """ class SetupIntentUpdateParamsPaymentMethodDataInteracPresent(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataKakaoPay(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataKlarna(TypedDict): dob: NotRequired["SetupIntentUpdateParamsPaymentMethodDataKlarnaDob"] """ Customer's date of birth """ class SetupIntentUpdateParamsPaymentMethodDataKlarnaDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class SetupIntentUpdateParamsPaymentMethodDataKonbini(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataKrCard(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataLink(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataMbWay(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataMobilepay(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataMultibanco(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataNaverPay(TypedDict): funding: NotRequired[Literal["card", "points"]] """ Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`. """ class SetupIntentUpdateParamsPaymentMethodDataNzBankAccount(TypedDict): account_holder_name: NotRequired[str] """ The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ account_number: str """ The account number for the bank account. """ bank_code: str """ The numeric code for the bank account's bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ reference: NotRequired[str] suffix: str """ The suffix of the bank account number. """ class SetupIntentUpdateParamsPaymentMethodDataOxxo(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataP24(TypedDict): bank: NotRequired[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank. """ class SetupIntentUpdateParamsPaymentMethodDataPayByBank(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataPayco(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataPaynow(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataPaypal(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataPix(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataPromptpay(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataRadarOptions(TypedDict): session: NotRequired[str] """ 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. """ class SetupIntentUpdateParamsPaymentMethodDataRevolutPay(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataSamsungPay(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataSatispay(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataSepaDebit(TypedDict): iban: str """ IBAN of the bank account. """ class SetupIntentUpdateParamsPaymentMethodDataSofort(TypedDict): country: Literal["AT", "BE", "DE", "ES", "IT", "NL"] """ Two-letter ISO code representing the country the bank account is located in. """ class SetupIntentUpdateParamsPaymentMethodDataSwish(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataTwint(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataUsBankAccount(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_number: NotRequired[str] """ Account number of the bank account. """ account_type: NotRequired[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. """ routing_number: NotRequired[str] """ Routing number of the bank account. """ class SetupIntentUpdateParamsPaymentMethodDataWechatPay(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodDataZip(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodOptions(TypedDict): acss_debit: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsAcssDebit" ] """ If this is a `acss_debit` SetupIntent, this sub-hash contains details about the ACSS Debit payment method options. """ amazon_pay: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsAmazonPay" ] """ If this is a `amazon_pay` SetupIntent, this sub-hash contains details about the AmazonPay payment method options. """ bacs_debit: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsBacsDebit" ] """ If this is a `bacs_debit` SetupIntent, this sub-hash contains details about the Bacs Debit payment method options. """ card: NotRequired["SetupIntentUpdateParamsPaymentMethodOptionsCard"] """ Configuration for any card setup attempted on this SetupIntent. """ card_present: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsCardPresent" ] """ If this is a `card_present` PaymentMethod, this sub-hash contains details about the card-present payment method options. """ klarna: NotRequired["SetupIntentUpdateParamsPaymentMethodOptionsKlarna"] """ If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method options. """ link: NotRequired["SetupIntentUpdateParamsPaymentMethodOptionsLink"] """ If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options. """ paypal: NotRequired["SetupIntentUpdateParamsPaymentMethodOptionsPaypal"] """ If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options. """ sepa_debit: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsSepaDebit" ] """ If this is a `sepa_debit` SetupIntent, this sub-hash contains details about the SEPA Debit payment method options. """ us_bank_account: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccount" ] """ If this is a `us_bank_account` SetupIntent, this sub-hash contains details about the US bank account payment method options. """ class SetupIntentUpdateParamsPaymentMethodOptionsAcssDebit(TypedDict): currency: NotRequired[Literal["cad", "usd"]] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ mandate_options: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsAcssDebitMandateOptions" ] """ Additional fields for Mandate creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class SetupIntentUpdateParamsPaymentMethodOptionsAcssDebitMandateOptions( TypedDict, ): custom_mandate_url: NotRequired["Literal['']|str"] """ A URL for custom mandate text to render during confirmation step. The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent, or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent. """ default_for: NotRequired[List[Literal["invoice", "subscription"]]] """ List of Stripe products where this mandate can be selected automatically. """ interval_description: NotRequired[str] """ Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'. """ payment_schedule: NotRequired[Literal["combined", "interval", "sporadic"]] """ Payment schedule for the mandate. """ transaction_type: NotRequired[Literal["business", "personal"]] """ Transaction type of the mandate. """ class SetupIntentUpdateParamsPaymentMethodOptionsAmazonPay(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodOptionsBacsDebit(TypedDict): mandate_options: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsBacsDebitMandateOptions" ] """ Additional fields for Mandate creation """ class SetupIntentUpdateParamsPaymentMethodOptionsBacsDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'. """ class SetupIntentUpdateParamsPaymentMethodOptionsCard(TypedDict): mandate_options: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsCardMandateOptions" ] """ Configuration options for setting up an eMandate for cards issued in India. """ moto: NotRequired[bool] """ When specified, this parameter signals that a card has been collected as MOTO (Mail Order Telephone Order) and thus out of scope for SCA. This parameter can only be provided during confirmation. """ network: NotRequired[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "girocard", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Selected network to process this SetupIntent on. Depends on the available networks of the card attached to the SetupIntent. Can be only set confirm-time. """ request_three_d_secure: NotRequired[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ three_d_secure: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsCardThreeDSecure" ] """ If 3D Secure authentication was performed with a third-party provider, the authentication details to use for this setup. """ class SetupIntentUpdateParamsPaymentMethodOptionsCardMandateOptions(TypedDict): amount: int """ Amount to be charged for future payments. """ amount_type: Literal["fixed", "maximum"] """ One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. """ currency: str """ Currency in which future payments will be charged. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: NotRequired[str] """ A description of the mandate or subscription that is meant to be displayed to the customer. """ end_date: NotRequired[int] """ End date of the mandate or subscription. If not provided, the mandate will be active until canceled. If provided, end date should be after start date. """ interval: Literal["day", "month", "sporadic", "week", "year"] """ Specifies payment frequency. One of `day`, `week`, `month`, `year`, or `sporadic`. """ interval_count: NotRequired[int] """ The number of intervals between payments. For example, `interval=month` and `interval_count=3` indicates one payment every three months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). This parameter is optional when `interval=sporadic`. """ reference: str """ Unique identifier for the mandate or subscription. """ start_date: int """ Start date of the mandate or subscription. Start date should not be lesser than yesterday. """ supported_types: NotRequired[List[Literal["india"]]] """ Specifies the type of mandates supported. Possible values are `india`. """ class SetupIntentUpdateParamsPaymentMethodOptionsCardThreeDSecure(TypedDict): ares_trans_status: NotRequired[Literal["A", "C", "I", "N", "R", "U", "Y"]] """ The `transStatus` returned from the card Issuer's ACS in the ARes. """ cryptogram: NotRequired[str] """ The cryptogram, also known as the "authentication value" (AAV, CAVV or AEVV). This value is 20 bytes, base64-encoded into a 28-character string. (Most 3D Secure providers will return the base64-encoded version, which is what you should specify here.) """ electronic_commerce_indicator: NotRequired[ Literal["01", "02", "05", "06", "07"] ] """ The Electronic Commerce Indicator (ECI) is returned by your 3D Secure provider and indicates what degree of authentication was performed. """ network_options: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions" ] """ Network specific 3DS fields. Network specific arguments require an explicit card brand choice. The parameter `payment_method_options.card.network`` must be populated accordingly """ requestor_challenge_indicator: NotRequired[str] """ The challenge indicator (`threeDSRequestorChallengeInd`) which was requested in the AReq sent to the card Issuer's ACS. A string containing 2 digits from 01-99. """ transaction_id: NotRequired[str] """ For 3D Secure 1, the XID. For 3D Secure 2, the Directory Server Transaction ID (dsTransID). """ version: NotRequired[Literal["1.0.2", "2.1.0", "2.2.0"]] """ The version of 3D Secure that was performed. """ class SetupIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptions( TypedDict, ): cartes_bancaires: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires" ] """ Cartes Bancaires-specific 3DS fields. """ class SetupIntentUpdateParamsPaymentMethodOptionsCardThreeDSecureNetworkOptionsCartesBancaires( TypedDict, ): cb_avalgo: Literal["0", "1", "2", "3", "4", "A"] """ The cryptogram calculation algorithm used by the card Issuer's ACS to calculate the Authentication cryptogram. Also known as `cavvAlgorithm`. messageExtension: CB-AVALGO """ cb_exemption: NotRequired[str] """ The exemption indicator returned from Cartes Bancaires in the ARes. message extension: CB-EXEMPTION; string (4 characters) This is a 3 byte bitmap (low significant byte first and most significant bit first) that has been Base64 encoded """ cb_score: NotRequired[int] """ The risk score returned from Cartes Bancaires in the ARes. message extension: CB-SCORE; numeric value 0-99 """ class SetupIntentUpdateParamsPaymentMethodOptionsCardPresent(TypedDict): pass class SetupIntentUpdateParamsPaymentMethodOptionsKlarna(TypedDict): currency: NotRequired[str] """ The currency of the SetupIntent. Three letter ISO currency code. """ on_demand: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsKlarnaOnDemand" ] """ On-demand details if setting up a payment method for on-demand payments. """ preferred_locale: NotRequired[ Literal[ "cs-CZ", "da-DK", "de-AT", "de-CH", "de-DE", "el-GR", "en-AT", "en-AU", "en-BE", "en-CA", "en-CH", "en-CZ", "en-DE", "en-DK", "en-ES", "en-FI", "en-FR", "en-GB", "en-GR", "en-IE", "en-IT", "en-NL", "en-NO", "en-NZ", "en-PL", "en-PT", "en-RO", "en-SE", "en-US", "es-ES", "es-US", "fi-FI", "fr-BE", "fr-CA", "fr-CH", "fr-FR", "it-CH", "it-IT", "nb-NO", "nl-BE", "nl-NL", "pl-PL", "pt-PT", "ro-RO", "sv-FI", "sv-SE", ] ] """ Preferred language of the Klarna authorization page that the customer is redirected to """ subscriptions: NotRequired[ "Literal['']|List[SetupIntentUpdateParamsPaymentMethodOptionsKlarnaSubscription]" ] """ Subscription details if setting up or charging a subscription """ class SetupIntentUpdateParamsPaymentMethodOptionsKlarnaOnDemand(TypedDict): average_amount: NotRequired[int] """ Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc. """ maximum_amount: NotRequired[int] """ The maximum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ minimum_amount: NotRequired[int] """ The lowest or minimum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc. """ purchase_interval: NotRequired[Literal["day", "month", "week", "year"]] """ Interval at which the customer is making purchases """ purchase_interval_count: NotRequired[int] """ The number of `purchase_interval` between charges """ class SetupIntentUpdateParamsPaymentMethodOptionsKlarnaSubscription(TypedDict): interval: Literal["day", "month", "week", "year"] """ Unit of time between subscription charges. """ interval_count: NotRequired[int] """ The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months. """ name: NotRequired[str] """ Name for subscription. """ next_billing: "SetupIntentUpdateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling" """ Describes the upcoming charge for this subscription. """ reference: str """ A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges. """ class SetupIntentUpdateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling( TypedDict, ): amount: int """ The amount of the next charge for the subscription. """ date: str """ The date of the next charge for the subscription in YYYY-MM-DD format. """ class SetupIntentUpdateParamsPaymentMethodOptionsLink(TypedDict): persistent_token: NotRequired[str] """ [Deprecated] This is a legacy parameter that no longer has any function. """ class SetupIntentUpdateParamsPaymentMethodOptionsPaypal(TypedDict): billing_agreement_id: NotRequired[str] """ The PayPal Billing Agreement ID (BAID). This is an ID generated by PayPal which represents the mandate between the merchant and the customer. """ class SetupIntentUpdateParamsPaymentMethodOptionsSepaDebit(TypedDict): mandate_options: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsSepaDebitMandateOptions" ] """ Additional fields for Mandate creation """ class SetupIntentUpdateParamsPaymentMethodOptionsSepaDebitMandateOptions( TypedDict, ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'. """ class SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccount(TypedDict): financial_connections: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnections" ] """ Additional fields for Financial Connections Session creation """ mandate_options: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountMandateOptions" ] """ Additional fields for Mandate creation """ networks: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountNetworks" ] """ Additional fields for network related functions """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Bank account verification method. """ class SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnections( TypedDict, ): filters: NotRequired[ "SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters" ] """ Provide filters for the linked accounts that the customer can select for the payment method. """ permissions: NotRequired[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ return_url: NotRequired[str] """ For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. """ class SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters( TypedDict, ): account_subcategories: NotRequired[List[Literal["checking", "savings"]]] """ The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`. """ class SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountMandateOptions( TypedDict, ): collection_method: NotRequired["Literal['']|Literal['paper']"] """ The method used to collect offline mandate customer acceptance. """ class SetupIntentUpdateParamsPaymentMethodOptionsUsBankAccountNetworks( TypedDict, ): requested: NotRequired[List[Literal["ach", "us_domestic_wire"]]] """ Triggers validations to run across the selected networks """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_setup_intent_verify_microdeposits_params.py0000644000000000000000000000123015102753431023744 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SetupIntentVerifyMicrodepositsParams(RequestOptions): amounts: NotRequired[List[int]] """ Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account. """ descriptor_code: NotRequired[str] """ A six-character code starting with SM present in the microdeposit sent to the bank account. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_shipping_rate_create_params.py0000644000000000000000000000736315102753431021067 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class ShippingRateCreateParams(RequestOptions): delivery_estimate: NotRequired["ShippingRateCreateParamsDeliveryEstimate"] """ The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions. """ display_name: str """ The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ fixed_amount: NotRequired["ShippingRateCreateParamsFixedAmount"] """ Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`. """ type: NotRequired[Literal["fixed_amount"]] """ The type of calculation to use on the shipping rate. """ class ShippingRateCreateParamsDeliveryEstimate(TypedDict): maximum: NotRequired["ShippingRateCreateParamsDeliveryEstimateMaximum"] """ The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite. """ minimum: NotRequired["ShippingRateCreateParamsDeliveryEstimateMinimum"] """ The lower bound of the estimated range. If empty, represents no lower bound. """ class ShippingRateCreateParamsDeliveryEstimateMaximum(TypedDict): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ class ShippingRateCreateParamsDeliveryEstimateMinimum(TypedDict): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ class ShippingRateCreateParamsFixedAmount(TypedDict): amount: int """ A non-negative integer in cents representing how much to charge. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ currency_options: NotRequired[ Dict[str, "ShippingRateCreateParamsFixedAmountCurrencyOptions"] ] """ Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ class ShippingRateCreateParamsFixedAmountCurrencyOptions(TypedDict): amount: int """ A non-negative integer in cents representing how much to charge. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_shipping_rate_list_params.py0000644000000000000000000000403415102753431020567 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class ShippingRateListParams(RequestOptions): active: NotRequired[bool] """ Only return shipping rates that are active or inactive. """ created: NotRequired["ShippingRateListParamsCreated|int"] """ A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. """ currency: NotRequired[str] """ Only return shipping rates for the given currency. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class ShippingRateListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_shipping_rate_modify_params.py0000644000000000000000000000413315102753431021103 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class ShippingRateModifyParams(RequestOptions): active: NotRequired[bool] """ Whether the shipping rate can be used for new purchases. Defaults to `true`. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ fixed_amount: NotRequired["ShippingRateModifyParamsFixedAmount"] """ Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ class ShippingRateModifyParamsFixedAmount(TypedDict): currency_options: NotRequired[ Dict[str, "ShippingRateModifyParamsFixedAmountCurrencyOptions"] ] """ Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ class ShippingRateModifyParamsFixedAmountCurrencyOptions(TypedDict): amount: NotRequired[int] """ A non-negative integer in cents representing how much to charge. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_shipping_rate_retrieve_params.py0000644000000000000000000000053215102753431021440 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ShippingRateRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_shipping_rate_update_params.py0000644000000000000000000000404315102753431021076 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class ShippingRateUpdateParams(TypedDict): active: NotRequired[bool] """ Whether the shipping rate can be used for new purchases. Defaults to `true`. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ fixed_amount: NotRequired["ShippingRateUpdateParamsFixedAmount"] """ Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ class ShippingRateUpdateParamsFixedAmount(TypedDict): currency_options: NotRequired[ Dict[str, "ShippingRateUpdateParamsFixedAmountCurrencyOptions"] ] """ Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ class ShippingRateUpdateParamsFixedAmountCurrencyOptions(TypedDict): amount: NotRequired[int] """ A non-negative integer in cents representing how much to charge. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_source_create_params.py0000644000000000000000000002452715102753431017534 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SourceCreateParams(RequestOptions): amount: NotRequired[int] """ Amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single_use` sources. Not supported for `receiver` type sources, where charge amount may not be specified until funds land. """ currency: NotRequired[str] """ Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready. """ customer: NotRequired[str] """ The `Customer` to whom the original source is attached to. Must be set when the original source is not a `Source` (e.g., `Card`). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ flow: NotRequired[ Literal["code_verification", "none", "receiver", "redirect"] ] """ The authentication `flow` of the source to create. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`. It is generally inferred unless a type supports multiple flows. """ mandate: NotRequired["SourceCreateParamsMandate"] """ Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status. """ metadata: NotRequired[Dict[str, str]] original_source: NotRequired[str] """ The source to share. """ owner: NotRequired["SourceCreateParamsOwner"] """ Information about the owner of the payment instrument that may be used or required by particular source types. """ receiver: NotRequired["SourceCreateParamsReceiver"] """ Optional parameters for the receiver flow. Can be set only if the source is a receiver (`flow` is `receiver`). """ redirect: NotRequired["SourceCreateParamsRedirect"] """ Parameters required for the redirect flow. Required if the source is authenticated by a redirect (`flow` is `redirect`). """ source_order: NotRequired["SourceCreateParamsSourceOrder"] """ Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it. """ statement_descriptor: NotRequired[str] """ An arbitrary string to be displayed on your customer's statement. As an example, if your website is `RunClub` and the item you're charging for is a race ticket, you may want to specify a `statement_descriptor` of `RunClub 5K race ticket.` While many payment types will display this information, some may not display it at all. """ token: NotRequired[str] """ An optional token used to create the source. When passed, token properties will override source parameters. """ type: NotRequired[str] """ The `type` of the source to create. Required unless `customer` and `original_source` are specified (see the [Cloning card Sources](https://stripe.com/docs/sources/connect#cloning-card-sources) guide) """ usage: NotRequired[Literal["reusable", "single_use"]] class SourceCreateParamsMandate(TypedDict): acceptance: NotRequired["SourceCreateParamsMandateAcceptance"] """ The parameters required to notify Stripe of a mandate acceptance or refusal by the customer. """ amount: NotRequired["Literal['']|int"] """ The amount specified by the mandate. (Leave null for a mandate covering all amounts) """ currency: NotRequired[str] """ The currency specified by the mandate. (Must match `currency` of the source) """ interval: NotRequired[Literal["one_time", "scheduled", "variable"]] """ The interval of debits permitted by the mandate. Either `one_time` (just permitting a single debit), `scheduled` (with debits on an agreed schedule or for clearly-defined events), or `variable`(for debits with any frequency) """ notification_method: NotRequired[ Literal["deprecated_none", "email", "manual", "none", "stripe_email"] ] """ The method Stripe should use to notify the customer of upcoming debit instructions and/or mandate confirmation as required by the underlying debit network. Either `email` (an email is sent directly to the customer), `manual` (a `source.mandate_notification` event is sent to your webhooks endpoint and you should handle the notification) or `none` (the underlying debit network does not require any notification). """ class SourceCreateParamsMandateAcceptance(TypedDict): date: NotRequired[int] """ The Unix timestamp (in seconds) when the mandate was accepted or refused by the customer. """ ip: NotRequired[str] """ The IP address from which the mandate was accepted or refused by the customer. """ offline: NotRequired["SourceCreateParamsMandateAcceptanceOffline"] """ The parameters required to store a mandate accepted offline. Should only be set if `mandate[type]` is `offline` """ online: NotRequired["SourceCreateParamsMandateAcceptanceOnline"] """ The parameters required to store a mandate accepted online. Should only be set if `mandate[type]` is `online` """ status: Literal["accepted", "pending", "refused", "revoked"] """ The status of the mandate acceptance. Either `accepted` (the mandate was accepted) or `refused` (the mandate was refused). """ type: NotRequired[Literal["offline", "online"]] """ The type of acceptance information included with the mandate. Either `online` or `offline` """ user_agent: NotRequired[str] """ The user agent of the browser from which the mandate was accepted or refused by the customer. """ class SourceCreateParamsMandateAcceptanceOffline(TypedDict): contact_email: str """ An email to contact you with if a copy of the mandate is requested, required if `type` is `offline`. """ class SourceCreateParamsMandateAcceptanceOnline(TypedDict): date: NotRequired[int] """ The Unix timestamp (in seconds) when the mandate was accepted or refused by the customer. """ ip: NotRequired[str] """ The IP address from which the mandate was accepted or refused by the customer. """ user_agent: NotRequired[str] """ The user agent of the browser from which the mandate was accepted or refused by the customer. """ class SourceCreateParamsOwner(TypedDict): address: NotRequired["SourceCreateParamsOwnerAddress"] """ Owner's address. """ email: NotRequired[str] """ Owner's email address. """ name: NotRequired[str] """ Owner's full name. """ phone: NotRequired[str] """ Owner's phone number. """ class SourceCreateParamsOwnerAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class SourceCreateParamsReceiver(TypedDict): refund_attributes_method: NotRequired[Literal["email", "manual", "none"]] """ The method Stripe should use to request information needed to process a refund or mispayment. Either `email` (an email is sent directly to the customer) or `manual` (a `source.refund_attributes_required` event is sent to your webhooks endpoint). Refer to each payment method's documentation to learn which refund attributes may be required. """ class SourceCreateParamsRedirect(TypedDict): return_url: str """ The URL you provide to redirect the customer back to you after they authenticated their payment. It can use your application URI scheme in the context of a mobile application. """ class SourceCreateParamsSourceOrder(TypedDict): items: NotRequired[List["SourceCreateParamsSourceOrderItem"]] """ List of items constituting the order. """ shipping: NotRequired["SourceCreateParamsSourceOrderShipping"] """ Shipping address for the order. Required if any of the SKUs are for products that have `shippable` set to true. """ class SourceCreateParamsSourceOrderItem(TypedDict): amount: NotRequired[int] currency: NotRequired[str] description: NotRequired[str] parent: NotRequired[str] """ The ID of the SKU being ordered. """ quantity: NotRequired[int] """ The quantity of this order item. When type is `sku`, this is the number of instances of the SKU to be ordered. """ type: NotRequired[Literal["discount", "shipping", "sku", "tax"]] class SourceCreateParamsSourceOrderShipping(TypedDict): address: "SourceCreateParamsSourceOrderShippingAddress" """ Shipping address. """ carrier: NotRequired[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: NotRequired[str] """ Recipient name. """ phone: NotRequired[str] """ Recipient phone (including extension). """ tracking_number: NotRequired[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ class SourceCreateParamsSourceOrderShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: str """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_source_detach_params.py0000644000000000000000000000044515102753431017512 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class SourceDetachParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_source_list_source_transactions_params.py0000644000000000000000000000227615102753431023411 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SourceListSourceTransactionsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_source_modify_params.py0000644000000000000000000001742015102753431017552 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SourceModifyParams(RequestOptions): amount: NotRequired[int] """ Amount associated with the source. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ mandate: NotRequired["SourceModifyParamsMandate"] """ Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ owner: NotRequired["SourceModifyParamsOwner"] """ Information about the owner of the payment instrument that may be used or required by particular source types. """ source_order: NotRequired["SourceModifyParamsSourceOrder"] """ Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it. """ class SourceModifyParamsMandate(TypedDict): acceptance: NotRequired["SourceModifyParamsMandateAcceptance"] """ The parameters required to notify Stripe of a mandate acceptance or refusal by the customer. """ amount: NotRequired["Literal['']|int"] """ The amount specified by the mandate. (Leave null for a mandate covering all amounts) """ currency: NotRequired[str] """ The currency specified by the mandate. (Must match `currency` of the source) """ interval: NotRequired[Literal["one_time", "scheduled", "variable"]] """ The interval of debits permitted by the mandate. Either `one_time` (just permitting a single debit), `scheduled` (with debits on an agreed schedule or for clearly-defined events), or `variable`(for debits with any frequency) """ notification_method: NotRequired[ Literal["deprecated_none", "email", "manual", "none", "stripe_email"] ] """ The method Stripe should use to notify the customer of upcoming debit instructions and/or mandate confirmation as required by the underlying debit network. Either `email` (an email is sent directly to the customer), `manual` (a `source.mandate_notification` event is sent to your webhooks endpoint and you should handle the notification) or `none` (the underlying debit network does not require any notification). """ class SourceModifyParamsMandateAcceptance(TypedDict): date: NotRequired[int] """ The Unix timestamp (in seconds) when the mandate was accepted or refused by the customer. """ ip: NotRequired[str] """ The IP address from which the mandate was accepted or refused by the customer. """ offline: NotRequired["SourceModifyParamsMandateAcceptanceOffline"] """ The parameters required to store a mandate accepted offline. Should only be set if `mandate[type]` is `offline` """ online: NotRequired["SourceModifyParamsMandateAcceptanceOnline"] """ The parameters required to store a mandate accepted online. Should only be set if `mandate[type]` is `online` """ status: Literal["accepted", "pending", "refused", "revoked"] """ The status of the mandate acceptance. Either `accepted` (the mandate was accepted) or `refused` (the mandate was refused). """ type: NotRequired[Literal["offline", "online"]] """ The type of acceptance information included with the mandate. Either `online` or `offline` """ user_agent: NotRequired[str] """ The user agent of the browser from which the mandate was accepted or refused by the customer. """ class SourceModifyParamsMandateAcceptanceOffline(TypedDict): contact_email: str """ An email to contact you with if a copy of the mandate is requested, required if `type` is `offline`. """ class SourceModifyParamsMandateAcceptanceOnline(TypedDict): date: NotRequired[int] """ The Unix timestamp (in seconds) when the mandate was accepted or refused by the customer. """ ip: NotRequired[str] """ The IP address from which the mandate was accepted or refused by the customer. """ user_agent: NotRequired[str] """ The user agent of the browser from which the mandate was accepted or refused by the customer. """ class SourceModifyParamsOwner(TypedDict): address: NotRequired["SourceModifyParamsOwnerAddress"] """ Owner's address. """ email: NotRequired[str] """ Owner's email address. """ name: NotRequired[str] """ Owner's full name. """ phone: NotRequired[str] """ Owner's phone number. """ class SourceModifyParamsOwnerAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class SourceModifyParamsSourceOrder(TypedDict): items: NotRequired[List["SourceModifyParamsSourceOrderItem"]] """ List of items constituting the order. """ shipping: NotRequired["SourceModifyParamsSourceOrderShipping"] """ Shipping address for the order. Required if any of the SKUs are for products that have `shippable` set to true. """ class SourceModifyParamsSourceOrderItem(TypedDict): amount: NotRequired[int] currency: NotRequired[str] description: NotRequired[str] parent: NotRequired[str] """ The ID of the SKU being ordered. """ quantity: NotRequired[int] """ The quantity of this order item. When type is `sku`, this is the number of instances of the SKU to be ordered. """ type: NotRequired[Literal["discount", "shipping", "sku", "tax"]] class SourceModifyParamsSourceOrderShipping(TypedDict): address: "SourceModifyParamsSourceOrderShippingAddress" """ Shipping address. """ carrier: NotRequired[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: NotRequired[str] """ Recipient name. """ phone: NotRequired[str] """ Recipient phone (including extension). """ tracking_number: NotRequired[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ class SourceModifyParamsSourceOrderShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: str """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_source_retrieve_params.py0000644000000000000000000000075315102753431020111 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SourceRetrieveParams(RequestOptions): client_secret: NotRequired[str] """ The client secret of the source. Required if a publishable key is used to retrieve the source. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_source_transaction_list_params.py0000644000000000000000000000221215102753431021634 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class SourceTransactionListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_source_update_params.py0000644000000000000000000001733015102753431017545 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SourceUpdateParams(TypedDict): amount: NotRequired[int] """ Amount associated with the source. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ mandate: NotRequired["SourceUpdateParamsMandate"] """ Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ owner: NotRequired["SourceUpdateParamsOwner"] """ Information about the owner of the payment instrument that may be used or required by particular source types. """ source_order: NotRequired["SourceUpdateParamsSourceOrder"] """ Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it. """ class SourceUpdateParamsMandate(TypedDict): acceptance: NotRequired["SourceUpdateParamsMandateAcceptance"] """ The parameters required to notify Stripe of a mandate acceptance or refusal by the customer. """ amount: NotRequired["Literal['']|int"] """ The amount specified by the mandate. (Leave null for a mandate covering all amounts) """ currency: NotRequired[str] """ The currency specified by the mandate. (Must match `currency` of the source) """ interval: NotRequired[Literal["one_time", "scheduled", "variable"]] """ The interval of debits permitted by the mandate. Either `one_time` (just permitting a single debit), `scheduled` (with debits on an agreed schedule or for clearly-defined events), or `variable`(for debits with any frequency) """ notification_method: NotRequired[ Literal["deprecated_none", "email", "manual", "none", "stripe_email"] ] """ The method Stripe should use to notify the customer of upcoming debit instructions and/or mandate confirmation as required by the underlying debit network. Either `email` (an email is sent directly to the customer), `manual` (a `source.mandate_notification` event is sent to your webhooks endpoint and you should handle the notification) or `none` (the underlying debit network does not require any notification). """ class SourceUpdateParamsMandateAcceptance(TypedDict): date: NotRequired[int] """ The Unix timestamp (in seconds) when the mandate was accepted or refused by the customer. """ ip: NotRequired[str] """ The IP address from which the mandate was accepted or refused by the customer. """ offline: NotRequired["SourceUpdateParamsMandateAcceptanceOffline"] """ The parameters required to store a mandate accepted offline. Should only be set if `mandate[type]` is `offline` """ online: NotRequired["SourceUpdateParamsMandateAcceptanceOnline"] """ The parameters required to store a mandate accepted online. Should only be set if `mandate[type]` is `online` """ status: Literal["accepted", "pending", "refused", "revoked"] """ The status of the mandate acceptance. Either `accepted` (the mandate was accepted) or `refused` (the mandate was refused). """ type: NotRequired[Literal["offline", "online"]] """ The type of acceptance information included with the mandate. Either `online` or `offline` """ user_agent: NotRequired[str] """ The user agent of the browser from which the mandate was accepted or refused by the customer. """ class SourceUpdateParamsMandateAcceptanceOffline(TypedDict): contact_email: str """ An email to contact you with if a copy of the mandate is requested, required if `type` is `offline`. """ class SourceUpdateParamsMandateAcceptanceOnline(TypedDict): date: NotRequired[int] """ The Unix timestamp (in seconds) when the mandate was accepted or refused by the customer. """ ip: NotRequired[str] """ The IP address from which the mandate was accepted or refused by the customer. """ user_agent: NotRequired[str] """ The user agent of the browser from which the mandate was accepted or refused by the customer. """ class SourceUpdateParamsOwner(TypedDict): address: NotRequired["SourceUpdateParamsOwnerAddress"] """ Owner's address. """ email: NotRequired[str] """ Owner's email address. """ name: NotRequired[str] """ Owner's full name. """ phone: NotRequired[str] """ Owner's phone number. """ class SourceUpdateParamsOwnerAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class SourceUpdateParamsSourceOrder(TypedDict): items: NotRequired[List["SourceUpdateParamsSourceOrderItem"]] """ List of items constituting the order. """ shipping: NotRequired["SourceUpdateParamsSourceOrderShipping"] """ Shipping address for the order. Required if any of the SKUs are for products that have `shippable` set to true. """ class SourceUpdateParamsSourceOrderItem(TypedDict): amount: NotRequired[int] currency: NotRequired[str] description: NotRequired[str] parent: NotRequired[str] """ The ID of the SKU being ordered. """ quantity: NotRequired[int] """ The quantity of this order item. When type is `sku`, this is the number of instances of the SKU to be ordered. """ type: NotRequired[Literal["discount", "shipping", "sku", "tax"]] class SourceUpdateParamsSourceOrderShipping(TypedDict): address: "SourceUpdateParamsSourceOrderShippingAddress" """ Shipping address. """ carrier: NotRequired[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: NotRequired[str] """ Recipient name. """ phone: NotRequired[str] """ Recipient phone (including extension). """ tracking_number: NotRequired[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ class SourceUpdateParamsSourceOrderShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: str """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_source_verify_params.py0000644000000000000000000000064415102753431017567 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SourceVerifyParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ values: List[str] """ The values needed to verify the source. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_subscription_cancel_params.py0000644000000000000000000000270715102753431020736 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class SubscriptionCancelParams(RequestOptions): cancellation_details: NotRequired[ "SubscriptionCancelParamsCancellationDetails" ] """ Details about why this subscription was cancelled """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice_now: NotRequired[bool] """ Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending proration invoice items. Defaults to `false`. """ prorate: NotRequired[bool] """ Will generate a proration invoice item that credits remaining unused time until the subscription period end. Defaults to `false`. """ class SubscriptionCancelParamsCancellationDetails(TypedDict): comment: NotRequired["Literal['']|str"] """ Additional comments about why the user canceled the subscription, if the subscription was canceled explicitly by the user. """ feedback: NotRequired[ "Literal['']|Literal['customer_service', 'low_quality', 'missing_features', 'other', 'switched_service', 'too_complex', 'too_expensive', 'unused']" ] """ The customer submitted reason for why they canceled, if the subscription was canceled explicitly by the user. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_subscription_create_params.py0000644000000000000000000010630415102753431020752 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SubscriptionCreateParams(RequestOptions): add_invoice_items: NotRequired[ List["SubscriptionCreateParamsAddInvoiceItem"] ] """ A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items. """ application_fee_percent: NotRequired["Literal['']|float"] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). """ automatic_tax: NotRequired["SubscriptionCreateParamsAutomaticTax"] """ Automatic tax settings for this subscription. """ backdate_start_date: NotRequired[int] """ A past timestamp to backdate the subscription's start date to. If set, the first invoice will contain line items for the timespan between the start date and the current time. Can be combined with trials and the billing cycle anchor. """ billing_cycle_anchor: NotRequired[int] """ A future timestamp in UTC format to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). The anchor is the reference point that aligns future billing cycle dates. It sets the day of week for `week` intervals, the day of month for `month` and `year` intervals, and the month of year for `year` intervals. """ billing_cycle_anchor_config: NotRequired[ "SubscriptionCreateParamsBillingCycleAnchorConfig" ] """ Mutually exclusive with billing_cycle_anchor and only valid with monthly and yearly price intervals. When provided, the billing_cycle_anchor is set to the next occurrence of the day_of_month at the hour, minute, and second UTC. """ billing_mode: NotRequired["SubscriptionCreateParamsBillingMode"] """ Controls how prorations and invoices for subscriptions are calculated and orchestrated. """ billing_thresholds: NotRequired[ "Literal['']|SubscriptionCreateParamsBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds. """ cancel_at: NotRequired["int|Literal['max_period_end', 'min_period_end']"] """ A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period. """ cancel_at_period_end: NotRequired[bool] """ Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`. """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. """ currency: NotRequired[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: str """ The identifier of the customer to subscribe. """ days_until_due: NotRequired[int] """ Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`. """ default_payment_method: NotRequired[str] """ ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). """ default_source: NotRequired[str] """ ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). """ default_tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. """ description: NotRequired[str] """ The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ discounts: NotRequired[ "Literal['']|List[SubscriptionCreateParamsDiscount]" ] """ The coupons to redeem into discounts for the subscription. If not specified or empty, inherits the discount from the subscription's customer. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice_settings: NotRequired["SubscriptionCreateParamsInvoiceSettings"] """ All invoices will be billed using the specified settings. """ items: NotRequired[List["SubscriptionCreateParamsItem"]] """ A list of up to 20 subscription items, each with an attached price. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ off_session: NotRequired[bool] """ Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `false` (on-session). """ on_behalf_of: NotRequired["Literal['']|str"] """ The account on behalf of which to charge, for each of the subscription's invoices. """ payment_behavior: NotRequired[ Literal[ "allow_incomplete", "default_incomplete", "error_if_incomplete", "pending_if_incomplete", ] ] """ Only applies to subscriptions with `collection_method=charge_automatically`. Use `allow_incomplete` to create Subscriptions with `status=incomplete` if the first invoice can't be paid. Creating Subscriptions with this status allows you to manage scenarios where additional customer actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. Use `default_incomplete` to create Subscriptions with `status=incomplete` when the first invoice requires payment, otherwise start as active. Subscriptions transition to `status=active` when successfully confirming the PaymentIntent on the first invoice. This allows simpler management of scenarios where additional customer actions are needed to pay a subscription's invoice, such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. If the PaymentIntent is not confirmed within 23 hours Subscriptions transition to `status=incomplete_expired`, which is a terminal state. Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's first invoice can't be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further customer action is needed, this parameter doesn't create a Subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more. `pending_if_incomplete` is only used with updates and cannot be passed when creating a Subscription. Subscriptions with `collection_method=send_invoice` are automatically activated regardless of the first Invoice status. """ payment_settings: NotRequired["SubscriptionCreateParamsPaymentSettings"] """ Payment settings to pass to invoices created by the subscription. """ pending_invoice_item_interval: NotRequired[ "Literal['']|SubscriptionCreateParamsPendingInvoiceItemInterval" ] """ Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`. """ transfer_data: NotRequired["SubscriptionCreateParamsTransferData"] """ If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. """ trial_end: NotRequired["Literal['now']|int"] """ Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. """ trial_from_plan: NotRequired[bool] """ Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. """ trial_period_days: NotRequired[int] """ Integer representing the number of trial period days before the customer is charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. """ trial_settings: NotRequired["SubscriptionCreateParamsTrialSettings"] """ Settings related to subscription trials. """ class SubscriptionCreateParamsAddInvoiceItem(TypedDict): discounts: NotRequired[ List["SubscriptionCreateParamsAddInvoiceItemDiscount"] ] """ The coupons to redeem into discounts for the item. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ period: NotRequired["SubscriptionCreateParamsAddInvoiceItemPeriod"] """ The period associated with this invoice item. If not set, `period.start.type` defaults to `max_item_period_start` and `period.end.type` defaults to `min_item_period_end`. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. """ price_data: NotRequired["SubscriptionCreateParamsAddInvoiceItemPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: NotRequired[int] """ Quantity for this item. Defaults to 1. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item. """ class SubscriptionCreateParamsAddInvoiceItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionCreateParamsAddInvoiceItemPeriod(TypedDict): end: "SubscriptionCreateParamsAddInvoiceItemPeriodEnd" """ End of the invoice item period. """ start: "SubscriptionCreateParamsAddInvoiceItemPeriodStart" """ Start of the invoice item period. """ class SubscriptionCreateParamsAddInvoiceItemPeriodEnd(TypedDict): timestamp: NotRequired[int] """ A precise Unix timestamp for the end of the invoice item period. Must be greater than or equal to `period.start`. """ type: Literal["min_item_period_end", "timestamp"] """ Select how to calculate the end of the invoice item period. """ class SubscriptionCreateParamsAddInvoiceItemPeriodStart(TypedDict): timestamp: NotRequired[int] """ A precise Unix timestamp for the start of the invoice item period. Must be less than or equal to `period.end`. """ type: Literal["max_item_period_start", "now", "timestamp"] """ Select how to calculate the start of the invoice item period. """ class SubscriptionCreateParamsAddInvoiceItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge or a negative integer representing the amount to credit to the customer. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SubscriptionCreateParamsAutomaticTax(TypedDict): enabled: bool """ Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription. """ liability: NotRequired["SubscriptionCreateParamsAutomaticTaxLiability"] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class SubscriptionCreateParamsAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionCreateParamsBillingCycleAnchorConfig(TypedDict): day_of_month: int """ The day of the month the anchor should be. Ranges from 1 to 31. """ hour: NotRequired[int] """ The hour of the day the anchor should be. Ranges from 0 to 23. """ minute: NotRequired[int] """ The minute of the hour the anchor should be. Ranges from 0 to 59. """ month: NotRequired[int] """ The month to start full cycle periods. Ranges from 1 to 12. """ second: NotRequired[int] """ The second of the minute the anchor should be. Ranges from 0 to 59. """ class SubscriptionCreateParamsBillingMode(TypedDict): flexible: NotRequired["SubscriptionCreateParamsBillingModeFlexible"] """ Configure behavior for flexible billing mode. """ type: Literal["classic", "flexible"] """ Controls the calculation and orchestration of prorations and invoices for subscriptions. If no value is passed, the default is `flexible`. """ class SubscriptionCreateParamsBillingModeFlexible(TypedDict): proration_discounts: NotRequired[Literal["included", "itemized"]] """ Controls how invoices and invoice items display proration amounts and discount amounts. """ class SubscriptionCreateParamsBillingThresholds(TypedDict): amount_gte: NotRequired[int] """ Monetary threshold that triggers the subscription to advance to a new billing period """ reset_billing_cycle_anchor: NotRequired[bool] """ Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. """ class SubscriptionCreateParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionCreateParamsInvoiceSettings(TypedDict): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with the subscription. Will be set on invoices generated by the subscription. """ issuer: NotRequired["SubscriptionCreateParamsInvoiceSettingsIssuer"] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class SubscriptionCreateParamsInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionCreateParamsItem(TypedDict): billing_thresholds: NotRequired[ "Literal['']|SubscriptionCreateParamsItemBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ discounts: NotRequired[ "Literal['']|List[SubscriptionCreateParamsItemDiscount]" ] """ The coupons to redeem into discounts for the subscription item. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ plan: NotRequired[str] """ Plan ID for this item, as a string. """ price: NotRequired[str] """ The ID of the price object. """ price_data: NotRequired["SubscriptionCreateParamsItemPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. """ quantity: NotRequired[int] """ Quantity for this item. """ tax_rates: NotRequired["Literal['']|List[str]"] """ A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates. """ class SubscriptionCreateParamsItemBillingThresholds(TypedDict): usage_gte: int """ Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte)) """ class SubscriptionCreateParamsItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionCreateParamsItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ recurring: "SubscriptionCreateParamsItemPriceDataRecurring" """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SubscriptionCreateParamsItemPriceDataRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ class SubscriptionCreateParamsPaymentSettings(TypedDict): payment_method_options: NotRequired[ "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptions" ] """ Payment-method-specific configuration to provide to invoices created by the subscription. """ payment_method_types: NotRequired[ "Literal['']|List[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'payco', 'paynow', 'paypal', 'promptpay', 'revolut_pay', 'sepa_credit_transfer', 'sepa_debit', 'sofort', 'swish', 'us_bank_account', 'wechat_pay']]" ] """ The list of payment method types (e.g. card) to provide to the invoice's PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice's default payment method, the subscription's default payment method, the customer's default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice). Should not be specified with payment_method_configuration """ save_default_payment_method: NotRequired[Literal["off", "on_subscription"]] """ Configure whether Stripe updates `subscription.default_payment_method` when payment succeeds. Defaults to `off` if unspecified. """ class SubscriptionCreateParamsPaymentSettingsPaymentMethodOptions(TypedDict): acss_debit: NotRequired[ "Literal['']|SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebit" ] """ This sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to the invoice's PaymentIntent. """ bancontact: NotRequired[ "Literal['']|SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsBancontact" ] """ This sub-hash contains details about the Bancontact payment method options to pass to the invoice's PaymentIntent. """ card: NotRequired[ "Literal['']|SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCard" ] """ This sub-hash contains details about the Card payment method options to pass to the invoice's PaymentIntent. """ customer_balance: NotRequired[ "Literal['']|SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance" ] """ This sub-hash contains details about the Bank transfer payment method options to pass to the invoice's PaymentIntent. """ konbini: NotRequired[ "Literal['']|SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsKonbini" ] """ This sub-hash contains details about the Konbini payment method options to pass to the invoice's PaymentIntent. """ sepa_debit: NotRequired[ "Literal['']|SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsSepaDebit" ] """ This sub-hash contains details about the SEPA Direct Debit payment method options to pass to the invoice's PaymentIntent. """ us_bank_account: NotRequired[ "Literal['']|SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount" ] """ This sub-hash contains details about the ACH direct debit payment method options to pass to the invoice's PaymentIntent. """ class SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebit( TypedDict, ): mandate_options: NotRequired[ "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions" ] """ Additional fields for Mandate creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Verification method for the intent """ class SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions( TypedDict, ): transaction_type: NotRequired[Literal["business", "personal"]] """ Transaction type of the mandate. """ class SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsBancontact( TypedDict, ): preferred_language: NotRequired[Literal["de", "en", "fr", "nl"]] """ Preferred language of the Bancontact authorization page that the customer is redirected to. """ class SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCard( TypedDict, ): mandate_options: NotRequired[ "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCardMandateOptions" ] """ Configuration options for setting up an eMandate for cards issued in India. """ network: NotRequired[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "girocard", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Selected network to process this Subscription on. Depends on the available networks of the card attached to the Subscription. Can be only set confirm-time. """ request_three_d_secure: NotRequired[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ class SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCardMandateOptions( TypedDict, ): amount: NotRequired[int] """ Amount to be charged for future payments. """ amount_type: NotRequired[Literal["fixed", "maximum"]] """ One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. """ description: NotRequired[str] """ A description of the mandate or subscription that is meant to be displayed to the customer. """ class SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance( TypedDict, ): bank_transfer: NotRequired[ "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer" ] """ Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`. """ funding_type: NotRequired[str] """ The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. """ class SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer( TypedDict, ): eu_bank_transfer: NotRequired[ "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer" ] """ Configuration for eu_bank_transfer funding type. """ type: NotRequired[str] """ The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. """ class SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer( TypedDict, ): country: str """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ class SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsKonbini( TypedDict, ): pass class SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsSepaDebit( TypedDict, ): pass class SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount( TypedDict, ): financial_connections: NotRequired[ "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections" ] """ Additional fields for Financial Connections Session creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Verification method for the intent """ class SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections( TypedDict, ): filters: NotRequired[ "SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters" ] """ Provide filters for the linked accounts that the customer can select for the payment method. """ permissions: NotRequired[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ class SubscriptionCreateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters( TypedDict, ): account_subcategories: NotRequired[List[Literal["checking", "savings"]]] """ The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`. """ class SubscriptionCreateParamsPendingInvoiceItemInterval(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies invoicing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between invoices. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). """ class SubscriptionCreateParamsTransferData(TypedDict): amount_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. """ destination: str """ ID of an existing, connected Stripe account. """ class SubscriptionCreateParamsTrialSettings(TypedDict): end_behavior: "SubscriptionCreateParamsTrialSettingsEndBehavior" """ Defines how the subscription should behave when the user's free trial ends. """ class SubscriptionCreateParamsTrialSettingsEndBehavior(TypedDict): missing_payment_method: Literal["cancel", "create_invoice", "pause"] """ Indicates how the subscription should change when the trial ends if the user did not provide a payment method. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_subscription_delete_discount_params.py0000644000000000000000000000026515102753431022660 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class SubscriptionDeleteDiscountParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3600621 stripe-13.2.0/stripe/params/_subscription_item_create_params.py0000644000000000000000000001671215102753431021773 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SubscriptionItemCreateParams(RequestOptions): billing_thresholds: NotRequired[ "Literal['']|SubscriptionItemCreateParamsBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ discounts: NotRequired[ "Literal['']|List[SubscriptionItemCreateParamsDiscount]" ] """ The coupons to redeem into discounts for the subscription item. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ payment_behavior: NotRequired[ Literal[ "allow_incomplete", "default_incomplete", "error_if_incomplete", "pending_if_incomplete", ] ] """ Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription's invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes). Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://docs.stripe.com/changelog/2019-03-14) to learn more. """ plan: NotRequired[str] """ The identifier of the plan to add to the subscription. """ price: NotRequired[str] """ The ID of the price object. """ price_data: NotRequired["SubscriptionItemCreateParamsPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. """ proration_date: NotRequired[int] """ If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. """ quantity: NotRequired[int] """ The quantity you'd like to apply to the subscription item you're creating. """ subscription: str """ The identifier of the subscription to modify. """ tax_rates: NotRequired["Literal['']|List[str]"] """ A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates. """ class SubscriptionItemCreateParamsBillingThresholds(TypedDict): usage_gte: int """ Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte)) """ class SubscriptionItemCreateParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionItemCreateParamsPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ recurring: "SubscriptionItemCreateParamsPriceDataRecurring" """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SubscriptionItemCreateParamsPriceDataRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_item_delete_params.py0000644000000000000000000000214115102753431021761 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing_extensions import Literal, NotRequired class SubscriptionItemDeleteParams(RequestOptions): clear_usage: NotRequired[bool] """ Delete all usage for the given subscription item. Allowed only when the current plan's `usage_type` is `metered`. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. """ proration_date: NotRequired[int] """ If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_item_list_params.py0000644000000000000000000000243215102753431021475 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SubscriptionItemListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ subscription: str """ The ID of the subscription whose items will be retrieved. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_item_modify_params.py0000644000000000000000000001736615102753431022025 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SubscriptionItemModifyParams(RequestOptions): billing_thresholds: NotRequired[ "Literal['']|SubscriptionItemModifyParamsBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ discounts: NotRequired[ "Literal['']|List[SubscriptionItemModifyParamsDiscount]" ] """ The coupons to redeem into discounts for the subscription item. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ off_session: NotRequired[bool] """ Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `false` (on-session). """ payment_behavior: NotRequired[ Literal[ "allow_incomplete", "default_incomplete", "error_if_incomplete", "pending_if_incomplete", ] ] """ Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription's invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes). Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://docs.stripe.com/changelog/2019-03-14) to learn more. """ plan: NotRequired[str] """ The identifier of the new plan for this subscription item. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. When changing a subscription item's price, `quantity` is set to 1 unless a `quantity` parameter is provided. """ price_data: NotRequired["SubscriptionItemModifyParamsPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. """ proration_date: NotRequired[int] """ If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. """ quantity: NotRequired[int] """ The quantity you'd like to apply to the subscription item you're creating. """ tax_rates: NotRequired["Literal['']|List[str]"] """ A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates. """ class SubscriptionItemModifyParamsBillingThresholds(TypedDict): usage_gte: int """ Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte)) """ class SubscriptionItemModifyParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionItemModifyParamsPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ recurring: "SubscriptionItemModifyParamsPriceDataRecurring" """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SubscriptionItemModifyParamsPriceDataRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_item_retrieve_params.py0000644000000000000000000000053615102753431022352 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SubscriptionItemRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_item_update_params.py0000644000000000000000000001727615102753431022020 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SubscriptionItemUpdateParams(TypedDict): billing_thresholds: NotRequired[ "Literal['']|SubscriptionItemUpdateParamsBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ discounts: NotRequired[ "Literal['']|List[SubscriptionItemUpdateParamsDiscount]" ] """ The coupons to redeem into discounts for the subscription item. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ off_session: NotRequired[bool] """ Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `false` (on-session). """ payment_behavior: NotRequired[ Literal[ "allow_incomplete", "default_incomplete", "error_if_incomplete", "pending_if_incomplete", ] ] """ Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription's invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes). Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://docs.stripe.com/changelog/2019-03-14) to learn more. """ plan: NotRequired[str] """ The identifier of the new plan for this subscription item. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. When changing a subscription item's price, `quantity` is set to 1 unless a `quantity` parameter is provided. """ price_data: NotRequired["SubscriptionItemUpdateParamsPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. """ proration_date: NotRequired[int] """ If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. """ quantity: NotRequired[int] """ The quantity you'd like to apply to the subscription item you're creating. """ tax_rates: NotRequired["Literal['']|List[str]"] """ A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates. """ class SubscriptionItemUpdateParamsBillingThresholds(TypedDict): usage_gte: int """ Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte)) """ class SubscriptionItemUpdateParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionItemUpdateParamsPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ recurring: "SubscriptionItemUpdateParamsPriceDataRecurring" """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SubscriptionItemUpdateParamsPriceDataRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_list_params.py0000644000000000000000000001157415102753431020466 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class SubscriptionListParams(RequestOptions): automatic_tax: NotRequired["SubscriptionListParamsAutomaticTax"] """ Filter subscriptions by their automatic tax settings. """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ The collection method of the subscriptions to retrieve. Either `charge_automatically` or `send_invoice`. """ created: NotRequired["SubscriptionListParamsCreated|int"] """ Only return subscriptions that were created during the given date interval. """ current_period_end: NotRequired[ "SubscriptionListParamsCurrentPeriodEnd|int" ] """ Only return subscriptions whose minimum item current_period_end falls within the given date interval. """ current_period_start: NotRequired[ "SubscriptionListParamsCurrentPeriodStart|int" ] """ Only return subscriptions whose maximum item current_period_start falls within the given date interval. """ customer: NotRequired[str] """ The ID of the customer whose subscriptions will be retrieved. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ plan: NotRequired[str] """ The ID of the plan whose subscriptions will be retrieved. """ price: NotRequired[str] """ Filter for subscriptions that contain this recurring price ID. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[ Literal[ "active", "all", "canceled", "ended", "incomplete", "incomplete_expired", "past_due", "paused", "trialing", "unpaid", ] ] """ The status of the subscriptions to retrieve. Passing in a value of `canceled` will return all canceled subscriptions, including those belonging to deleted customers. Pass `ended` to find subscriptions that are canceled and subscriptions that are expired due to [incomplete payment](https://stripe.com/docs/billing/subscriptions/overview#subscription-statuses). Passing in a value of `all` will return subscriptions of all statuses. If no value is supplied, all subscriptions that have not been canceled are returned. """ test_clock: NotRequired[str] """ Filter for subscriptions that are associated with the specified test clock. The response will not include subscriptions with test clocks if this and the customer parameter is not set. """ class SubscriptionListParamsAutomaticTax(TypedDict): enabled: bool """ Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription. """ class SubscriptionListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ class SubscriptionListParamsCurrentPeriodEnd(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ class SubscriptionListParamsCurrentPeriodStart(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_migrate_params.py0000644000000000000000000000212515102753431021133 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class SubscriptionMigrateParams(RequestOptions): billing_mode: "SubscriptionMigrateParamsBillingMode" """ Controls how prorations and invoices for subscriptions are calculated and orchestrated. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ class SubscriptionMigrateParamsBillingMode(TypedDict): flexible: NotRequired["SubscriptionMigrateParamsBillingModeFlexible"] """ Configure behavior for flexible billing mode. """ type: Literal["flexible"] """ Controls the calculation and orchestration of prorations and invoices for subscriptions. """ class SubscriptionMigrateParamsBillingModeFlexible(TypedDict): proration_discounts: NotRequired[Literal["included", "itemized"]] """ Controls how invoices and invoice items display proration amounts and discount amounts. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_modify_params.py0000644000000000000000000010632115102753431020775 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SubscriptionModifyParams(RequestOptions): add_invoice_items: NotRequired[ List["SubscriptionModifyParamsAddInvoiceItem"] ] """ A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items. """ application_fee_percent: NotRequired["Literal['']|float"] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). """ automatic_tax: NotRequired["SubscriptionModifyParamsAutomaticTax"] """ Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed. """ billing_cycle_anchor: NotRequired[Literal["now", "unchanged"]] """ Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time (in UTC). For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). """ billing_thresholds: NotRequired[ "Literal['']|SubscriptionModifyParamsBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds. """ cancel_at: NotRequired[ "Literal['']|int|Literal['max_period_end', 'min_period_end']" ] """ A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period. """ cancel_at_period_end: NotRequired[bool] """ Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`. """ cancellation_details: NotRequired[ "SubscriptionModifyParamsCancellationDetails" ] """ Details about why this subscription was cancelled """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. """ days_until_due: NotRequired[int] """ Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`. """ default_payment_method: NotRequired[str] """ ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). """ default_source: NotRequired["Literal['']|str"] """ ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). """ default_tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. Pass an empty string to remove previously-defined tax rates. """ description: NotRequired["Literal['']|str"] """ The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ discounts: NotRequired[ "Literal['']|List[SubscriptionModifyParamsDiscount]" ] """ The coupons to redeem into discounts for the subscription. If not specified or empty, inherits the discount from the subscription's customer. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice_settings: NotRequired["SubscriptionModifyParamsInvoiceSettings"] """ All invoices will be billed using the specified settings. """ items: NotRequired[List["SubscriptionModifyParamsItem"]] """ A list of up to 20 subscription items, each with an attached price. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ off_session: NotRequired[bool] """ Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `false` (on-session). """ on_behalf_of: NotRequired["Literal['']|str"] """ The account on behalf of which to charge, for each of the subscription's invoices. """ pause_collection: NotRequired[ "Literal['']|SubscriptionModifyParamsPauseCollection" ] """ If specified, payment collection for this subscription will be paused. Note that the subscription status will be unchanged and will not be updated to `paused`. Learn more about [pausing collection](https://stripe.com/docs/billing/subscriptions/pause-payment). """ payment_behavior: NotRequired[ Literal[ "allow_incomplete", "default_incomplete", "error_if_incomplete", "pending_if_incomplete", ] ] """ Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription's invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes). Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://docs.stripe.com/changelog/2019-03-14) to learn more. """ payment_settings: NotRequired["SubscriptionModifyParamsPaymentSettings"] """ Payment settings to pass to invoices created by the subscription. """ pending_invoice_item_interval: NotRequired[ "Literal['']|SubscriptionModifyParamsPendingInvoiceItemInterval" ] """ Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. """ proration_date: NotRequired[int] """ If set, prorations will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same prorations that were previewed with the [create preview](https://stripe.com/docs/api/invoices/create_preview) endpoint. `proration_date` can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations. """ transfer_data: NotRequired[ "Literal['']|SubscriptionModifyParamsTransferData" ] """ If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value. """ trial_end: NotRequired["Literal['now']|int"] """ Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, `trial_end` will override the default trial period of the plan the customer is being subscribed to. The `billing_cycle_anchor` will be updated to the `trial_end` value. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`. """ trial_from_plan: NotRequired[bool] """ Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. """ trial_settings: NotRequired["SubscriptionModifyParamsTrialSettings"] """ Settings related to subscription trials. """ class SubscriptionModifyParamsAddInvoiceItem(TypedDict): discounts: NotRequired[ List["SubscriptionModifyParamsAddInvoiceItemDiscount"] ] """ The coupons to redeem into discounts for the item. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ period: NotRequired["SubscriptionModifyParamsAddInvoiceItemPeriod"] """ The period associated with this invoice item. If not set, `period.start.type` defaults to `max_item_period_start` and `period.end.type` defaults to `min_item_period_end`. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. """ price_data: NotRequired["SubscriptionModifyParamsAddInvoiceItemPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: NotRequired[int] """ Quantity for this item. Defaults to 1. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item. """ class SubscriptionModifyParamsAddInvoiceItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionModifyParamsAddInvoiceItemPeriod(TypedDict): end: "SubscriptionModifyParamsAddInvoiceItemPeriodEnd" """ End of the invoice item period. """ start: "SubscriptionModifyParamsAddInvoiceItemPeriodStart" """ Start of the invoice item period. """ class SubscriptionModifyParamsAddInvoiceItemPeriodEnd(TypedDict): timestamp: NotRequired[int] """ A precise Unix timestamp for the end of the invoice item period. Must be greater than or equal to `period.start`. """ type: Literal["min_item_period_end", "timestamp"] """ Select how to calculate the end of the invoice item period. """ class SubscriptionModifyParamsAddInvoiceItemPeriodStart(TypedDict): timestamp: NotRequired[int] """ A precise Unix timestamp for the start of the invoice item period. Must be less than or equal to `period.end`. """ type: Literal["max_item_period_start", "now", "timestamp"] """ Select how to calculate the start of the invoice item period. """ class SubscriptionModifyParamsAddInvoiceItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge or a negative integer representing the amount to credit to the customer. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SubscriptionModifyParamsAutomaticTax(TypedDict): enabled: bool """ Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription. """ liability: NotRequired["SubscriptionModifyParamsAutomaticTaxLiability"] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class SubscriptionModifyParamsAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionModifyParamsBillingThresholds(TypedDict): amount_gte: NotRequired[int] """ Monetary threshold that triggers the subscription to advance to a new billing period """ reset_billing_cycle_anchor: NotRequired[bool] """ Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. """ class SubscriptionModifyParamsCancellationDetails(TypedDict): comment: NotRequired["Literal['']|str"] """ Additional comments about why the user canceled the subscription, if the subscription was canceled explicitly by the user. """ feedback: NotRequired[ "Literal['']|Literal['customer_service', 'low_quality', 'missing_features', 'other', 'switched_service', 'too_complex', 'too_expensive', 'unused']" ] """ The customer submitted reason for why they canceled, if the subscription was canceled explicitly by the user. """ class SubscriptionModifyParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionModifyParamsInvoiceSettings(TypedDict): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with the subscription. Will be set on invoices generated by the subscription. """ issuer: NotRequired["SubscriptionModifyParamsInvoiceSettingsIssuer"] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class SubscriptionModifyParamsInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionModifyParamsItem(TypedDict): billing_thresholds: NotRequired[ "Literal['']|SubscriptionModifyParamsItemBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ clear_usage: NotRequired[bool] """ Delete all usage for a given subscription item. You must pass this when deleting a usage records subscription item. `clear_usage` has no effect if the plan has a billing meter attached. """ deleted: NotRequired[bool] """ A flag that, if set to `true`, will delete the specified item. """ discounts: NotRequired[ "Literal['']|List[SubscriptionModifyParamsItemDiscount]" ] """ The coupons to redeem into discounts for the subscription item. """ id: NotRequired[str] """ Subscription item to update. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ plan: NotRequired[str] """ Plan ID for this item, as a string. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. When changing a subscription item's price, `quantity` is set to 1 unless a `quantity` parameter is provided. """ price_data: NotRequired["SubscriptionModifyParamsItemPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: NotRequired[int] """ Quantity for this item. """ tax_rates: NotRequired["Literal['']|List[str]"] """ A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates. """ class SubscriptionModifyParamsItemBillingThresholds(TypedDict): usage_gte: int """ Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte)) """ class SubscriptionModifyParamsItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionModifyParamsItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ recurring: "SubscriptionModifyParamsItemPriceDataRecurring" """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SubscriptionModifyParamsItemPriceDataRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ class SubscriptionModifyParamsPauseCollection(TypedDict): behavior: Literal["keep_as_draft", "mark_uncollectible", "void"] """ The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`. """ resumes_at: NotRequired[int] """ The time after which the subscription will resume collecting payments. """ class SubscriptionModifyParamsPaymentSettings(TypedDict): payment_method_options: NotRequired[ "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptions" ] """ Payment-method-specific configuration to provide to invoices created by the subscription. """ payment_method_types: NotRequired[ "Literal['']|List[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'payco', 'paynow', 'paypal', 'promptpay', 'revolut_pay', 'sepa_credit_transfer', 'sepa_debit', 'sofort', 'swish', 'us_bank_account', 'wechat_pay']]" ] """ The list of payment method types (e.g. card) to provide to the invoice's PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice's default payment method, the subscription's default payment method, the customer's default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice). Should not be specified with payment_method_configuration """ save_default_payment_method: NotRequired[Literal["off", "on_subscription"]] """ Configure whether Stripe updates `subscription.default_payment_method` when payment succeeds. Defaults to `off` if unspecified. """ class SubscriptionModifyParamsPaymentSettingsPaymentMethodOptions(TypedDict): acss_debit: NotRequired[ "Literal['']|SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebit" ] """ This sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to the invoice's PaymentIntent. """ bancontact: NotRequired[ "Literal['']|SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsBancontact" ] """ This sub-hash contains details about the Bancontact payment method options to pass to the invoice's PaymentIntent. """ card: NotRequired[ "Literal['']|SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCard" ] """ This sub-hash contains details about the Card payment method options to pass to the invoice's PaymentIntent. """ customer_balance: NotRequired[ "Literal['']|SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalance" ] """ This sub-hash contains details about the Bank transfer payment method options to pass to the invoice's PaymentIntent. """ konbini: NotRequired[ "Literal['']|SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsKonbini" ] """ This sub-hash contains details about the Konbini payment method options to pass to the invoice's PaymentIntent. """ sepa_debit: NotRequired[ "Literal['']|SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsSepaDebit" ] """ This sub-hash contains details about the SEPA Direct Debit payment method options to pass to the invoice's PaymentIntent. """ us_bank_account: NotRequired[ "Literal['']|SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccount" ] """ This sub-hash contains details about the ACH direct debit payment method options to pass to the invoice's PaymentIntent. """ class SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebit( TypedDict, ): mandate_options: NotRequired[ "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions" ] """ Additional fields for Mandate creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Verification method for the intent """ class SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions( TypedDict, ): transaction_type: NotRequired[Literal["business", "personal"]] """ Transaction type of the mandate. """ class SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsBancontact( TypedDict, ): preferred_language: NotRequired[Literal["de", "en", "fr", "nl"]] """ Preferred language of the Bancontact authorization page that the customer is redirected to. """ class SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCard( TypedDict, ): mandate_options: NotRequired[ "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCardMandateOptions" ] """ Configuration options for setting up an eMandate for cards issued in India. """ network: NotRequired[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "girocard", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Selected network to process this Subscription on. Depends on the available networks of the card attached to the Subscription. Can be only set confirm-time. """ request_three_d_secure: NotRequired[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ class SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCardMandateOptions( TypedDict, ): amount: NotRequired[int] """ Amount to be charged for future payments. """ amount_type: NotRequired[Literal["fixed", "maximum"]] """ One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. """ description: NotRequired[str] """ A description of the mandate or subscription that is meant to be displayed to the customer. """ class SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalance( TypedDict, ): bank_transfer: NotRequired[ "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer" ] """ Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`. """ funding_type: NotRequired[str] """ The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. """ class SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer( TypedDict, ): eu_bank_transfer: NotRequired[ "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer" ] """ Configuration for eu_bank_transfer funding type. """ type: NotRequired[str] """ The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. """ class SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer( TypedDict, ): country: str """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ class SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsKonbini( TypedDict, ): pass class SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsSepaDebit( TypedDict, ): pass class SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccount( TypedDict, ): financial_connections: NotRequired[ "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections" ] """ Additional fields for Financial Connections Session creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Verification method for the intent """ class SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections( TypedDict, ): filters: NotRequired[ "SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters" ] """ Provide filters for the linked accounts that the customer can select for the payment method. """ permissions: NotRequired[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ class SubscriptionModifyParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters( TypedDict, ): account_subcategories: NotRequired[List[Literal["checking", "savings"]]] """ The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`. """ class SubscriptionModifyParamsPendingInvoiceItemInterval(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies invoicing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between invoices. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). """ class SubscriptionModifyParamsTransferData(TypedDict): amount_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. """ destination: str """ ID of an existing, connected Stripe account. """ class SubscriptionModifyParamsTrialSettings(TypedDict): end_behavior: "SubscriptionModifyParamsTrialSettingsEndBehavior" """ Defines how the subscription should behave when the user's free trial ends. """ class SubscriptionModifyParamsTrialSettingsEndBehavior(TypedDict): missing_payment_method: Literal["cancel", "create_invoice", "pause"] """ Indicates how the subscription should change when the trial ends if the user did not provide a payment method. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_resume_params.py0000644000000000000000000000263515102753431021011 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class SubscriptionResumeParams(RequestOptions): billing_cycle_anchor: NotRequired[Literal["now", "unchanged"]] """ The billing cycle anchor that applies when the subscription is resumed. Either `now` or `unchanged`. The default is `now`. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) resulting from the `billing_cycle_anchor` being `unchanged`. When the `billing_cycle_anchor` is set to `now` (default value), no prorations are generated. If no value is passed, the default is `create_prorations`. """ proration_date: NotRequired[int] """ If set, prorations will be calculated as though the subscription was resumed at the given time. This can be used to apply exactly the same prorations that were previewed with the [create preview](https://stripe.com/docs/api/invoices/create_preview) endpoint. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_retrieve_params.py0000644000000000000000000000053215102753431021330 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SubscriptionRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_schedule_cancel_params.py0000644000000000000000000000137415102753431022611 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SubscriptionScheduleCancelParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice_now: NotRequired[bool] """ If the subscription schedule is `active`, indicates if a final invoice will be generated that contains any un-invoiced metered usage and new/pending proration invoice items. Defaults to `true`. """ prorate: NotRequired[bool] """ If the subscription schedule is `active`, indicates if the cancellation should be prorated. Defaults to `true`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_schedule_create_params.py0000644000000000000000000007151415102753431022632 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SubscriptionScheduleCreateParams(RequestOptions): billing_mode: NotRequired["SubscriptionScheduleCreateParamsBillingMode"] """ Controls how prorations and invoices for subscriptions are calculated and orchestrated. """ customer: NotRequired[str] """ The identifier of the customer to create the subscription schedule for. """ default_settings: NotRequired[ "SubscriptionScheduleCreateParamsDefaultSettings" ] """ Object representing the subscription schedule's default settings. """ end_behavior: NotRequired[Literal["cancel", "none", "release", "renew"]] """ Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running. `cancel` will end the subscription schedule and cancel the underlying subscription. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ from_subscription: NotRequired[str] """ Migrate an existing subscription to be managed by a subscription schedule. If this parameter is set, a subscription schedule will be created using the subscription's item(s), set to auto-renew using the subscription's interval. When using this parameter, other parameters (such as phase values) cannot be set. To create a subscription schedule with other modifications, we recommend making two separate API calls. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ phases: NotRequired[List["SubscriptionScheduleCreateParamsPhase"]] """ List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase. """ start_date: NotRequired["int|Literal['now']"] """ When the subscription schedule starts. We recommend using `now` so that it starts the subscription immediately. You can also use a Unix timestamp to backdate the subscription so that it starts on a past date, or set a future date for the subscription to start on. """ class SubscriptionScheduleCreateParamsBillingMode(TypedDict): flexible: NotRequired[ "SubscriptionScheduleCreateParamsBillingModeFlexible" ] """ Configure behavior for flexible billing mode. """ type: Literal["classic", "flexible"] """ Controls the calculation and orchestration of prorations and invoices for subscriptions. If no value is passed, the default is `flexible`. """ class SubscriptionScheduleCreateParamsBillingModeFlexible(TypedDict): proration_discounts: NotRequired[Literal["included", "itemized"]] """ Controls how invoices and invoice items display proration amounts and discount amounts. """ class SubscriptionScheduleCreateParamsDefaultSettings(TypedDict): application_fee_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). """ automatic_tax: NotRequired[ "SubscriptionScheduleCreateParamsDefaultSettingsAutomaticTax" ] """ Default settings for automatic tax computation. """ billing_cycle_anchor: NotRequired[Literal["automatic", "phase_start"]] """ Can be set to `phase_start` to set the anchor to the start of the phase or `automatic` to automatically change it if needed. Cannot be set to `phase_start` if this phase specifies a trial. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). """ billing_thresholds: NotRequired[ "Literal['']|SubscriptionScheduleCreateParamsDefaultSettingsBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically` on creation. """ default_payment_method: NotRequired[str] """ ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings. """ description: NotRequired["Literal['']|str"] """ Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ invoice_settings: NotRequired[ "SubscriptionScheduleCreateParamsDefaultSettingsInvoiceSettings" ] """ All invoices will be billed using the specified settings. """ on_behalf_of: NotRequired["Literal['']|str"] """ The account on behalf of which to charge, for each of the associated subscription's invoices. """ transfer_data: NotRequired[ "Literal['']|SubscriptionScheduleCreateParamsDefaultSettingsTransferData" ] """ The data with which to automatically create a Transfer for each of the associated subscription's invoices. """ class SubscriptionScheduleCreateParamsDefaultSettingsAutomaticTax(TypedDict): enabled: bool """ Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription. """ liability: NotRequired[ "SubscriptionScheduleCreateParamsDefaultSettingsAutomaticTaxLiability" ] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class SubscriptionScheduleCreateParamsDefaultSettingsAutomaticTaxLiability( TypedDict, ): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionScheduleCreateParamsDefaultSettingsBillingThresholds( TypedDict, ): amount_gte: NotRequired[int] """ Monetary threshold that triggers the subscription to advance to a new billing period """ reset_billing_cycle_anchor: NotRequired[bool] """ Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. """ class SubscriptionScheduleCreateParamsDefaultSettingsInvoiceSettings( TypedDict ): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with the subscription schedule. Will be set on invoices generated by the subscription schedule. """ days_until_due: NotRequired[int] """ Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `collection_method=charge_automatically`. """ issuer: NotRequired[ "SubscriptionScheduleCreateParamsDefaultSettingsInvoiceSettingsIssuer" ] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class SubscriptionScheduleCreateParamsDefaultSettingsInvoiceSettingsIssuer( TypedDict, ): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionScheduleCreateParamsDefaultSettingsTransferData(TypedDict): amount_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. """ destination: str """ ID of an existing, connected Stripe account. """ class SubscriptionScheduleCreateParamsPhase(TypedDict): add_invoice_items: NotRequired[ List["SubscriptionScheduleCreateParamsPhaseAddInvoiceItem"] ] """ A list of prices and quantities that will generate invoice items appended to the next invoice for this phase. You may pass up to 20 items. """ application_fee_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). """ automatic_tax: NotRequired[ "SubscriptionScheduleCreateParamsPhaseAutomaticTax" ] """ Automatic tax settings for this phase. """ billing_cycle_anchor: NotRequired[Literal["automatic", "phase_start"]] """ Can be set to `phase_start` to set the anchor to the start of the phase or `automatic` to automatically change it if needed. Cannot be set to `phase_start` if this phase specifies a trial. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). """ billing_thresholds: NotRequired[ "Literal['']|SubscriptionScheduleCreateParamsPhaseBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically` on creation. """ currency: NotRequired[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ default_payment_method: NotRequired[str] """ ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings. """ default_tax_rates: NotRequired["Literal['']|List[str]"] """ A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will set the Subscription's [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates), which means they will be the Invoice's [`default_tax_rates`](https://stripe.com/docs/api/invoices/create#create_invoice-default_tax_rates) for any Invoices issued by the Subscription during this Phase. """ description: NotRequired["Literal['']|str"] """ Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ discounts: NotRequired[ "Literal['']|List[SubscriptionScheduleCreateParamsPhaseDiscount]" ] """ The coupons to redeem into discounts for the schedule phase. If not specified, inherits the discount from the subscription's customer. Pass an empty string to avoid inheriting any discounts. """ duration: NotRequired["SubscriptionScheduleCreateParamsPhaseDuration"] """ The number of intervals the phase should last. If set, `end_date` must not be set. """ end_date: NotRequired[int] """ The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. """ invoice_settings: NotRequired[ "SubscriptionScheduleCreateParamsPhaseInvoiceSettings" ] """ All invoices will be billed using the specified settings. """ items: List["SubscriptionScheduleCreateParamsPhaseItem"] """ List of configuration items, each with an attached price, to apply during this phase of the subscription schedule. """ metadata: NotRequired[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a phase. Metadata on a schedule's phase will update the underlying subscription's `metadata` when the phase is entered, adding new keys and replacing existing keys in the subscription's `metadata`. Individual keys in the subscription's `metadata` can be unset by posting an empty value to them in the phase's `metadata`. To unset all keys in the subscription's `metadata`, update the subscription directly or unset every key individually from the phase's `metadata`. """ on_behalf_of: NotRequired[str] """ The account on behalf of which to charge, for each of the associated subscription's invoices. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Controls whether the subscription schedule should create [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when transitioning to this phase if there is a difference in billing configuration. It's different from the request-level [proration_behavior](https://stripe.com/docs/api/subscription_schedules/update#update_subscription_schedule-proration_behavior) parameter which controls what happens if the update request affects the billing configuration (item price, quantity, etc.) of the current phase. """ transfer_data: NotRequired[ "SubscriptionScheduleCreateParamsPhaseTransferData" ] """ The data with which to automatically create a Transfer for each of the associated subscription's invoices. """ trial: NotRequired[bool] """ If set to true the entire phase is counted as a trial and the customer will not be charged for any fees. """ trial_end: NotRequired[int] """ Sets the phase to trialing from the start date to this date. Must be before the phase end date, can not be combined with `trial` """ class SubscriptionScheduleCreateParamsPhaseAddInvoiceItem(TypedDict): discounts: NotRequired[ List["SubscriptionScheduleCreateParamsPhaseAddInvoiceItemDiscount"] ] """ The coupons to redeem into discounts for the item. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ period: NotRequired[ "SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPeriod" ] """ The period associated with this invoice item. If not set, `period.start.type` defaults to `max_item_period_start` and `period.end.type` defaults to `min_item_period_end`. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. """ price_data: NotRequired[ "SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPriceData" ] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: NotRequired[int] """ Quantity for this item. Defaults to 1. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item. """ class SubscriptionScheduleCreateParamsPhaseAddInvoiceItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPeriod(TypedDict): end: "SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPeriodEnd" """ End of the invoice item period. """ start: "SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPeriodStart" """ Start of the invoice item period. """ class SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPeriodEnd(TypedDict): timestamp: NotRequired[int] """ A precise Unix timestamp for the end of the invoice item period. Must be greater than or equal to `period.start`. """ type: Literal["min_item_period_end", "phase_end", "timestamp"] """ Select how to calculate the end of the invoice item period. """ class SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPeriodStart( TypedDict ): timestamp: NotRequired[int] """ A precise Unix timestamp for the start of the invoice item period. Must be less than or equal to `period.end`. """ type: Literal["max_item_period_start", "phase_start", "timestamp"] """ Select how to calculate the start of the invoice item period. """ class SubscriptionScheduleCreateParamsPhaseAddInvoiceItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge or a negative integer representing the amount to credit to the customer. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SubscriptionScheduleCreateParamsPhaseAutomaticTax(TypedDict): enabled: bool """ Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription. """ liability: NotRequired[ "SubscriptionScheduleCreateParamsPhaseAutomaticTaxLiability" ] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class SubscriptionScheduleCreateParamsPhaseAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionScheduleCreateParamsPhaseBillingThresholds(TypedDict): amount_gte: NotRequired[int] """ Monetary threshold that triggers the subscription to advance to a new billing period """ reset_billing_cycle_anchor: NotRequired[bool] """ Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. """ class SubscriptionScheduleCreateParamsPhaseDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionScheduleCreateParamsPhaseDuration(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies phase duration. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The multiplier applied to the interval. """ class SubscriptionScheduleCreateParamsPhaseInvoiceSettings(TypedDict): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with this phase of the subscription schedule. Will be set on invoices generated by this phase of the subscription schedule. """ days_until_due: NotRequired[int] """ Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`. """ issuer: NotRequired[ "SubscriptionScheduleCreateParamsPhaseInvoiceSettingsIssuer" ] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class SubscriptionScheduleCreateParamsPhaseInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionScheduleCreateParamsPhaseItem(TypedDict): billing_thresholds: NotRequired[ "Literal['']|SubscriptionScheduleCreateParamsPhaseItemBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ discounts: NotRequired[ "Literal['']|List[SubscriptionScheduleCreateParamsPhaseItemDiscount]" ] """ The coupons to redeem into discounts for the subscription item. """ metadata: NotRequired[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a configuration item. Metadata on a configuration item will update the underlying subscription item's `metadata` when the phase is entered, adding new keys and replacing existing keys. Individual keys in the subscription item's `metadata` can be unset by posting an empty value to them in the configuration item's `metadata`. To unset all keys in the subscription item's `metadata`, update the subscription item directly or unset every key individually from the configuration item's `metadata`. """ plan: NotRequired[str] """ The plan ID to subscribe to. You may specify the same ID in `plan` and `price`. """ price: NotRequired[str] """ The ID of the price object. """ price_data: NotRequired[ "SubscriptionScheduleCreateParamsPhaseItemPriceData" ] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. """ quantity: NotRequired[int] """ Quantity for the given price. Can be set only if the price's `usage_type` is `licensed` and not `metered`. """ tax_rates: NotRequired["Literal['']|List[str]"] """ A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates. """ class SubscriptionScheduleCreateParamsPhaseItemBillingThresholds(TypedDict): usage_gte: int """ Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte)) """ class SubscriptionScheduleCreateParamsPhaseItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionScheduleCreateParamsPhaseItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ recurring: "SubscriptionScheduleCreateParamsPhaseItemPriceDataRecurring" """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SubscriptionScheduleCreateParamsPhaseItemPriceDataRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ class SubscriptionScheduleCreateParamsPhaseTransferData(TypedDict): amount_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. """ destination: str """ ID of an existing, connected Stripe account. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_schedule_list_params.py0000644000000000000000000000726315102753431022342 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class SubscriptionScheduleListParams(RequestOptions): canceled_at: NotRequired["SubscriptionScheduleListParamsCanceledAt|int"] """ Only return subscription schedules that were created canceled the given date interval. """ completed_at: NotRequired["SubscriptionScheduleListParamsCompletedAt|int"] """ Only return subscription schedules that completed during the given date interval. """ created: NotRequired["SubscriptionScheduleListParamsCreated|int"] """ Only return subscription schedules that were created during the given date interval. """ customer: NotRequired[str] """ Only return subscription schedules for the given customer. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ released_at: NotRequired["SubscriptionScheduleListParamsReleasedAt|int"] """ Only return subscription schedules that were released during the given date interval. """ scheduled: NotRequired[bool] """ Only return subscription schedules that have not started yet. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class SubscriptionScheduleListParamsCanceledAt(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ class SubscriptionScheduleListParamsCompletedAt(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ class SubscriptionScheduleListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ class SubscriptionScheduleListParamsReleasedAt(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_schedule_modify_params.py0000644000000000000000000006721615102753431022662 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SubscriptionScheduleModifyParams(RequestOptions): default_settings: NotRequired[ "SubscriptionScheduleModifyParamsDefaultSettings" ] """ Object representing the subscription schedule's default settings. """ end_behavior: NotRequired[Literal["cancel", "none", "release", "renew"]] """ Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running. `cancel` will end the subscription schedule and cancel the underlying subscription. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ phases: NotRequired[List["SubscriptionScheduleModifyParamsPhase"]] """ List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase. Note that past phases can be omitted. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ If the update changes the billing configuration (item price, quantity, etc.) of the current phase, indicates how prorations from this change should be handled. The default value is `create_prorations`. """ class SubscriptionScheduleModifyParamsDefaultSettings(TypedDict): application_fee_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). """ automatic_tax: NotRequired[ "SubscriptionScheduleModifyParamsDefaultSettingsAutomaticTax" ] """ Default settings for automatic tax computation. """ billing_cycle_anchor: NotRequired[Literal["automatic", "phase_start"]] """ Can be set to `phase_start` to set the anchor to the start of the phase or `automatic` to automatically change it if needed. Cannot be set to `phase_start` if this phase specifies a trial. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). """ billing_thresholds: NotRequired[ "Literal['']|SubscriptionScheduleModifyParamsDefaultSettingsBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically` on creation. """ default_payment_method: NotRequired[str] """ ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings. """ description: NotRequired["Literal['']|str"] """ Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ invoice_settings: NotRequired[ "SubscriptionScheduleModifyParamsDefaultSettingsInvoiceSettings" ] """ All invoices will be billed using the specified settings. """ on_behalf_of: NotRequired["Literal['']|str"] """ The account on behalf of which to charge, for each of the associated subscription's invoices. """ transfer_data: NotRequired[ "Literal['']|SubscriptionScheduleModifyParamsDefaultSettingsTransferData" ] """ The data with which to automatically create a Transfer for each of the associated subscription's invoices. """ class SubscriptionScheduleModifyParamsDefaultSettingsAutomaticTax(TypedDict): enabled: bool """ Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription. """ liability: NotRequired[ "SubscriptionScheduleModifyParamsDefaultSettingsAutomaticTaxLiability" ] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class SubscriptionScheduleModifyParamsDefaultSettingsAutomaticTaxLiability( TypedDict, ): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionScheduleModifyParamsDefaultSettingsBillingThresholds( TypedDict, ): amount_gte: NotRequired[int] """ Monetary threshold that triggers the subscription to advance to a new billing period """ reset_billing_cycle_anchor: NotRequired[bool] """ Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. """ class SubscriptionScheduleModifyParamsDefaultSettingsInvoiceSettings( TypedDict ): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with the subscription schedule. Will be set on invoices generated by the subscription schedule. """ days_until_due: NotRequired[int] """ Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `collection_method=charge_automatically`. """ issuer: NotRequired[ "SubscriptionScheduleModifyParamsDefaultSettingsInvoiceSettingsIssuer" ] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class SubscriptionScheduleModifyParamsDefaultSettingsInvoiceSettingsIssuer( TypedDict, ): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionScheduleModifyParamsDefaultSettingsTransferData(TypedDict): amount_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. """ destination: str """ ID of an existing, connected Stripe account. """ class SubscriptionScheduleModifyParamsPhase(TypedDict): add_invoice_items: NotRequired[ List["SubscriptionScheduleModifyParamsPhaseAddInvoiceItem"] ] """ A list of prices and quantities that will generate invoice items appended to the next invoice for this phase. You may pass up to 20 items. """ application_fee_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). """ automatic_tax: NotRequired[ "SubscriptionScheduleModifyParamsPhaseAutomaticTax" ] """ Automatic tax settings for this phase. """ billing_cycle_anchor: NotRequired[Literal["automatic", "phase_start"]] """ Can be set to `phase_start` to set the anchor to the start of the phase or `automatic` to automatically change it if needed. Cannot be set to `phase_start` if this phase specifies a trial. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). """ billing_thresholds: NotRequired[ "Literal['']|SubscriptionScheduleModifyParamsPhaseBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically` on creation. """ currency: NotRequired[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ default_payment_method: NotRequired[str] """ ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings. """ default_tax_rates: NotRequired["Literal['']|List[str]"] """ A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will set the Subscription's [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates), which means they will be the Invoice's [`default_tax_rates`](https://stripe.com/docs/api/invoices/create#create_invoice-default_tax_rates) for any Invoices issued by the Subscription during this Phase. """ description: NotRequired["Literal['']|str"] """ Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ discounts: NotRequired[ "Literal['']|List[SubscriptionScheduleModifyParamsPhaseDiscount]" ] """ The coupons to redeem into discounts for the schedule phase. If not specified, inherits the discount from the subscription's customer. Pass an empty string to avoid inheriting any discounts. """ duration: NotRequired["SubscriptionScheduleModifyParamsPhaseDuration"] """ The number of intervals the phase should last. If set, `end_date` must not be set. """ end_date: NotRequired["int|Literal['now']"] """ The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. """ invoice_settings: NotRequired[ "SubscriptionScheduleModifyParamsPhaseInvoiceSettings" ] """ All invoices will be billed using the specified settings. """ items: List["SubscriptionScheduleModifyParamsPhaseItem"] """ List of configuration items, each with an attached price, to apply during this phase of the subscription schedule. """ metadata: NotRequired[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a phase. Metadata on a schedule's phase will update the underlying subscription's `metadata` when the phase is entered, adding new keys and replacing existing keys in the subscription's `metadata`. Individual keys in the subscription's `metadata` can be unset by posting an empty value to them in the phase's `metadata`. To unset all keys in the subscription's `metadata`, update the subscription directly or unset every key individually from the phase's `metadata`. """ on_behalf_of: NotRequired[str] """ The account on behalf of which to charge, for each of the associated subscription's invoices. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Controls whether the subscription schedule should create [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when transitioning to this phase if there is a difference in billing configuration. It's different from the request-level [proration_behavior](https://stripe.com/docs/api/subscription_schedules/update#update_subscription_schedule-proration_behavior) parameter which controls what happens if the update request affects the billing configuration (item price, quantity, etc.) of the current phase. """ start_date: NotRequired["int|Literal['now']"] """ The date at which this phase of the subscription schedule starts or `now`. Must be set on the first phase. """ transfer_data: NotRequired[ "SubscriptionScheduleModifyParamsPhaseTransferData" ] """ The data with which to automatically create a Transfer for each of the associated subscription's invoices. """ trial: NotRequired[bool] """ If set to true the entire phase is counted as a trial and the customer will not be charged for any fees. """ trial_end: NotRequired["int|Literal['now']"] """ Sets the phase to trialing from the start date to this date. Must be before the phase end date, can not be combined with `trial` """ class SubscriptionScheduleModifyParamsPhaseAddInvoiceItem(TypedDict): discounts: NotRequired[ List["SubscriptionScheduleModifyParamsPhaseAddInvoiceItemDiscount"] ] """ The coupons to redeem into discounts for the item. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ period: NotRequired[ "SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPeriod" ] """ The period associated with this invoice item. If not set, `period.start.type` defaults to `max_item_period_start` and `period.end.type` defaults to `min_item_period_end`. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. """ price_data: NotRequired[ "SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPriceData" ] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: NotRequired[int] """ Quantity for this item. Defaults to 1. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item. """ class SubscriptionScheduleModifyParamsPhaseAddInvoiceItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPeriod(TypedDict): end: "SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPeriodEnd" """ End of the invoice item period. """ start: "SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPeriodStart" """ Start of the invoice item period. """ class SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPeriodEnd(TypedDict): timestamp: NotRequired[int] """ A precise Unix timestamp for the end of the invoice item period. Must be greater than or equal to `period.start`. """ type: Literal["min_item_period_end", "phase_end", "timestamp"] """ Select how to calculate the end of the invoice item period. """ class SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPeriodStart( TypedDict ): timestamp: NotRequired[int] """ A precise Unix timestamp for the start of the invoice item period. Must be less than or equal to `period.end`. """ type: Literal["max_item_period_start", "phase_start", "timestamp"] """ Select how to calculate the start of the invoice item period. """ class SubscriptionScheduleModifyParamsPhaseAddInvoiceItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge or a negative integer representing the amount to credit to the customer. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SubscriptionScheduleModifyParamsPhaseAutomaticTax(TypedDict): enabled: bool """ Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription. """ liability: NotRequired[ "SubscriptionScheduleModifyParamsPhaseAutomaticTaxLiability" ] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class SubscriptionScheduleModifyParamsPhaseAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionScheduleModifyParamsPhaseBillingThresholds(TypedDict): amount_gte: NotRequired[int] """ Monetary threshold that triggers the subscription to advance to a new billing period """ reset_billing_cycle_anchor: NotRequired[bool] """ Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. """ class SubscriptionScheduleModifyParamsPhaseDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionScheduleModifyParamsPhaseDuration(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies phase duration. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The multiplier applied to the interval. """ class SubscriptionScheduleModifyParamsPhaseInvoiceSettings(TypedDict): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with this phase of the subscription schedule. Will be set on invoices generated by this phase of the subscription schedule. """ days_until_due: NotRequired[int] """ Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`. """ issuer: NotRequired[ "SubscriptionScheduleModifyParamsPhaseInvoiceSettingsIssuer" ] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class SubscriptionScheduleModifyParamsPhaseInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionScheduleModifyParamsPhaseItem(TypedDict): billing_thresholds: NotRequired[ "Literal['']|SubscriptionScheduleModifyParamsPhaseItemBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ discounts: NotRequired[ "Literal['']|List[SubscriptionScheduleModifyParamsPhaseItemDiscount]" ] """ The coupons to redeem into discounts for the subscription item. """ metadata: NotRequired[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a configuration item. Metadata on a configuration item will update the underlying subscription item's `metadata` when the phase is entered, adding new keys and replacing existing keys. Individual keys in the subscription item's `metadata` can be unset by posting an empty value to them in the configuration item's `metadata`. To unset all keys in the subscription item's `metadata`, update the subscription item directly or unset every key individually from the configuration item's `metadata`. """ plan: NotRequired[str] """ The plan ID to subscribe to. You may specify the same ID in `plan` and `price`. """ price: NotRequired[str] """ The ID of the price object. """ price_data: NotRequired[ "SubscriptionScheduleModifyParamsPhaseItemPriceData" ] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. """ quantity: NotRequired[int] """ Quantity for the given price. Can be set only if the price's `usage_type` is `licensed` and not `metered`. """ tax_rates: NotRequired["Literal['']|List[str]"] """ A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates. """ class SubscriptionScheduleModifyParamsPhaseItemBillingThresholds(TypedDict): usage_gte: int """ Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte)) """ class SubscriptionScheduleModifyParamsPhaseItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionScheduleModifyParamsPhaseItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ recurring: "SubscriptionScheduleModifyParamsPhaseItemPriceDataRecurring" """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SubscriptionScheduleModifyParamsPhaseItemPriceDataRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ class SubscriptionScheduleModifyParamsPhaseTransferData(TypedDict): amount_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. """ destination: str """ ID of an existing, connected Stripe account. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_schedule_release_params.py0000644000000000000000000000074515102753431023005 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SubscriptionScheduleReleaseParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ preserve_cancel_date: NotRequired[bool] """ Keep any cancellation on the subscription that the schedule has set """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_schedule_retrieve_params.py0000644000000000000000000000054215102753431023205 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SubscriptionScheduleRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_schedule_update_params.py0000644000000000000000000006712615102753431022655 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SubscriptionScheduleUpdateParams(TypedDict): default_settings: NotRequired[ "SubscriptionScheduleUpdateParamsDefaultSettings" ] """ Object representing the subscription schedule's default settings. """ end_behavior: NotRequired[Literal["cancel", "none", "release", "renew"]] """ Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running. `cancel` will end the subscription schedule and cancel the underlying subscription. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ phases: NotRequired[List["SubscriptionScheduleUpdateParamsPhase"]] """ List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase. Note that past phases can be omitted. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ If the update changes the billing configuration (item price, quantity, etc.) of the current phase, indicates how prorations from this change should be handled. The default value is `create_prorations`. """ class SubscriptionScheduleUpdateParamsDefaultSettings(TypedDict): application_fee_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). """ automatic_tax: NotRequired[ "SubscriptionScheduleUpdateParamsDefaultSettingsAutomaticTax" ] """ Default settings for automatic tax computation. """ billing_cycle_anchor: NotRequired[Literal["automatic", "phase_start"]] """ Can be set to `phase_start` to set the anchor to the start of the phase or `automatic` to automatically change it if needed. Cannot be set to `phase_start` if this phase specifies a trial. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). """ billing_thresholds: NotRequired[ "Literal['']|SubscriptionScheduleUpdateParamsDefaultSettingsBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically` on creation. """ default_payment_method: NotRequired[str] """ ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings. """ description: NotRequired["Literal['']|str"] """ Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ invoice_settings: NotRequired[ "SubscriptionScheduleUpdateParamsDefaultSettingsInvoiceSettings" ] """ All invoices will be billed using the specified settings. """ on_behalf_of: NotRequired["Literal['']|str"] """ The account on behalf of which to charge, for each of the associated subscription's invoices. """ transfer_data: NotRequired[ "Literal['']|SubscriptionScheduleUpdateParamsDefaultSettingsTransferData" ] """ The data with which to automatically create a Transfer for each of the associated subscription's invoices. """ class SubscriptionScheduleUpdateParamsDefaultSettingsAutomaticTax(TypedDict): enabled: bool """ Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription. """ liability: NotRequired[ "SubscriptionScheduleUpdateParamsDefaultSettingsAutomaticTaxLiability" ] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class SubscriptionScheduleUpdateParamsDefaultSettingsAutomaticTaxLiability( TypedDict, ): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionScheduleUpdateParamsDefaultSettingsBillingThresholds( TypedDict, ): amount_gte: NotRequired[int] """ Monetary threshold that triggers the subscription to advance to a new billing period """ reset_billing_cycle_anchor: NotRequired[bool] """ Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. """ class SubscriptionScheduleUpdateParamsDefaultSettingsInvoiceSettings( TypedDict ): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with the subscription schedule. Will be set on invoices generated by the subscription schedule. """ days_until_due: NotRequired[int] """ Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `collection_method=charge_automatically`. """ issuer: NotRequired[ "SubscriptionScheduleUpdateParamsDefaultSettingsInvoiceSettingsIssuer" ] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class SubscriptionScheduleUpdateParamsDefaultSettingsInvoiceSettingsIssuer( TypedDict, ): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionScheduleUpdateParamsDefaultSettingsTransferData(TypedDict): amount_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. """ destination: str """ ID of an existing, connected Stripe account. """ class SubscriptionScheduleUpdateParamsPhase(TypedDict): add_invoice_items: NotRequired[ List["SubscriptionScheduleUpdateParamsPhaseAddInvoiceItem"] ] """ A list of prices and quantities that will generate invoice items appended to the next invoice for this phase. You may pass up to 20 items. """ application_fee_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). """ automatic_tax: NotRequired[ "SubscriptionScheduleUpdateParamsPhaseAutomaticTax" ] """ Automatic tax settings for this phase. """ billing_cycle_anchor: NotRequired[Literal["automatic", "phase_start"]] """ Can be set to `phase_start` to set the anchor to the start of the phase or `automatic` to automatically change it if needed. Cannot be set to `phase_start` if this phase specifies a trial. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). """ billing_thresholds: NotRequired[ "Literal['']|SubscriptionScheduleUpdateParamsPhaseBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically` on creation. """ currency: NotRequired[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ default_payment_method: NotRequired[str] """ ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings. """ default_tax_rates: NotRequired["Literal['']|List[str]"] """ A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will set the Subscription's [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates), which means they will be the Invoice's [`default_tax_rates`](https://stripe.com/docs/api/invoices/create#create_invoice-default_tax_rates) for any Invoices issued by the Subscription during this Phase. """ description: NotRequired["Literal['']|str"] """ Subscription description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ discounts: NotRequired[ "Literal['']|List[SubscriptionScheduleUpdateParamsPhaseDiscount]" ] """ The coupons to redeem into discounts for the schedule phase. If not specified, inherits the discount from the subscription's customer. Pass an empty string to avoid inheriting any discounts. """ duration: NotRequired["SubscriptionScheduleUpdateParamsPhaseDuration"] """ The number of intervals the phase should last. If set, `end_date` must not be set. """ end_date: NotRequired["int|Literal['now']"] """ The date at which this phase of the subscription schedule ends. If set, `iterations` must not be set. """ invoice_settings: NotRequired[ "SubscriptionScheduleUpdateParamsPhaseInvoiceSettings" ] """ All invoices will be billed using the specified settings. """ items: List["SubscriptionScheduleUpdateParamsPhaseItem"] """ List of configuration items, each with an attached price, to apply during this phase of the subscription schedule. """ metadata: NotRequired[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a phase. Metadata on a schedule's phase will update the underlying subscription's `metadata` when the phase is entered, adding new keys and replacing existing keys in the subscription's `metadata`. Individual keys in the subscription's `metadata` can be unset by posting an empty value to them in the phase's `metadata`. To unset all keys in the subscription's `metadata`, update the subscription directly or unset every key individually from the phase's `metadata`. """ on_behalf_of: NotRequired[str] """ The account on behalf of which to charge, for each of the associated subscription's invoices. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Controls whether the subscription schedule should create [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when transitioning to this phase if there is a difference in billing configuration. It's different from the request-level [proration_behavior](https://stripe.com/docs/api/subscription_schedules/update#update_subscription_schedule-proration_behavior) parameter which controls what happens if the update request affects the billing configuration (item price, quantity, etc.) of the current phase. """ start_date: NotRequired["int|Literal['now']"] """ The date at which this phase of the subscription schedule starts or `now`. Must be set on the first phase. """ transfer_data: NotRequired[ "SubscriptionScheduleUpdateParamsPhaseTransferData" ] """ The data with which to automatically create a Transfer for each of the associated subscription's invoices. """ trial: NotRequired[bool] """ If set to true the entire phase is counted as a trial and the customer will not be charged for any fees. """ trial_end: NotRequired["int|Literal['now']"] """ Sets the phase to trialing from the start date to this date. Must be before the phase end date, can not be combined with `trial` """ class SubscriptionScheduleUpdateParamsPhaseAddInvoiceItem(TypedDict): discounts: NotRequired[ List["SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemDiscount"] ] """ The coupons to redeem into discounts for the item. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ period: NotRequired[ "SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPeriod" ] """ The period associated with this invoice item. If not set, `period.start.type` defaults to `max_item_period_start` and `period.end.type` defaults to `min_item_period_end`. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. """ price_data: NotRequired[ "SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPriceData" ] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: NotRequired[int] """ Quantity for this item. Defaults to 1. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item. """ class SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPeriod(TypedDict): end: "SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPeriodEnd" """ End of the invoice item period. """ start: "SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPeriodStart" """ Start of the invoice item period. """ class SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPeriodEnd(TypedDict): timestamp: NotRequired[int] """ A precise Unix timestamp for the end of the invoice item period. Must be greater than or equal to `period.start`. """ type: Literal["min_item_period_end", "phase_end", "timestamp"] """ Select how to calculate the end of the invoice item period. """ class SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPeriodStart( TypedDict ): timestamp: NotRequired[int] """ A precise Unix timestamp for the start of the invoice item period. Must be less than or equal to `period.end`. """ type: Literal["max_item_period_start", "phase_start", "timestamp"] """ Select how to calculate the start of the invoice item period. """ class SubscriptionScheduleUpdateParamsPhaseAddInvoiceItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge or a negative integer representing the amount to credit to the customer. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SubscriptionScheduleUpdateParamsPhaseAutomaticTax(TypedDict): enabled: bool """ Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription. """ liability: NotRequired[ "SubscriptionScheduleUpdateParamsPhaseAutomaticTaxLiability" ] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class SubscriptionScheduleUpdateParamsPhaseAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionScheduleUpdateParamsPhaseBillingThresholds(TypedDict): amount_gte: NotRequired[int] """ Monetary threshold that triggers the subscription to advance to a new billing period """ reset_billing_cycle_anchor: NotRequired[bool] """ Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. """ class SubscriptionScheduleUpdateParamsPhaseDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionScheduleUpdateParamsPhaseDuration(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies phase duration. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The multiplier applied to the interval. """ class SubscriptionScheduleUpdateParamsPhaseInvoiceSettings(TypedDict): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with this phase of the subscription schedule. Will be set on invoices generated by this phase of the subscription schedule. """ days_until_due: NotRequired[int] """ Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`. """ issuer: NotRequired[ "SubscriptionScheduleUpdateParamsPhaseInvoiceSettingsIssuer" ] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class SubscriptionScheduleUpdateParamsPhaseInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionScheduleUpdateParamsPhaseItem(TypedDict): billing_thresholds: NotRequired[ "Literal['']|SubscriptionScheduleUpdateParamsPhaseItemBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ discounts: NotRequired[ "Literal['']|List[SubscriptionScheduleUpdateParamsPhaseItemDiscount]" ] """ The coupons to redeem into discounts for the subscription item. """ metadata: NotRequired[Dict[str, str]] """ Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to a configuration item. Metadata on a configuration item will update the underlying subscription item's `metadata` when the phase is entered, adding new keys and replacing existing keys. Individual keys in the subscription item's `metadata` can be unset by posting an empty value to them in the configuration item's `metadata`. To unset all keys in the subscription item's `metadata`, update the subscription item directly or unset every key individually from the configuration item's `metadata`. """ plan: NotRequired[str] """ The plan ID to subscribe to. You may specify the same ID in `plan` and `price`. """ price: NotRequired[str] """ The ID of the price object. """ price_data: NotRequired[ "SubscriptionScheduleUpdateParamsPhaseItemPriceData" ] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. """ quantity: NotRequired[int] """ Quantity for the given price. Can be set only if the price's `usage_type` is `licensed` and not `metered`. """ tax_rates: NotRequired["Literal['']|List[str]"] """ A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates. """ class SubscriptionScheduleUpdateParamsPhaseItemBillingThresholds(TypedDict): usage_gte: int """ Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte)) """ class SubscriptionScheduleUpdateParamsPhaseItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionScheduleUpdateParamsPhaseItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ recurring: "SubscriptionScheduleUpdateParamsPhaseItemPriceDataRecurring" """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SubscriptionScheduleUpdateParamsPhaseItemPriceDataRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ class SubscriptionScheduleUpdateParamsPhaseTransferData(TypedDict): amount_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. """ destination: str """ ID of an existing, connected Stripe account. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_search_params.py0000644000000000000000000000175415102753431020757 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SubscriptionSearchParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ page: NotRequired[str] """ A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results. """ query: str """ The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for subscriptions](https://stripe.com/docs/search#query-fields-for-subscriptions). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_subscription_update_params.py0000644000000000000000000010623115102753431020770 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SubscriptionUpdateParams(TypedDict): add_invoice_items: NotRequired[ List["SubscriptionUpdateParamsAddInvoiceItem"] ] """ A list of prices and quantities that will generate invoice items appended to the next invoice for this subscription. You may pass up to 20 items. """ application_fee_percent: NotRequired["Literal['']|float"] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). """ automatic_tax: NotRequired["SubscriptionUpdateParamsAutomaticTax"] """ Automatic tax settings for this subscription. We recommend you only include this parameter when the existing value is being changed. """ billing_cycle_anchor: NotRequired[Literal["now", "unchanged"]] """ Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time (in UTC). For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle). """ billing_thresholds: NotRequired[ "Literal['']|SubscriptionUpdateParamsBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds. """ cancel_at: NotRequired[ "Literal['']|int|Literal['max_period_end', 'min_period_end']" ] """ A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period. """ cancel_at_period_end: NotRequired[bool] """ Indicate whether this subscription should cancel at the end of the current period (`current_period_end`). Defaults to `false`. """ cancellation_details: NotRequired[ "SubscriptionUpdateParamsCancellationDetails" ] """ Details about why this subscription was cancelled """ collection_method: NotRequired[ Literal["charge_automatically", "send_invoice"] ] """ Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions and mark the subscription as `active`. Defaults to `charge_automatically`. """ days_until_due: NotRequired[int] """ Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`. """ default_payment_method: NotRequired[str] """ ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). """ default_source: NotRequired["Literal['']|str"] """ ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source). """ default_tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. Pass an empty string to remove previously-defined tax rates. """ description: NotRequired["Literal['']|str"] """ The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs. """ discounts: NotRequired[ "Literal['']|List[SubscriptionUpdateParamsDiscount]" ] """ The coupons to redeem into discounts for the subscription. If not specified or empty, inherits the discount from the subscription's customer. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ invoice_settings: NotRequired["SubscriptionUpdateParamsInvoiceSettings"] """ All invoices will be billed using the specified settings. """ items: NotRequired[List["SubscriptionUpdateParamsItem"]] """ A list of up to 20 subscription items, each with an attached price. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ off_session: NotRequired[bool] """ Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `false` (on-session). """ on_behalf_of: NotRequired["Literal['']|str"] """ The account on behalf of which to charge, for each of the subscription's invoices. """ pause_collection: NotRequired[ "Literal['']|SubscriptionUpdateParamsPauseCollection" ] """ If specified, payment collection for this subscription will be paused. Note that the subscription status will be unchanged and will not be updated to `paused`. Learn more about [pausing collection](https://stripe.com/docs/billing/subscriptions/pause-payment). """ payment_behavior: NotRequired[ Literal[ "allow_incomplete", "default_incomplete", "error_if_incomplete", "pending_if_incomplete", ] ] """ Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior. Use `default_incomplete` to transition the subscription to `status=past_due` when payment is required and await explicit confirmation of the invoice's payment intent. This allows simpler management of scenarios where additional user actions are needed to pay a subscription's invoice. Such as failed payments, [SCA regulation](https://stripe.com/docs/billing/migration/strong-customer-authentication), or collecting a mandate for a bank debit payment method. Use `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes). Use `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://docs.stripe.com/changelog/2019-03-14) to learn more. """ payment_settings: NotRequired["SubscriptionUpdateParamsPaymentSettings"] """ Payment settings to pass to invoices created by the subscription. """ pending_invoice_item_interval: NotRequired[ "Literal['']|SubscriptionUpdateParamsPendingInvoiceItemInterval" ] """ Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Determines how to handle [prorations](https://stripe.com/docs/billing/subscriptions/prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. The default value is `create_prorations`. """ proration_date: NotRequired[int] """ If set, prorations will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same prorations that were previewed with the [create preview](https://stripe.com/docs/api/invoices/create_preview) endpoint. `proration_date` can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations. """ transfer_data: NotRequired[ "Literal['']|SubscriptionUpdateParamsTransferData" ] """ If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value. """ trial_end: NotRequired["Literal['now']|int"] """ Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, `trial_end` will override the default trial period of the plan the customer is being subscribed to. The `billing_cycle_anchor` will be updated to the `trial_end` value. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`. """ trial_from_plan: NotRequired[bool] """ Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed. See [Using trial periods on subscriptions](https://stripe.com/docs/billing/subscriptions/trials) to learn more. """ trial_settings: NotRequired["SubscriptionUpdateParamsTrialSettings"] """ Settings related to subscription trials. """ class SubscriptionUpdateParamsAddInvoiceItem(TypedDict): discounts: NotRequired[ List["SubscriptionUpdateParamsAddInvoiceItemDiscount"] ] """ The coupons to redeem into discounts for the item. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ period: NotRequired["SubscriptionUpdateParamsAddInvoiceItemPeriod"] """ The period associated with this invoice item. If not set, `period.start.type` defaults to `max_item_period_start` and `period.end.type` defaults to `min_item_period_end`. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. """ price_data: NotRequired["SubscriptionUpdateParamsAddInvoiceItemPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: NotRequired[int] """ Quantity for this item. Defaults to 1. """ tax_rates: NotRequired["Literal['']|List[str]"] """ The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item. """ class SubscriptionUpdateParamsAddInvoiceItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionUpdateParamsAddInvoiceItemPeriod(TypedDict): end: "SubscriptionUpdateParamsAddInvoiceItemPeriodEnd" """ End of the invoice item period. """ start: "SubscriptionUpdateParamsAddInvoiceItemPeriodStart" """ Start of the invoice item period. """ class SubscriptionUpdateParamsAddInvoiceItemPeriodEnd(TypedDict): timestamp: NotRequired[int] """ A precise Unix timestamp for the end of the invoice item period. Must be greater than or equal to `period.start`. """ type: Literal["min_item_period_end", "timestamp"] """ Select how to calculate the end of the invoice item period. """ class SubscriptionUpdateParamsAddInvoiceItemPeriodStart(TypedDict): timestamp: NotRequired[int] """ A precise Unix timestamp for the start of the invoice item period. Must be less than or equal to `period.end`. """ type: Literal["max_item_period_start", "now", "timestamp"] """ Select how to calculate the start of the invoice item period. """ class SubscriptionUpdateParamsAddInvoiceItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge or a negative integer representing the amount to credit to the customer. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SubscriptionUpdateParamsAutomaticTax(TypedDict): enabled: bool """ Enabled automatic tax calculation which will automatically compute tax rates on all invoices generated by the subscription. """ liability: NotRequired["SubscriptionUpdateParamsAutomaticTaxLiability"] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class SubscriptionUpdateParamsAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionUpdateParamsBillingThresholds(TypedDict): amount_gte: NotRequired[int] """ Monetary threshold that triggers the subscription to advance to a new billing period """ reset_billing_cycle_anchor: NotRequired[bool] """ Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. """ class SubscriptionUpdateParamsCancellationDetails(TypedDict): comment: NotRequired["Literal['']|str"] """ Additional comments about why the user canceled the subscription, if the subscription was canceled explicitly by the user. """ feedback: NotRequired[ "Literal['']|Literal['customer_service', 'low_quality', 'missing_features', 'other', 'switched_service', 'too_complex', 'too_expensive', 'unused']" ] """ The customer submitted reason for why they canceled, if the subscription was canceled explicitly by the user. """ class SubscriptionUpdateParamsDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionUpdateParamsInvoiceSettings(TypedDict): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with the subscription. Will be set on invoices generated by the subscription. """ issuer: NotRequired["SubscriptionUpdateParamsInvoiceSettingsIssuer"] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class SubscriptionUpdateParamsInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SubscriptionUpdateParamsItem(TypedDict): billing_thresholds: NotRequired[ "Literal['']|SubscriptionUpdateParamsItemBillingThresholds" ] """ Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds. """ clear_usage: NotRequired[bool] """ Delete all usage for a given subscription item. You must pass this when deleting a usage records subscription item. `clear_usage` has no effect if the plan has a billing meter attached. """ deleted: NotRequired[bool] """ A flag that, if set to `true`, will delete the specified item. """ discounts: NotRequired[ "Literal['']|List[SubscriptionUpdateParamsItemDiscount]" ] """ The coupons to redeem into discounts for the subscription item. """ id: NotRequired[str] """ Subscription item to update. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ plan: NotRequired[str] """ Plan ID for this item, as a string. """ price: NotRequired[str] """ The ID of the price object. One of `price` or `price_data` is required. When changing a subscription item's price, `quantity` is set to 1 unless a `quantity` parameter is provided. """ price_data: NotRequired["SubscriptionUpdateParamsItemPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: NotRequired[int] """ Quantity for this item. """ tax_rates: NotRequired["Literal['']|List[str]"] """ A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates. """ class SubscriptionUpdateParamsItemBillingThresholds(TypedDict): usage_gte: int """ Number of units that meets the billing threshold to advance the subscription to a new billing period (e.g., it takes 10 $5 units to meet a $50 [monetary threshold](https://stripe.com/docs/api/subscriptions/update#update_subscription-billing_thresholds-amount_gte)) """ class SubscriptionUpdateParamsItemDiscount(TypedDict): coupon: NotRequired[str] """ ID of the coupon to create a new discount for. """ discount: NotRequired[str] """ ID of an existing discount on the object (or one of its ancestors) to reuse. """ promotion_code: NotRequired[str] """ ID of the promotion code to create a new discount for. """ class SubscriptionUpdateParamsItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: str """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. """ recurring: "SubscriptionUpdateParamsItemPriceDataRecurring" """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A positive integer in cents (or local equivalent) (or 0 for a free price) representing how much to charge. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SubscriptionUpdateParamsItemPriceDataRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ class SubscriptionUpdateParamsPauseCollection(TypedDict): behavior: Literal["keep_as_draft", "mark_uncollectible", "void"] """ The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`. """ resumes_at: NotRequired[int] """ The time after which the subscription will resume collecting payments. """ class SubscriptionUpdateParamsPaymentSettings(TypedDict): payment_method_options: NotRequired[ "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptions" ] """ Payment-method-specific configuration to provide to invoices created by the subscription. """ payment_method_types: NotRequired[ "Literal['']|List[Literal['ach_credit_transfer', 'ach_debit', 'acss_debit', 'affirm', 'amazon_pay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'boleto', 'card', 'cashapp', 'crypto', 'custom', 'customer_balance', 'eps', 'fpx', 'giropay', 'grabpay', 'ideal', 'jp_credit_transfer', 'kakao_pay', 'klarna', 'konbini', 'kr_card', 'link', 'multibanco', 'naver_pay', 'nz_bank_account', 'p24', 'payco', 'paynow', 'paypal', 'promptpay', 'revolut_pay', 'sepa_credit_transfer', 'sepa_debit', 'sofort', 'swish', 'us_bank_account', 'wechat_pay']]" ] """ The list of payment method types (e.g. card) to provide to the invoice's PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice's default payment method, the subscription's default payment method, the customer's default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice). Should not be specified with payment_method_configuration """ save_default_payment_method: NotRequired[Literal["off", "on_subscription"]] """ Configure whether Stripe updates `subscription.default_payment_method` when payment succeeds. Defaults to `off` if unspecified. """ class SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptions(TypedDict): acss_debit: NotRequired[ "Literal['']|SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebit" ] """ This sub-hash contains details about the Canadian pre-authorized debit payment method options to pass to the invoice's PaymentIntent. """ bancontact: NotRequired[ "Literal['']|SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsBancontact" ] """ This sub-hash contains details about the Bancontact payment method options to pass to the invoice's PaymentIntent. """ card: NotRequired[ "Literal['']|SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCard" ] """ This sub-hash contains details about the Card payment method options to pass to the invoice's PaymentIntent. """ customer_balance: NotRequired[ "Literal['']|SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance" ] """ This sub-hash contains details about the Bank transfer payment method options to pass to the invoice's PaymentIntent. """ konbini: NotRequired[ "Literal['']|SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsKonbini" ] """ This sub-hash contains details about the Konbini payment method options to pass to the invoice's PaymentIntent. """ sepa_debit: NotRequired[ "Literal['']|SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsSepaDebit" ] """ This sub-hash contains details about the SEPA Direct Debit payment method options to pass to the invoice's PaymentIntent. """ us_bank_account: NotRequired[ "Literal['']|SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount" ] """ This sub-hash contains details about the ACH direct debit payment method options to pass to the invoice's PaymentIntent. """ class SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebit( TypedDict, ): mandate_options: NotRequired[ "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions" ] """ Additional fields for Mandate creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Verification method for the intent """ class SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsAcssDebitMandateOptions( TypedDict, ): transaction_type: NotRequired[Literal["business", "personal"]] """ Transaction type of the mandate. """ class SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsBancontact( TypedDict, ): preferred_language: NotRequired[Literal["de", "en", "fr", "nl"]] """ Preferred language of the Bancontact authorization page that the customer is redirected to. """ class SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCard( TypedDict, ): mandate_options: NotRequired[ "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCardMandateOptions" ] """ Configuration options for setting up an eMandate for cards issued in India. """ network: NotRequired[ Literal[ "amex", "cartes_bancaires", "diners", "discover", "eftpos_au", "girocard", "interac", "jcb", "link", "mastercard", "unionpay", "unknown", "visa", ] ] """ Selected network to process this Subscription on. Depends on the available networks of the card attached to the Subscription. Can be only set confirm-time. """ request_three_d_secure: NotRequired[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ class SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCardMandateOptions( TypedDict, ): amount: NotRequired[int] """ Amount to be charged for future payments. """ amount_type: NotRequired[Literal["fixed", "maximum"]] """ One of `fixed` or `maximum`. If `fixed`, the `amount` param refers to the exact amount to be charged in future payments. If `maximum`, the amount charged can be up to the value passed for the `amount` param. """ description: NotRequired[str] """ A description of the mandate or subscription that is meant to be displayed to the customer. """ class SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalance( TypedDict, ): bank_transfer: NotRequired[ "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer" ] """ Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`. """ funding_type: NotRequired[str] """ The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. """ class SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransfer( TypedDict, ): eu_bank_transfer: NotRequired[ "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer" ] """ Configuration for eu_bank_transfer funding type. """ type: NotRequired[str] """ The bank transfer type that can be used for funding. Permitted values include: `eu_bank_transfer`, `gb_bank_transfer`, `jp_bank_transfer`, `mx_bank_transfer`, or `us_bank_transfer`. """ class SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer( TypedDict, ): country: str """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ class SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsKonbini( TypedDict, ): pass class SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsSepaDebit( TypedDict, ): pass class SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccount( TypedDict, ): financial_connections: NotRequired[ "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections" ] """ Additional fields for Financial Connections Session creation """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Verification method for the intent """ class SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnections( TypedDict, ): filters: NotRequired[ "SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters" ] """ Provide filters for the linked accounts that the customer can select for the payment method. """ permissions: NotRequired[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ class SubscriptionUpdateParamsPaymentSettingsPaymentMethodOptionsUsBankAccountFinancialConnectionsFilters( TypedDict, ): account_subcategories: NotRequired[List[Literal["checking", "savings"]]] """ The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`. """ class SubscriptionUpdateParamsPendingInvoiceItemInterval(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies invoicing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between invoices. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). """ class SubscriptionUpdateParamsTransferData(TypedDict): amount_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. """ destination: str """ ID of an existing, connected Stripe account. """ class SubscriptionUpdateParamsTrialSettings(TypedDict): end_behavior: "SubscriptionUpdateParamsTrialSettingsEndBehavior" """ Defines how the subscription should behave when the user's free trial ends. """ class SubscriptionUpdateParamsTrialSettingsEndBehavior(TypedDict): missing_payment_method: Literal["cancel", "create_invoice", "pause"] """ Indicates how the subscription should change when the trial ends if the user did not provide a payment method. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.361062 stripe-13.2.0/stripe/params/_tax_code_list_params.py0000644000000000000000000000225515102753431017524 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TaxCodeListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_tax_code_retrieve_params.py0000644000000000000000000000052515102753431020374 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TaxCodeRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_tax_id_create_params.py0000644000000000000000000001004115102753431017466 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class TaxIdCreateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ owner: NotRequired["TaxIdCreateParamsOwner"] """ The account or customer the tax ID belongs to. Defaults to `owner[type]=self`. """ type: Literal[ "ad_nrt", "ae_trn", "al_tin", "am_tin", "ao_tin", "ar_cuit", "au_abn", "au_arn", "aw_tin", "az_tin", "ba_tin", "bb_tin", "bd_bin", "bf_ifu", "bg_uic", "bh_vat", "bj_ifu", "bo_tin", "br_cnpj", "br_cpf", "bs_tin", "by_tin", "ca_bn", "ca_gst_hst", "ca_pst_bc", "ca_pst_mb", "ca_pst_sk", "ca_qst", "cd_nif", "ch_uid", "ch_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", "de_stn", "do_rcn", "ec_ruc", "eg_tin", "es_cif", "et_tin", "eu_oss_vat", "eu_vat", "gb_vat", "ge_vat", "gn_nif", "hk_br", "hr_oib", "hu_tin", "id_npwp", "il_vat", "in_gst", "is_vat", "jp_cn", "jp_rn", "jp_trn", "ke_pin", "kg_tin", "kh_tin", "kr_brn", "kz_bin", "la_tin", "li_uid", "li_vat", "ma_vat", "md_vat", "me_pib", "mk_vat", "mr_nif", "mx_rfc", "my_frp", "my_itn", "my_sst", "ng_tin", "no_vat", "no_voec", "np_pan", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "ro_tin", "rs_pib", "ru_inn", "ru_kpp", "sa_vat", "sg_gst", "sg_uen", "si_tin", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", "tw_vat", "tz_vat", "ua_vat", "ug_tin", "us_ein", "uy_ruc", "uz_tin", "uz_vat", "ve_rif", "vn_tin", "za_vat", "zm_tin", "zw_tin", ] """ Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_arn`, `aw_tin`, `az_tin`, `ba_tin`, `bb_tin`, `bd_bin`, `bf_ifu`, `bg_uic`, `bh_vat`, `bj_ifu`, `bo_tin`, `br_cnpj`, `br_cpf`, `bs_tin`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `ma_vat`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tw_vat`, `tz_vat`, `ua_vat`, `ug_tin`, `us_ein`, `uy_ruc`, `uz_tin`, `uz_vat`, `ve_rif`, `vn_tin`, `za_vat`, `zm_tin`, or `zw_tin` """ value: str """ Value of the tax ID. """ class TaxIdCreateParamsOwner(TypedDict): account: NotRequired[str] """ Account the tax ID belongs to. Required when `type=account` """ customer: NotRequired[str] """ Customer the tax ID belongs to. Required when `type=customer` """ type: Literal["account", "application", "customer", "self"] """ Type of owner referenced. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_tax_id_delete_params.py0000644000000000000000000000024615102753431017473 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class TaxIdDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_tax_id_list_params.py0000644000000000000000000000330715102753431017205 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class TaxIdListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ owner: NotRequired["TaxIdListParamsOwner"] """ The account or customer the tax ID belongs to. Defaults to `owner[type]=self`. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class TaxIdListParamsOwner(TypedDict): account: NotRequired[str] """ Account the tax ID belongs to. Required when `type=account` """ customer: NotRequired[str] """ Customer the tax ID belongs to. Required when `type=customer` """ type: Literal["account", "application", "customer", "self"] """ Type of owner referenced. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_tax_id_retrieve_params.py0000644000000000000000000000052315102753431020054 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TaxIdRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_tax_rate_create_params.py0000644000000000000000000000464615102753431020043 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class TaxRateCreateParams(RequestOptions): active: NotRequired[bool] """ Flag determining whether the tax rate is active or inactive (archived). Inactive tax rates cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ description: NotRequired[str] """ An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers. """ display_name: str """ The display name of the tax rate, which will be shown to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ inclusive: bool """ This specifies if the tax rate is inclusive or exclusive. """ jurisdiction: NotRequired[str] """ The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer's invoice. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ percentage: float """ This represents the tax rate percent out of 100. """ state: NotRequired[str] """ [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2), without country prefix. For example, "NY" for New York, United States. """ tax_type: NotRequired[ Literal[ "amusement_tax", "communications_tax", "gst", "hst", "igst", "jct", "lease_tax", "pst", "qst", "retail_delivery_fee", "rst", "sales_tax", "service_tax", "vat", ] ] """ The high-level tax type, such as `vat` or `sales_tax`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_tax_rate_list_params.py0000644000000000000000000000370515102753431017546 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class TaxRateListParams(RequestOptions): active: NotRequired[bool] """ Optional flag to filter by tax rates that are either active or inactive (archived). """ created: NotRequired["TaxRateListParamsCreated|int"] """ Optional range for filtering created date. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ inclusive: NotRequired[bool] """ Optional flag to filter by tax rates that are inclusive (or those that are not inclusive). """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class TaxRateListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_tax_rate_modify_params.py0000644000000000000000000000440415102753431020057 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class TaxRateModifyParams(RequestOptions): active: NotRequired[bool] """ Flag determining whether the tax rate is active or inactive (archived). Inactive tax rates cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ description: NotRequired[str] """ An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers. """ display_name: NotRequired[str] """ The display name of the tax rate, which will be shown to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ jurisdiction: NotRequired[str] """ The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer's invoice. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ state: NotRequired[str] """ [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2), without country prefix. For example, "NY" for New York, United States. """ tax_type: NotRequired[ Literal[ "amusement_tax", "communications_tax", "gst", "hst", "igst", "jct", "lease_tax", "pst", "qst", "retail_delivery_fee", "rst", "sales_tax", "service_tax", "vat", ] ] """ The high-level tax type, such as `vat` or `sales_tax`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_tax_rate_retrieve_params.py0000644000000000000000000000052515102753431020415 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TaxRateRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_tax_rate_update_params.py0000644000000000000000000000432715102753431020056 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class TaxRateUpdateParams(TypedDict): active: NotRequired[bool] """ Flag determining whether the tax rate is active or inactive (archived). Inactive tax rates cannot be used with new applications or Checkout Sessions, but will still work for subscriptions and invoices that already have it set. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ description: NotRequired[str] """ An arbitrary string attached to the tax rate for your internal use only. It will not be visible to your customers. """ display_name: NotRequired[str] """ The display name of the tax rate, which will be shown to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ jurisdiction: NotRequired[str] """ The jurisdiction for the tax rate. You can use this label field for tax reporting purposes. It also appears on your customer's invoice. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ state: NotRequired[str] """ [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2), without country prefix. For example, "NY" for New York, United States. """ tax_type: NotRequired[ Literal[ "amusement_tax", "communications_tax", "gst", "hst", "igst", "jct", "lease_tax", "pst", "qst", "retail_delivery_fee", "rst", "sales_tax", "service_tax", "vat", ] ] """ The high-level tax type, such as `vat` or `sales_tax`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_token_create_params.py0000644000000000000000000012055715102753431017354 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class TokenCreateParams(RequestOptions): account: NotRequired["TokenCreateParamsAccount"] """ Information for the account this token represents. """ bank_account: NotRequired["TokenCreateParamsBankAccount"] """ The bank account this token will represent. """ card: NotRequired["TokenCreateParamsCard|str"] """ The card this token will represent. If you also pass in a customer, the card must be the ID of a card belonging to the customer. Otherwise, if you do not pass in a customer, this is a dictionary containing a user's credit card details, with the options described below. """ customer: NotRequired[str] """ Create a token for the customer, which is owned by the application's account. You can only use this with an [OAuth access token](https://stripe.com/docs/connect/standard-accounts) or [Stripe-Account header](https://stripe.com/docs/connect/authentication). Learn more about [cloning saved payment methods](https://stripe.com/docs/connect/cloning-saved-payment-methods). """ cvc_update: NotRequired["TokenCreateParamsCvcUpdate"] """ The updated CVC value this token represents. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ person: NotRequired["TokenCreateParamsPerson"] """ Information for the person this token represents. """ pii: NotRequired["TokenCreateParamsPii"] """ The PII this token represents. """ class TokenCreateParamsAccount(TypedDict): business_type: NotRequired[ Literal["company", "government_entity", "individual", "non_profit"] ] """ The business type. """ company: NotRequired["TokenCreateParamsAccountCompany"] """ Information about the company or business. """ individual: NotRequired["TokenCreateParamsAccountIndividual"] """ Information about the person represented by the account. """ tos_shown_and_accepted: NotRequired[bool] """ Whether the user described by the data in the token has been shown [the Stripe Connected Account Agreement](https://docs.stripe.com/connect/account-tokens#stripe-connected-account-agreement). When creating an account token to create a new Connect account, this value must be `true`. """ class TokenCreateParamsAccountCompany(TypedDict): address: NotRequired["TokenCreateParamsAccountCompanyAddress"] """ The company's primary address. """ address_kana: NotRequired["TokenCreateParamsAccountCompanyAddressKana"] """ The Kana variation of the company's primary address (Japan only). """ address_kanji: NotRequired["TokenCreateParamsAccountCompanyAddressKanji"] """ The Kanji variation of the company's primary address (Japan only). """ directors_provided: NotRequired[bool] """ Whether the company's directors have been provided. Set this Boolean to `true` after creating all the company's directors with [the Persons API](https://docs.stripe.com/api/persons) for accounts with a `relationship.director` requirement. This value is not automatically set to `true` after creating directors, so it needs to be updated to indicate all directors have been provided. """ directorship_declaration: NotRequired[ "TokenCreateParamsAccountCompanyDirectorshipDeclaration" ] """ This hash is used to attest that the directors information provided to Stripe is both current and correct. """ executives_provided: NotRequired[bool] """ Whether the company's executives have been provided. Set this Boolean to `true` after creating all the company's executives with [the Persons API](https://docs.stripe.com/api/persons) for accounts with a `relationship.executive` requirement. """ export_license_id: NotRequired[str] """ The export license ID number of the company, also referred as Import Export Code (India only). """ export_purpose_code: NotRequired[str] """ The purpose code to use for export transactions (India only). """ name: NotRequired[str] """ The company's legal name. """ name_kana: NotRequired[str] """ The Kana variation of the company's legal name (Japan only). """ name_kanji: NotRequired[str] """ The Kanji variation of the company's legal name (Japan only). """ owners_provided: NotRequired[bool] """ Whether the company's owners have been provided. Set this Boolean to `true` after creating all the company's owners with [the Persons API](https://docs.stripe.com/api/persons) for accounts with a `relationship.owner` requirement. """ ownership_declaration: NotRequired[ "TokenCreateParamsAccountCompanyOwnershipDeclaration" ] """ This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct. """ ownership_declaration_shown_and_signed: NotRequired[bool] """ Whether the user described by the data in the token has been shown the Ownership Declaration and indicated that it is correct. """ ownership_exemption_reason: NotRequired[ "Literal['']|Literal['qualified_entity_exceeds_ownership_threshold', 'qualifies_as_financial_institution']" ] """ This value is used to determine if a business is exempt from providing ultimate beneficial owners. See [this support article](https://support.stripe.com/questions/exemption-from-providing-ownership-details) and [changelog](https://docs.stripe.com/changelog/acacia/2025-01-27/ownership-exemption-reason-accounts-api) for more details. """ phone: NotRequired[str] """ The company's phone number (used for verification). """ registration_date: NotRequired[ "Literal['']|TokenCreateParamsAccountCompanyRegistrationDate" ] """ When the business was incorporated or registered. """ registration_number: NotRequired[str] """ The identification number given to a company when it is registered or incorporated, if distinct from the identification number used for filing taxes. (Examples are the CIN for companies and LLP IN for partnerships in India, and the Company Registration Number in Hong Kong). """ representative_declaration: NotRequired[ "TokenCreateParamsAccountCompanyRepresentativeDeclaration" ] """ This hash is used to attest that the representative is authorized to act as the representative of their legal entity. """ structure: NotRequired[ "Literal['']|Literal['free_zone_establishment', 'free_zone_llc', 'government_instrumentality', 'governmental_unit', 'incorporated_non_profit', 'incorporated_partnership', 'limited_liability_partnership', 'llc', 'multi_member_llc', 'private_company', 'private_corporation', 'private_partnership', 'public_company', 'public_corporation', 'public_partnership', 'registered_charity', 'single_member_llc', 'sole_establishment', 'sole_proprietorship', 'tax_exempt_government_instrumentality', 'unincorporated_association', 'unincorporated_non_profit', 'unincorporated_partnership']" ] """ The category identifying the legal structure of the company or legal entity. See [Business structure](https://docs.stripe.com/connect/identity-verification#business-structure) for more details. Pass an empty string to unset this value. """ tax_id: NotRequired[str] """ The business ID number of the company, as appropriate for the company's country. (Examples are an Employer ID Number in the U.S., a Business Number in Canada, or a Company Number in the UK.) """ tax_id_registrar: NotRequired[str] """ The jurisdiction in which the `tax_id` is registered (Germany-based companies only). """ vat_id: NotRequired[str] """ The VAT number of the company. """ verification: NotRequired["TokenCreateParamsAccountCompanyVerification"] """ Information on the verification state of the company. """ class TokenCreateParamsAccountCompanyAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class TokenCreateParamsAccountCompanyAddressKana(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class TokenCreateParamsAccountCompanyAddressKanji(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class TokenCreateParamsAccountCompanyDirectorshipDeclaration(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the directorship declaration attestation was made. """ ip: NotRequired[str] """ The IP address from which the directorship declaration attestation was made. """ user_agent: NotRequired[str] """ The user agent of the browser from which the directorship declaration attestation was made. """ class TokenCreateParamsAccountCompanyOwnershipDeclaration(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the beneficial owner attestation was made. """ ip: NotRequired[str] """ The IP address from which the beneficial owner attestation was made. """ user_agent: NotRequired[str] """ The user agent of the browser from which the beneficial owner attestation was made. """ class TokenCreateParamsAccountCompanyRegistrationDate(TypedDict): day: int """ The day of registration, between 1 and 31. """ month: int """ The month of registration, between 1 and 12. """ year: int """ The four-digit year of registration. """ class TokenCreateParamsAccountCompanyRepresentativeDeclaration(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the representative declaration attestation was made. """ ip: NotRequired[str] """ The IP address from which the representative declaration attestation was made. """ user_agent: NotRequired[str] """ The user agent of the browser from which the representative declaration attestation was made. """ class TokenCreateParamsAccountCompanyVerification(TypedDict): document: NotRequired[ "TokenCreateParamsAccountCompanyVerificationDocument" ] """ A document verifying the business. """ class TokenCreateParamsAccountCompanyVerificationDocument(TypedDict): back: NotRequired[str] """ The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ class TokenCreateParamsAccountIndividual(TypedDict): address: NotRequired["TokenCreateParamsAccountIndividualAddress"] """ The individual's primary address. """ address_kana: NotRequired["TokenCreateParamsAccountIndividualAddressKana"] """ The Kana variation of the individual's primary address (Japan only). """ address_kanji: NotRequired[ "TokenCreateParamsAccountIndividualAddressKanji" ] """ The Kanji variation of the individual's primary address (Japan only). """ dob: NotRequired["Literal['']|TokenCreateParamsAccountIndividualDob"] """ The individual's date of birth. """ email: NotRequired[str] """ The individual's email address. """ first_name: NotRequired[str] """ The individual's first name. """ first_name_kana: NotRequired[str] """ The Kana variation of the individual's first name (Japan only). """ first_name_kanji: NotRequired[str] """ The Kanji variation of the individual's first name (Japan only). """ full_name_aliases: NotRequired["Literal['']|List[str]"] """ A list of alternate names or aliases that the individual is known by. """ gender: NotRequired[str] """ The individual's gender """ id_number: NotRequired[str] """ The government-issued ID number of the individual, as appropriate for the representative's country. (Examples are a Social Security Number in the U.S., or a Social Insurance Number in Canada). Instead of the number itself, you can also provide a [PII token created with Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ id_number_secondary: NotRequired[str] """ The government-issued secondary ID number of the individual, as appropriate for the representative's country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token created with Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ last_name: NotRequired[str] """ The individual's last name. """ last_name_kana: NotRequired[str] """ The Kana variation of the individual's last name (Japan only). """ last_name_kanji: NotRequired[str] """ The Kanji variation of the individual's last name (Japan only). """ maiden_name: NotRequired[str] """ The individual's maiden name. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ phone: NotRequired[str] """ The individual's phone number. """ political_exposure: NotRequired[Literal["existing", "none"]] """ Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. """ registered_address: NotRequired[ "TokenCreateParamsAccountIndividualRegisteredAddress" ] """ The individual's registered address. """ relationship: NotRequired["TokenCreateParamsAccountIndividualRelationship"] """ Describes the person's relationship to the account. """ ssn_last_4: NotRequired[str] """ The last four digits of the individual's Social Security Number (U.S. only). """ verification: NotRequired["TokenCreateParamsAccountIndividualVerification"] """ The individual's verification document information. """ class TokenCreateParamsAccountIndividualAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class TokenCreateParamsAccountIndividualAddressKana(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class TokenCreateParamsAccountIndividualAddressKanji(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class TokenCreateParamsAccountIndividualDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class TokenCreateParamsAccountIndividualRegisteredAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class TokenCreateParamsAccountIndividualRelationship(TypedDict): director: NotRequired[bool] """ Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. """ executive: NotRequired[bool] """ Whether the person has significant responsibility to control, manage, or direct the organization. """ owner: NotRequired[bool] """ Whether the person is an owner of the account's legal entity. """ percent_ownership: NotRequired["Literal['']|float"] """ The percent owned by the person of the account's legal entity. """ title: NotRequired[str] """ The person's title (e.g., CEO, Support Engineer). """ class TokenCreateParamsAccountIndividualVerification(TypedDict): additional_document: NotRequired[ "TokenCreateParamsAccountIndividualVerificationAdditionalDocument" ] """ A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. """ document: NotRequired[ "TokenCreateParamsAccountIndividualVerificationDocument" ] """ An identifying document, either a passport or local ID card. """ class TokenCreateParamsAccountIndividualVerificationAdditionalDocument( TypedDict, ): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ class TokenCreateParamsAccountIndividualVerificationDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ class TokenCreateParamsBankAccount(TypedDict): account_holder_name: NotRequired[str] """ The name of the person or business that owns the bank account. This field is required when attaching the bank account to a `Customer` object. """ account_holder_type: NotRequired[Literal["company", "individual"]] """ The type of entity that holds the account. It can be `company` or `individual`. This field is required when attaching the bank account to a `Customer` object. """ account_number: str """ The account number for the bank account, in string form. Must be a checking account. """ account_type: NotRequired[Literal["checking", "futsu", "savings", "toza"]] """ The bank account type. This can only be `checking` or `savings` in most countries. In Japan, this can only be `futsu` or `toza`. """ country: str """ The country in which the bank account is located. """ currency: NotRequired[str] """ The currency the bank account is in. This must be a country/currency pairing that [Stripe supports.](https://stripe.com/docs/payouts) """ payment_method: NotRequired[str] """ The ID of a Payment Method with a `type` of `us_bank_account`. The Payment Method's bank account information will be copied and returned as a Bank Account Token. This parameter is exclusive with respect to all other parameters in the `bank_account` hash. You must include the top-level `customer` parameter if the Payment Method is attached to a `Customer` object. If the Payment Method is not attached to a `Customer` object, it will be consumed and cannot be used again. You may not use Payment Methods which were created by a Setup Intent with `attach_to_self=true`. """ routing_number: NotRequired[str] """ The routing number, sort code, or other country-appropriate institution number for the bank account. For US bank accounts, this is required and should be the ACH routing number, not the wire routing number. If you are providing an IBAN for `account_number`, this field is not required. """ class TokenCreateParamsCard(TypedDict): address_city: NotRequired[str] """ City / District / Suburb / Town / Village. """ address_country: NotRequired[str] """ Billing address country, if provided. """ address_line1: NotRequired[str] """ Address line 1 (Street address / PO Box / Company name). """ address_line2: NotRequired[str] """ Address line 2 (Apartment / Suite / Unit / Building). """ address_state: NotRequired[str] """ State / County / Province / Region. """ address_zip: NotRequired[str] """ ZIP or postal code. """ currency: NotRequired[str] """ Required in order to add the card to an account; in all other cases, this parameter is not used. When added to an account, the card (which must be a debit card) can be used as a transfer destination for funds in this currency. """ cvc: NotRequired[str] """ Card security code. Highly recommended to always include this value. """ exp_month: str """ Two-digit number representing the card's expiration month. """ exp_year: str """ Two- or four-digit number representing the card's expiration year. """ name: NotRequired[str] """ Cardholder's full name. """ networks: NotRequired["TokenCreateParamsCardNetworks"] """ Contains information about card networks used to process the payment. """ number: str """ The card number, as a string without any separators. """ class TokenCreateParamsCardNetworks(TypedDict): preferred: NotRequired[Literal["cartes_bancaires", "mastercard", "visa"]] """ The customer's preferred card network for co-branded cards. Supports `cartes_bancaires`, `mastercard`, or `visa`. Selection of a network that does not apply to the card will be stored as `invalid_preference` on the card. """ class TokenCreateParamsCvcUpdate(TypedDict): cvc: str """ The CVC value, in string form. """ class TokenCreateParamsPerson(TypedDict): additional_tos_acceptances: NotRequired[ "TokenCreateParamsPersonAdditionalTosAcceptances" ] """ Details on the legal guardian's or authorizer's acceptance of the required Stripe agreements. """ address: NotRequired["TokenCreateParamsPersonAddress"] """ The person's address. """ address_kana: NotRequired["TokenCreateParamsPersonAddressKana"] """ The Kana variation of the person's address (Japan only). """ address_kanji: NotRequired["TokenCreateParamsPersonAddressKanji"] """ The Kanji variation of the person's address (Japan only). """ dob: NotRequired["Literal['']|TokenCreateParamsPersonDob"] """ The person's date of birth. """ documents: NotRequired["TokenCreateParamsPersonDocuments"] """ Documents that may be submitted to satisfy various informational requests. """ email: NotRequired[str] """ The person's email address. """ first_name: NotRequired[str] """ The person's first name. """ first_name_kana: NotRequired[str] """ The Kana variation of the person's first name (Japan only). """ first_name_kanji: NotRequired[str] """ The Kanji variation of the person's first name (Japan only). """ full_name_aliases: NotRequired["Literal['']|List[str]"] """ A list of alternate names or aliases that the person is known by. """ gender: NotRequired[str] """ The person's gender (International regulations require either "male" or "female"). """ id_number: NotRequired[str] """ The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ id_number_secondary: NotRequired[str] """ The person's secondary ID number, as appropriate for their country, will be used for enhanced verification checks. In Thailand, this would be the laser code found on the back of an ID card. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://docs.stripe.com/js/tokens/create_token?type=pii). """ last_name: NotRequired[str] """ The person's last name. """ last_name_kana: NotRequired[str] """ The Kana variation of the person's last name (Japan only). """ last_name_kanji: NotRequired[str] """ The Kanji variation of the person's last name (Japan only). """ maiden_name: NotRequired[str] """ The person's maiden name. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ nationality: NotRequired[str] """ The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or "XX" if unavailable. """ phone: NotRequired[str] """ The person's phone number. """ political_exposure: NotRequired[Literal["existing", "none"]] """ Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. """ registered_address: NotRequired["TokenCreateParamsPersonRegisteredAddress"] """ The person's registered address. """ relationship: NotRequired["TokenCreateParamsPersonRelationship"] """ The relationship that this person has with the account's legal entity. """ ssn_last_4: NotRequired[str] """ The last four digits of the person's Social Security number (U.S. only). """ us_cfpb_data: NotRequired["TokenCreateParamsPersonUsCfpbData"] """ Demographic data related to the person. """ verification: NotRequired["TokenCreateParamsPersonVerification"] """ The person's verification status. """ class TokenCreateParamsPersonAdditionalTosAcceptances(TypedDict): account: NotRequired[ "TokenCreateParamsPersonAdditionalTosAcceptancesAccount" ] """ Details on the legal guardian's acceptance of the main Stripe service agreement. """ class TokenCreateParamsPersonAdditionalTosAcceptancesAccount(TypedDict): date: NotRequired[int] """ The Unix timestamp marking when the account representative accepted the service agreement. """ ip: NotRequired[str] """ The IP address from which the account representative accepted the service agreement. """ user_agent: NotRequired["Literal['']|str"] """ The user agent of the browser from which the account representative accepted the service agreement. """ class TokenCreateParamsPersonAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class TokenCreateParamsPersonAddressKana(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class TokenCreateParamsPersonAddressKanji(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class TokenCreateParamsPersonDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class TokenCreateParamsPersonDocuments(TypedDict): company_authorization: NotRequired[ "TokenCreateParamsPersonDocumentsCompanyAuthorization" ] """ One or more documents that demonstrate proof that this person is authorized to represent the company. """ passport: NotRequired["TokenCreateParamsPersonDocumentsPassport"] """ One or more documents showing the person's passport page with photo and personal data. """ visa: NotRequired["TokenCreateParamsPersonDocumentsVisa"] """ One or more documents showing the person's visa required for living in the country where they are residing. """ class TokenCreateParamsPersonDocumentsCompanyAuthorization(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class TokenCreateParamsPersonDocumentsPassport(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class TokenCreateParamsPersonDocumentsVisa(TypedDict): files: NotRequired[List[str]] """ One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`. """ class TokenCreateParamsPersonRegisteredAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class TokenCreateParamsPersonRelationship(TypedDict): authorizer: NotRequired[bool] """ Whether the person is the authorizer of the account's representative. """ director: NotRequired[bool] """ Whether the person is a director of the account's legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. """ executive: NotRequired[bool] """ Whether the person has significant responsibility to control, manage, or direct the organization. """ legal_guardian: NotRequired[bool] """ Whether the person is the legal guardian of the account's representative. """ owner: NotRequired[bool] """ Whether the person is an owner of the account's legal entity. """ percent_ownership: NotRequired["Literal['']|float"] """ The percent owned by the person of the account's legal entity. """ representative: NotRequired[bool] """ Whether the person is authorized as the primary representative of the account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account. """ title: NotRequired[str] """ The person's title (e.g., CEO, Support Engineer). """ class TokenCreateParamsPersonUsCfpbData(TypedDict): ethnicity_details: NotRequired[ "TokenCreateParamsPersonUsCfpbDataEthnicityDetails" ] """ The persons ethnicity details """ race_details: NotRequired["TokenCreateParamsPersonUsCfpbDataRaceDetails"] """ The persons race details """ self_identified_gender: NotRequired[str] """ The persons self-identified gender """ class TokenCreateParamsPersonUsCfpbDataEthnicityDetails(TypedDict): ethnicity: NotRequired[ List[ Literal[ "cuban", "hispanic_or_latino", "mexican", "not_hispanic_or_latino", "other_hispanic_or_latino", "prefer_not_to_answer", "puerto_rican", ] ] ] """ The persons ethnicity """ ethnicity_other: NotRequired[str] """ Please specify your origin, when other is selected. """ class TokenCreateParamsPersonUsCfpbDataRaceDetails(TypedDict): race: NotRequired[ List[ Literal[ "african_american", "american_indian_or_alaska_native", "asian", "asian_indian", "black_or_african_american", "chinese", "ethiopian", "filipino", "guamanian_or_chamorro", "haitian", "jamaican", "japanese", "korean", "native_hawaiian", "native_hawaiian_or_other_pacific_islander", "nigerian", "other_asian", "other_black_or_african_american", "other_pacific_islander", "prefer_not_to_answer", "samoan", "somali", "vietnamese", "white", ] ] ] """ The persons race. """ race_other: NotRequired[str] """ Please specify your race, when other is selected. """ class TokenCreateParamsPersonVerification(TypedDict): additional_document: NotRequired[ "TokenCreateParamsPersonVerificationAdditionalDocument" ] """ A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. """ document: NotRequired["TokenCreateParamsPersonVerificationDocument"] """ An identifying document, either a passport or local ID card. """ class TokenCreateParamsPersonVerificationAdditionalDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ class TokenCreateParamsPersonVerificationDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. """ class TokenCreateParamsPii(TypedDict): id_number: NotRequired[str] """ The `id_number` for the PII, in string form. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_token_retrieve_params.py0000644000000000000000000000052315102753431017724 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TokenRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_topup_cancel_params.py0000644000000000000000000000052115102753431017351 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TopupCancelParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_topup_create_params.py0000644000000000000000000000342315102753431017373 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class TopupCreateParams(RequestOptions): amount: int """ A positive integer representing how much to transfer. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ source: NotRequired[str] """ The ID of a source to transfer funds from. For most users, this should be left unspecified which will use the bank account that was set up in the dashboard for the specified currency. In test mode, this can be a test bank token (see [Testing Top-ups](https://stripe.com/docs/connect/testing#testing-top-ups)). """ statement_descriptor: NotRequired[str] """ Extra information about a top-up for the source's bank statement. Limited to 15 ASCII characters. """ transfer_group: NotRequired[str] """ A string that identifies this top-up as part of a group. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_topup_list_params.py0000644000000000000000000000500515102753431017101 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class TopupListParams(RequestOptions): amount: NotRequired["TopupListParamsAmount|int"] """ A positive integer representing how much to transfer. """ created: NotRequired["TopupListParamsCreated|int"] """ A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["canceled", "failed", "pending", "succeeded"]] """ Only return top-ups that have the given status. One of `canceled`, `failed`, `pending` or `succeeded`. """ class TopupListParamsAmount(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ class TopupListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_topup_modify_params.py0000644000000000000000000000156315102753431017422 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class TopupModifyParams(RequestOptions): description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_topup_retrieve_params.py0000644000000000000000000000052315102753431017753 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TopupRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_topup_update_params.py0000644000000000000000000000150615102753431017412 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class TopupUpdateParams(TypedDict): description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_transfer_create_params.py0000644000000000000000000000437415102753431020056 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class TransferCreateParams(RequestOptions): amount: NotRequired[int] """ A positive integer in cents (or local equivalent) representing how much to transfer. """ currency: str """ Three-letter [ISO code for currency](https://www.iso.org/iso-4217-currency-codes.html) in lowercase. Must be a [supported currency](https://docs.stripe.com/currencies). """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ destination: str """ The ID of a connected Stripe account. [See the Connect documentation](https://docs.stripe.com/docs/connect/separate-charges-and-transfers) for details. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ source_transaction: NotRequired[str] """ You can use this parameter to transfer funds from a charge before they are added to your available balance. A pending balance will transfer immediately but the funds will not become available until the original charge becomes available. [See the Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-availability) for details. """ source_type: NotRequired[Literal["bank_account", "card", "fpx"]] """ The source balance to use for this transfer. One of `bank_account`, `card`, or `fpx`. For most users, this will default to `card`. """ transfer_group: NotRequired[str] """ A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_transfer_create_reversal_params.py0000644000000000000000000000312515102753431021752 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class TransferCreateReversalParams(RequestOptions): amount: NotRequired[int] """ A positive integer in cents (or local equivalent) representing how much of this transfer to reverse. Can only reverse up to the unreversed amount remaining of the transfer. Partial transfer reversals are only allowed for transfers to Stripe Accounts. Defaults to the entire transfer amount. """ description: NotRequired[str] """ An arbitrary string which you can attach to a reversal object. This will be unset if you POST an empty value. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ refund_application_fee: NotRequired[bool] """ Boolean indicating whether the application fee should be refunded when reversing this transfer. If a full transfer reversal is given, the full application fee will be refunded. Otherwise, the application fee will be refunded with an amount proportional to the amount of the transfer reversed. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_transfer_list_params.py0000644000000000000000000000367715102753431017573 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class TransferListParams(RequestOptions): created: NotRequired["TransferListParamsCreated|int"] """ Only return transfers that were created during the given date interval. """ destination: NotRequired[str] """ Only return transfers for the destination specified by this account ID. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ transfer_group: NotRequired[str] """ Only return transfers with the specified transfer group. """ class TransferListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_transfer_list_reversals_params.py0000644000000000000000000000226715102753431021653 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TransferListReversalsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_transfer_modify_params.py0000644000000000000000000000156615102753431020102 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class TransferModifyParams(RequestOptions): description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3620622 stripe-13.2.0/stripe/params/_transfer_modify_reversal_params.py0000644000000000000000000000136615102753431022003 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class TransferModifyReversalParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/_transfer_retrieve_params.py0000644000000000000000000000052615102753431020433 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TransferRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/_transfer_retrieve_reversal_params.py0000644000000000000000000000053615102753431022337 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TransferRetrieveReversalParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/_transfer_reversal_create_params.py0000644000000000000000000000305015102753431021747 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class TransferReversalCreateParams(TypedDict): amount: NotRequired[int] """ A positive integer in cents (or local equivalent) representing how much of this transfer to reverse. Can only reverse up to the unreversed amount remaining of the transfer. Partial transfer reversals are only allowed for transfers to Stripe Accounts. Defaults to the entire transfer amount. """ description: NotRequired[str] """ An arbitrary string which you can attach to a reversal object. This will be unset if you POST an empty value. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ refund_application_fee: NotRequired[bool] """ Boolean indicating whether the application fee should be refunded when reversing this transfer. If a full transfer reversal is given, the full application fee will be refunded. Otherwise, the application fee will be refunded with an amount proportional to the amount of the transfer reversed. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/_transfer_reversal_list_params.py0000644000000000000000000000221115102753431021455 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class TransferReversalListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/_transfer_reversal_retrieve_params.py0000644000000000000000000000046115102753431022334 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class TransferReversalRetrieveParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/_transfer_reversal_update_params.py0000644000000000000000000000131115102753431021764 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class TransferReversalUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/_transfer_update_params.py0000644000000000000000000000151115102753431020063 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class TransferUpdateParams(TypedDict): description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/_webhook_endpoint_create_params.py0000644000000000000000000003563115102753431021570 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class WebhookEndpointCreateParams(RequestOptions): api_version: NotRequired[ Literal[ "2011-01-01", "2011-06-21", "2011-06-28", "2011-08-01", "2011-09-15", "2011-11-17", "2012-02-23", "2012-03-25", "2012-06-18", "2012-06-28", "2012-07-09", "2012-09-24", "2012-10-26", "2012-11-07", "2013-02-11", "2013-02-13", "2013-07-05", "2013-08-12", "2013-08-13", "2013-10-29", "2013-12-03", "2014-01-31", "2014-03-13", "2014-03-28", "2014-05-19", "2014-06-13", "2014-06-17", "2014-07-22", "2014-07-26", "2014-08-04", "2014-08-20", "2014-09-08", "2014-10-07", "2014-11-05", "2014-11-20", "2014-12-08", "2014-12-17", "2014-12-22", "2015-01-11", "2015-01-26", "2015-02-10", "2015-02-16", "2015-02-18", "2015-03-24", "2015-04-07", "2015-06-15", "2015-07-07", "2015-07-13", "2015-07-28", "2015-08-07", "2015-08-19", "2015-09-03", "2015-09-08", "2015-09-23", "2015-10-01", "2015-10-12", "2015-10-16", "2016-02-03", "2016-02-19", "2016-02-22", "2016-02-23", "2016-02-29", "2016-03-07", "2016-06-15", "2016-07-06", "2016-10-19", "2017-01-27", "2017-02-14", "2017-04-06", "2017-05-25", "2017-06-05", "2017-08-15", "2017-12-14", "2018-01-23", "2018-02-05", "2018-02-06", "2018-02-28", "2018-05-21", "2018-07-27", "2018-08-23", "2018-09-06", "2018-09-24", "2018-10-31", "2018-11-08", "2019-02-11", "2019-02-19", "2019-03-14", "2019-05-16", "2019-08-14", "2019-09-09", "2019-10-08", "2019-10-17", "2019-11-05", "2019-12-03", "2020-03-02", "2020-08-27", "2022-08-01", "2022-11-15", "2023-08-16", "2023-10-16", "2024-04-10", "2024-06-20", "2024-09-30.acacia", "2024-10-28.acacia", "2024-11-20.acacia", "2024-12-18.acacia", "2025-01-27.acacia", "2025-02-24.acacia", "2025-03-01.dashboard", "2025-03-31.basil", "2025-04-30.basil", "2025-05-28.basil", "2025-06-30.basil", "2025-07-30.basil", "2025-08-27.basil", "2025-09-30.clover", "2025-10-29.clover", ] ] """ Events sent to this endpoint will be generated with this Stripe Version instead of your account's default Stripe Version. """ connect: NotRequired[bool] """ Whether this endpoint should receive events from connected accounts (`true`), or from your account (`false`). Defaults to `false`. """ description: NotRequired["Literal['']|str"] """ An optional description of what the webhook is used for. """ enabled_events: List[ Literal[ "*", "account.application.authorized", "account.application.deauthorized", "account.external_account.created", "account.external_account.deleted", "account.external_account.updated", "account.updated", "application_fee.created", "application_fee.refund.updated", "application_fee.refunded", "balance.available", "balance_settings.updated", "billing.alert.triggered", "billing_portal.configuration.created", "billing_portal.configuration.updated", "billing_portal.session.created", "capability.updated", "cash_balance.funds_available", "charge.captured", "charge.dispute.closed", "charge.dispute.created", "charge.dispute.funds_reinstated", "charge.dispute.funds_withdrawn", "charge.dispute.updated", "charge.expired", "charge.failed", "charge.pending", "charge.refund.updated", "charge.refunded", "charge.succeeded", "charge.updated", "checkout.session.async_payment_failed", "checkout.session.async_payment_succeeded", "checkout.session.completed", "checkout.session.expired", "climate.order.canceled", "climate.order.created", "climate.order.delayed", "climate.order.delivered", "climate.order.product_substituted", "climate.product.created", "climate.product.pricing_updated", "coupon.created", "coupon.deleted", "coupon.updated", "credit_note.created", "credit_note.updated", "credit_note.voided", "customer.created", "customer.deleted", "customer.discount.created", "customer.discount.deleted", "customer.discount.updated", "customer.source.created", "customer.source.deleted", "customer.source.expiring", "customer.source.updated", "customer.subscription.created", "customer.subscription.deleted", "customer.subscription.paused", "customer.subscription.pending_update_applied", "customer.subscription.pending_update_expired", "customer.subscription.resumed", "customer.subscription.trial_will_end", "customer.subscription.updated", "customer.tax_id.created", "customer.tax_id.deleted", "customer.tax_id.updated", "customer.updated", "customer_cash_balance_transaction.created", "entitlements.active_entitlement_summary.updated", "file.created", "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", "identity.verification_session.canceled", "identity.verification_session.created", "identity.verification_session.processing", "identity.verification_session.redacted", "identity.verification_session.requires_input", "identity.verification_session.verified", "invoice.created", "invoice.deleted", "invoice.finalization_failed", "invoice.finalized", "invoice.marked_uncollectible", "invoice.overdue", "invoice.overpaid", "invoice.paid", "invoice.payment_action_required", "invoice.payment_attempt_required", "invoice.payment_failed", "invoice.payment_succeeded", "invoice.sent", "invoice.upcoming", "invoice.updated", "invoice.voided", "invoice.will_be_due", "invoice_payment.paid", "invoiceitem.created", "invoiceitem.deleted", "issuing_authorization.created", "issuing_authorization.request", "issuing_authorization.updated", "issuing_card.created", "issuing_card.updated", "issuing_cardholder.created", "issuing_cardholder.updated", "issuing_dispute.closed", "issuing_dispute.created", "issuing_dispute.funds_reinstated", "issuing_dispute.funds_rescinded", "issuing_dispute.submitted", "issuing_dispute.updated", "issuing_personalization_design.activated", "issuing_personalization_design.deactivated", "issuing_personalization_design.rejected", "issuing_personalization_design.updated", "issuing_token.created", "issuing_token.updated", "issuing_transaction.created", "issuing_transaction.purchase_details_receipt_updated", "issuing_transaction.updated", "mandate.updated", "payment_intent.amount_capturable_updated", "payment_intent.canceled", "payment_intent.created", "payment_intent.partially_funded", "payment_intent.payment_failed", "payment_intent.processing", "payment_intent.requires_action", "payment_intent.succeeded", "payment_link.created", "payment_link.updated", "payment_method.attached", "payment_method.automatically_updated", "payment_method.detached", "payment_method.updated", "payout.canceled", "payout.created", "payout.failed", "payout.paid", "payout.reconciliation_completed", "payout.updated", "person.created", "person.deleted", "person.updated", "plan.created", "plan.deleted", "plan.updated", "price.created", "price.deleted", "price.updated", "product.created", "product.deleted", "product.updated", "promotion_code.created", "promotion_code.updated", "quote.accepted", "quote.canceled", "quote.created", "quote.finalized", "radar.early_fraud_warning.created", "radar.early_fraud_warning.updated", "refund.created", "refund.failed", "refund.updated", "reporting.report_run.failed", "reporting.report_run.succeeded", "reporting.report_type.updated", "review.closed", "review.opened", "setup_intent.canceled", "setup_intent.created", "setup_intent.requires_action", "setup_intent.setup_failed", "setup_intent.succeeded", "sigma.scheduled_query_run.created", "source.canceled", "source.chargeable", "source.failed", "source.mandate_notification", "source.refund_attributes_required", "source.transaction.created", "source.transaction.updated", "subscription_schedule.aborted", "subscription_schedule.canceled", "subscription_schedule.completed", "subscription_schedule.created", "subscription_schedule.expiring", "subscription_schedule.released", "subscription_schedule.updated", "tax.settings.updated", "tax_rate.created", "tax_rate.updated", "terminal.reader.action_failed", "terminal.reader.action_succeeded", "terminal.reader.action_updated", "test_helpers.test_clock.advancing", "test_helpers.test_clock.created", "test_helpers.test_clock.deleted", "test_helpers.test_clock.internal_failure", "test_helpers.test_clock.ready", "topup.canceled", "topup.created", "topup.failed", "topup.reversed", "topup.succeeded", "transfer.created", "transfer.reversed", "transfer.updated", "treasury.credit_reversal.created", "treasury.credit_reversal.posted", "treasury.debit_reversal.completed", "treasury.debit_reversal.created", "treasury.debit_reversal.initial_credit_granted", "treasury.financial_account.closed", "treasury.financial_account.created", "treasury.financial_account.features_status_updated", "treasury.inbound_transfer.canceled", "treasury.inbound_transfer.created", "treasury.inbound_transfer.failed", "treasury.inbound_transfer.succeeded", "treasury.outbound_payment.canceled", "treasury.outbound_payment.created", "treasury.outbound_payment.expected_arrival_date_updated", "treasury.outbound_payment.failed", "treasury.outbound_payment.posted", "treasury.outbound_payment.returned", "treasury.outbound_payment.tracking_details_updated", "treasury.outbound_transfer.canceled", "treasury.outbound_transfer.created", "treasury.outbound_transfer.expected_arrival_date_updated", "treasury.outbound_transfer.failed", "treasury.outbound_transfer.posted", "treasury.outbound_transfer.returned", "treasury.outbound_transfer.tracking_details_updated", "treasury.received_credit.created", "treasury.received_credit.failed", "treasury.received_credit.succeeded", "treasury.received_debit.created", "billing.credit_balance_transaction.created", "billing.credit_grant.created", "billing.credit_grant.updated", "billing.meter.created", "billing.meter.deactivated", "billing.meter.reactivated", "billing.meter.updated", ] ] """ The list of events to enable for this endpoint. You may specify `['*']` to enable all events, except those that require explicit selection. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ url: str """ The URL of the webhook endpoint. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/_webhook_endpoint_delete_params.py0000644000000000000000000000026015102753431021555 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class WebhookEndpointDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/_webhook_endpoint_list_params.py0000644000000000000000000000226515102753431021275 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class WebhookEndpointListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/_webhook_endpoint_modify_params.py0000644000000000000000000003112315102753431021604 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class WebhookEndpointModifyParams(RequestOptions): description: NotRequired["Literal['']|str"] """ An optional description of what the webhook is used for. """ disabled: NotRequired[bool] """ Disable the webhook endpoint if set to true. """ enabled_events: NotRequired[ List[ Literal[ "*", "account.application.authorized", "account.application.deauthorized", "account.external_account.created", "account.external_account.deleted", "account.external_account.updated", "account.updated", "application_fee.created", "application_fee.refund.updated", "application_fee.refunded", "balance.available", "balance_settings.updated", "billing.alert.triggered", "billing_portal.configuration.created", "billing_portal.configuration.updated", "billing_portal.session.created", "capability.updated", "cash_balance.funds_available", "charge.captured", "charge.dispute.closed", "charge.dispute.created", "charge.dispute.funds_reinstated", "charge.dispute.funds_withdrawn", "charge.dispute.updated", "charge.expired", "charge.failed", "charge.pending", "charge.refund.updated", "charge.refunded", "charge.succeeded", "charge.updated", "checkout.session.async_payment_failed", "checkout.session.async_payment_succeeded", "checkout.session.completed", "checkout.session.expired", "climate.order.canceled", "climate.order.created", "climate.order.delayed", "climate.order.delivered", "climate.order.product_substituted", "climate.product.created", "climate.product.pricing_updated", "coupon.created", "coupon.deleted", "coupon.updated", "credit_note.created", "credit_note.updated", "credit_note.voided", "customer.created", "customer.deleted", "customer.discount.created", "customer.discount.deleted", "customer.discount.updated", "customer.source.created", "customer.source.deleted", "customer.source.expiring", "customer.source.updated", "customer.subscription.created", "customer.subscription.deleted", "customer.subscription.paused", "customer.subscription.pending_update_applied", "customer.subscription.pending_update_expired", "customer.subscription.resumed", "customer.subscription.trial_will_end", "customer.subscription.updated", "customer.tax_id.created", "customer.tax_id.deleted", "customer.tax_id.updated", "customer.updated", "customer_cash_balance_transaction.created", "entitlements.active_entitlement_summary.updated", "file.created", "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", "identity.verification_session.canceled", "identity.verification_session.created", "identity.verification_session.processing", "identity.verification_session.redacted", "identity.verification_session.requires_input", "identity.verification_session.verified", "invoice.created", "invoice.deleted", "invoice.finalization_failed", "invoice.finalized", "invoice.marked_uncollectible", "invoice.overdue", "invoice.overpaid", "invoice.paid", "invoice.payment_action_required", "invoice.payment_attempt_required", "invoice.payment_failed", "invoice.payment_succeeded", "invoice.sent", "invoice.upcoming", "invoice.updated", "invoice.voided", "invoice.will_be_due", "invoice_payment.paid", "invoiceitem.created", "invoiceitem.deleted", "issuing_authorization.created", "issuing_authorization.request", "issuing_authorization.updated", "issuing_card.created", "issuing_card.updated", "issuing_cardholder.created", "issuing_cardholder.updated", "issuing_dispute.closed", "issuing_dispute.created", "issuing_dispute.funds_reinstated", "issuing_dispute.funds_rescinded", "issuing_dispute.submitted", "issuing_dispute.updated", "issuing_personalization_design.activated", "issuing_personalization_design.deactivated", "issuing_personalization_design.rejected", "issuing_personalization_design.updated", "issuing_token.created", "issuing_token.updated", "issuing_transaction.created", "issuing_transaction.purchase_details_receipt_updated", "issuing_transaction.updated", "mandate.updated", "payment_intent.amount_capturable_updated", "payment_intent.canceled", "payment_intent.created", "payment_intent.partially_funded", "payment_intent.payment_failed", "payment_intent.processing", "payment_intent.requires_action", "payment_intent.succeeded", "payment_link.created", "payment_link.updated", "payment_method.attached", "payment_method.automatically_updated", "payment_method.detached", "payment_method.updated", "payout.canceled", "payout.created", "payout.failed", "payout.paid", "payout.reconciliation_completed", "payout.updated", "person.created", "person.deleted", "person.updated", "plan.created", "plan.deleted", "plan.updated", "price.created", "price.deleted", "price.updated", "product.created", "product.deleted", "product.updated", "promotion_code.created", "promotion_code.updated", "quote.accepted", "quote.canceled", "quote.created", "quote.finalized", "radar.early_fraud_warning.created", "radar.early_fraud_warning.updated", "refund.created", "refund.failed", "refund.updated", "reporting.report_run.failed", "reporting.report_run.succeeded", "reporting.report_type.updated", "review.closed", "review.opened", "setup_intent.canceled", "setup_intent.created", "setup_intent.requires_action", "setup_intent.setup_failed", "setup_intent.succeeded", "sigma.scheduled_query_run.created", "source.canceled", "source.chargeable", "source.failed", "source.mandate_notification", "source.refund_attributes_required", "source.transaction.created", "source.transaction.updated", "subscription_schedule.aborted", "subscription_schedule.canceled", "subscription_schedule.completed", "subscription_schedule.created", "subscription_schedule.expiring", "subscription_schedule.released", "subscription_schedule.updated", "tax.settings.updated", "tax_rate.created", "tax_rate.updated", "terminal.reader.action_failed", "terminal.reader.action_succeeded", "terminal.reader.action_updated", "test_helpers.test_clock.advancing", "test_helpers.test_clock.created", "test_helpers.test_clock.deleted", "test_helpers.test_clock.internal_failure", "test_helpers.test_clock.ready", "topup.canceled", "topup.created", "topup.failed", "topup.reversed", "topup.succeeded", "transfer.created", "transfer.reversed", "transfer.updated", "treasury.credit_reversal.created", "treasury.credit_reversal.posted", "treasury.debit_reversal.completed", "treasury.debit_reversal.created", "treasury.debit_reversal.initial_credit_granted", "treasury.financial_account.closed", "treasury.financial_account.created", "treasury.financial_account.features_status_updated", "treasury.inbound_transfer.canceled", "treasury.inbound_transfer.created", "treasury.inbound_transfer.failed", "treasury.inbound_transfer.succeeded", "treasury.outbound_payment.canceled", "treasury.outbound_payment.created", "treasury.outbound_payment.expected_arrival_date_updated", "treasury.outbound_payment.failed", "treasury.outbound_payment.posted", "treasury.outbound_payment.returned", "treasury.outbound_payment.tracking_details_updated", "treasury.outbound_transfer.canceled", "treasury.outbound_transfer.created", "treasury.outbound_transfer.expected_arrival_date_updated", "treasury.outbound_transfer.failed", "treasury.outbound_transfer.posted", "treasury.outbound_transfer.returned", "treasury.outbound_transfer.tracking_details_updated", "treasury.received_credit.created", "treasury.received_credit.failed", "treasury.received_credit.succeeded", "treasury.received_debit.created", "billing.credit_balance_transaction.created", "billing.credit_grant.created", "billing.credit_grant.updated", "billing.meter.created", "billing.meter.deactivated", "billing.meter.reactivated", "billing.meter.updated", ] ] ] """ The list of events to enable for this endpoint. You may specify `['*']` to enable all events, except those that require explicit selection. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ url: NotRequired[str] """ The URL of the webhook endpoint. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/_webhook_endpoint_retrieve_params.py0000644000000000000000000000053515102753431022145 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class WebhookEndpointRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/_webhook_endpoint_update_params.py0000644000000000000000000003104615102753431021603 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class WebhookEndpointUpdateParams(TypedDict): description: NotRequired["Literal['']|str"] """ An optional description of what the webhook is used for. """ disabled: NotRequired[bool] """ Disable the webhook endpoint if set to true. """ enabled_events: NotRequired[ List[ Literal[ "*", "account.application.authorized", "account.application.deauthorized", "account.external_account.created", "account.external_account.deleted", "account.external_account.updated", "account.updated", "application_fee.created", "application_fee.refund.updated", "application_fee.refunded", "balance.available", "balance_settings.updated", "billing.alert.triggered", "billing_portal.configuration.created", "billing_portal.configuration.updated", "billing_portal.session.created", "capability.updated", "cash_balance.funds_available", "charge.captured", "charge.dispute.closed", "charge.dispute.created", "charge.dispute.funds_reinstated", "charge.dispute.funds_withdrawn", "charge.dispute.updated", "charge.expired", "charge.failed", "charge.pending", "charge.refund.updated", "charge.refunded", "charge.succeeded", "charge.updated", "checkout.session.async_payment_failed", "checkout.session.async_payment_succeeded", "checkout.session.completed", "checkout.session.expired", "climate.order.canceled", "climate.order.created", "climate.order.delayed", "climate.order.delivered", "climate.order.product_substituted", "climate.product.created", "climate.product.pricing_updated", "coupon.created", "coupon.deleted", "coupon.updated", "credit_note.created", "credit_note.updated", "credit_note.voided", "customer.created", "customer.deleted", "customer.discount.created", "customer.discount.deleted", "customer.discount.updated", "customer.source.created", "customer.source.deleted", "customer.source.expiring", "customer.source.updated", "customer.subscription.created", "customer.subscription.deleted", "customer.subscription.paused", "customer.subscription.pending_update_applied", "customer.subscription.pending_update_expired", "customer.subscription.resumed", "customer.subscription.trial_will_end", "customer.subscription.updated", "customer.tax_id.created", "customer.tax_id.deleted", "customer.tax_id.updated", "customer.updated", "customer_cash_balance_transaction.created", "entitlements.active_entitlement_summary.updated", "file.created", "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", "identity.verification_session.canceled", "identity.verification_session.created", "identity.verification_session.processing", "identity.verification_session.redacted", "identity.verification_session.requires_input", "identity.verification_session.verified", "invoice.created", "invoice.deleted", "invoice.finalization_failed", "invoice.finalized", "invoice.marked_uncollectible", "invoice.overdue", "invoice.overpaid", "invoice.paid", "invoice.payment_action_required", "invoice.payment_attempt_required", "invoice.payment_failed", "invoice.payment_succeeded", "invoice.sent", "invoice.upcoming", "invoice.updated", "invoice.voided", "invoice.will_be_due", "invoice_payment.paid", "invoiceitem.created", "invoiceitem.deleted", "issuing_authorization.created", "issuing_authorization.request", "issuing_authorization.updated", "issuing_card.created", "issuing_card.updated", "issuing_cardholder.created", "issuing_cardholder.updated", "issuing_dispute.closed", "issuing_dispute.created", "issuing_dispute.funds_reinstated", "issuing_dispute.funds_rescinded", "issuing_dispute.submitted", "issuing_dispute.updated", "issuing_personalization_design.activated", "issuing_personalization_design.deactivated", "issuing_personalization_design.rejected", "issuing_personalization_design.updated", "issuing_token.created", "issuing_token.updated", "issuing_transaction.created", "issuing_transaction.purchase_details_receipt_updated", "issuing_transaction.updated", "mandate.updated", "payment_intent.amount_capturable_updated", "payment_intent.canceled", "payment_intent.created", "payment_intent.partially_funded", "payment_intent.payment_failed", "payment_intent.processing", "payment_intent.requires_action", "payment_intent.succeeded", "payment_link.created", "payment_link.updated", "payment_method.attached", "payment_method.automatically_updated", "payment_method.detached", "payment_method.updated", "payout.canceled", "payout.created", "payout.failed", "payout.paid", "payout.reconciliation_completed", "payout.updated", "person.created", "person.deleted", "person.updated", "plan.created", "plan.deleted", "plan.updated", "price.created", "price.deleted", "price.updated", "product.created", "product.deleted", "product.updated", "promotion_code.created", "promotion_code.updated", "quote.accepted", "quote.canceled", "quote.created", "quote.finalized", "radar.early_fraud_warning.created", "radar.early_fraud_warning.updated", "refund.created", "refund.failed", "refund.updated", "reporting.report_run.failed", "reporting.report_run.succeeded", "reporting.report_type.updated", "review.closed", "review.opened", "setup_intent.canceled", "setup_intent.created", "setup_intent.requires_action", "setup_intent.setup_failed", "setup_intent.succeeded", "sigma.scheduled_query_run.created", "source.canceled", "source.chargeable", "source.failed", "source.mandate_notification", "source.refund_attributes_required", "source.transaction.created", "source.transaction.updated", "subscription_schedule.aborted", "subscription_schedule.canceled", "subscription_schedule.completed", "subscription_schedule.created", "subscription_schedule.expiring", "subscription_schedule.released", "subscription_schedule.updated", "tax.settings.updated", "tax_rate.created", "tax_rate.updated", "terminal.reader.action_failed", "terminal.reader.action_succeeded", "terminal.reader.action_updated", "test_helpers.test_clock.advancing", "test_helpers.test_clock.created", "test_helpers.test_clock.deleted", "test_helpers.test_clock.internal_failure", "test_helpers.test_clock.ready", "topup.canceled", "topup.created", "topup.failed", "topup.reversed", "topup.succeeded", "transfer.created", "transfer.reversed", "transfer.updated", "treasury.credit_reversal.created", "treasury.credit_reversal.posted", "treasury.debit_reversal.completed", "treasury.debit_reversal.created", "treasury.debit_reversal.initial_credit_granted", "treasury.financial_account.closed", "treasury.financial_account.created", "treasury.financial_account.features_status_updated", "treasury.inbound_transfer.canceled", "treasury.inbound_transfer.created", "treasury.inbound_transfer.failed", "treasury.inbound_transfer.succeeded", "treasury.outbound_payment.canceled", "treasury.outbound_payment.created", "treasury.outbound_payment.expected_arrival_date_updated", "treasury.outbound_payment.failed", "treasury.outbound_payment.posted", "treasury.outbound_payment.returned", "treasury.outbound_payment.tracking_details_updated", "treasury.outbound_transfer.canceled", "treasury.outbound_transfer.created", "treasury.outbound_transfer.expected_arrival_date_updated", "treasury.outbound_transfer.failed", "treasury.outbound_transfer.posted", "treasury.outbound_transfer.returned", "treasury.outbound_transfer.tracking_details_updated", "treasury.received_credit.created", "treasury.received_credit.failed", "treasury.received_credit.succeeded", "treasury.received_debit.created", "billing.credit_balance_transaction.created", "billing.credit_grant.created", "billing.credit_grant.updated", "billing.meter.created", "billing.meter.deactivated", "billing.meter.reactivated", "billing.meter.updated", ] ] ] """ The list of events to enable for this endpoint. You may specify `['*']` to enable all events, except those that require explicit selection. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ url: NotRequired[str] """ The URL of the webhook endpoint. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/apps/__init__.py0000644000000000000000000000374515102753431015710 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.apps._secret_create_params import ( SecretCreateParams as SecretCreateParams, SecretCreateParamsScope as SecretCreateParamsScope, ) from stripe.params.apps._secret_delete_where_params import ( SecretDeleteWhereParams as SecretDeleteWhereParams, SecretDeleteWhereParamsScope as SecretDeleteWhereParamsScope, ) from stripe.params.apps._secret_find_params import ( SecretFindParams as SecretFindParams, SecretFindParamsScope as SecretFindParamsScope, ) from stripe.params.apps._secret_list_params import ( SecretListParams as SecretListParams, SecretListParamsScope as SecretListParamsScope, ) # name -> (import_target, is_submodule) _import_map = { "SecretCreateParams": ("stripe.params.apps._secret_create_params", False), "SecretCreateParamsScope": ( "stripe.params.apps._secret_create_params", False, ), "SecretDeleteWhereParams": ( "stripe.params.apps._secret_delete_where_params", False, ), "SecretDeleteWhereParamsScope": ( "stripe.params.apps._secret_delete_where_params", False, ), "SecretFindParams": ("stripe.params.apps._secret_find_params", False), "SecretFindParamsScope": ("stripe.params.apps._secret_find_params", False), "SecretListParams": ("stripe.params.apps._secret_list_params", False), "SecretListParamsScope": ("stripe.params.apps._secret_list_params", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/apps/_secret_create_params.py0000644000000000000000000000221615102753431020453 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class SecretCreateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired[int] """ The Unix timestamp for the expiry time of the secret, after which the secret deletes. """ name: str """ A name for the secret that's unique within the scope. """ payload: str """ The plaintext secret value to be stored. """ scope: "SecretCreateParamsScope" """ Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user. """ class SecretCreateParamsScope(TypedDict): type: Literal["account", "user"] """ The secret scope type. """ user: NotRequired[str] """ The user ID. This field is required if `type` is set to `user`, and should not be provided if `type` is set to `account`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/apps/_secret_delete_where_params.py0000644000000000000000000000170415102753431021645 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class SecretDeleteWhereParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ name: str """ A name for the secret that's unique within the scope. """ scope: "SecretDeleteWhereParamsScope" """ Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user. """ class SecretDeleteWhereParamsScope(TypedDict): type: Literal["account", "user"] """ The secret scope type. """ user: NotRequired[str] """ The user ID. This field is required if `type` is set to `user`, and should not be provided if `type` is set to `account`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/apps/_secret_find_params.py0000644000000000000000000000165715102753431020140 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class SecretFindParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ name: str """ A name for the secret that's unique within the scope. """ scope: "SecretFindParamsScope" """ Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user. """ class SecretFindParamsScope(TypedDict): type: Literal["account", "user"] """ The secret scope type. """ user: NotRequired[str] """ The user ID. This field is required if `type` is set to `user`, and should not be provided if `type` is set to `account`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/apps/_secret_list_params.py0000644000000000000000000000326315102753431020166 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class SecretListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ scope: "SecretListParamsScope" """ Specifies the scoping of the secret. Requests originating from UI extensions can only access account-scoped secrets or secrets scoped to their own user. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class SecretListParamsScope(TypedDict): type: Literal["account", "user"] """ The secret scope type. """ user: NotRequired[str] """ The user ID. This field is required if `type` is set to `user`, and should not be provided if `type` is set to `account`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/billing/__init__.py0000644000000000000000000002422115102753431016355 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.billing._alert_activate_params import ( AlertActivateParams as AlertActivateParams, ) from stripe.params.billing._alert_archive_params import ( AlertArchiveParams as AlertArchiveParams, ) from stripe.params.billing._alert_create_params import ( AlertCreateParams as AlertCreateParams, AlertCreateParamsUsageThreshold as AlertCreateParamsUsageThreshold, AlertCreateParamsUsageThresholdFilter as AlertCreateParamsUsageThresholdFilter, ) from stripe.params.billing._alert_deactivate_params import ( AlertDeactivateParams as AlertDeactivateParams, ) from stripe.params.billing._alert_list_params import ( AlertListParams as AlertListParams, ) from stripe.params.billing._alert_retrieve_params import ( AlertRetrieveParams as AlertRetrieveParams, ) from stripe.params.billing._credit_balance_summary_retrieve_params import ( CreditBalanceSummaryRetrieveParams as CreditBalanceSummaryRetrieveParams, CreditBalanceSummaryRetrieveParamsFilter as CreditBalanceSummaryRetrieveParamsFilter, CreditBalanceSummaryRetrieveParamsFilterApplicabilityScope as CreditBalanceSummaryRetrieveParamsFilterApplicabilityScope, CreditBalanceSummaryRetrieveParamsFilterApplicabilityScopePrice as CreditBalanceSummaryRetrieveParamsFilterApplicabilityScopePrice, ) from stripe.params.billing._credit_balance_transaction_list_params import ( CreditBalanceTransactionListParams as CreditBalanceTransactionListParams, ) from stripe.params.billing._credit_balance_transaction_retrieve_params import ( CreditBalanceTransactionRetrieveParams as CreditBalanceTransactionRetrieveParams, ) from stripe.params.billing._credit_grant_create_params import ( CreditGrantCreateParams as CreditGrantCreateParams, CreditGrantCreateParamsAmount as CreditGrantCreateParamsAmount, CreditGrantCreateParamsAmountMonetary as CreditGrantCreateParamsAmountMonetary, CreditGrantCreateParamsApplicabilityConfig as CreditGrantCreateParamsApplicabilityConfig, CreditGrantCreateParamsApplicabilityConfigScope as CreditGrantCreateParamsApplicabilityConfigScope, CreditGrantCreateParamsApplicabilityConfigScopePrice as CreditGrantCreateParamsApplicabilityConfigScopePrice, ) from stripe.params.billing._credit_grant_expire_params import ( CreditGrantExpireParams as CreditGrantExpireParams, ) from stripe.params.billing._credit_grant_list_params import ( CreditGrantListParams as CreditGrantListParams, ) from stripe.params.billing._credit_grant_modify_params import ( CreditGrantModifyParams as CreditGrantModifyParams, ) from stripe.params.billing._credit_grant_retrieve_params import ( CreditGrantRetrieveParams as CreditGrantRetrieveParams, ) from stripe.params.billing._credit_grant_update_params import ( CreditGrantUpdateParams as CreditGrantUpdateParams, ) from stripe.params.billing._credit_grant_void_grant_params import ( CreditGrantVoidGrantParams as CreditGrantVoidGrantParams, ) from stripe.params.billing._meter_create_params import ( MeterCreateParams as MeterCreateParams, MeterCreateParamsCustomerMapping as MeterCreateParamsCustomerMapping, MeterCreateParamsDefaultAggregation as MeterCreateParamsDefaultAggregation, MeterCreateParamsValueSettings as MeterCreateParamsValueSettings, ) from stripe.params.billing._meter_deactivate_params import ( MeterDeactivateParams as MeterDeactivateParams, ) from stripe.params.billing._meter_event_adjustment_create_params import ( MeterEventAdjustmentCreateParams as MeterEventAdjustmentCreateParams, MeterEventAdjustmentCreateParamsCancel as MeterEventAdjustmentCreateParamsCancel, ) from stripe.params.billing._meter_event_create_params import ( MeterEventCreateParams as MeterEventCreateParams, ) from stripe.params.billing._meter_event_summary_list_params import ( MeterEventSummaryListParams as MeterEventSummaryListParams, ) from stripe.params.billing._meter_list_event_summaries_params import ( MeterListEventSummariesParams as MeterListEventSummariesParams, ) from stripe.params.billing._meter_list_params import ( MeterListParams as MeterListParams, ) from stripe.params.billing._meter_modify_params import ( MeterModifyParams as MeterModifyParams, ) from stripe.params.billing._meter_reactivate_params import ( MeterReactivateParams as MeterReactivateParams, ) from stripe.params.billing._meter_retrieve_params import ( MeterRetrieveParams as MeterRetrieveParams, ) from stripe.params.billing._meter_update_params import ( MeterUpdateParams as MeterUpdateParams, ) # name -> (import_target, is_submodule) _import_map = { "AlertActivateParams": ( "stripe.params.billing._alert_activate_params", False, ), "AlertArchiveParams": ( "stripe.params.billing._alert_archive_params", False, ), "AlertCreateParams": ("stripe.params.billing._alert_create_params", False), "AlertCreateParamsUsageThreshold": ( "stripe.params.billing._alert_create_params", False, ), "AlertCreateParamsUsageThresholdFilter": ( "stripe.params.billing._alert_create_params", False, ), "AlertDeactivateParams": ( "stripe.params.billing._alert_deactivate_params", False, ), "AlertListParams": ("stripe.params.billing._alert_list_params", False), "AlertRetrieveParams": ( "stripe.params.billing._alert_retrieve_params", False, ), "CreditBalanceSummaryRetrieveParams": ( "stripe.params.billing._credit_balance_summary_retrieve_params", False, ), "CreditBalanceSummaryRetrieveParamsFilter": ( "stripe.params.billing._credit_balance_summary_retrieve_params", False, ), "CreditBalanceSummaryRetrieveParamsFilterApplicabilityScope": ( "stripe.params.billing._credit_balance_summary_retrieve_params", False, ), "CreditBalanceSummaryRetrieveParamsFilterApplicabilityScopePrice": ( "stripe.params.billing._credit_balance_summary_retrieve_params", False, ), "CreditBalanceTransactionListParams": ( "stripe.params.billing._credit_balance_transaction_list_params", False, ), "CreditBalanceTransactionRetrieveParams": ( "stripe.params.billing._credit_balance_transaction_retrieve_params", False, ), "CreditGrantCreateParams": ( "stripe.params.billing._credit_grant_create_params", False, ), "CreditGrantCreateParamsAmount": ( "stripe.params.billing._credit_grant_create_params", False, ), "CreditGrantCreateParamsAmountMonetary": ( "stripe.params.billing._credit_grant_create_params", False, ), "CreditGrantCreateParamsApplicabilityConfig": ( "stripe.params.billing._credit_grant_create_params", False, ), "CreditGrantCreateParamsApplicabilityConfigScope": ( "stripe.params.billing._credit_grant_create_params", False, ), "CreditGrantCreateParamsApplicabilityConfigScopePrice": ( "stripe.params.billing._credit_grant_create_params", False, ), "CreditGrantExpireParams": ( "stripe.params.billing._credit_grant_expire_params", False, ), "CreditGrantListParams": ( "stripe.params.billing._credit_grant_list_params", False, ), "CreditGrantModifyParams": ( "stripe.params.billing._credit_grant_modify_params", False, ), "CreditGrantRetrieveParams": ( "stripe.params.billing._credit_grant_retrieve_params", False, ), "CreditGrantUpdateParams": ( "stripe.params.billing._credit_grant_update_params", False, ), "CreditGrantVoidGrantParams": ( "stripe.params.billing._credit_grant_void_grant_params", False, ), "MeterCreateParams": ("stripe.params.billing._meter_create_params", False), "MeterCreateParamsCustomerMapping": ( "stripe.params.billing._meter_create_params", False, ), "MeterCreateParamsDefaultAggregation": ( "stripe.params.billing._meter_create_params", False, ), "MeterCreateParamsValueSettings": ( "stripe.params.billing._meter_create_params", False, ), "MeterDeactivateParams": ( "stripe.params.billing._meter_deactivate_params", False, ), "MeterEventAdjustmentCreateParams": ( "stripe.params.billing._meter_event_adjustment_create_params", False, ), "MeterEventAdjustmentCreateParamsCancel": ( "stripe.params.billing._meter_event_adjustment_create_params", False, ), "MeterEventCreateParams": ( "stripe.params.billing._meter_event_create_params", False, ), "MeterEventSummaryListParams": ( "stripe.params.billing._meter_event_summary_list_params", False, ), "MeterListEventSummariesParams": ( "stripe.params.billing._meter_list_event_summaries_params", False, ), "MeterListParams": ("stripe.params.billing._meter_list_params", False), "MeterModifyParams": ("stripe.params.billing._meter_modify_params", False), "MeterReactivateParams": ( "stripe.params.billing._meter_reactivate_params", False, ), "MeterRetrieveParams": ( "stripe.params.billing._meter_retrieve_params", False, ), "MeterUpdateParams": ("stripe.params.billing._meter_update_params", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/billing/_alert_activate_params.py0000644000000000000000000000052315102753431021306 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AlertActivateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/billing/_alert_archive_params.py0000644000000000000000000000052215102753431021126 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AlertArchiveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/billing/_alert_create_params.py0000644000000000000000000000267015102753431020756 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class AlertCreateParams(RequestOptions): alert_type: Literal["usage_threshold"] """ The type of alert to create. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ title: str """ The title of the alert. """ usage_threshold: NotRequired["AlertCreateParamsUsageThreshold"] """ The configuration of the usage threshold. """ class AlertCreateParamsUsageThreshold(TypedDict): filters: NotRequired[List["AlertCreateParamsUsageThresholdFilter"]] """ The filters allows limiting the scope of this usage alert. You can only specify up to one filter at this time. """ gte: int """ Defines at which value the alert will fire. """ meter: str """ The [Billing Meter](https://docs.stripe.com/api/billing/meter) ID whose usage is monitored. """ recurrence: Literal["one_time"] """ Defines how the alert will behave. """ class AlertCreateParamsUsageThresholdFilter(TypedDict): customer: NotRequired[str] """ Limit the scope to this usage alert only to this customer. """ type: Literal["customer"] """ What type of filter is being applied to this usage alert. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/billing/_alert_deactivate_params.py0000644000000000000000000000052515102753431021621 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AlertDeactivateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/billing/_alert_list_params.py0000644000000000000000000000263715102753431020471 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class AlertListParams(RequestOptions): alert_type: NotRequired[Literal["usage_threshold"]] """ Filter results to only include this type of alert. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ meter: NotRequired[str] """ Filter results to only include alerts with the given meter. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3630621 stripe-13.2.0/stripe/params/billing/_alert_retrieve_params.py0000644000000000000000000000052315102753431021333 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AlertRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_credit_balance_summary_retrieve_params.py0000644000000000000000000000346015102753431024723 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class CreditBalanceSummaryRetrieveParams(RequestOptions): customer: str """ The customer for which to fetch credit balance summary. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ filter: "CreditBalanceSummaryRetrieveParamsFilter" """ The filter criteria for the credit balance summary. """ class CreditBalanceSummaryRetrieveParamsFilter(TypedDict): applicability_scope: NotRequired[ "CreditBalanceSummaryRetrieveParamsFilterApplicabilityScope" ] """ The billing credit applicability scope for which to fetch credit balance summary. """ credit_grant: NotRequired[str] """ The credit grant for which to fetch credit balance summary. """ type: Literal["applicability_scope", "credit_grant"] """ Specify the type of this filter. """ class CreditBalanceSummaryRetrieveParamsFilterApplicabilityScope(TypedDict): price_type: NotRequired[Literal["metered"]] """ The price type that credit grants can apply to. We currently only support the `metered` price type. Cannot be used in combination with `prices`. """ prices: NotRequired[ List["CreditBalanceSummaryRetrieveParamsFilterApplicabilityScopePrice"] ] """ A list of prices that the credit grant can apply to. We currently only support the `metered` prices. Cannot be used in combination with `price_type`. """ class CreditBalanceSummaryRetrieveParamsFilterApplicabilityScopePrice( TypedDict, ): id: str """ The price ID this credit grant should apply to. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_credit_balance_transaction_list_params.py0000644000000000000000000000263115102753431024700 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CreditBalanceTransactionListParams(RequestOptions): credit_grant: NotRequired[str] """ The credit grant for which to fetch credit balance transactions. """ customer: str """ The customer for which to fetch credit balance transactions. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_credit_balance_transaction_retrieve_params.py0000644000000000000000000000054615102753431025555 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CreditBalanceTransactionRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_credit_grant_create_params.py0000644000000000000000000000642215102753431022313 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CreditGrantCreateParams(RequestOptions): amount: "CreditGrantCreateParamsAmount" """ Amount of this credit grant. """ applicability_config: "CreditGrantCreateParamsApplicabilityConfig" """ Configuration specifying what this credit grant applies to. We currently only support `metered` prices that have a [Billing Meter](https://docs.stripe.com/api/billing/meter) attached to them. """ category: NotRequired[Literal["paid", "promotional"]] """ The category of this credit grant. It defaults to `paid` if not specified. """ customer: str """ ID of the customer to receive the billing credits. """ effective_at: NotRequired[int] """ The time when the billing credits become effective-when they're eligible for use. It defaults to the current timestamp if not specified. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired[int] """ The time when the billing credits expire. If not specified, the billing credits don't expire. """ metadata: NotRequired[Dict[str, str]] """ Set of key-value pairs that you can attach to an object. You can use this to store additional information about the object (for example, cost basis) in a structured format. """ name: NotRequired[str] """ A descriptive name shown in the Dashboard. """ priority: NotRequired[int] """ The desired priority for applying this credit grant. If not specified, it will be set to the default value of 50. The highest priority is 0 and the lowest is 100. """ class CreditGrantCreateParamsAmount(TypedDict): monetary: NotRequired["CreditGrantCreateParamsAmountMonetary"] """ The monetary amount. """ type: Literal["monetary"] """ The type of this amount. We currently only support `monetary` billing credits. """ class CreditGrantCreateParamsAmountMonetary(TypedDict): currency: str """ Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the `value` parameter. """ value: int """ A positive integer representing the amount of the credit grant. """ class CreditGrantCreateParamsApplicabilityConfig(TypedDict): scope: "CreditGrantCreateParamsApplicabilityConfigScope" """ Specify the scope of this applicability config. """ class CreditGrantCreateParamsApplicabilityConfigScope(TypedDict): price_type: NotRequired[Literal["metered"]] """ The price type that credit grants can apply to. We currently only support the `metered` price type. Cannot be used in combination with `prices`. """ prices: NotRequired[ List["CreditGrantCreateParamsApplicabilityConfigScopePrice"] ] """ A list of prices that the credit grant can apply to. We currently only support the `metered` prices. Cannot be used in combination with `price_type`. """ class CreditGrantCreateParamsApplicabilityConfigScopePrice(TypedDict): id: str """ The price ID this credit grant should apply to. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_credit_grant_expire_params.py0000644000000000000000000000052715102753431022344 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CreditGrantExpireParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_credit_grant_list_params.py0000644000000000000000000000242115102753431022016 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CreditGrantListParams(RequestOptions): customer: NotRequired[str] """ Only return credit grants for this customer. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_credit_grant_modify_params.py0000644000000000000000000000141115102753431022330 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class CreditGrantModifyParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired["Literal['']|int"] """ The time when the billing credits created by this credit grant expire. If set to empty, the billing credits never expire. """ metadata: NotRequired[Dict[str, str]] """ Set of key-value pairs you can attach to an object. You can use this to store additional information about the object (for example, cost basis) in a structured format. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_credit_grant_retrieve_params.py0000644000000000000000000000053115102753431022670 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CreditGrantRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_credit_grant_update_params.py0000644000000000000000000000133415102753431022327 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CreditGrantUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired["Literal['']|int"] """ The time when the billing credits created by this credit grant expire. If set to empty, the billing credits never expire. """ metadata: NotRequired[Dict[str, str]] """ Set of key-value pairs you can attach to an object. You can use this to store additional information about the object (for example, cost basis) in a structured format. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_credit_grant_void_grant_params.py0000644000000000000000000000053215102753431023200 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CreditGrantVoidGrantParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_meter_create_params.py0000644000000000000000000000402715102753431020761 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class MeterCreateParams(RequestOptions): customer_mapping: NotRequired["MeterCreateParamsCustomerMapping"] """ Fields that specify how to map a meter event to a customer. """ default_aggregation: "MeterCreateParamsDefaultAggregation" """ The default settings to aggregate a meter's events with. """ display_name: str """ The meter's name. Not visible to the customer. """ event_name: str """ The name of the meter event to record usage for. Corresponds with the `event_name` field on meter events. """ event_time_window: NotRequired[Literal["day", "hour"]] """ The time window which meter events have been pre-aggregated for, if any. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ value_settings: NotRequired["MeterCreateParamsValueSettings"] """ Fields that specify how to calculate a meter event's value. """ class MeterCreateParamsCustomerMapping(TypedDict): event_payload_key: str """ The key in the meter event payload to use for mapping the event to a customer. """ type: Literal["by_id"] """ The method for mapping a meter event to a customer. Must be `by_id`. """ class MeterCreateParamsDefaultAggregation(TypedDict): formula: Literal["count", "last", "sum"] """ Specifies how events are aggregated. Allowed values are `count` to count the number of events, `sum` to sum each event's value and `last` to take the last event's value in the window. """ class MeterCreateParamsValueSettings(TypedDict): event_payload_key: str """ The key in the usage event payload to use as the value for this meter. For example, if the event payload contains usage on a `bytes_used` field, then set the event_payload_key to "bytes_used". """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_meter_deactivate_params.py0000644000000000000000000000052515102753431021626 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class MeterDeactivateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_meter_event_adjustment_create_params.py0000644000000000000000000000175415102753431024424 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class MeterEventAdjustmentCreateParams(RequestOptions): cancel: NotRequired["MeterEventAdjustmentCreateParamsCancel"] """ Specifies which event to cancel. """ event_name: str """ The name of the meter event. Corresponds with the `event_name` field on a meter. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ type: Literal["cancel"] """ Specifies whether to cancel a single event or a range of events for a time period. Time period cancellation is not supported yet. """ class MeterEventAdjustmentCreateParamsCancel(TypedDict): identifier: NotRequired[str] """ Unique identifier for the event. You can only cancel events within 24 hours of Stripe receiving them. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_meter_event_create_params.py0000644000000000000000000000307415102753431022163 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import NotRequired class MeterEventCreateParams(RequestOptions): event_name: str """ The name of the meter event. Corresponds with the `event_name` field on a meter. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ identifier: NotRequired[str] """ A unique identifier for the event. If not provided, one is generated. We recommend using UUID-like identifiers. We will enforce uniqueness within a rolling period of at least 24 hours. The enforcement of uniqueness primarily addresses issues arising from accidental retries or other problems occurring within extremely brief time intervals. This approach helps prevent duplicate entries and ensures data integrity in high-frequency operations. """ payload: Dict[str, str] """ 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](https://docs.stripe.com/billing/subscriptions/usage-based/recording-usage#payload-key-overrides). """ timestamp: NotRequired[int] """ The time of the event. Measured in seconds since the Unix epoch. Must be within the past 35 calendar days or up to 5 minutes in the future. Defaults to current timestamp if not specified. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_meter_event_summary_list_params.py0000644000000000000000000000371515102753431023452 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class MeterEventSummaryListParams(TypedDict): customer: str """ The customer for which to fetch event summaries. """ end_time: int """ The timestamp from when to stop aggregating meter events (exclusive). Must be aligned with minute boundaries. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ start_time: int """ The timestamp from when to start aggregating meter events (inclusive). Must be aligned with minute boundaries. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ value_grouping_window: NotRequired[Literal["day", "hour"]] """ Specifies what granularity to use when generating event summaries. If not specified, a single event summary would be returned for the specified time range. For hourly granularity, start and end times must align with hour boundaries (e.g., 00:00, 01:00, ..., 23:00). For daily granularity, start and end times must align with UTC day boundaries (00:00 UTC). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_meter_list_event_summaries_params.py0000644000000000000000000000377415102753431023767 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class MeterListEventSummariesParams(RequestOptions): customer: str """ The customer for which to fetch event summaries. """ end_time: int """ The timestamp from when to stop aggregating meter events (exclusive). Must be aligned with minute boundaries. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ start_time: int """ The timestamp from when to start aggregating meter events (inclusive). Must be aligned with minute boundaries. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ value_grouping_window: NotRequired[Literal["day", "hour"]] """ Specifies what granularity to use when generating event summaries. If not specified, a single event summary would be returned for the specified time range. For hourly granularity, start and end times must align with hour boundaries (e.g., 00:00, 01:00, ..., 23:00). For daily granularity, start and end times must align with UTC day boundaries (00:00 UTC). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_meter_list_params.py0000644000000000000000000000247415102753431020475 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class MeterListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["active", "inactive"]] """ Filter results to only include meters with the given status. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_meter_modify_params.py0000644000000000000000000000066715102753431021013 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class MeterModifyParams(RequestOptions): display_name: NotRequired[str] """ The meter's name. Not visible to the customer. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_meter_reactivate_params.py0000644000000000000000000000052515102753431021644 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class MeterReactivateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_meter_retrieve_params.py0000644000000000000000000000052315102753431021340 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class MeterRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing/_meter_update_params.py0000644000000000000000000000061215102753431020774 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class MeterUpdateParams(TypedDict): display_name: NotRequired[str] """ The meter's name. Not visible to the customer. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing_portal/__init__.py0000644000000000000000000003704115102753431017742 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.billing_portal._configuration_create_params import ( ConfigurationCreateParams as ConfigurationCreateParams, ConfigurationCreateParamsBusinessProfile as ConfigurationCreateParamsBusinessProfile, ConfigurationCreateParamsFeatures as ConfigurationCreateParamsFeatures, ConfigurationCreateParamsFeaturesCustomerUpdate as ConfigurationCreateParamsFeaturesCustomerUpdate, ConfigurationCreateParamsFeaturesInvoiceHistory as ConfigurationCreateParamsFeaturesInvoiceHistory, ConfigurationCreateParamsFeaturesPaymentMethodUpdate as ConfigurationCreateParamsFeaturesPaymentMethodUpdate, ConfigurationCreateParamsFeaturesSubscriptionCancel as ConfigurationCreateParamsFeaturesSubscriptionCancel, ConfigurationCreateParamsFeaturesSubscriptionCancelCancellationReason as ConfigurationCreateParamsFeaturesSubscriptionCancelCancellationReason, ConfigurationCreateParamsFeaturesSubscriptionUpdate as ConfigurationCreateParamsFeaturesSubscriptionUpdate, ConfigurationCreateParamsFeaturesSubscriptionUpdateProduct as ConfigurationCreateParamsFeaturesSubscriptionUpdateProduct, ConfigurationCreateParamsFeaturesSubscriptionUpdateProductAdjustableQuantity as ConfigurationCreateParamsFeaturesSubscriptionUpdateProductAdjustableQuantity, ConfigurationCreateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEnd as ConfigurationCreateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEnd, ConfigurationCreateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEndCondition as ConfigurationCreateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEndCondition, ConfigurationCreateParamsLoginPage as ConfigurationCreateParamsLoginPage, ) from stripe.params.billing_portal._configuration_list_params import ( ConfigurationListParams as ConfigurationListParams, ) from stripe.params.billing_portal._configuration_modify_params import ( ConfigurationModifyParams as ConfigurationModifyParams, ConfigurationModifyParamsBusinessProfile as ConfigurationModifyParamsBusinessProfile, ConfigurationModifyParamsFeatures as ConfigurationModifyParamsFeatures, ConfigurationModifyParamsFeaturesCustomerUpdate as ConfigurationModifyParamsFeaturesCustomerUpdate, ConfigurationModifyParamsFeaturesInvoiceHistory as ConfigurationModifyParamsFeaturesInvoiceHistory, ConfigurationModifyParamsFeaturesPaymentMethodUpdate as ConfigurationModifyParamsFeaturesPaymentMethodUpdate, ConfigurationModifyParamsFeaturesSubscriptionCancel as ConfigurationModifyParamsFeaturesSubscriptionCancel, ConfigurationModifyParamsFeaturesSubscriptionCancelCancellationReason as ConfigurationModifyParamsFeaturesSubscriptionCancelCancellationReason, ConfigurationModifyParamsFeaturesSubscriptionUpdate as ConfigurationModifyParamsFeaturesSubscriptionUpdate, ConfigurationModifyParamsFeaturesSubscriptionUpdateProduct as ConfigurationModifyParamsFeaturesSubscriptionUpdateProduct, ConfigurationModifyParamsFeaturesSubscriptionUpdateProductAdjustableQuantity as ConfigurationModifyParamsFeaturesSubscriptionUpdateProductAdjustableQuantity, ConfigurationModifyParamsFeaturesSubscriptionUpdateScheduleAtPeriodEnd as ConfigurationModifyParamsFeaturesSubscriptionUpdateScheduleAtPeriodEnd, ConfigurationModifyParamsFeaturesSubscriptionUpdateScheduleAtPeriodEndCondition as ConfigurationModifyParamsFeaturesSubscriptionUpdateScheduleAtPeriodEndCondition, ConfigurationModifyParamsLoginPage as ConfigurationModifyParamsLoginPage, ) from stripe.params.billing_portal._configuration_retrieve_params import ( ConfigurationRetrieveParams as ConfigurationRetrieveParams, ) from stripe.params.billing_portal._configuration_update_params import ( ConfigurationUpdateParams as ConfigurationUpdateParams, ConfigurationUpdateParamsBusinessProfile as ConfigurationUpdateParamsBusinessProfile, ConfigurationUpdateParamsFeatures as ConfigurationUpdateParamsFeatures, ConfigurationUpdateParamsFeaturesCustomerUpdate as ConfigurationUpdateParamsFeaturesCustomerUpdate, ConfigurationUpdateParamsFeaturesInvoiceHistory as ConfigurationUpdateParamsFeaturesInvoiceHistory, ConfigurationUpdateParamsFeaturesPaymentMethodUpdate as ConfigurationUpdateParamsFeaturesPaymentMethodUpdate, ConfigurationUpdateParamsFeaturesSubscriptionCancel as ConfigurationUpdateParamsFeaturesSubscriptionCancel, ConfigurationUpdateParamsFeaturesSubscriptionCancelCancellationReason as ConfigurationUpdateParamsFeaturesSubscriptionCancelCancellationReason, ConfigurationUpdateParamsFeaturesSubscriptionUpdate as ConfigurationUpdateParamsFeaturesSubscriptionUpdate, ConfigurationUpdateParamsFeaturesSubscriptionUpdateProduct as ConfigurationUpdateParamsFeaturesSubscriptionUpdateProduct, ConfigurationUpdateParamsFeaturesSubscriptionUpdateProductAdjustableQuantity as ConfigurationUpdateParamsFeaturesSubscriptionUpdateProductAdjustableQuantity, ConfigurationUpdateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEnd as ConfigurationUpdateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEnd, ConfigurationUpdateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEndCondition as ConfigurationUpdateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEndCondition, ConfigurationUpdateParamsLoginPage as ConfigurationUpdateParamsLoginPage, ) from stripe.params.billing_portal._session_create_params import ( SessionCreateParams as SessionCreateParams, SessionCreateParamsFlowData as SessionCreateParamsFlowData, SessionCreateParamsFlowDataAfterCompletion as SessionCreateParamsFlowDataAfterCompletion, SessionCreateParamsFlowDataAfterCompletionHostedConfirmation as SessionCreateParamsFlowDataAfterCompletionHostedConfirmation, SessionCreateParamsFlowDataAfterCompletionRedirect as SessionCreateParamsFlowDataAfterCompletionRedirect, SessionCreateParamsFlowDataSubscriptionCancel as SessionCreateParamsFlowDataSubscriptionCancel, SessionCreateParamsFlowDataSubscriptionCancelRetention as SessionCreateParamsFlowDataSubscriptionCancelRetention, SessionCreateParamsFlowDataSubscriptionCancelRetentionCouponOffer as SessionCreateParamsFlowDataSubscriptionCancelRetentionCouponOffer, SessionCreateParamsFlowDataSubscriptionUpdate as SessionCreateParamsFlowDataSubscriptionUpdate, SessionCreateParamsFlowDataSubscriptionUpdateConfirm as SessionCreateParamsFlowDataSubscriptionUpdateConfirm, SessionCreateParamsFlowDataSubscriptionUpdateConfirmDiscount as SessionCreateParamsFlowDataSubscriptionUpdateConfirmDiscount, SessionCreateParamsFlowDataSubscriptionUpdateConfirmItem as SessionCreateParamsFlowDataSubscriptionUpdateConfirmItem, ) # name -> (import_target, is_submodule) _import_map = { "ConfigurationCreateParams": ( "stripe.params.billing_portal._configuration_create_params", False, ), "ConfigurationCreateParamsBusinessProfile": ( "stripe.params.billing_portal._configuration_create_params", False, ), "ConfigurationCreateParamsFeatures": ( "stripe.params.billing_portal._configuration_create_params", False, ), "ConfigurationCreateParamsFeaturesCustomerUpdate": ( "stripe.params.billing_portal._configuration_create_params", False, ), "ConfigurationCreateParamsFeaturesInvoiceHistory": ( "stripe.params.billing_portal._configuration_create_params", False, ), "ConfigurationCreateParamsFeaturesPaymentMethodUpdate": ( "stripe.params.billing_portal._configuration_create_params", False, ), "ConfigurationCreateParamsFeaturesSubscriptionCancel": ( "stripe.params.billing_portal._configuration_create_params", False, ), "ConfigurationCreateParamsFeaturesSubscriptionCancelCancellationReason": ( "stripe.params.billing_portal._configuration_create_params", False, ), "ConfigurationCreateParamsFeaturesSubscriptionUpdate": ( "stripe.params.billing_portal._configuration_create_params", False, ), "ConfigurationCreateParamsFeaturesSubscriptionUpdateProduct": ( "stripe.params.billing_portal._configuration_create_params", False, ), "ConfigurationCreateParamsFeaturesSubscriptionUpdateProductAdjustableQuantity": ( "stripe.params.billing_portal._configuration_create_params", False, ), "ConfigurationCreateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEnd": ( "stripe.params.billing_portal._configuration_create_params", False, ), "ConfigurationCreateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEndCondition": ( "stripe.params.billing_portal._configuration_create_params", False, ), "ConfigurationCreateParamsLoginPage": ( "stripe.params.billing_portal._configuration_create_params", False, ), "ConfigurationListParams": ( "stripe.params.billing_portal._configuration_list_params", False, ), "ConfigurationModifyParams": ( "stripe.params.billing_portal._configuration_modify_params", False, ), "ConfigurationModifyParamsBusinessProfile": ( "stripe.params.billing_portal._configuration_modify_params", False, ), "ConfigurationModifyParamsFeatures": ( "stripe.params.billing_portal._configuration_modify_params", False, ), "ConfigurationModifyParamsFeaturesCustomerUpdate": ( "stripe.params.billing_portal._configuration_modify_params", False, ), "ConfigurationModifyParamsFeaturesInvoiceHistory": ( "stripe.params.billing_portal._configuration_modify_params", False, ), "ConfigurationModifyParamsFeaturesPaymentMethodUpdate": ( "stripe.params.billing_portal._configuration_modify_params", False, ), "ConfigurationModifyParamsFeaturesSubscriptionCancel": ( "stripe.params.billing_portal._configuration_modify_params", False, ), "ConfigurationModifyParamsFeaturesSubscriptionCancelCancellationReason": ( "stripe.params.billing_portal._configuration_modify_params", False, ), "ConfigurationModifyParamsFeaturesSubscriptionUpdate": ( "stripe.params.billing_portal._configuration_modify_params", False, ), "ConfigurationModifyParamsFeaturesSubscriptionUpdateProduct": ( "stripe.params.billing_portal._configuration_modify_params", False, ), "ConfigurationModifyParamsFeaturesSubscriptionUpdateProductAdjustableQuantity": ( "stripe.params.billing_portal._configuration_modify_params", False, ), "ConfigurationModifyParamsFeaturesSubscriptionUpdateScheduleAtPeriodEnd": ( "stripe.params.billing_portal._configuration_modify_params", False, ), "ConfigurationModifyParamsFeaturesSubscriptionUpdateScheduleAtPeriodEndCondition": ( "stripe.params.billing_portal._configuration_modify_params", False, ), "ConfigurationModifyParamsLoginPage": ( "stripe.params.billing_portal._configuration_modify_params", False, ), "ConfigurationRetrieveParams": ( "stripe.params.billing_portal._configuration_retrieve_params", False, ), "ConfigurationUpdateParams": ( "stripe.params.billing_portal._configuration_update_params", False, ), "ConfigurationUpdateParamsBusinessProfile": ( "stripe.params.billing_portal._configuration_update_params", False, ), "ConfigurationUpdateParamsFeatures": ( "stripe.params.billing_portal._configuration_update_params", False, ), "ConfigurationUpdateParamsFeaturesCustomerUpdate": ( "stripe.params.billing_portal._configuration_update_params", False, ), "ConfigurationUpdateParamsFeaturesInvoiceHistory": ( "stripe.params.billing_portal._configuration_update_params", False, ), "ConfigurationUpdateParamsFeaturesPaymentMethodUpdate": ( "stripe.params.billing_portal._configuration_update_params", False, ), "ConfigurationUpdateParamsFeaturesSubscriptionCancel": ( "stripe.params.billing_portal._configuration_update_params", False, ), "ConfigurationUpdateParamsFeaturesSubscriptionCancelCancellationReason": ( "stripe.params.billing_portal._configuration_update_params", False, ), "ConfigurationUpdateParamsFeaturesSubscriptionUpdate": ( "stripe.params.billing_portal._configuration_update_params", False, ), "ConfigurationUpdateParamsFeaturesSubscriptionUpdateProduct": ( "stripe.params.billing_portal._configuration_update_params", False, ), "ConfigurationUpdateParamsFeaturesSubscriptionUpdateProductAdjustableQuantity": ( "stripe.params.billing_portal._configuration_update_params", False, ), "ConfigurationUpdateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEnd": ( "stripe.params.billing_portal._configuration_update_params", False, ), "ConfigurationUpdateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEndCondition": ( "stripe.params.billing_portal._configuration_update_params", False, ), "ConfigurationUpdateParamsLoginPage": ( "stripe.params.billing_portal._configuration_update_params", False, ), "SessionCreateParams": ( "stripe.params.billing_portal._session_create_params", False, ), "SessionCreateParamsFlowData": ( "stripe.params.billing_portal._session_create_params", False, ), "SessionCreateParamsFlowDataAfterCompletion": ( "stripe.params.billing_portal._session_create_params", False, ), "SessionCreateParamsFlowDataAfterCompletionHostedConfirmation": ( "stripe.params.billing_portal._session_create_params", False, ), "SessionCreateParamsFlowDataAfterCompletionRedirect": ( "stripe.params.billing_portal._session_create_params", False, ), "SessionCreateParamsFlowDataSubscriptionCancel": ( "stripe.params.billing_portal._session_create_params", False, ), "SessionCreateParamsFlowDataSubscriptionCancelRetention": ( "stripe.params.billing_portal._session_create_params", False, ), "SessionCreateParamsFlowDataSubscriptionCancelRetentionCouponOffer": ( "stripe.params.billing_portal._session_create_params", False, ), "SessionCreateParamsFlowDataSubscriptionUpdate": ( "stripe.params.billing_portal._session_create_params", False, ), "SessionCreateParamsFlowDataSubscriptionUpdateConfirm": ( "stripe.params.billing_portal._session_create_params", False, ), "SessionCreateParamsFlowDataSubscriptionUpdateConfirmDiscount": ( "stripe.params.billing_portal._session_create_params", False, ), "SessionCreateParamsFlowDataSubscriptionUpdateConfirmItem": ( "stripe.params.billing_portal._session_create_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing_portal/_configuration_create_params.py0000644000000000000000000002135215102753431024075 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict class ConfigurationCreateParams(RequestOptions): business_profile: NotRequired["ConfigurationCreateParamsBusinessProfile"] """ The business information shown to customers in the portal. """ default_return_url: NotRequired["Literal['']|str"] """ The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ features: "ConfigurationCreateParamsFeatures" """ Information about the features available in the portal. """ login_page: NotRequired["ConfigurationCreateParamsLoginPage"] """ The hosted login page for this configuration. Learn more about the portal login page in our [integration docs](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal#share). """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired["Literal['']|str"] """ The name of the configuration. """ class ConfigurationCreateParamsBusinessProfile(TypedDict): headline: NotRequired["Literal['']|str"] """ The messaging shown to customers in the portal. """ privacy_policy_url: NotRequired[str] """ A link to the business's publicly available privacy policy. """ terms_of_service_url: NotRequired[str] """ A link to the business's publicly available terms of service. """ class ConfigurationCreateParamsFeatures(TypedDict): customer_update: NotRequired[ "ConfigurationCreateParamsFeaturesCustomerUpdate" ] """ Information about updating the customer details in the portal. """ invoice_history: NotRequired[ "ConfigurationCreateParamsFeaturesInvoiceHistory" ] """ Information about showing the billing history in the portal. """ payment_method_update: NotRequired[ "ConfigurationCreateParamsFeaturesPaymentMethodUpdate" ] """ Information about updating payment methods in the portal. """ subscription_cancel: NotRequired[ "ConfigurationCreateParamsFeaturesSubscriptionCancel" ] """ Information about canceling subscriptions in the portal. """ subscription_update: NotRequired[ "ConfigurationCreateParamsFeaturesSubscriptionUpdate" ] """ Information about updating subscriptions in the portal. """ class ConfigurationCreateParamsFeaturesCustomerUpdate(TypedDict): allowed_updates: NotRequired[ "Literal['']|List[Literal['address', 'email', 'name', 'phone', 'shipping', 'tax_id']]" ] """ The types of customer updates that are supported. When empty, customers are not updateable. """ enabled: bool """ Whether the feature is enabled. """ class ConfigurationCreateParamsFeaturesInvoiceHistory(TypedDict): enabled: bool """ Whether the feature is enabled. """ class ConfigurationCreateParamsFeaturesPaymentMethodUpdate(TypedDict): enabled: bool """ Whether the feature is enabled. """ payment_method_configuration: NotRequired["Literal['']|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 or set to an empty string, the default payment method configuration is used. """ class ConfigurationCreateParamsFeaturesSubscriptionCancel(TypedDict): cancellation_reason: NotRequired[ "ConfigurationCreateParamsFeaturesSubscriptionCancelCancellationReason" ] """ Whether the cancellation reasons will be collected in the portal and which options are exposed to the customer """ enabled: bool """ Whether the feature is enabled. """ mode: NotRequired[Literal["at_period_end", "immediately"]] """ Whether to cancel subscriptions immediately or at the end of the billing period. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Whether to create prorations when canceling subscriptions. Possible values are `none` and `create_prorations`, which is only compatible with `mode=immediately`. Passing `always_invoice` will result in an error. No prorations are generated when canceling a subscription at the end of its natural billing period. """ class ConfigurationCreateParamsFeaturesSubscriptionCancelCancellationReason( TypedDict, ): enabled: bool """ Whether the feature is enabled. """ options: Union[ Literal[""], List[ Literal[ "customer_service", "low_quality", "missing_features", "other", "switched_service", "too_complex", "too_expensive", "unused", ] ], ] """ Which cancellation reasons will be given as options to the customer. """ class ConfigurationCreateParamsFeaturesSubscriptionUpdate(TypedDict): default_allowed_updates: NotRequired[ "Literal['']|List[Literal['price', 'promotion_code', 'quantity']]" ] """ The types of subscription updates that are supported. When empty, subscriptions are not updateable. """ enabled: bool """ Whether the feature is enabled. """ products: NotRequired[ "Literal['']|List[ConfigurationCreateParamsFeaturesSubscriptionUpdateProduct]" ] """ The list of up to 10 products that support subscription updates. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Determines how to handle prorations resulting from subscription updates. Valid values are `none`, `create_prorations`, and `always_invoice`. """ schedule_at_period_end: NotRequired[ "ConfigurationCreateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEnd" ] """ Setting to control when an update should be scheduled at the end of the period instead of applying immediately. """ trial_update_behavior: NotRequired[Literal["continue_trial", "end_trial"]] """ The behavior when updating a subscription that is trialing. """ class ConfigurationCreateParamsFeaturesSubscriptionUpdateProduct(TypedDict): adjustable_quantity: NotRequired[ "ConfigurationCreateParamsFeaturesSubscriptionUpdateProductAdjustableQuantity" ] """ Control whether the quantity of the product can be adjusted. """ prices: List[str] """ The list of price IDs for the product that a subscription can be updated to. """ product: str """ The product id. """ class ConfigurationCreateParamsFeaturesSubscriptionUpdateProductAdjustableQuantity( TypedDict, ): enabled: bool """ Set to true if the quantity can be adjusted to any non-negative integer. """ maximum: NotRequired[int] """ The maximum quantity that can be set for the product. """ minimum: NotRequired[int] """ The minimum quantity that can be set for the product. """ class ConfigurationCreateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEnd( TypedDict, ): conditions: NotRequired[ List[ "ConfigurationCreateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEndCondition" ] ] """ List of conditions. When any condition is true, the update will be scheduled at the end of the current period. """ class ConfigurationCreateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEndCondition( TypedDict, ): type: Literal["decreasing_item_amount", "shortening_interval"] """ The type of condition. """ class ConfigurationCreateParamsLoginPage(TypedDict): enabled: bool """ Set to `true` to generate a shareable URL [`login_page.url`](https://stripe.com/docs/api/customer_portal/configuration#portal_configuration_object-login_page-url) that will take your customers to a hosted login page for the customer portal. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing_portal/_configuration_list_params.py0000644000000000000000000000277415102753431023614 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ConfigurationListParams(RequestOptions): active: NotRequired[bool] """ Only return configurations that are active or inactive (e.g., pass `true` to only list active configurations). """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ is_default: NotRequired[bool] """ Only return the default or non-default configurations (e.g., pass `true` to only list the default configuration). """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing_portal/_configuration_modify_params.py0000644000000000000000000002151115102753431024116 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class ConfigurationModifyParams(RequestOptions): active: NotRequired[bool] """ Whether the configuration is active and can be used to create portal sessions. """ business_profile: NotRequired["ConfigurationModifyParamsBusinessProfile"] """ The business information shown to customers in the portal. """ default_return_url: NotRequired["Literal['']|str"] """ The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ features: NotRequired["ConfigurationModifyParamsFeatures"] """ Information about the features available in the portal. """ login_page: NotRequired["ConfigurationModifyParamsLoginPage"] """ The hosted login page for this configuration. Learn more about the portal login page in our [integration docs](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal#share). """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired["Literal['']|str"] """ The name of the configuration. """ class ConfigurationModifyParamsBusinessProfile(TypedDict): headline: NotRequired["Literal['']|str"] """ The messaging shown to customers in the portal. """ privacy_policy_url: NotRequired["Literal['']|str"] """ A link to the business's publicly available privacy policy. """ terms_of_service_url: NotRequired["Literal['']|str"] """ A link to the business's publicly available terms of service. """ class ConfigurationModifyParamsFeatures(TypedDict): customer_update: NotRequired[ "ConfigurationModifyParamsFeaturesCustomerUpdate" ] """ Information about updating the customer details in the portal. """ invoice_history: NotRequired[ "ConfigurationModifyParamsFeaturesInvoiceHistory" ] """ Information about showing the billing history in the portal. """ payment_method_update: NotRequired[ "ConfigurationModifyParamsFeaturesPaymentMethodUpdate" ] """ Information about updating payment methods in the portal. """ subscription_cancel: NotRequired[ "ConfigurationModifyParamsFeaturesSubscriptionCancel" ] """ Information about canceling subscriptions in the portal. """ subscription_update: NotRequired[ "ConfigurationModifyParamsFeaturesSubscriptionUpdate" ] """ Information about updating subscriptions in the portal. """ class ConfigurationModifyParamsFeaturesCustomerUpdate(TypedDict): allowed_updates: NotRequired[ "Literal['']|List[Literal['address', 'email', 'name', 'phone', 'shipping', 'tax_id']]" ] """ The types of customer updates that are supported. When empty, customers are not updateable. """ enabled: NotRequired[bool] """ Whether the feature is enabled. """ class ConfigurationModifyParamsFeaturesInvoiceHistory(TypedDict): enabled: bool """ Whether the feature is enabled. """ class ConfigurationModifyParamsFeaturesPaymentMethodUpdate(TypedDict): enabled: bool """ Whether the feature is enabled. """ payment_method_configuration: NotRequired["Literal['']|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 or set to an empty string, the default payment method configuration is used. """ class ConfigurationModifyParamsFeaturesSubscriptionCancel(TypedDict): cancellation_reason: NotRequired[ "ConfigurationModifyParamsFeaturesSubscriptionCancelCancellationReason" ] """ Whether the cancellation reasons will be collected in the portal and which options are exposed to the customer """ enabled: NotRequired[bool] """ Whether the feature is enabled. """ mode: NotRequired[Literal["at_period_end", "immediately"]] """ Whether to cancel subscriptions immediately or at the end of the billing period. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Whether to create prorations when canceling subscriptions. Possible values are `none` and `create_prorations`, which is only compatible with `mode=immediately`. Passing `always_invoice` will result in an error. No prorations are generated when canceling a subscription at the end of its natural billing period. """ class ConfigurationModifyParamsFeaturesSubscriptionCancelCancellationReason( TypedDict, ): enabled: bool """ Whether the feature is enabled. """ options: NotRequired[ "Literal['']|List[Literal['customer_service', 'low_quality', 'missing_features', 'other', 'switched_service', 'too_complex', 'too_expensive', 'unused']]" ] """ Which cancellation reasons will be given as options to the customer. """ class ConfigurationModifyParamsFeaturesSubscriptionUpdate(TypedDict): default_allowed_updates: NotRequired[ "Literal['']|List[Literal['price', 'promotion_code', 'quantity']]" ] """ The types of subscription updates that are supported. When empty, subscriptions are not updateable. """ enabled: NotRequired[bool] """ Whether the feature is enabled. """ products: NotRequired[ "Literal['']|List[ConfigurationModifyParamsFeaturesSubscriptionUpdateProduct]" ] """ The list of up to 10 products that support subscription updates. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Determines how to handle prorations resulting from subscription updates. Valid values are `none`, `create_prorations`, and `always_invoice`. """ schedule_at_period_end: NotRequired[ "ConfigurationModifyParamsFeaturesSubscriptionUpdateScheduleAtPeriodEnd" ] """ Setting to control when an update should be scheduled at the end of the period instead of applying immediately. """ trial_update_behavior: NotRequired[Literal["continue_trial", "end_trial"]] """ The behavior when updating a subscription that is trialing. """ class ConfigurationModifyParamsFeaturesSubscriptionUpdateProduct(TypedDict): adjustable_quantity: NotRequired[ "ConfigurationModifyParamsFeaturesSubscriptionUpdateProductAdjustableQuantity" ] """ Control whether the quantity of the product can be adjusted. """ prices: List[str] """ The list of price IDs for the product that a subscription can be updated to. """ product: str """ The product id. """ class ConfigurationModifyParamsFeaturesSubscriptionUpdateProductAdjustableQuantity( TypedDict, ): enabled: bool """ Set to true if the quantity can be adjusted to any non-negative integer. """ maximum: NotRequired[int] """ The maximum quantity that can be set for the product. """ minimum: NotRequired[int] """ The minimum quantity that can be set for the product. """ class ConfigurationModifyParamsFeaturesSubscriptionUpdateScheduleAtPeriodEnd( TypedDict, ): conditions: NotRequired[ "Literal['']|List[ConfigurationModifyParamsFeaturesSubscriptionUpdateScheduleAtPeriodEndCondition]" ] """ List of conditions. When any condition is true, the update will be scheduled at the end of the current period. """ class ConfigurationModifyParamsFeaturesSubscriptionUpdateScheduleAtPeriodEndCondition( TypedDict, ): type: Literal["decreasing_item_amount", "shortening_interval"] """ The type of condition. """ class ConfigurationModifyParamsLoginPage(TypedDict): enabled: bool """ Set to `true` to generate a shareable URL [`login_page.url`](https://stripe.com/docs/api/customer_portal/configuration#portal_configuration_object-login_page-url) that will take your customers to a hosted login page for the customer portal. Set to `false` to deactivate the `login_page.url`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing_portal/_configuration_retrieve_params.py0000644000000000000000000000053315102753431024455 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ConfigurationRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing_portal/_configuration_update_params.py0000644000000000000000000002142115102753431024111 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class ConfigurationUpdateParams(TypedDict): active: NotRequired[bool] """ Whether the configuration is active and can be used to create portal sessions. """ business_profile: NotRequired["ConfigurationUpdateParamsBusinessProfile"] """ The business information shown to customers in the portal. """ default_return_url: NotRequired["Literal['']|str"] """ The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ features: NotRequired["ConfigurationUpdateParamsFeatures"] """ Information about the features available in the portal. """ login_page: NotRequired["ConfigurationUpdateParamsLoginPage"] """ The hosted login page for this configuration. Learn more about the portal login page in our [integration docs](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal#share). """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired["Literal['']|str"] """ The name of the configuration. """ class ConfigurationUpdateParamsBusinessProfile(TypedDict): headline: NotRequired["Literal['']|str"] """ The messaging shown to customers in the portal. """ privacy_policy_url: NotRequired["Literal['']|str"] """ A link to the business's publicly available privacy policy. """ terms_of_service_url: NotRequired["Literal['']|str"] """ A link to the business's publicly available terms of service. """ class ConfigurationUpdateParamsFeatures(TypedDict): customer_update: NotRequired[ "ConfigurationUpdateParamsFeaturesCustomerUpdate" ] """ Information about updating the customer details in the portal. """ invoice_history: NotRequired[ "ConfigurationUpdateParamsFeaturesInvoiceHistory" ] """ Information about showing the billing history in the portal. """ payment_method_update: NotRequired[ "ConfigurationUpdateParamsFeaturesPaymentMethodUpdate" ] """ Information about updating payment methods in the portal. """ subscription_cancel: NotRequired[ "ConfigurationUpdateParamsFeaturesSubscriptionCancel" ] """ Information about canceling subscriptions in the portal. """ subscription_update: NotRequired[ "ConfigurationUpdateParamsFeaturesSubscriptionUpdate" ] """ Information about updating subscriptions in the portal. """ class ConfigurationUpdateParamsFeaturesCustomerUpdate(TypedDict): allowed_updates: NotRequired[ "Literal['']|List[Literal['address', 'email', 'name', 'phone', 'shipping', 'tax_id']]" ] """ The types of customer updates that are supported. When empty, customers are not updateable. """ enabled: NotRequired[bool] """ Whether the feature is enabled. """ class ConfigurationUpdateParamsFeaturesInvoiceHistory(TypedDict): enabled: bool """ Whether the feature is enabled. """ class ConfigurationUpdateParamsFeaturesPaymentMethodUpdate(TypedDict): enabled: bool """ Whether the feature is enabled. """ payment_method_configuration: NotRequired["Literal['']|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 or set to an empty string, the default payment method configuration is used. """ class ConfigurationUpdateParamsFeaturesSubscriptionCancel(TypedDict): cancellation_reason: NotRequired[ "ConfigurationUpdateParamsFeaturesSubscriptionCancelCancellationReason" ] """ Whether the cancellation reasons will be collected in the portal and which options are exposed to the customer """ enabled: NotRequired[bool] """ Whether the feature is enabled. """ mode: NotRequired[Literal["at_period_end", "immediately"]] """ Whether to cancel subscriptions immediately or at the end of the billing period. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Whether to create prorations when canceling subscriptions. Possible values are `none` and `create_prorations`, which is only compatible with `mode=immediately`. Passing `always_invoice` will result in an error. No prorations are generated when canceling a subscription at the end of its natural billing period. """ class ConfigurationUpdateParamsFeaturesSubscriptionCancelCancellationReason( TypedDict, ): enabled: bool """ Whether the feature is enabled. """ options: NotRequired[ "Literal['']|List[Literal['customer_service', 'low_quality', 'missing_features', 'other', 'switched_service', 'too_complex', 'too_expensive', 'unused']]" ] """ Which cancellation reasons will be given as options to the customer. """ class ConfigurationUpdateParamsFeaturesSubscriptionUpdate(TypedDict): default_allowed_updates: NotRequired[ "Literal['']|List[Literal['price', 'promotion_code', 'quantity']]" ] """ The types of subscription updates that are supported. When empty, subscriptions are not updateable. """ enabled: NotRequired[bool] """ Whether the feature is enabled. """ products: NotRequired[ "Literal['']|List[ConfigurationUpdateParamsFeaturesSubscriptionUpdateProduct]" ] """ The list of up to 10 products that support subscription updates. """ proration_behavior: NotRequired[ Literal["always_invoice", "create_prorations", "none"] ] """ Determines how to handle prorations resulting from subscription updates. Valid values are `none`, `create_prorations`, and `always_invoice`. """ schedule_at_period_end: NotRequired[ "ConfigurationUpdateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEnd" ] """ Setting to control when an update should be scheduled at the end of the period instead of applying immediately. """ trial_update_behavior: NotRequired[Literal["continue_trial", "end_trial"]] """ The behavior when updating a subscription that is trialing. """ class ConfigurationUpdateParamsFeaturesSubscriptionUpdateProduct(TypedDict): adjustable_quantity: NotRequired[ "ConfigurationUpdateParamsFeaturesSubscriptionUpdateProductAdjustableQuantity" ] """ Control whether the quantity of the product can be adjusted. """ prices: List[str] """ The list of price IDs for the product that a subscription can be updated to. """ product: str """ The product id. """ class ConfigurationUpdateParamsFeaturesSubscriptionUpdateProductAdjustableQuantity( TypedDict, ): enabled: bool """ Set to true if the quantity can be adjusted to any non-negative integer. """ maximum: NotRequired[int] """ The maximum quantity that can be set for the product. """ minimum: NotRequired[int] """ The minimum quantity that can be set for the product. """ class ConfigurationUpdateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEnd( TypedDict, ): conditions: NotRequired[ "Literal['']|List[ConfigurationUpdateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEndCondition]" ] """ List of conditions. When any condition is true, the update will be scheduled at the end of the current period. """ class ConfigurationUpdateParamsFeaturesSubscriptionUpdateScheduleAtPeriodEndCondition( TypedDict, ): type: Literal["decreasing_item_amount", "shortening_interval"] """ The type of condition. """ class ConfigurationUpdateParamsLoginPage(TypedDict): enabled: bool """ Set to `true` to generate a shareable URL [`login_page.url`](https://stripe.com/docs/api/customer_portal/configuration#portal_configuration_object-login_page-url) that will take your customers to a hosted login page for the customer portal. Set to `false` to deactivate the `login_page.url`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.364062 stripe-13.2.0/stripe/params/billing_portal/_session_create_params.py0000644000000000000000000001641715102753431022717 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class SessionCreateParams(RequestOptions): configuration: NotRequired[str] """ The ID of an existing [configuration](https://stripe.com/docs/api/customer_portal/configuration) to use for this session, describing its functionality and features. If not specified, the session uses the default configuration. """ customer: str """ The ID of an existing customer. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ flow_data: NotRequired["SessionCreateParamsFlowData"] """ Information about a specific flow for the customer to go through. See the [docs](https://stripe.com/docs/customer-management/portal-deep-links) to learn more about using customer portal deep links and flows. """ locale: NotRequired[ Literal[ "auto", "bg", "cs", "da", "de", "el", "en", "en-AU", "en-CA", "en-GB", "en-IE", "en-IN", "en-NZ", "en-SG", "es", "es-419", "et", "fi", "fil", "fr", "fr-CA", "hr", "hu", "id", "it", "ja", "ko", "lt", "lv", "ms", "mt", "nb", "nl", "pl", "pt", "pt-BR", "ro", "ru", "sk", "sl", "sv", "th", "tr", "vi", "zh", "zh-HK", "zh-TW", ] ] """ The IETF language tag of the locale customer portal is displayed in. If blank or auto, the customer's `preferred_locales` or browser's locale is used. """ on_behalf_of: NotRequired[str] """ The `on_behalf_of` account to use for this session. When specified, only subscriptions and invoices with this `on_behalf_of` account appear in the portal. For more information, see the [docs](https://stripe.com/docs/connect/separate-charges-and-transfers#settlement-merchant). Use the [Accounts API](https://stripe.com/docs/api/accounts/object#account_object-settings-branding) to modify the `on_behalf_of` account's branding settings, which the portal displays. """ return_url: NotRequired[str] """ The default URL to redirect customers to when they click on the portal's link to return to your website. """ class SessionCreateParamsFlowData(TypedDict): after_completion: NotRequired["SessionCreateParamsFlowDataAfterCompletion"] """ Behavior after the flow is completed. """ subscription_cancel: NotRequired[ "SessionCreateParamsFlowDataSubscriptionCancel" ] """ Configuration when `flow_data.type=subscription_cancel`. """ subscription_update: NotRequired[ "SessionCreateParamsFlowDataSubscriptionUpdate" ] """ Configuration when `flow_data.type=subscription_update`. """ subscription_update_confirm: NotRequired[ "SessionCreateParamsFlowDataSubscriptionUpdateConfirm" ] """ Configuration when `flow_data.type=subscription_update_confirm`. """ type: Literal[ "payment_method_update", "subscription_cancel", "subscription_update", "subscription_update_confirm", ] """ Type of flow that the customer will go through. """ class SessionCreateParamsFlowDataAfterCompletion(TypedDict): hosted_confirmation: NotRequired[ "SessionCreateParamsFlowDataAfterCompletionHostedConfirmation" ] """ Configuration when `after_completion.type=hosted_confirmation`. """ redirect: NotRequired["SessionCreateParamsFlowDataAfterCompletionRedirect"] """ Configuration when `after_completion.type=redirect`. """ type: Literal["hosted_confirmation", "portal_homepage", "redirect"] """ The specified behavior after the flow is completed. """ class SessionCreateParamsFlowDataAfterCompletionHostedConfirmation(TypedDict): custom_message: NotRequired[str] """ A custom message to display to the customer after the flow is completed. """ class SessionCreateParamsFlowDataAfterCompletionRedirect(TypedDict): return_url: str """ The URL the customer will be redirected to after the flow is completed. """ class SessionCreateParamsFlowDataSubscriptionCancel(TypedDict): retention: NotRequired[ "SessionCreateParamsFlowDataSubscriptionCancelRetention" ] """ Specify a retention strategy to be used in the cancellation flow. """ subscription: str """ The ID of the subscription to be canceled. """ class SessionCreateParamsFlowDataSubscriptionCancelRetention(TypedDict): coupon_offer: ( "SessionCreateParamsFlowDataSubscriptionCancelRetentionCouponOffer" ) """ Configuration when `retention.type=coupon_offer`. """ type: Literal["coupon_offer"] """ Type of retention strategy to use with the customer. """ class SessionCreateParamsFlowDataSubscriptionCancelRetentionCouponOffer( TypedDict, ): coupon: str """ The ID of the coupon to be offered. """ class SessionCreateParamsFlowDataSubscriptionUpdate(TypedDict): subscription: str """ The ID of the subscription to be updated. """ class SessionCreateParamsFlowDataSubscriptionUpdateConfirm(TypedDict): discounts: NotRequired[ List["SessionCreateParamsFlowDataSubscriptionUpdateConfirmDiscount"] ] """ The coupon or promotion code to apply to this subscription update. """ items: List["SessionCreateParamsFlowDataSubscriptionUpdateConfirmItem"] """ The [subscription item](https://stripe.com/docs/api/subscription_items) to be updated through this flow. Currently, only up to one may be specified and subscriptions with multiple items are not updatable. """ subscription: str """ The ID of the subscription to be updated. """ class SessionCreateParamsFlowDataSubscriptionUpdateConfirmDiscount(TypedDict): coupon: NotRequired[str] """ The ID of the coupon to apply to this subscription update. """ promotion_code: NotRequired[str] """ The ID of a promotion code to apply to this subscription update. """ class SessionCreateParamsFlowDataSubscriptionUpdateConfirmItem(TypedDict): id: str """ The ID of the [subscription item](https://stripe.com/docs/api/subscriptions/object#subscription_object-items-data-id) to be updated. """ price: NotRequired[str] """ The price the customer should subscribe to through this flow. The price must also be included in the configuration's [`features.subscription_update.products`](https://stripe.com/docs/api/customer_portal/configuration#portal_configuration_object-features-subscription_update-products). """ quantity: NotRequired[int] """ [Quantity](https://stripe.com/docs/subscriptions/quantities) for this item that the customer should subscribe to through this flow. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/checkout/__init__.py0000644000000000000000000011125715102753431016550 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.checkout._session_create_params import ( SessionCreateParams as SessionCreateParams, SessionCreateParamsAdaptivePricing as SessionCreateParamsAdaptivePricing, SessionCreateParamsAfterExpiration as SessionCreateParamsAfterExpiration, SessionCreateParamsAfterExpirationRecovery as SessionCreateParamsAfterExpirationRecovery, SessionCreateParamsAutomaticTax as SessionCreateParamsAutomaticTax, SessionCreateParamsAutomaticTaxLiability as SessionCreateParamsAutomaticTaxLiability, SessionCreateParamsBrandingSettings as SessionCreateParamsBrandingSettings, SessionCreateParamsBrandingSettingsIcon as SessionCreateParamsBrandingSettingsIcon, SessionCreateParamsBrandingSettingsLogo as SessionCreateParamsBrandingSettingsLogo, SessionCreateParamsConsentCollection as SessionCreateParamsConsentCollection, SessionCreateParamsConsentCollectionPaymentMethodReuseAgreement as SessionCreateParamsConsentCollectionPaymentMethodReuseAgreement, SessionCreateParamsCustomField as SessionCreateParamsCustomField, SessionCreateParamsCustomFieldDropdown as SessionCreateParamsCustomFieldDropdown, SessionCreateParamsCustomFieldDropdownOption as SessionCreateParamsCustomFieldDropdownOption, SessionCreateParamsCustomFieldLabel as SessionCreateParamsCustomFieldLabel, SessionCreateParamsCustomFieldNumeric as SessionCreateParamsCustomFieldNumeric, SessionCreateParamsCustomFieldText as SessionCreateParamsCustomFieldText, SessionCreateParamsCustomText as SessionCreateParamsCustomText, SessionCreateParamsCustomTextAfterSubmit as SessionCreateParamsCustomTextAfterSubmit, SessionCreateParamsCustomTextShippingAddress as SessionCreateParamsCustomTextShippingAddress, SessionCreateParamsCustomTextSubmit as SessionCreateParamsCustomTextSubmit, SessionCreateParamsCustomTextTermsOfServiceAcceptance as SessionCreateParamsCustomTextTermsOfServiceAcceptance, SessionCreateParamsCustomerUpdate as SessionCreateParamsCustomerUpdate, SessionCreateParamsDiscount as SessionCreateParamsDiscount, SessionCreateParamsInvoiceCreation as SessionCreateParamsInvoiceCreation, SessionCreateParamsInvoiceCreationInvoiceData as SessionCreateParamsInvoiceCreationInvoiceData, SessionCreateParamsInvoiceCreationInvoiceDataCustomField as SessionCreateParamsInvoiceCreationInvoiceDataCustomField, SessionCreateParamsInvoiceCreationInvoiceDataIssuer as SessionCreateParamsInvoiceCreationInvoiceDataIssuer, SessionCreateParamsInvoiceCreationInvoiceDataRenderingOptions as SessionCreateParamsInvoiceCreationInvoiceDataRenderingOptions, SessionCreateParamsLineItem as SessionCreateParamsLineItem, SessionCreateParamsLineItemAdjustableQuantity as SessionCreateParamsLineItemAdjustableQuantity, SessionCreateParamsLineItemPriceData as SessionCreateParamsLineItemPriceData, SessionCreateParamsLineItemPriceDataProductData as SessionCreateParamsLineItemPriceDataProductData, SessionCreateParamsLineItemPriceDataRecurring as SessionCreateParamsLineItemPriceDataRecurring, SessionCreateParamsNameCollection as SessionCreateParamsNameCollection, SessionCreateParamsNameCollectionBusiness as SessionCreateParamsNameCollectionBusiness, SessionCreateParamsNameCollectionIndividual as SessionCreateParamsNameCollectionIndividual, SessionCreateParamsOptionalItem as SessionCreateParamsOptionalItem, SessionCreateParamsOptionalItemAdjustableQuantity as SessionCreateParamsOptionalItemAdjustableQuantity, SessionCreateParamsPaymentIntentData as SessionCreateParamsPaymentIntentData, SessionCreateParamsPaymentIntentDataShipping as SessionCreateParamsPaymentIntentDataShipping, SessionCreateParamsPaymentIntentDataShippingAddress as SessionCreateParamsPaymentIntentDataShippingAddress, SessionCreateParamsPaymentIntentDataTransferData as SessionCreateParamsPaymentIntentDataTransferData, SessionCreateParamsPaymentMethodData as SessionCreateParamsPaymentMethodData, SessionCreateParamsPaymentMethodOptions as SessionCreateParamsPaymentMethodOptions, SessionCreateParamsPaymentMethodOptionsAcssDebit as SessionCreateParamsPaymentMethodOptionsAcssDebit, SessionCreateParamsPaymentMethodOptionsAcssDebitMandateOptions as SessionCreateParamsPaymentMethodOptionsAcssDebitMandateOptions, SessionCreateParamsPaymentMethodOptionsAffirm as SessionCreateParamsPaymentMethodOptionsAffirm, SessionCreateParamsPaymentMethodOptionsAfterpayClearpay as SessionCreateParamsPaymentMethodOptionsAfterpayClearpay, SessionCreateParamsPaymentMethodOptionsAlipay as SessionCreateParamsPaymentMethodOptionsAlipay, SessionCreateParamsPaymentMethodOptionsAlma as SessionCreateParamsPaymentMethodOptionsAlma, SessionCreateParamsPaymentMethodOptionsAmazonPay as SessionCreateParamsPaymentMethodOptionsAmazonPay, SessionCreateParamsPaymentMethodOptionsAuBecsDebit as SessionCreateParamsPaymentMethodOptionsAuBecsDebit, SessionCreateParamsPaymentMethodOptionsBacsDebit as SessionCreateParamsPaymentMethodOptionsBacsDebit, SessionCreateParamsPaymentMethodOptionsBacsDebitMandateOptions as SessionCreateParamsPaymentMethodOptionsBacsDebitMandateOptions, SessionCreateParamsPaymentMethodOptionsBancontact as SessionCreateParamsPaymentMethodOptionsBancontact, SessionCreateParamsPaymentMethodOptionsBillie as SessionCreateParamsPaymentMethodOptionsBillie, SessionCreateParamsPaymentMethodOptionsBoleto as SessionCreateParamsPaymentMethodOptionsBoleto, SessionCreateParamsPaymentMethodOptionsCard as SessionCreateParamsPaymentMethodOptionsCard, SessionCreateParamsPaymentMethodOptionsCardInstallments as SessionCreateParamsPaymentMethodOptionsCardInstallments, SessionCreateParamsPaymentMethodOptionsCardRestrictions as SessionCreateParamsPaymentMethodOptionsCardRestrictions, SessionCreateParamsPaymentMethodOptionsCashapp as SessionCreateParamsPaymentMethodOptionsCashapp, SessionCreateParamsPaymentMethodOptionsCustomerBalance as SessionCreateParamsPaymentMethodOptionsCustomerBalance, SessionCreateParamsPaymentMethodOptionsCustomerBalanceBankTransfer as SessionCreateParamsPaymentMethodOptionsCustomerBalanceBankTransfer, SessionCreateParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer as SessionCreateParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer, SessionCreateParamsPaymentMethodOptionsDemoPay as SessionCreateParamsPaymentMethodOptionsDemoPay, SessionCreateParamsPaymentMethodOptionsEps as SessionCreateParamsPaymentMethodOptionsEps, SessionCreateParamsPaymentMethodOptionsFpx as SessionCreateParamsPaymentMethodOptionsFpx, SessionCreateParamsPaymentMethodOptionsGiropay as SessionCreateParamsPaymentMethodOptionsGiropay, SessionCreateParamsPaymentMethodOptionsGrabpay as SessionCreateParamsPaymentMethodOptionsGrabpay, SessionCreateParamsPaymentMethodOptionsIdeal as SessionCreateParamsPaymentMethodOptionsIdeal, SessionCreateParamsPaymentMethodOptionsKakaoPay as SessionCreateParamsPaymentMethodOptionsKakaoPay, SessionCreateParamsPaymentMethodOptionsKlarna as SessionCreateParamsPaymentMethodOptionsKlarna, SessionCreateParamsPaymentMethodOptionsKlarnaSubscription as SessionCreateParamsPaymentMethodOptionsKlarnaSubscription, SessionCreateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling as SessionCreateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling, SessionCreateParamsPaymentMethodOptionsKonbini as SessionCreateParamsPaymentMethodOptionsKonbini, SessionCreateParamsPaymentMethodOptionsKrCard as SessionCreateParamsPaymentMethodOptionsKrCard, SessionCreateParamsPaymentMethodOptionsLink as SessionCreateParamsPaymentMethodOptionsLink, SessionCreateParamsPaymentMethodOptionsMobilepay as SessionCreateParamsPaymentMethodOptionsMobilepay, SessionCreateParamsPaymentMethodOptionsMultibanco as SessionCreateParamsPaymentMethodOptionsMultibanco, SessionCreateParamsPaymentMethodOptionsNaverPay as SessionCreateParamsPaymentMethodOptionsNaverPay, SessionCreateParamsPaymentMethodOptionsOxxo as SessionCreateParamsPaymentMethodOptionsOxxo, SessionCreateParamsPaymentMethodOptionsP24 as SessionCreateParamsPaymentMethodOptionsP24, SessionCreateParamsPaymentMethodOptionsPayByBank as SessionCreateParamsPaymentMethodOptionsPayByBank, SessionCreateParamsPaymentMethodOptionsPayco as SessionCreateParamsPaymentMethodOptionsPayco, SessionCreateParamsPaymentMethodOptionsPaynow as SessionCreateParamsPaymentMethodOptionsPaynow, SessionCreateParamsPaymentMethodOptionsPaypal as SessionCreateParamsPaymentMethodOptionsPaypal, SessionCreateParamsPaymentMethodOptionsPix as SessionCreateParamsPaymentMethodOptionsPix, SessionCreateParamsPaymentMethodOptionsRevolutPay as SessionCreateParamsPaymentMethodOptionsRevolutPay, SessionCreateParamsPaymentMethodOptionsSamsungPay as SessionCreateParamsPaymentMethodOptionsSamsungPay, SessionCreateParamsPaymentMethodOptionsSatispay as SessionCreateParamsPaymentMethodOptionsSatispay, SessionCreateParamsPaymentMethodOptionsSepaDebit as SessionCreateParamsPaymentMethodOptionsSepaDebit, SessionCreateParamsPaymentMethodOptionsSepaDebitMandateOptions as SessionCreateParamsPaymentMethodOptionsSepaDebitMandateOptions, SessionCreateParamsPaymentMethodOptionsSofort as SessionCreateParamsPaymentMethodOptionsSofort, SessionCreateParamsPaymentMethodOptionsSwish as SessionCreateParamsPaymentMethodOptionsSwish, SessionCreateParamsPaymentMethodOptionsTwint as SessionCreateParamsPaymentMethodOptionsTwint, SessionCreateParamsPaymentMethodOptionsUsBankAccount as SessionCreateParamsPaymentMethodOptionsUsBankAccount, SessionCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnections as SessionCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnections, SessionCreateParamsPaymentMethodOptionsWechatPay as SessionCreateParamsPaymentMethodOptionsWechatPay, SessionCreateParamsPermissions as SessionCreateParamsPermissions, SessionCreateParamsPhoneNumberCollection as SessionCreateParamsPhoneNumberCollection, SessionCreateParamsSavedPaymentMethodOptions as SessionCreateParamsSavedPaymentMethodOptions, SessionCreateParamsSetupIntentData as SessionCreateParamsSetupIntentData, SessionCreateParamsShippingAddressCollection as SessionCreateParamsShippingAddressCollection, SessionCreateParamsShippingOption as SessionCreateParamsShippingOption, SessionCreateParamsShippingOptionShippingRateData as SessionCreateParamsShippingOptionShippingRateData, SessionCreateParamsShippingOptionShippingRateDataDeliveryEstimate as SessionCreateParamsShippingOptionShippingRateDataDeliveryEstimate, SessionCreateParamsShippingOptionShippingRateDataDeliveryEstimateMaximum as SessionCreateParamsShippingOptionShippingRateDataDeliveryEstimateMaximum, SessionCreateParamsShippingOptionShippingRateDataDeliveryEstimateMinimum as SessionCreateParamsShippingOptionShippingRateDataDeliveryEstimateMinimum, SessionCreateParamsShippingOptionShippingRateDataFixedAmount as SessionCreateParamsShippingOptionShippingRateDataFixedAmount, SessionCreateParamsShippingOptionShippingRateDataFixedAmountCurrencyOptions as SessionCreateParamsShippingOptionShippingRateDataFixedAmountCurrencyOptions, SessionCreateParamsSubscriptionData as SessionCreateParamsSubscriptionData, SessionCreateParamsSubscriptionDataBillingMode as SessionCreateParamsSubscriptionDataBillingMode, SessionCreateParamsSubscriptionDataBillingModeFlexible as SessionCreateParamsSubscriptionDataBillingModeFlexible, SessionCreateParamsSubscriptionDataInvoiceSettings as SessionCreateParamsSubscriptionDataInvoiceSettings, SessionCreateParamsSubscriptionDataInvoiceSettingsIssuer as SessionCreateParamsSubscriptionDataInvoiceSettingsIssuer, SessionCreateParamsSubscriptionDataTransferData as SessionCreateParamsSubscriptionDataTransferData, SessionCreateParamsSubscriptionDataTrialSettings as SessionCreateParamsSubscriptionDataTrialSettings, SessionCreateParamsSubscriptionDataTrialSettingsEndBehavior as SessionCreateParamsSubscriptionDataTrialSettingsEndBehavior, SessionCreateParamsTaxIdCollection as SessionCreateParamsTaxIdCollection, SessionCreateParamsWalletOptions as SessionCreateParamsWalletOptions, SessionCreateParamsWalletOptionsLink as SessionCreateParamsWalletOptionsLink, ) from stripe.params.checkout._session_expire_params import ( SessionExpireParams as SessionExpireParams, ) from stripe.params.checkout._session_line_item_list_params import ( SessionLineItemListParams as SessionLineItemListParams, ) from stripe.params.checkout._session_list_line_items_params import ( SessionListLineItemsParams as SessionListLineItemsParams, ) from stripe.params.checkout._session_list_params import ( SessionListParams as SessionListParams, SessionListParamsCreated as SessionListParamsCreated, SessionListParamsCustomerDetails as SessionListParamsCustomerDetails, ) from stripe.params.checkout._session_modify_params import ( SessionModifyParams as SessionModifyParams, SessionModifyParamsCollectedInformation as SessionModifyParamsCollectedInformation, SessionModifyParamsCollectedInformationShippingDetails as SessionModifyParamsCollectedInformationShippingDetails, SessionModifyParamsCollectedInformationShippingDetailsAddress as SessionModifyParamsCollectedInformationShippingDetailsAddress, SessionModifyParamsShippingOption as SessionModifyParamsShippingOption, SessionModifyParamsShippingOptionShippingRateData as SessionModifyParamsShippingOptionShippingRateData, SessionModifyParamsShippingOptionShippingRateDataDeliveryEstimate as SessionModifyParamsShippingOptionShippingRateDataDeliveryEstimate, SessionModifyParamsShippingOptionShippingRateDataDeliveryEstimateMaximum as SessionModifyParamsShippingOptionShippingRateDataDeliveryEstimateMaximum, SessionModifyParamsShippingOptionShippingRateDataDeliveryEstimateMinimum as SessionModifyParamsShippingOptionShippingRateDataDeliveryEstimateMinimum, SessionModifyParamsShippingOptionShippingRateDataFixedAmount as SessionModifyParamsShippingOptionShippingRateDataFixedAmount, SessionModifyParamsShippingOptionShippingRateDataFixedAmountCurrencyOptions as SessionModifyParamsShippingOptionShippingRateDataFixedAmountCurrencyOptions, ) from stripe.params.checkout._session_retrieve_params import ( SessionRetrieveParams as SessionRetrieveParams, ) from stripe.params.checkout._session_update_params import ( SessionUpdateParams as SessionUpdateParams, SessionUpdateParamsCollectedInformation as SessionUpdateParamsCollectedInformation, SessionUpdateParamsCollectedInformationShippingDetails as SessionUpdateParamsCollectedInformationShippingDetails, SessionUpdateParamsCollectedInformationShippingDetailsAddress as SessionUpdateParamsCollectedInformationShippingDetailsAddress, SessionUpdateParamsShippingOption as SessionUpdateParamsShippingOption, SessionUpdateParamsShippingOptionShippingRateData as SessionUpdateParamsShippingOptionShippingRateData, SessionUpdateParamsShippingOptionShippingRateDataDeliveryEstimate as SessionUpdateParamsShippingOptionShippingRateDataDeliveryEstimate, SessionUpdateParamsShippingOptionShippingRateDataDeliveryEstimateMaximum as SessionUpdateParamsShippingOptionShippingRateDataDeliveryEstimateMaximum, SessionUpdateParamsShippingOptionShippingRateDataDeliveryEstimateMinimum as SessionUpdateParamsShippingOptionShippingRateDataDeliveryEstimateMinimum, SessionUpdateParamsShippingOptionShippingRateDataFixedAmount as SessionUpdateParamsShippingOptionShippingRateDataFixedAmount, SessionUpdateParamsShippingOptionShippingRateDataFixedAmountCurrencyOptions as SessionUpdateParamsShippingOptionShippingRateDataFixedAmountCurrencyOptions, ) # name -> (import_target, is_submodule) _import_map = { "SessionCreateParams": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsAdaptivePricing": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsAfterExpiration": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsAfterExpirationRecovery": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsAutomaticTax": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsAutomaticTaxLiability": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsBrandingSettings": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsBrandingSettingsIcon": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsBrandingSettingsLogo": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsConsentCollection": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsConsentCollectionPaymentMethodReuseAgreement": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsCustomField": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsCustomFieldDropdown": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsCustomFieldDropdownOption": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsCustomFieldLabel": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsCustomFieldNumeric": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsCustomFieldText": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsCustomText": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsCustomTextAfterSubmit": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsCustomTextShippingAddress": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsCustomTextSubmit": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsCustomTextTermsOfServiceAcceptance": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsCustomerUpdate": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsDiscount": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsInvoiceCreation": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsInvoiceCreationInvoiceData": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsInvoiceCreationInvoiceDataCustomField": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsInvoiceCreationInvoiceDataIssuer": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsInvoiceCreationInvoiceDataRenderingOptions": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsLineItem": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsLineItemAdjustableQuantity": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsLineItemPriceData": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsLineItemPriceDataProductData": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsLineItemPriceDataRecurring": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsNameCollection": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsNameCollectionBusiness": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsNameCollectionIndividual": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsOptionalItem": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsOptionalItemAdjustableQuantity": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentIntentData": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentIntentDataShipping": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentIntentDataShippingAddress": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentIntentDataTransferData": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodData": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptions": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsAcssDebit": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsAcssDebitMandateOptions": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsAffirm": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsAfterpayClearpay": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsAlipay": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsAlma": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsAmazonPay": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsAuBecsDebit": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsBacsDebit": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsBacsDebitMandateOptions": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsBancontact": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsBillie": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsBoleto": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsCard": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsCardInstallments": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsCardRestrictions": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsCashapp": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsCustomerBalance": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsCustomerBalanceBankTransfer": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsDemoPay": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsEps": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsFpx": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsGiropay": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsGrabpay": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsIdeal": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsKakaoPay": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsKlarna": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsKlarnaSubscription": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsKonbini": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsKrCard": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsLink": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsMobilepay": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsMultibanco": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsNaverPay": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsOxxo": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsP24": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsPayByBank": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsPayco": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsPaynow": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsPaypal": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsPix": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsRevolutPay": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsSamsungPay": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsSatispay": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsSepaDebit": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsSepaDebitMandateOptions": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsSofort": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsSwish": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsTwint": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsUsBankAccount": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnections": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPaymentMethodOptionsWechatPay": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPermissions": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsPhoneNumberCollection": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsSavedPaymentMethodOptions": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsSetupIntentData": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsShippingAddressCollection": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsShippingOption": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsShippingOptionShippingRateData": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsShippingOptionShippingRateDataDeliveryEstimate": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsShippingOptionShippingRateDataDeliveryEstimateMaximum": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsShippingOptionShippingRateDataDeliveryEstimateMinimum": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsShippingOptionShippingRateDataFixedAmount": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsShippingOptionShippingRateDataFixedAmountCurrencyOptions": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsSubscriptionData": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsSubscriptionDataBillingMode": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsSubscriptionDataBillingModeFlexible": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsSubscriptionDataInvoiceSettings": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsSubscriptionDataInvoiceSettingsIssuer": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsSubscriptionDataTransferData": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsSubscriptionDataTrialSettings": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsSubscriptionDataTrialSettingsEndBehavior": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsTaxIdCollection": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsWalletOptions": ( "stripe.params.checkout._session_create_params", False, ), "SessionCreateParamsWalletOptionsLink": ( "stripe.params.checkout._session_create_params", False, ), "SessionExpireParams": ( "stripe.params.checkout._session_expire_params", False, ), "SessionLineItemListParams": ( "stripe.params.checkout._session_line_item_list_params", False, ), "SessionListLineItemsParams": ( "stripe.params.checkout._session_list_line_items_params", False, ), "SessionListParams": ( "stripe.params.checkout._session_list_params", False, ), "SessionListParamsCreated": ( "stripe.params.checkout._session_list_params", False, ), "SessionListParamsCustomerDetails": ( "stripe.params.checkout._session_list_params", False, ), "SessionModifyParams": ( "stripe.params.checkout._session_modify_params", False, ), "SessionModifyParamsCollectedInformation": ( "stripe.params.checkout._session_modify_params", False, ), "SessionModifyParamsCollectedInformationShippingDetails": ( "stripe.params.checkout._session_modify_params", False, ), "SessionModifyParamsCollectedInformationShippingDetailsAddress": ( "stripe.params.checkout._session_modify_params", False, ), "SessionModifyParamsShippingOption": ( "stripe.params.checkout._session_modify_params", False, ), "SessionModifyParamsShippingOptionShippingRateData": ( "stripe.params.checkout._session_modify_params", False, ), "SessionModifyParamsShippingOptionShippingRateDataDeliveryEstimate": ( "stripe.params.checkout._session_modify_params", False, ), "SessionModifyParamsShippingOptionShippingRateDataDeliveryEstimateMaximum": ( "stripe.params.checkout._session_modify_params", False, ), "SessionModifyParamsShippingOptionShippingRateDataDeliveryEstimateMinimum": ( "stripe.params.checkout._session_modify_params", False, ), "SessionModifyParamsShippingOptionShippingRateDataFixedAmount": ( "stripe.params.checkout._session_modify_params", False, ), "SessionModifyParamsShippingOptionShippingRateDataFixedAmountCurrencyOptions": ( "stripe.params.checkout._session_modify_params", False, ), "SessionRetrieveParams": ( "stripe.params.checkout._session_retrieve_params", False, ), "SessionUpdateParams": ( "stripe.params.checkout._session_update_params", False, ), "SessionUpdateParamsCollectedInformation": ( "stripe.params.checkout._session_update_params", False, ), "SessionUpdateParamsCollectedInformationShippingDetails": ( "stripe.params.checkout._session_update_params", False, ), "SessionUpdateParamsCollectedInformationShippingDetailsAddress": ( "stripe.params.checkout._session_update_params", False, ), "SessionUpdateParamsShippingOption": ( "stripe.params.checkout._session_update_params", False, ), "SessionUpdateParamsShippingOptionShippingRateData": ( "stripe.params.checkout._session_update_params", False, ), "SessionUpdateParamsShippingOptionShippingRateDataDeliveryEstimate": ( "stripe.params.checkout._session_update_params", False, ), "SessionUpdateParamsShippingOptionShippingRateDataDeliveryEstimateMaximum": ( "stripe.params.checkout._session_update_params", False, ), "SessionUpdateParamsShippingOptionShippingRateDataDeliveryEstimateMinimum": ( "stripe.params.checkout._session_update_params", False, ), "SessionUpdateParamsShippingOptionShippingRateDataFixedAmount": ( "stripe.params.checkout._session_update_params", False, ), "SessionUpdateParamsShippingOptionShippingRateDataFixedAmountCurrencyOptions": ( "stripe.params.checkout._session_update_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/checkout/_session_create_params.py0000644000000000000000000040602115102753431021515 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SessionCreateParams(RequestOptions): adaptive_pricing: NotRequired["SessionCreateParamsAdaptivePricing"] """ Settings for price localization with [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing). """ after_expiration: NotRequired["SessionCreateParamsAfterExpiration"] """ Configure actions after a Checkout Session has expired. """ allow_promotion_codes: NotRequired[bool] """ Enables user redeemable promotion codes. """ automatic_tax: NotRequired["SessionCreateParamsAutomaticTax"] """ Settings for automatic tax lookup for this session and resulting payments, invoices, and subscriptions. """ billing_address_collection: NotRequired[Literal["auto", "required"]] """ Specify whether Checkout should collect the customer's billing address. Defaults to `auto`. """ branding_settings: NotRequired["SessionCreateParamsBrandingSettings"] """ The branding settings for the Checkout Session. This parameter is not allowed if ui_mode is `custom`. """ cancel_url: NotRequired[str] """ If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. This parameter is not allowed if ui_mode is `embedded` or `custom`. """ client_reference_id: NotRequired[str] """ A unique string to reference the Checkout Session. This can be a customer ID, a cart ID, or similar, and can be used to reconcile the session with your internal systems. """ consent_collection: NotRequired["SessionCreateParamsConsentCollection"] """ Configure fields for the Checkout Session to gather active consent from customers. """ currency: NotRequired[str] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). Required in `setup` mode when `payment_method_types` is not set. """ custom_fields: NotRequired[List["SessionCreateParamsCustomField"]] """ Collect additional information from your customer using custom fields. Up to 3 fields are supported. """ custom_text: NotRequired["SessionCreateParamsCustomText"] """ Display additional text for your customers using custom text. """ customer: NotRequired[str] """ ID of an existing Customer, if one exists. In `payment` mode, the customer's most recently saved card payment method will be used to prefill the email, name, card details, and billing address on the Checkout page. In `subscription` mode, the customer's [default payment method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method) will be used if it's a card, otherwise the most recently saved card will be used. A valid billing address, billing name and billing email are required on the payment method for Checkout to prefill the customer's card details. If the Customer already has a valid [email](https://stripe.com/docs/api/customers/object#customer_object-email) set, the email will be prefilled and not editable in Checkout. If the Customer does not have a valid `email`, Checkout will set the email entered during the session on the Customer. If blank for Checkout Sessions in `subscription` mode or with `customer_creation` set as `always` in `payment` mode, Checkout will create a new Customer object based on information provided during the payment flow. You can set [`payment_intent_data.setup_future_usage`](https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data-setup_future_usage) to have Checkout automatically attach the payment method to the Customer you pass in for future reuse. """ customer_creation: NotRequired[Literal["always", "if_required"]] """ Configure whether a Checkout Session creates a [Customer](https://stripe.com/docs/api/customers) during Session confirmation. When a Customer is not created, you can still retrieve email, address, and other customer data entered in Checkout with [customer_details](https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-customer_details). Sessions that don't create Customers instead are grouped by [guest customers](https://stripe.com/docs/payments/checkout/guest-customers) in the Dashboard. Promotion codes limited to first time customers will return invalid for these Sessions. Can only be set in `payment` and `setup` mode. """ customer_email: NotRequired[str] """ If provided, this value will be used when the Customer object is created. If not provided, customers will be asked to enter their email address. Use this parameter to prefill customer data if you already have an email on file. To access information about the customer once a session is complete, use the `customer` field. """ customer_update: NotRequired["SessionCreateParamsCustomerUpdate"] """ Controls what fields on Customer can be updated by the Checkout Session. Can only be provided when `customer` is provided. """ discounts: NotRequired[List["SessionCreateParamsDiscount"]] """ The coupon or promotion code to apply to this Session. Currently, only up to one may be specified. """ excluded_payment_method_types: NotRequired[ List[ Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "card", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] ] ] """ A list of the types of payment methods (e.g., `card`) that should be excluded from this Checkout Session. This should only be used when payment methods for this Checkout Session are managed through the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired[int] """ The Epoch time in seconds at which the Checkout Session will expire. It can be anywhere from 30 minutes to 24 hours after Checkout Session creation. By default, this value is 24 hours from creation. """ invoice_creation: NotRequired["SessionCreateParamsInvoiceCreation"] """ Generate a post-purchase Invoice for one-time payments. """ line_items: NotRequired[List["SessionCreateParamsLineItem"]] """ A list of items the customer is purchasing. Use this parameter to pass one-time or recurring [Prices](https://stripe.com/docs/api/prices). The parameter is required for `payment` and `subscription` mode. For `payment` mode, there is a maximum of 100 line items, however it is recommended to consolidate line items if there are more than a few dozen. For `subscription` mode, there is a maximum of 20 line items with recurring Prices and 20 line items with one-time Prices. Line items with one-time Prices will be on the initial invoice only. """ locale: NotRequired[ Literal[ "auto", "bg", "cs", "da", "de", "el", "en", "en-GB", "es", "es-419", "et", "fi", "fil", "fr", "fr-CA", "hr", "hu", "id", "it", "ja", "ko", "lt", "lv", "ms", "mt", "nb", "nl", "pl", "pt", "pt-BR", "ro", "ru", "sk", "sl", "sv", "th", "tr", "vi", "zh", "zh-HK", "zh-TW", ] ] """ The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ mode: NotRequired[Literal["payment", "setup", "subscription"]] """ The mode of the Checkout Session. Pass `subscription` if the Checkout Session includes at least one recurring item. """ name_collection: NotRequired["SessionCreateParamsNameCollection"] """ Controls name collection settings for the session. You can configure Checkout to collect your customers' business names, individual names, or both. Each name field can be either required or optional. If a [Customer](https://stripe.com/docs/api/customers) is created or provided, the names can be saved to the Customer object as well. """ optional_items: NotRequired[List["SessionCreateParamsOptionalItem"]] """ A list of optional items the customer can add to their order at checkout. Use this parameter to pass one-time or recurring [Prices](https://stripe.com/docs/api/prices). There is a maximum of 10 optional items allowed on a Checkout Session, and the existing limits on the number of line items allowed on a Checkout Session apply to the combined number of line items and optional items. For `payment` mode, there is a maximum of 100 combined line items and optional items, however it is recommended to consolidate items if there are more than a few dozen. For `subscription` mode, there is a maximum of 20 line items and optional items with recurring Prices and 20 line items and optional items with one-time Prices. """ origin_context: NotRequired[Literal["mobile_app", "web"]] """ Where the user is coming from. This informs the optimizations that are applied to the session. """ payment_intent_data: NotRequired["SessionCreateParamsPaymentIntentData"] """ A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode. """ payment_method_collection: NotRequired[Literal["always", "if_required"]] """ Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0. This may occur if the Checkout Session includes a free trial or a discount. Can only be set in `subscription` mode. Defaults to `always`. If you'd like information on how to collect a payment method outside of Checkout, read the guide on configuring [subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials). """ payment_method_configuration: NotRequired[str] """ The ID of the payment method configuration to use with this Checkout session. """ payment_method_data: NotRequired["SessionCreateParamsPaymentMethodData"] """ This parameter allows you to set some attributes on the payment method created during a Checkout session. """ payment_method_options: NotRequired[ "SessionCreateParamsPaymentMethodOptions" ] """ Payment-method-specific configuration. """ payment_method_types: NotRequired[ List[ Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "card", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] ] ] """ A list of the types of payment methods (e.g., `card`) this Checkout Session can accept. You can omit this attribute to manage your payment methods from the [Stripe Dashboard](https://dashboard.stripe.com/settings/payment_methods). See [Dynamic Payment Methods](https://stripe.com/docs/payments/payment-methods/integration-options#using-dynamic-payment-methods) for more details. Read more about the supported payment methods and their requirements in our [payment method details guide](https://docs.stripe.com/docs/payments/checkout/payment-methods). If multiple payment methods are passed, Checkout will dynamically reorder them to prioritize the most relevant payment methods based on the customer's location and other characteristics. """ permissions: NotRequired["SessionCreateParamsPermissions"] """ This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object. Can only be set when creating `embedded` or `custom` sessions. For specific permissions, please refer to their dedicated subsections, such as `permissions.update_shipping_details`. """ phone_number_collection: NotRequired[ "SessionCreateParamsPhoneNumberCollection" ] """ Controls phone number collection settings for the session. We recommend that you review your privacy policy and check with your legal contacts before using this feature. Learn more about [collecting phone numbers with Checkout](https://stripe.com/docs/payments/checkout/phone-numbers). """ redirect_on_completion: NotRequired[ Literal["always", "if_required", "never"] ] """ This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://stripe.com/docs/payments/checkout/custom-success-page?payment-ui=embedded-form) of embedded sessions. Defaults to `always`. """ return_url: NotRequired[str] """ The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. This parameter is required if `ui_mode` is `embedded` or `custom` and redirect-based payment methods are enabled on the session. """ saved_payment_method_options: NotRequired[ "SessionCreateParamsSavedPaymentMethodOptions" ] """ Controls saved payment method settings for the session. Only available in `payment` and `subscription` mode. """ setup_intent_data: NotRequired["SessionCreateParamsSetupIntentData"] """ A subset of parameters to be passed to SetupIntent creation for Checkout Sessions in `setup` mode. """ shipping_address_collection: NotRequired[ "SessionCreateParamsShippingAddressCollection" ] """ When set, provides configuration for Checkout to collect a shipping address from a customer. """ shipping_options: NotRequired[List["SessionCreateParamsShippingOption"]] """ The shipping rate options to apply to this Session. Up to a maximum of 5. """ submit_type: NotRequired[ Literal["auto", "book", "donate", "pay", "subscribe"] ] """ Describes the type of transaction being performed by Checkout in order to customize relevant text on the page, such as the submit button. `submit_type` can only be specified on Checkout Sessions in `payment` or `subscription` mode. If blank or `auto`, `pay` is used. """ subscription_data: NotRequired["SessionCreateParamsSubscriptionData"] """ A subset of parameters to be passed to subscription creation for Checkout Sessions in `subscription` mode. """ success_url: NotRequired[str] """ The URL to which Stripe should send customers when payment or setup is complete. This parameter is not allowed if ui_mode is `embedded` or `custom`. If you'd like to use information from the successful Checkout Session on your page, read the guide on [customizing your success page](https://stripe.com/docs/payments/checkout/custom-success-page). """ tax_id_collection: NotRequired["SessionCreateParamsTaxIdCollection"] """ Controls tax ID collection during checkout. """ ui_mode: NotRequired[Literal["custom", "embedded", "hosted"]] """ The UI mode of the Session. Defaults to `hosted`. """ wallet_options: NotRequired["SessionCreateParamsWalletOptions"] """ Wallet-specific configuration. """ class SessionCreateParamsAdaptivePricing(TypedDict): enabled: NotRequired[bool] """ If set to `true`, Adaptive Pricing is available on [eligible sessions](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing?payment-ui=stripe-hosted#restrictions). Defaults to your [dashboard setting](https://dashboard.stripe.com/settings/adaptive-pricing). """ class SessionCreateParamsAfterExpiration(TypedDict): recovery: NotRequired["SessionCreateParamsAfterExpirationRecovery"] """ Configure a Checkout Session that can be used to recover an expired session. """ class SessionCreateParamsAfterExpirationRecovery(TypedDict): allow_promotion_codes: NotRequired[bool] """ Enables user redeemable promotion codes on the recovered Checkout Sessions. Defaults to `false` """ enabled: bool """ If `true`, a recovery URL will be generated to recover this Checkout Session if it expires before a successful transaction is completed. It will be attached to the Checkout Session object upon expiration. """ class SessionCreateParamsAutomaticTax(TypedDict): enabled: bool """ Set to `true` to [calculate tax automatically](https://docs.stripe.com/tax) using the customer's location. Enabling this parameter causes Checkout to collect any billing address information necessary for tax calculation. """ liability: NotRequired["SessionCreateParamsAutomaticTaxLiability"] """ The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account. """ class SessionCreateParamsAutomaticTaxLiability(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SessionCreateParamsBrandingSettings(TypedDict): background_color: NotRequired["Literal['']|str"] """ A hex color value starting with `#` representing the background color for the Checkout Session. """ border_style: NotRequired[ "Literal['']|Literal['pill', 'rectangular', 'rounded']" ] """ The border style for the Checkout Session. """ button_color: NotRequired["Literal['']|str"] """ A hex color value starting with `#` representing the button color for the Checkout Session. """ display_name: NotRequired[str] """ A string to override the business name shown on the Checkout Session. This only shows at the top of the Checkout page, and your business name still appears in terms, receipts, and other places. """ font_family: NotRequired[ "Literal['']|Literal['be_vietnam_pro', 'bitter', 'chakra_petch', 'default', 'hahmlet', 'inconsolata', 'inter', 'lato', 'lora', 'm_plus_1_code', 'montserrat', 'noto_sans', 'noto_sans_jp', 'noto_serif', 'nunito', 'open_sans', 'pridi', 'pt_sans', 'pt_serif', 'raleway', 'roboto', 'roboto_slab', 'source_sans_pro', 'titillium_web', 'ubuntu_mono', 'zen_maru_gothic']" ] """ The font family for the Checkout Session corresponding to one of the [supported font families](https://docs.stripe.com/payments/checkout/customization/appearance?payment-ui=stripe-hosted#font-compatibility). """ icon: NotRequired["SessionCreateParamsBrandingSettingsIcon"] """ The icon for the Checkout Session. For best results, use a square image. """ logo: NotRequired["SessionCreateParamsBrandingSettingsLogo"] """ The logo for the Checkout Session. """ class SessionCreateParamsBrandingSettingsIcon(TypedDict): file: NotRequired[str] """ The ID of a [File upload](https://stripe.com/docs/api/files) representing the icon. Purpose must be `business_icon`. Required if `type` is `file` and disallowed otherwise. """ type: Literal["file", "url"] """ The type of image for the icon. Must be one of `file` or `url`. """ url: NotRequired[str] """ The URL of the image. Required if `type` is `url` and disallowed otherwise. """ class SessionCreateParamsBrandingSettingsLogo(TypedDict): file: NotRequired[str] """ The ID of a [File upload](https://stripe.com/docs/api/files) representing the logo. Purpose must be `business_logo`. Required if `type` is `file` and disallowed otherwise. """ type: Literal["file", "url"] """ The type of image for the logo. Must be one of `file` or `url`. """ url: NotRequired[str] """ The URL of the image. Required if `type` is `url` and disallowed otherwise. """ class SessionCreateParamsConsentCollection(TypedDict): payment_method_reuse_agreement: NotRequired[ "SessionCreateParamsConsentCollectionPaymentMethodReuseAgreement" ] """ Determines the display of payment method reuse agreement text in the UI. If set to `hidden`, it will hide legal text related to the reuse of a payment method. """ promotions: NotRequired[Literal["auto", "none"]] """ If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout Session will determine whether to display an option to opt into promotional communication from the merchant depending on the customer's locale. Only available to US merchants. """ terms_of_service: NotRequired[Literal["none", "required"]] """ If set to `required`, it requires customers to check a terms of service checkbox before being able to pay. There must be a valid terms of service URL set in your [Dashboard settings](https://dashboard.stripe.com/settings/public). """ class SessionCreateParamsConsentCollectionPaymentMethodReuseAgreement( TypedDict, ): position: Literal["auto", "hidden"] """ Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's defaults will be used. When set to `hidden`, the payment method reuse agreement text will always be hidden in the UI. """ class SessionCreateParamsCustomField(TypedDict): dropdown: NotRequired["SessionCreateParamsCustomFieldDropdown"] """ Configuration for `type=dropdown` fields. """ key: str """ String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters. """ label: "SessionCreateParamsCustomFieldLabel" """ The label for the field, displayed to the customer. """ numeric: NotRequired["SessionCreateParamsCustomFieldNumeric"] """ Configuration for `type=numeric` fields. """ optional: NotRequired[bool] """ Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`. """ text: NotRequired["SessionCreateParamsCustomFieldText"] """ Configuration for `type=text` fields. """ type: Literal["dropdown", "numeric", "text"] """ The type of the field. """ class SessionCreateParamsCustomFieldDropdown(TypedDict): default_value: NotRequired[str] """ The value that will pre-fill the field on the payment page.Must match a `value` in the `options` array. """ options: List["SessionCreateParamsCustomFieldDropdownOption"] """ The options available for the customer to select. Up to 200 options allowed. """ class SessionCreateParamsCustomFieldDropdownOption(TypedDict): label: str """ The label for the option, displayed to the customer. Up to 100 characters. """ value: str """ The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters. """ class SessionCreateParamsCustomFieldLabel(TypedDict): custom: str """ Custom text for the label, displayed to the customer. Up to 50 characters. """ type: Literal["custom"] """ The type of the label. """ class SessionCreateParamsCustomFieldNumeric(TypedDict): default_value: NotRequired[str] """ The value that will pre-fill the field on the payment page. """ maximum_length: NotRequired[int] """ The maximum character length constraint for the customer's input. """ minimum_length: NotRequired[int] """ The minimum character length requirement for the customer's input. """ class SessionCreateParamsCustomFieldText(TypedDict): default_value: NotRequired[str] """ The value that will pre-fill the field on the payment page. """ maximum_length: NotRequired[int] """ The maximum character length constraint for the customer's input. """ minimum_length: NotRequired[int] """ The minimum character length requirement for the customer's input. """ class SessionCreateParamsCustomText(TypedDict): after_submit: NotRequired[ "Literal['']|SessionCreateParamsCustomTextAfterSubmit" ] """ Custom text that should be displayed after the payment confirmation button. """ shipping_address: NotRequired[ "Literal['']|SessionCreateParamsCustomTextShippingAddress" ] """ Custom text that should be displayed alongside shipping address collection. """ submit: NotRequired["Literal['']|SessionCreateParamsCustomTextSubmit"] """ Custom text that should be displayed alongside the payment confirmation button. """ terms_of_service_acceptance: NotRequired[ "Literal['']|SessionCreateParamsCustomTextTermsOfServiceAcceptance" ] """ Custom text that should be displayed in place of the default terms of service agreement text. """ class SessionCreateParamsCustomTextAfterSubmit(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class SessionCreateParamsCustomTextShippingAddress(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class SessionCreateParamsCustomTextSubmit(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class SessionCreateParamsCustomTextTermsOfServiceAcceptance(TypedDict): message: str """ Text may be up to 1200 characters in length. """ class SessionCreateParamsCustomerUpdate(TypedDict): address: NotRequired[Literal["auto", "never"]] """ Describes whether Checkout saves the billing address onto `customer.address`. To always collect a full billing address, use `billing_address_collection`. Defaults to `never`. """ name: NotRequired[Literal["auto", "never"]] """ Describes whether Checkout saves the name onto `customer.name`. Defaults to `never`. """ shipping: NotRequired[Literal["auto", "never"]] """ Describes whether Checkout saves shipping information onto `customer.shipping`. To collect shipping information, use `shipping_address_collection`. Defaults to `never`. """ class SessionCreateParamsDiscount(TypedDict): coupon: NotRequired[str] """ The ID of the coupon to apply to this Session. """ promotion_code: NotRequired[str] """ The ID of a promotion code to apply to this Session. """ class SessionCreateParamsInvoiceCreation(TypedDict): enabled: bool """ Set to `true` to enable invoice creation. """ invoice_data: NotRequired["SessionCreateParamsInvoiceCreationInvoiceData"] """ Parameters passed when creating invoices for payment-mode Checkout Sessions. """ class SessionCreateParamsInvoiceCreationInvoiceData(TypedDict): account_tax_ids: NotRequired["Literal['']|List[str]"] """ The account tax IDs associated with the invoice. """ custom_fields: NotRequired[ "Literal['']|List[SessionCreateParamsInvoiceCreationInvoiceDataCustomField]" ] """ Default custom fields to be displayed on invoices for this customer. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ footer: NotRequired[str] """ Default footer to be displayed on invoices for this customer. """ issuer: NotRequired["SessionCreateParamsInvoiceCreationInvoiceDataIssuer"] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ rendering_options: NotRequired[ "Literal['']|SessionCreateParamsInvoiceCreationInvoiceDataRenderingOptions" ] """ Default options for invoice PDF rendering for this customer. """ class SessionCreateParamsInvoiceCreationInvoiceDataCustomField(TypedDict): name: str """ The name of the custom field. This may be up to 40 characters. """ value: str """ The value of the custom field. This may be up to 140 characters. """ class SessionCreateParamsInvoiceCreationInvoiceDataIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SessionCreateParamsInvoiceCreationInvoiceDataRenderingOptions(TypedDict): amount_tax_display: NotRequired[ "Literal['']|Literal['exclude_tax', 'include_inclusive_tax']" ] """ 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. """ template: NotRequired[str] """ ID of the invoice rendering template to use for this invoice. """ class SessionCreateParamsLineItem(TypedDict): adjustable_quantity: NotRequired[ "SessionCreateParamsLineItemAdjustableQuantity" ] """ When set, provides configuration for this item's quantity to be adjusted by the customer during Checkout. """ dynamic_tax_rates: NotRequired[List[str]] """ The [tax rates](https://stripe.com/docs/api/tax_rates) that will be applied to this line item depending on the customer's billing/shipping address. We currently support the following countries: US, GB, AU, and all countries in the EU. """ price: NotRequired[str] """ The ID of the [Price](https://stripe.com/docs/api/prices) or [Plan](https://stripe.com/docs/api/plans) object. One of `price` or `price_data` is required. """ price_data: NotRequired["SessionCreateParamsLineItemPriceData"] """ Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required. """ quantity: NotRequired[int] """ The quantity of the line item being purchased. Quantity should not be defined when `recurring.usage_type=metered`. """ tax_rates: NotRequired[List[str]] """ The [tax rates](https://stripe.com/docs/api/tax_rates) which apply to this line item. """ class SessionCreateParamsLineItemAdjustableQuantity(TypedDict): enabled: bool """ Set to true if the quantity can be adjusted to any non-negative integer. """ maximum: NotRequired[int] """ The maximum quantity the customer can purchase for the Checkout Session. By default this value is 99. You can specify a value up to 999999. """ minimum: NotRequired[int] """ The minimum quantity the customer must purchase for the Checkout Session. By default this value is 0. """ class SessionCreateParamsLineItemPriceData(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ product: NotRequired[str] """ The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. One of `product` or `product_data` is required. """ product_data: NotRequired[ "SessionCreateParamsLineItemPriceDataProductData" ] """ Data used to generate a new [Product](https://docs.stripe.com/api/products) object inline. One of `product` or `product_data` is required. """ recurring: NotRequired["SessionCreateParamsLineItemPriceDataRecurring"] """ The recurring components of a price such as `interval` and `interval_count`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed. """ unit_amount: NotRequired[int] """ A non-negative integer in cents (or local equivalent) representing how much to charge. One of `unit_amount` or `unit_amount_decimal` is required. """ unit_amount_decimal: NotRequired[str] """ Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set. """ class SessionCreateParamsLineItemPriceDataProductData(TypedDict): description: NotRequired[str] """ 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. """ images: NotRequired[List[str]] """ A list of up to 8 URLs of images for this product, meant to be displayable to the customer. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: str """ The product's name, meant to be displayable to the customer. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ unit_label: NotRequired[str] """ A label that represents units of this product. When set, this will be included in customers' receipts, invoices, Checkout, and the customer portal. """ class SessionCreateParamsLineItemPriceDataRecurring(TypedDict): interval: Literal["day", "month", "week", "year"] """ Specifies billing frequency. Either `day`, `week`, `month` or `year`. """ interval_count: NotRequired[int] """ The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks). """ class SessionCreateParamsNameCollection(TypedDict): business: NotRequired["SessionCreateParamsNameCollectionBusiness"] """ Controls settings applied for collecting the customer's business name on the session. """ individual: NotRequired["SessionCreateParamsNameCollectionIndividual"] """ Controls settings applied for collecting the customer's individual name on the session. """ class SessionCreateParamsNameCollectionBusiness(TypedDict): enabled: bool """ Enable business name collection on the Checkout Session. Defaults to `false`. """ optional: NotRequired[bool] """ Whether the customer is required to provide a business name before completing the Checkout Session. Defaults to `false`. """ class SessionCreateParamsNameCollectionIndividual(TypedDict): enabled: bool """ Enable individual name collection on the Checkout Session. Defaults to `false`. """ optional: NotRequired[bool] """ Whether the customer is required to provide their name before completing the Checkout Session. Defaults to `false`. """ class SessionCreateParamsOptionalItem(TypedDict): adjustable_quantity: NotRequired[ "SessionCreateParamsOptionalItemAdjustableQuantity" ] """ When set, provides configuration for the customer to adjust the quantity of the line item created when a customer chooses to add this optional item to their order. """ price: str """ The ID of the [Price](https://stripe.com/docs/api/prices) or [Plan](https://stripe.com/docs/api/plans) object. """ quantity: int """ The initial quantity of the line item created when a customer chooses to add this optional item to their order. """ class SessionCreateParamsOptionalItemAdjustableQuantity(TypedDict): enabled: bool """ Set to true if the quantity can be adjusted to any non-negative integer. """ maximum: NotRequired[int] """ The maximum quantity of this item the customer can purchase. By default this value is 99. You can specify a value up to 999999. """ minimum: NotRequired[int] """ The minimum quantity of this item the customer must purchase, if they choose to purchase it. Because this item is optional, the customer will always be able to remove it from their order, even if the `minimum` configured here is greater than 0. By default this value is 0. """ class SessionCreateParamsPaymentIntentData(TypedDict): application_fee_amount: NotRequired[int] """ The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total amount captured. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ capture_method: NotRequired[ Literal["automatic", "automatic_async", "manual"] ] """ Controls when the funds will be captured from the customer's account. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ on_behalf_of: NotRequired[str] """ The Stripe account ID for which these funds are intended. For details, see the PaymentIntents [use case for connected accounts](https://docs.stripe.com/docs/payments/connected-accounts). """ receipt_email: NotRequired[str] """ Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails). """ setup_future_usage: NotRequired[Literal["off_session", "on_session"]] """ Indicates that you intend to [make future payments](https://stripe.com/docs/payments/payment-intents#future-usage) with the payment method collected by this Checkout Session. When setting this to `on_session`, Checkout will show a notice to the customer that their payment details will be saved. When setting this to `off_session`, Checkout will show a notice to the customer that their payment details will be saved and used for future payments. If a Customer has been provided or Checkout creates a new Customer, Checkout will attach the payment method to the Customer. If Checkout does not create a Customer, the payment method is not attached to a Customer. To reuse the payment method, you can retrieve it from the Checkout Session's PaymentIntent. When processing card payments, Checkout also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as SCA. """ shipping: NotRequired["SessionCreateParamsPaymentIntentDataShipping"] """ Shipping information for this payment. """ statement_descriptor: NotRequired[str] """ Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors). Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. """ statement_descriptor_suffix: NotRequired[str] """ Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. """ transfer_data: NotRequired[ "SessionCreateParamsPaymentIntentDataTransferData" ] """ The parameters used to automatically create a Transfer when the payment succeeds. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts). """ transfer_group: NotRequired[str] """ A string that identifies the resulting payment as part of a group. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers) for details. """ class SessionCreateParamsPaymentIntentDataShipping(TypedDict): address: "SessionCreateParamsPaymentIntentDataShippingAddress" """ Shipping address. """ carrier: NotRequired[str] """ The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. """ name: str """ Recipient name. """ phone: NotRequired[str] """ Recipient phone (including extension). """ tracking_number: NotRequired[str] """ The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. """ class SessionCreateParamsPaymentIntentDataShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: str """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class SessionCreateParamsPaymentIntentDataTransferData(TypedDict): amount: NotRequired[int] """ The amount that will be transferred automatically when a charge succeeds. """ destination: str """ If specified, successful charges will be attributed to the destination account for tax reporting, and the funds from charges will be transferred to the destination account. The ID of the resulting transfer will be returned on the successful charge's `transfer` field. """ class SessionCreateParamsPaymentMethodData(TypedDict): allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ Allow redisplay will be set on the payment method on confirmation and indicates whether this payment method can be shown again to the customer in a checkout flow. Only set this field if you wish to override the allow_redisplay value determined by Checkout. """ class SessionCreateParamsPaymentMethodOptions(TypedDict): acss_debit: NotRequired["SessionCreateParamsPaymentMethodOptionsAcssDebit"] """ contains details about the ACSS Debit payment method options. """ affirm: NotRequired["SessionCreateParamsPaymentMethodOptionsAffirm"] """ contains details about the Affirm payment method options. """ afterpay_clearpay: NotRequired[ "SessionCreateParamsPaymentMethodOptionsAfterpayClearpay" ] """ contains details about the Afterpay Clearpay payment method options. """ alipay: NotRequired["SessionCreateParamsPaymentMethodOptionsAlipay"] """ contains details about the Alipay payment method options. """ alma: NotRequired["SessionCreateParamsPaymentMethodOptionsAlma"] """ contains details about the Alma payment method options. """ amazon_pay: NotRequired["SessionCreateParamsPaymentMethodOptionsAmazonPay"] """ contains details about the AmazonPay payment method options. """ au_becs_debit: NotRequired[ "SessionCreateParamsPaymentMethodOptionsAuBecsDebit" ] """ contains details about the AU Becs Debit payment method options. """ bacs_debit: NotRequired["SessionCreateParamsPaymentMethodOptionsBacsDebit"] """ contains details about the Bacs Debit payment method options. """ bancontact: NotRequired[ "SessionCreateParamsPaymentMethodOptionsBancontact" ] """ contains details about the Bancontact payment method options. """ billie: NotRequired["SessionCreateParamsPaymentMethodOptionsBillie"] """ contains details about the Billie payment method options. """ boleto: NotRequired["SessionCreateParamsPaymentMethodOptionsBoleto"] """ contains details about the Boleto payment method options. """ card: NotRequired["SessionCreateParamsPaymentMethodOptionsCard"] """ contains details about the Card payment method options. """ cashapp: NotRequired["SessionCreateParamsPaymentMethodOptionsCashapp"] """ contains details about the Cashapp Pay payment method options. """ customer_balance: NotRequired[ "SessionCreateParamsPaymentMethodOptionsCustomerBalance" ] """ contains details about the Customer Balance payment method options. """ demo_pay: NotRequired["SessionCreateParamsPaymentMethodOptionsDemoPay"] """ contains details about the DemoPay payment method options. """ eps: NotRequired["SessionCreateParamsPaymentMethodOptionsEps"] """ contains details about the EPS payment method options. """ fpx: NotRequired["SessionCreateParamsPaymentMethodOptionsFpx"] """ contains details about the FPX payment method options. """ giropay: NotRequired["SessionCreateParamsPaymentMethodOptionsGiropay"] """ contains details about the Giropay payment method options. """ grabpay: NotRequired["SessionCreateParamsPaymentMethodOptionsGrabpay"] """ contains details about the Grabpay payment method options. """ ideal: NotRequired["SessionCreateParamsPaymentMethodOptionsIdeal"] """ contains details about the Ideal payment method options. """ kakao_pay: NotRequired["SessionCreateParamsPaymentMethodOptionsKakaoPay"] """ contains details about the Kakao Pay payment method options. """ klarna: NotRequired["SessionCreateParamsPaymentMethodOptionsKlarna"] """ contains details about the Klarna payment method options. """ konbini: NotRequired["SessionCreateParamsPaymentMethodOptionsKonbini"] """ contains details about the Konbini payment method options. """ kr_card: NotRequired["SessionCreateParamsPaymentMethodOptionsKrCard"] """ contains details about the Korean card payment method options. """ link: NotRequired["SessionCreateParamsPaymentMethodOptionsLink"] """ contains details about the Link payment method options. """ mobilepay: NotRequired["SessionCreateParamsPaymentMethodOptionsMobilepay"] """ contains details about the Mobilepay payment method options. """ multibanco: NotRequired[ "SessionCreateParamsPaymentMethodOptionsMultibanco" ] """ contains details about the Multibanco payment method options. """ naver_pay: NotRequired["SessionCreateParamsPaymentMethodOptionsNaverPay"] """ contains details about the Naver Pay payment method options. """ oxxo: NotRequired["SessionCreateParamsPaymentMethodOptionsOxxo"] """ contains details about the OXXO payment method options. """ p24: NotRequired["SessionCreateParamsPaymentMethodOptionsP24"] """ contains details about the P24 payment method options. """ pay_by_bank: NotRequired[ "SessionCreateParamsPaymentMethodOptionsPayByBank" ] """ contains details about the Pay By Bank payment method options. """ payco: NotRequired["SessionCreateParamsPaymentMethodOptionsPayco"] """ contains details about the PAYCO payment method options. """ paynow: NotRequired["SessionCreateParamsPaymentMethodOptionsPaynow"] """ contains details about the PayNow payment method options. """ paypal: NotRequired["SessionCreateParamsPaymentMethodOptionsPaypal"] """ contains details about the PayPal payment method options. """ pix: NotRequired["SessionCreateParamsPaymentMethodOptionsPix"] """ contains details about the Pix payment method options. """ revolut_pay: NotRequired[ "SessionCreateParamsPaymentMethodOptionsRevolutPay" ] """ contains details about the RevolutPay payment method options. """ samsung_pay: NotRequired[ "SessionCreateParamsPaymentMethodOptionsSamsungPay" ] """ contains details about the Samsung Pay payment method options. """ satispay: NotRequired["SessionCreateParamsPaymentMethodOptionsSatispay"] """ contains details about the Satispay payment method options. """ sepa_debit: NotRequired["SessionCreateParamsPaymentMethodOptionsSepaDebit"] """ contains details about the Sepa Debit payment method options. """ sofort: NotRequired["SessionCreateParamsPaymentMethodOptionsSofort"] """ contains details about the Sofort payment method options. """ swish: NotRequired["SessionCreateParamsPaymentMethodOptionsSwish"] """ contains details about the Swish payment method options. """ twint: NotRequired["SessionCreateParamsPaymentMethodOptionsTwint"] """ contains details about the TWINT payment method options. """ us_bank_account: NotRequired[ "SessionCreateParamsPaymentMethodOptionsUsBankAccount" ] """ contains details about the Us Bank Account payment method options. """ wechat_pay: NotRequired["SessionCreateParamsPaymentMethodOptionsWechatPay"] """ contains details about the WeChat Pay payment method options. """ class SessionCreateParamsPaymentMethodOptionsAcssDebit(TypedDict): currency: NotRequired[Literal["cad", "usd"]] """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). This is only accepted for Checkout Sessions in `setup` mode. """ mandate_options: NotRequired[ "SessionCreateParamsPaymentMethodOptionsAcssDebitMandateOptions" ] """ Additional fields for Mandate creation """ setup_future_usage: NotRequired[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ verification_method: NotRequired[ Literal["automatic", "instant", "microdeposits"] ] """ Verification method for the intent """ class SessionCreateParamsPaymentMethodOptionsAcssDebitMandateOptions( TypedDict ): custom_mandate_url: NotRequired["Literal['']|str"] """ A URL for custom mandate text to render during confirmation step. The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent, or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent. """ default_for: NotRequired[List[Literal["invoice", "subscription"]]] """ List of Stripe products where this mandate can be selected automatically. Only usable in `setup` mode. """ interval_description: NotRequired[str] """ Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'. """ payment_schedule: NotRequired[Literal["combined", "interval", "sporadic"]] """ Payment schedule for the mandate. """ transaction_type: NotRequired[Literal["business", "personal"]] """ Transaction type of the mandate. """ class SessionCreateParamsPaymentMethodOptionsAffirm(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsAfterpayClearpay(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsAlipay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsAlma(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ class SessionCreateParamsPaymentMethodOptionsAmazonPay(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: NotRequired[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsAuBecsDebit(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class SessionCreateParamsPaymentMethodOptionsBacsDebit(TypedDict): mandate_options: NotRequired[ "SessionCreateParamsPaymentMethodOptionsBacsDebitMandateOptions" ] """ Additional fields for Mandate creation """ setup_future_usage: NotRequired[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class SessionCreateParamsPaymentMethodOptionsBacsDebitMandateOptions( TypedDict ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'. """ class SessionCreateParamsPaymentMethodOptionsBancontact(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsBillie(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ class SessionCreateParamsPaymentMethodOptionsBoleto(TypedDict): expires_after_days: NotRequired[int] """ The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto invoice will expire on Wednesday at 23:59 America/Sao_Paulo time. """ setup_future_usage: NotRequired[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsCard(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ installments: NotRequired[ "SessionCreateParamsPaymentMethodOptionsCardInstallments" ] """ Installment options for card payments """ request_extended_authorization: NotRequired[ Literal["if_available", "never"] ] """ Request ability to [capture beyond the standard authorization validity window](https://docs.stripe.com/payments/extended-authorization) for this CheckoutSession. """ request_incremental_authorization: NotRequired[ Literal["if_available", "never"] ] """ Request ability to [increment the authorization](https://docs.stripe.com/payments/incremental-authorization) for this CheckoutSession. """ request_multicapture: NotRequired[Literal["if_available", "never"]] """ Request ability to make [multiple captures](https://docs.stripe.com/payments/multicapture) for this CheckoutSession. """ request_overcapture: NotRequired[Literal["if_available", "never"]] """ Request ability to [overcapture](https://docs.stripe.com/payments/overcapture) for this CheckoutSession. """ request_three_d_secure: NotRequired[ Literal["any", "automatic", "challenge"] ] """ We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. """ restrictions: NotRequired[ "SessionCreateParamsPaymentMethodOptionsCardRestrictions" ] """ Restrictions to apply to the card payment method. For example, you can block specific card brands. """ setup_future_usage: NotRequired[Literal["off_session", "on_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ statement_descriptor_suffix_kana: NotRequired[str] """ Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that's set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters. """ statement_descriptor_suffix_kanji: NotRequired[str] """ Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that's set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters. """ class SessionCreateParamsPaymentMethodOptionsCardInstallments(TypedDict): enabled: NotRequired[bool] """ Setting to true enables installments for this Checkout Session. Setting to false will prevent any installment plan from applying to a payment. """ class SessionCreateParamsPaymentMethodOptionsCardRestrictions(TypedDict): brands_blocked: NotRequired[ List[ Literal[ "american_express", "discover_global_network", "mastercard", "visa", ] ] ] """ Specify the card brands to block in the Checkout Session. If a customer enters or selects a card belonging to a blocked brand, they can't complete the Session. """ class SessionCreateParamsPaymentMethodOptionsCashapp(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: NotRequired[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsCustomerBalance(TypedDict): bank_transfer: NotRequired[ "SessionCreateParamsPaymentMethodOptionsCustomerBalanceBankTransfer" ] """ Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`. """ funding_type: NotRequired[Literal["bank_transfer"]] """ The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsCustomerBalanceBankTransfer( TypedDict, ): eu_bank_transfer: NotRequired[ "SessionCreateParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer" ] """ Configuration for eu_bank_transfer funding type. """ requested_address_types: NotRequired[ List[ Literal[ "aba", "iban", "sepa", "sort_code", "spei", "swift", "zengin" ] ] ] """ List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned. Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`. """ type: Literal[ "eu_bank_transfer", "gb_bank_transfer", "jp_bank_transfer", "mx_bank_transfer", "us_bank_transfer", ] """ The list of bank transfer types that this PaymentIntent is allowed to use for funding. """ class SessionCreateParamsPaymentMethodOptionsCustomerBalanceBankTransferEuBankTransfer( TypedDict, ): country: str """ The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`. """ class SessionCreateParamsPaymentMethodOptionsDemoPay(TypedDict): setup_future_usage: NotRequired[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsEps(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsFpx(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsGiropay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsGrabpay(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsIdeal(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsKakaoPay(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: NotRequired[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsKlarna(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ subscriptions: NotRequired[ "Literal['']|List[SessionCreateParamsPaymentMethodOptionsKlarnaSubscription]" ] """ Subscription details if the Checkout Session sets up a future subscription. """ class SessionCreateParamsPaymentMethodOptionsKlarnaSubscription(TypedDict): interval: Literal["day", "month", "week", "year"] """ Unit of time between subscription charges. """ interval_count: NotRequired[int] """ The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months. """ name: NotRequired[str] """ Name for subscription. """ next_billing: ( "SessionCreateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling" ) """ Describes the upcoming charge for this subscription. """ reference: str """ A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges. """ class SessionCreateParamsPaymentMethodOptionsKlarnaSubscriptionNextBilling( TypedDict, ): amount: int """ The amount of the next charge for the subscription. """ date: str """ The date of the next charge for the subscription in YYYY-MM-DD format. """ class SessionCreateParamsPaymentMethodOptionsKonbini(TypedDict): expires_after_days: NotRequired[int] """ The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST. Defaults to 3 days. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsKrCard(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: NotRequired[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsLink(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: NotRequired[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsMobilepay(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsMultibanco(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsNaverPay(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: NotRequired[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsOxxo(TypedDict): expires_after_days: NotRequired[int] """ The number of calendar days before an OXXO voucher expires. For example, if you create an OXXO voucher on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsP24(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ tos_shown_and_accepted: NotRequired[bool] """ Confirm that the payer has accepted the P24 terms and conditions. """ class SessionCreateParamsPaymentMethodOptionsPayByBank(TypedDict): pass class SessionCreateParamsPaymentMethodOptionsPayco(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ class SessionCreateParamsPaymentMethodOptionsPaynow(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsPaypal(TypedDict): capture_method: NotRequired["Literal['']|Literal['manual']"] """ Controls when the funds will be captured from the customer's account. """ preferred_locale: NotRequired[ Literal[ "cs-CZ", "da-DK", "de-AT", "de-DE", "de-LU", "el-GR", "en-GB", "en-US", "es-ES", "fi-FI", "fr-BE", "fr-FR", "fr-LU", "hu-HU", "it-IT", "nl-BE", "nl-NL", "pl-PL", "pt-PT", "sk-SK", "sv-SE", ] ] """ [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to. """ reference: NotRequired[str] """ A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID. """ risk_correlation_id: NotRequired[str] """ The risk correlation ID for an on-session payment using a saved PayPal payment method. """ setup_future_usage: NotRequired[ "Literal['']|Literal['none', 'off_session']" ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`. """ class SessionCreateParamsPaymentMethodOptionsPix(TypedDict): amount_includes_iof: NotRequired[Literal["always", "never"]] """ Determines if the amount includes the IOF tax. Defaults to `never`. """ expires_after_seconds: NotRequired[int] """ The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds. """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsRevolutPay(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ setup_future_usage: NotRequired[Literal["none", "off_session"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsSamsungPay(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ class SessionCreateParamsPaymentMethodOptionsSatispay(TypedDict): capture_method: NotRequired[Literal["manual"]] """ Controls when the funds will be captured from the customer's account. """ class SessionCreateParamsPaymentMethodOptionsSepaDebit(TypedDict): mandate_options: NotRequired[ "SessionCreateParamsPaymentMethodOptionsSepaDebitMandateOptions" ] """ Additional fields for Mandate creation """ setup_future_usage: NotRequired[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ class SessionCreateParamsPaymentMethodOptionsSepaDebitMandateOptions( TypedDict ): reference_prefix: NotRequired["Literal['']|str"] """ Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'. """ class SessionCreateParamsPaymentMethodOptionsSofort(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsSwish(TypedDict): reference: NotRequired[str] """ The order reference that will be displayed to customers in the Swish application. Defaults to the `id` of the Payment Intent. """ class SessionCreateParamsPaymentMethodOptionsTwint(TypedDict): setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPaymentMethodOptionsUsBankAccount(TypedDict): financial_connections: NotRequired[ "SessionCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnections" ] """ Additional fields for Financial Connections Session creation """ setup_future_usage: NotRequired[ Literal["none", "off_session", "on_session"] ] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ target_date: NotRequired[str] """ Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now. """ verification_method: NotRequired[Literal["automatic", "instant"]] """ Verification method for the intent """ class SessionCreateParamsPaymentMethodOptionsUsBankAccountFinancialConnections( TypedDict, ): permissions: NotRequired[ List[ Literal["balances", "ownership", "payment_method", "transactions"] ] ] """ The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ class SessionCreateParamsPaymentMethodOptionsWechatPay(TypedDict): app_id: NotRequired[str] """ The app ID registered with WeChat Pay. Only required when client is ios or android. """ client: Literal["android", "ios", "web"] """ The client type that the end customer will pay from """ setup_future_usage: NotRequired[Literal["none"]] """ Indicates that you intend to make future payments with this PaymentIntent's payment method. If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](https://docs.stripe.com/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](https://docs.stripe.com/api/payment_methods/attach) the payment method to a Customer after the transaction completes. If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](https://docs.stripe.com/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead. When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](https://docs.stripe.com/strong-customer-authentication). """ class SessionCreateParamsPermissions(TypedDict): update_shipping_details: NotRequired[Literal["client_only", "server_only"]] """ Determines which entity is allowed to update the shipping details. Default is `client_only`. Stripe Checkout client will automatically update the shipping details. If set to `server_only`, only your server is allowed to update the shipping details. When set to `server_only`, you must add the onShippingDetailsChange event handler when initializing the Stripe Checkout client and manually update the shipping details from your server using the Stripe API. """ class SessionCreateParamsPhoneNumberCollection(TypedDict): enabled: bool """ Set to `true` to enable phone number collection. Can only be set in `payment` and `subscription` mode. """ class SessionCreateParamsSavedPaymentMethodOptions(TypedDict): allow_redisplay_filters: NotRequired[ List[Literal["always", "limited", "unspecified"]] ] """ Uses the `allow_redisplay` value of each saved payment method to filter the set presented to a returning customer. By default, only saved payment methods with 'allow_redisplay: ‘always' are shown in Checkout. """ payment_method_remove: NotRequired[Literal["disabled", "enabled"]] """ Enable customers to choose if they wish to remove their saved payment methods. Disabled by default. """ payment_method_save: NotRequired[Literal["disabled", "enabled"]] """ Enable customers to choose if they wish to save their payment method for future use. Disabled by default. """ class SessionCreateParamsSetupIntentData(TypedDict): description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ on_behalf_of: NotRequired[str] """ The Stripe account for which the setup is intended. """ class SessionCreateParamsShippingAddressCollection(TypedDict): allowed_countries: List[ Literal[ "AC", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CV", "CW", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MK", "ML", "MM", "MN", "MO", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SZ", "TA", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VN", "VU", "WF", "WS", "XK", "YE", "YT", "ZA", "ZM", "ZW", "ZZ", ] ] """ An array of two-letter ISO country codes representing which countries Checkout should provide as options for shipping locations. """ class SessionCreateParamsShippingOption(TypedDict): shipping_rate: NotRequired[str] """ The ID of the Shipping Rate to use for this shipping option. """ shipping_rate_data: NotRequired[ "SessionCreateParamsShippingOptionShippingRateData" ] """ Parameters to be passed to Shipping Rate creation for this shipping option. """ class SessionCreateParamsShippingOptionShippingRateData(TypedDict): delivery_estimate: NotRequired[ "SessionCreateParamsShippingOptionShippingRateDataDeliveryEstimate" ] """ The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions. """ display_name: str """ The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions. """ fixed_amount: NotRequired[ "SessionCreateParamsShippingOptionShippingRateDataFixedAmount" ] """ Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`. """ type: NotRequired[Literal["fixed_amount"]] """ The type of calculation to use on the shipping rate. """ class SessionCreateParamsShippingOptionShippingRateDataDeliveryEstimate( TypedDict, ): maximum: NotRequired[ "SessionCreateParamsShippingOptionShippingRateDataDeliveryEstimateMaximum" ] """ The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite. """ minimum: NotRequired[ "SessionCreateParamsShippingOptionShippingRateDataDeliveryEstimateMinimum" ] """ The lower bound of the estimated range. If empty, represents no lower bound. """ class SessionCreateParamsShippingOptionShippingRateDataDeliveryEstimateMaximum( TypedDict, ): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ class SessionCreateParamsShippingOptionShippingRateDataDeliveryEstimateMinimum( TypedDict, ): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ class SessionCreateParamsShippingOptionShippingRateDataFixedAmount(TypedDict): amount: int """ A non-negative integer in cents representing how much to charge. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ currency_options: NotRequired[ Dict[ str, "SessionCreateParamsShippingOptionShippingRateDataFixedAmountCurrencyOptions", ] ] """ Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ class SessionCreateParamsShippingOptionShippingRateDataFixedAmountCurrencyOptions( TypedDict, ): amount: int """ A non-negative integer in cents representing how much to charge. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ class SessionCreateParamsSubscriptionData(TypedDict): application_fee_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. To use an application fee percent, the request must be made on behalf of another account, using the `Stripe-Account` header or an OAuth key. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions). """ billing_cycle_anchor: NotRequired[int] """ A future timestamp to anchor the subscription's billing cycle for new subscriptions. """ billing_mode: NotRequired["SessionCreateParamsSubscriptionDataBillingMode"] """ Controls how prorations and invoices for subscriptions are calculated and orchestrated. """ default_tax_rates: NotRequired[List[str]] """ The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. """ description: NotRequired[str] """ The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in the [customer portal](https://stripe.com/docs/customer-management). """ invoice_settings: NotRequired[ "SessionCreateParamsSubscriptionDataInvoiceSettings" ] """ All invoices will be billed using the specified settings. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ on_behalf_of: NotRequired[str] """ The account on behalf of which to charge, for each of the subscription's invoices. """ proration_behavior: NotRequired[Literal["create_prorations", "none"]] """ Determines how to handle prorations resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`. """ transfer_data: NotRequired[ "SessionCreateParamsSubscriptionDataTransferData" ] """ If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. """ trial_end: NotRequired[int] """ Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. Has to be at least 48 hours in the future. """ trial_period_days: NotRequired[int] """ Integer representing the number of trial period days before the customer is charged for the first time. Has to be at least 1. """ trial_settings: NotRequired[ "SessionCreateParamsSubscriptionDataTrialSettings" ] """ Settings related to subscription trials. """ class SessionCreateParamsSubscriptionDataBillingMode(TypedDict): flexible: NotRequired[ "SessionCreateParamsSubscriptionDataBillingModeFlexible" ] """ Configure behavior for flexible billing mode. """ type: Literal["classic", "flexible"] """ Controls the calculation and orchestration of prorations and invoices for subscriptions. If no value is passed, the default is `flexible`. """ class SessionCreateParamsSubscriptionDataBillingModeFlexible(TypedDict): proration_discounts: NotRequired[Literal["included", "itemized"]] """ Controls how invoices and invoice items display proration amounts and discount amounts. """ class SessionCreateParamsSubscriptionDataInvoiceSettings(TypedDict): issuer: NotRequired[ "SessionCreateParamsSubscriptionDataInvoiceSettingsIssuer" ] """ The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account. """ class SessionCreateParamsSubscriptionDataInvoiceSettingsIssuer(TypedDict): account: NotRequired[str] """ The connected account being referenced when `type` is `account`. """ type: Literal["account", "self"] """ Type of the account referenced in the request. """ class SessionCreateParamsSubscriptionDataTransferData(TypedDict): amount_percent: NotRequired[float] """ A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination. """ destination: str """ ID of an existing, connected Stripe account. """ class SessionCreateParamsSubscriptionDataTrialSettings(TypedDict): end_behavior: "SessionCreateParamsSubscriptionDataTrialSettingsEndBehavior" """ Defines how the subscription should behave when the user's free trial ends. """ class SessionCreateParamsSubscriptionDataTrialSettingsEndBehavior(TypedDict): missing_payment_method: Literal["cancel", "create_invoice", "pause"] """ Indicates how the subscription should change when the trial ends if the user did not provide a payment method. """ class SessionCreateParamsTaxIdCollection(TypedDict): enabled: bool """ Enable tax ID collection during checkout. Defaults to `false`. """ required: NotRequired[Literal["if_supported", "never"]] """ Describes whether a tax ID is required during checkout. Defaults to `never`. """ class SessionCreateParamsWalletOptions(TypedDict): link: NotRequired["SessionCreateParamsWalletOptionsLink"] """ contains details about the Link wallet options. """ class SessionCreateParamsWalletOptionsLink(TypedDict): display: NotRequired[Literal["auto", "never"]] """ Specifies whether Checkout should display Link as a payment option. By default, Checkout will display all the supported wallets that the Checkout Session was created with. This is the `auto` behavior, and it is the default choice. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/checkout/_session_expire_params.py0000644000000000000000000000052315102753431021543 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SessionExpireParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/checkout/_session_line_item_list_params.py0000644000000000000000000000221015102753431023242 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class SessionLineItemListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/checkout/_session_list_line_items_params.py0000644000000000000000000000226615102753431023440 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SessionListLineItemsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/checkout/_session_list_params.py0000644000000000000000000000513515102753431021226 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class SessionListParams(RequestOptions): created: NotRequired["SessionListParamsCreated|int"] """ Only return Checkout Sessions that were created during the given date interval. """ customer: NotRequired[str] """ Only return the Checkout Sessions for the Customer specified. """ customer_details: NotRequired["SessionListParamsCustomerDetails"] """ Only return the Checkout Sessions for the Customer details specified. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ payment_intent: NotRequired[str] """ Only return the Checkout Session for the PaymentIntent specified. """ payment_link: NotRequired[str] """ Only return the Checkout Sessions for the Payment Link specified. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["complete", "expired", "open"]] """ Only return the Checkout Sessions matching the given status. """ subscription: NotRequired[str] """ Only return the Checkout Session for the subscription specified. """ class SessionListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ class SessionListParamsCustomerDetails(TypedDict): email: str """ Customer's email address. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/checkout/_session_modify_params.py0000644000000000000000000001475115102753431021546 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SessionModifyParams(RequestOptions): collected_information: NotRequired[ "SessionModifyParamsCollectedInformation" ] """ Information about the customer collected within the Checkout Session. Can only be set when updating `embedded` or `custom` sessions. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ shipping_options: NotRequired[ "Literal['']|List[SessionModifyParamsShippingOption]" ] """ The shipping rate options to apply to this Session. Up to a maximum of 5. """ class SessionModifyParamsCollectedInformation(TypedDict): shipping_details: NotRequired[ "SessionModifyParamsCollectedInformationShippingDetails" ] """ The shipping details to apply to this Session. """ class SessionModifyParamsCollectedInformationShippingDetails(TypedDict): address: "SessionModifyParamsCollectedInformationShippingDetailsAddress" """ The address of the customer """ name: str """ The name of customer """ class SessionModifyParamsCollectedInformationShippingDetailsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: str """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class SessionModifyParamsShippingOption(TypedDict): shipping_rate: NotRequired[str] """ The ID of the Shipping Rate to use for this shipping option. """ shipping_rate_data: NotRequired[ "SessionModifyParamsShippingOptionShippingRateData" ] """ Parameters to be passed to Shipping Rate creation for this shipping option. """ class SessionModifyParamsShippingOptionShippingRateData(TypedDict): delivery_estimate: NotRequired[ "SessionModifyParamsShippingOptionShippingRateDataDeliveryEstimate" ] """ The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions. """ display_name: str """ The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions. """ fixed_amount: NotRequired[ "SessionModifyParamsShippingOptionShippingRateDataFixedAmount" ] """ Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`. """ type: NotRequired[Literal["fixed_amount"]] """ The type of calculation to use on the shipping rate. """ class SessionModifyParamsShippingOptionShippingRateDataDeliveryEstimate( TypedDict, ): maximum: NotRequired[ "SessionModifyParamsShippingOptionShippingRateDataDeliveryEstimateMaximum" ] """ The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite. """ minimum: NotRequired[ "SessionModifyParamsShippingOptionShippingRateDataDeliveryEstimateMinimum" ] """ The lower bound of the estimated range. If empty, represents no lower bound. """ class SessionModifyParamsShippingOptionShippingRateDataDeliveryEstimateMaximum( TypedDict, ): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ class SessionModifyParamsShippingOptionShippingRateDataDeliveryEstimateMinimum( TypedDict, ): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ class SessionModifyParamsShippingOptionShippingRateDataFixedAmount(TypedDict): amount: int """ A non-negative integer in cents representing how much to charge. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ currency_options: NotRequired[ Dict[ str, "SessionModifyParamsShippingOptionShippingRateDataFixedAmountCurrencyOptions", ] ] """ Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ class SessionModifyParamsShippingOptionShippingRateDataFixedAmountCurrencyOptions( TypedDict, ): amount: int """ A non-negative integer in cents representing how much to charge. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/checkout/_session_retrieve_params.py0000644000000000000000000000052515102753431022076 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SessionRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/checkout/_session_update_params.py0000644000000000000000000001466115102753431021541 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class SessionUpdateParams(TypedDict): collected_information: NotRequired[ "SessionUpdateParamsCollectedInformation" ] """ Information about the customer collected within the Checkout Session. Can only be set when updating `embedded` or `custom` sessions. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ shipping_options: NotRequired[ "Literal['']|List[SessionUpdateParamsShippingOption]" ] """ The shipping rate options to apply to this Session. Up to a maximum of 5. """ class SessionUpdateParamsCollectedInformation(TypedDict): shipping_details: NotRequired[ "SessionUpdateParamsCollectedInformationShippingDetails" ] """ The shipping details to apply to this Session. """ class SessionUpdateParamsCollectedInformationShippingDetails(TypedDict): address: "SessionUpdateParamsCollectedInformationShippingDetailsAddress" """ The address of the customer """ name: str """ The name of customer """ class SessionUpdateParamsCollectedInformationShippingDetailsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: str """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class SessionUpdateParamsShippingOption(TypedDict): shipping_rate: NotRequired[str] """ The ID of the Shipping Rate to use for this shipping option. """ shipping_rate_data: NotRequired[ "SessionUpdateParamsShippingOptionShippingRateData" ] """ Parameters to be passed to Shipping Rate creation for this shipping option. """ class SessionUpdateParamsShippingOptionShippingRateData(TypedDict): delivery_estimate: NotRequired[ "SessionUpdateParamsShippingOptionShippingRateDataDeliveryEstimate" ] """ The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions. """ display_name: str """ The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions. """ fixed_amount: NotRequired[ "SessionUpdateParamsShippingOptionShippingRateDataFixedAmount" ] """ Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`. """ type: NotRequired[Literal["fixed_amount"]] """ The type of calculation to use on the shipping rate. """ class SessionUpdateParamsShippingOptionShippingRateDataDeliveryEstimate( TypedDict, ): maximum: NotRequired[ "SessionUpdateParamsShippingOptionShippingRateDataDeliveryEstimateMaximum" ] """ The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite. """ minimum: NotRequired[ "SessionUpdateParamsShippingOptionShippingRateDataDeliveryEstimateMinimum" ] """ The lower bound of the estimated range. If empty, represents no lower bound. """ class SessionUpdateParamsShippingOptionShippingRateDataDeliveryEstimateMaximum( TypedDict, ): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ class SessionUpdateParamsShippingOptionShippingRateDataDeliveryEstimateMinimum( TypedDict, ): unit: Literal["business_day", "day", "hour", "month", "week"] """ A unit of time. """ value: int """ Must be greater than 0. """ class SessionUpdateParamsShippingOptionShippingRateDataFixedAmount(TypedDict): amount: int """ A non-negative integer in cents representing how much to charge. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ currency_options: NotRequired[ Dict[ str, "SessionUpdateParamsShippingOptionShippingRateDataFixedAmountCurrencyOptions", ] ] """ Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies). """ class SessionUpdateParamsShippingOptionShippingRateDataFixedAmountCurrencyOptions( TypedDict, ): amount: int """ A non-negative integer in cents representing how much to charge. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive", "unspecified"]] """ Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/climate/__init__.py0000644000000000000000000000624015102753431016354 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.climate._order_cancel_params import ( OrderCancelParams as OrderCancelParams, ) from stripe.params.climate._order_create_params import ( OrderCreateParams as OrderCreateParams, OrderCreateParamsBeneficiary as OrderCreateParamsBeneficiary, ) from stripe.params.climate._order_list_params import ( OrderListParams as OrderListParams, ) from stripe.params.climate._order_modify_params import ( OrderModifyParams as OrderModifyParams, OrderModifyParamsBeneficiary as OrderModifyParamsBeneficiary, ) from stripe.params.climate._order_retrieve_params import ( OrderRetrieveParams as OrderRetrieveParams, ) from stripe.params.climate._order_update_params import ( OrderUpdateParams as OrderUpdateParams, OrderUpdateParamsBeneficiary as OrderUpdateParamsBeneficiary, ) from stripe.params.climate._product_list_params import ( ProductListParams as ProductListParams, ) from stripe.params.climate._product_retrieve_params import ( ProductRetrieveParams as ProductRetrieveParams, ) from stripe.params.climate._supplier_list_params import ( SupplierListParams as SupplierListParams, ) from stripe.params.climate._supplier_retrieve_params import ( SupplierRetrieveParams as SupplierRetrieveParams, ) # name -> (import_target, is_submodule) _import_map = { "OrderCancelParams": ("stripe.params.climate._order_cancel_params", False), "OrderCreateParams": ("stripe.params.climate._order_create_params", False), "OrderCreateParamsBeneficiary": ( "stripe.params.climate._order_create_params", False, ), "OrderListParams": ("stripe.params.climate._order_list_params", False), "OrderModifyParams": ("stripe.params.climate._order_modify_params", False), "OrderModifyParamsBeneficiary": ( "stripe.params.climate._order_modify_params", False, ), "OrderRetrieveParams": ( "stripe.params.climate._order_retrieve_params", False, ), "OrderUpdateParams": ("stripe.params.climate._order_update_params", False), "OrderUpdateParamsBeneficiary": ( "stripe.params.climate._order_update_params", False, ), "ProductListParams": ("stripe.params.climate._product_list_params", False), "ProductRetrieveParams": ( "stripe.params.climate._product_retrieve_params", False, ), "SupplierListParams": ( "stripe.params.climate._supplier_list_params", False, ), "SupplierRetrieveParams": ( "stripe.params.climate._supplier_retrieve_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/climate/_order_cancel_params.py0000644000000000000000000000052115102753431020733 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class OrderCancelParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/climate/_order_create_params.py0000644000000000000000000000337015102753431020756 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import NotRequired, TypedDict class OrderCreateParams(RequestOptions): amount: NotRequired[int] """ Requested amount of carbon removal units. Either this or `metric_tons` must be specified. """ beneficiary: NotRequired["OrderCreateParamsBeneficiary"] """ Publicly sharable reference for the end beneficiary of carbon removal. Assumed to be the Stripe account if not set. """ currency: NotRequired[str] """ Request currency for the order as a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a supported [settlement currency for your account](https://stripe.com/docs/currencies). If omitted, the account's default currency will be used. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ metric_tons: NotRequired[str] """ Requested number of tons for the order. Either this or `amount` must be specified. """ product: str """ Unique identifier of the Climate product. """ class OrderCreateParamsBeneficiary(TypedDict): public_name: str """ Publicly displayable name for the end beneficiary of carbon removal. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/climate/_order_list_params.py0000644000000000000000000000225315102753431020465 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class OrderListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/climate/_order_modify_params.py0000644000000000000000000000216315102753431021001 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict class OrderModifyParams(RequestOptions): beneficiary: NotRequired["Literal['']|OrderModifyParamsBeneficiary"] """ Publicly sharable reference for the end beneficiary of carbon removal. Assumed to be the Stripe account if not set. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ class OrderModifyParamsBeneficiary(TypedDict): public_name: Union[Literal[""], str] """ Publicly displayable name for the end beneficiary of carbon removal. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/climate/_order_retrieve_params.py0000644000000000000000000000052315102753431021335 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class OrderRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/climate/_order_update_params.py0000644000000000000000000000207315102753431020774 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List, Union from typing_extensions import Literal, NotRequired, TypedDict class OrderUpdateParams(TypedDict): beneficiary: NotRequired["Literal['']|OrderUpdateParamsBeneficiary"] """ Publicly sharable reference for the end beneficiary of carbon removal. Assumed to be the Stripe account if not set. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ class OrderUpdateParamsBeneficiary(TypedDict): public_name: Union[Literal[""], str] """ Publicly displayable name for the end beneficiary of carbon removal. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/climate/_product_list_params.py0000644000000000000000000000225515102753431021034 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ProductListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/climate/_product_retrieve_params.py0000644000000000000000000000052515102753431021704 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ProductRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/climate/_supplier_list_params.py0000644000000000000000000000225615102753431021220 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SupplierListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/climate/_supplier_retrieve_params.py0000644000000000000000000000052615102753431022070 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SupplierRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3650622 stripe-13.2.0/stripe/params/entitlements/__init__.py0000644000000000000000000000446615102753431017461 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.entitlements._active_entitlement_list_params import ( ActiveEntitlementListParams as ActiveEntitlementListParams, ) from stripe.params.entitlements._active_entitlement_retrieve_params import ( ActiveEntitlementRetrieveParams as ActiveEntitlementRetrieveParams, ) from stripe.params.entitlements._feature_create_params import ( FeatureCreateParams as FeatureCreateParams, ) from stripe.params.entitlements._feature_list_params import ( FeatureListParams as FeatureListParams, ) from stripe.params.entitlements._feature_modify_params import ( FeatureModifyParams as FeatureModifyParams, ) from stripe.params.entitlements._feature_retrieve_params import ( FeatureRetrieveParams as FeatureRetrieveParams, ) from stripe.params.entitlements._feature_update_params import ( FeatureUpdateParams as FeatureUpdateParams, ) # name -> (import_target, is_submodule) _import_map = { "ActiveEntitlementListParams": ( "stripe.params.entitlements._active_entitlement_list_params", False, ), "ActiveEntitlementRetrieveParams": ( "stripe.params.entitlements._active_entitlement_retrieve_params", False, ), "FeatureCreateParams": ( "stripe.params.entitlements._feature_create_params", False, ), "FeatureListParams": ( "stripe.params.entitlements._feature_list_params", False, ), "FeatureModifyParams": ( "stripe.params.entitlements._feature_modify_params", False, ), "FeatureRetrieveParams": ( "stripe.params.entitlements._feature_retrieve_params", False, ), "FeatureUpdateParams": ( "stripe.params.entitlements._feature_update_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/entitlements/_active_entitlement_list_params.py0000644000000000000000000000236515102753431024336 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ActiveEntitlementListParams(RequestOptions): customer: str """ The ID of the customer. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/entitlements/_active_entitlement_retrieve_params.py0000644000000000000000000000053715102753431025207 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ActiveEntitlementRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/entitlements/_feature_create_params.py0000644000000000000000000000145115102753431022371 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import NotRequired class FeatureCreateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ lookup_key: str """ A unique key you provide as your own system identifier. This may be up to 80 characters. """ metadata: NotRequired[Dict[str, str]] """ Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. """ name: str """ The feature's name, for your own purpose, not meant to be displayable to the customer. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/entitlements/_feature_list_params.py0000644000000000000000000000266015102753431022104 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class FeatureListParams(RequestOptions): archived: NotRequired[bool] """ If set, filter results to only include features with the given archive status. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ lookup_key: NotRequired[str] """ If set, filter results to only include features with the given lookup_key. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/entitlements/_feature_modify_params.py0000644000000000000000000000155515102753431022422 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class FeatureModifyParams(RequestOptions): active: NotRequired[bool] """ Inactive features cannot be attached to new products and will not be returned from the features list endpoint. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|Dict[str, str]"] """ Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. """ name: NotRequired[str] """ The feature's name, for your own purpose, not meant to be displayable to the customer. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/entitlements/_feature_retrieve_params.py0000644000000000000000000000052515102753431022754 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class FeatureRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/entitlements/_feature_update_params.py0000644000000000000000000000150015102753431022403 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class FeatureUpdateParams(TypedDict): active: NotRequired[bool] """ Inactive features cannot be attached to new products and will not be returned from the features list endpoint. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|Dict[str, str]"] """ Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. """ name: NotRequired[str] """ The feature's name, for your own purpose, not meant to be displayable to the customer. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/financial_connections/__init__.py0000644000000000000000000001206615102753431021267 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.financial_connections._account_disconnect_params import ( AccountDisconnectParams as AccountDisconnectParams, ) from stripe.params.financial_connections._account_list_owners_params import ( AccountListOwnersParams as AccountListOwnersParams, ) from stripe.params.financial_connections._account_list_params import ( AccountListParams as AccountListParams, AccountListParamsAccountHolder as AccountListParamsAccountHolder, ) from stripe.params.financial_connections._account_owner_list_params import ( AccountOwnerListParams as AccountOwnerListParams, ) from stripe.params.financial_connections._account_refresh_account_params import ( AccountRefreshAccountParams as AccountRefreshAccountParams, ) from stripe.params.financial_connections._account_refresh_params import ( AccountRefreshParams as AccountRefreshParams, ) from stripe.params.financial_connections._account_retrieve_params import ( AccountRetrieveParams as AccountRetrieveParams, ) from stripe.params.financial_connections._account_subscribe_params import ( AccountSubscribeParams as AccountSubscribeParams, ) from stripe.params.financial_connections._account_unsubscribe_params import ( AccountUnsubscribeParams as AccountUnsubscribeParams, ) from stripe.params.financial_connections._session_create_params import ( SessionCreateParams as SessionCreateParams, SessionCreateParamsAccountHolder as SessionCreateParamsAccountHolder, SessionCreateParamsFilters as SessionCreateParamsFilters, ) from stripe.params.financial_connections._session_retrieve_params import ( SessionRetrieveParams as SessionRetrieveParams, ) from stripe.params.financial_connections._transaction_list_params import ( TransactionListParams as TransactionListParams, TransactionListParamsTransactedAt as TransactionListParamsTransactedAt, TransactionListParamsTransactionRefresh as TransactionListParamsTransactionRefresh, ) from stripe.params.financial_connections._transaction_retrieve_params import ( TransactionRetrieveParams as TransactionRetrieveParams, ) # name -> (import_target, is_submodule) _import_map = { "AccountDisconnectParams": ( "stripe.params.financial_connections._account_disconnect_params", False, ), "AccountListOwnersParams": ( "stripe.params.financial_connections._account_list_owners_params", False, ), "AccountListParams": ( "stripe.params.financial_connections._account_list_params", False, ), "AccountListParamsAccountHolder": ( "stripe.params.financial_connections._account_list_params", False, ), "AccountOwnerListParams": ( "stripe.params.financial_connections._account_owner_list_params", False, ), "AccountRefreshAccountParams": ( "stripe.params.financial_connections._account_refresh_account_params", False, ), "AccountRefreshParams": ( "stripe.params.financial_connections._account_refresh_params", False, ), "AccountRetrieveParams": ( "stripe.params.financial_connections._account_retrieve_params", False, ), "AccountSubscribeParams": ( "stripe.params.financial_connections._account_subscribe_params", False, ), "AccountUnsubscribeParams": ( "stripe.params.financial_connections._account_unsubscribe_params", False, ), "SessionCreateParams": ( "stripe.params.financial_connections._session_create_params", False, ), "SessionCreateParamsAccountHolder": ( "stripe.params.financial_connections._session_create_params", False, ), "SessionCreateParamsFilters": ( "stripe.params.financial_connections._session_create_params", False, ), "SessionRetrieveParams": ( "stripe.params.financial_connections._session_retrieve_params", False, ), "TransactionListParams": ( "stripe.params.financial_connections._transaction_list_params", False, ), "TransactionListParamsTransactedAt": ( "stripe.params.financial_connections._transaction_list_params", False, ), "TransactionListParamsTransactionRefresh": ( "stripe.params.financial_connections._transaction_list_params", False, ), "TransactionRetrieveParams": ( "stripe.params.financial_connections._transaction_retrieve_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/financial_connections/_account_disconnect_params.py0000644000000000000000000000052715102753431025076 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AccountDisconnectParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/financial_connections/_account_list_owners_params.py0000644000000000000000000000241715102753431025315 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AccountListOwnersParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ ownership: str """ The ID of the ownership object to fetch owners from. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/financial_connections/_account_list_params.py0000644000000000000000000000351115102753431023714 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class AccountListParams(RequestOptions): account_holder: NotRequired["AccountListParamsAccountHolder"] """ If present, only return accounts that belong to the specified account holder. `account_holder[customer]` and `account_holder[account]` are mutually exclusive. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ session: NotRequired[str] """ If present, only return accounts that were collected as part of the given session. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class AccountListParamsAccountHolder(TypedDict): account: NotRequired[str] """ The ID of the Stripe account whose accounts will be retrieved. """ customer: NotRequired[str] """ The ID of the Stripe customer whose accounts will be retrieved. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/financial_connections/_account_owner_list_params.py0000644000000000000000000000234115102753431025126 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class AccountOwnerListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ ownership: str """ The ID of the ownership object to fetch owners from. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/financial_connections/_account_refresh_account_params.py0000644000000000000000000000077115102753431026120 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class AccountRefreshAccountParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ features: List[Literal["balance", "ownership", "transactions"]] """ The list of account features that you would like to refresh. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/financial_connections/_account_refresh_params.py0000644000000000000000000000070515102753431024401 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class AccountRefreshParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ features: List[Literal["balance", "ownership", "transactions"]] """ The list of account features that you would like to refresh. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/financial_connections/_account_retrieve_params.py0000644000000000000000000000052515102753431024570 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AccountRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/financial_connections/_account_subscribe_params.py0000644000000000000000000000074215102753431024725 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class AccountSubscribeParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ features: List[Literal["transactions"]] """ The list of account features to which you would like to subscribe. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/financial_connections/_account_unsubscribe_params.py0000644000000000000000000000075015102753431025267 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class AccountUnsubscribeParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ features: List[Literal["transactions"]] """ The list of account features from which you would like to unsubscribe. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/financial_connections/_session_create_params.py0000644000000000000000000000445415102753431024242 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class SessionCreateParams(RequestOptions): account_holder: "SessionCreateParamsAccountHolder" """ The account holder to link accounts for. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ filters: NotRequired["SessionCreateParamsFilters"] """ Filters to restrict the kinds of accounts to collect. """ permissions: List[ Literal["balances", "ownership", "payment_method", "transactions"] ] """ List of data features that you would like to request access to. Possible values are `balances`, `transactions`, `ownership`, and `payment_method`. """ prefetch: NotRequired[ List[Literal["balances", "ownership", "transactions"]] ] """ List of data features that you would like to retrieve upon account creation. """ return_url: NotRequired[str] """ For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app. """ class SessionCreateParamsAccountHolder(TypedDict): account: NotRequired[str] """ The ID of the Stripe account whose accounts will be retrieved. Should only be present if `type` is `account`. """ customer: NotRequired[str] """ The ID of the Stripe customer whose accounts will be retrieved. Should only be present if `type` is `customer`. """ type: Literal["account", "customer"] """ Type of account holder to collect accounts for. """ class SessionCreateParamsFilters(TypedDict): account_subcategories: NotRequired[ List[ Literal[ "checking", "credit_card", "line_of_credit", "mortgage", "savings", ] ] ] """ Restricts the Session to subcategories of accounts that can be linked. Valid subcategories are: `checking`, `savings`, `mortgage`, `line_of_credit`, `credit_card`. """ countries: NotRequired[List[str]] """ List of countries from which to collect accounts. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/financial_connections/_session_retrieve_params.py0000644000000000000000000000052515102753431024617 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SessionRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/financial_connections/_transaction_list_params.py0000644000000000000000000000461115102753431024607 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class TransactionListParams(RequestOptions): account: str """ The ID of the Financial Connections Account whose transactions will be retrieved. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ transacted_at: NotRequired["TransactionListParamsTransactedAt|int"] """ A filter on the list based on the object `transacted_at` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options: """ transaction_refresh: NotRequired["TransactionListParamsTransactionRefresh"] """ A filter on the list based on the object `transaction_refresh` field. The value can be a dictionary with the following options: """ class TransactionListParamsTransactedAt(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ class TransactionListParamsTransactionRefresh(TypedDict): after: str """ Return results where the transactions were created or updated by a refresh that took place after this refresh (non-inclusive). """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/financial_connections/_transaction_retrieve_params.py0000644000000000000000000000053115102753431025456 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TransactionRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/forwarding/__init__.py0000644000000000000000000000347115102753431017103 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.forwarding._request_create_params import ( RequestCreateParams as RequestCreateParams, RequestCreateParamsRequest as RequestCreateParamsRequest, RequestCreateParamsRequestHeader as RequestCreateParamsRequestHeader, ) from stripe.params.forwarding._request_list_params import ( RequestListParams as RequestListParams, RequestListParamsCreated as RequestListParamsCreated, ) from stripe.params.forwarding._request_retrieve_params import ( RequestRetrieveParams as RequestRetrieveParams, ) # name -> (import_target, is_submodule) _import_map = { "RequestCreateParams": ( "stripe.params.forwarding._request_create_params", False, ), "RequestCreateParamsRequest": ( "stripe.params.forwarding._request_create_params", False, ), "RequestCreateParamsRequestHeader": ( "stripe.params.forwarding._request_create_params", False, ), "RequestListParams": ( "stripe.params.forwarding._request_list_params", False, ), "RequestListParamsCreated": ( "stripe.params.forwarding._request_list_params", False, ), "RequestRetrieveParams": ( "stripe.params.forwarding._request_retrieve_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/forwarding/_request_create_params.py0000644000000000000000000000370715102753431022063 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class RequestCreateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ payment_method: str """ The PaymentMethod to insert into the forwarded request. Forwarding previously consumed PaymentMethods is allowed. """ replacements: List[ Literal[ "card_cvc", "card_expiry", "card_number", "cardholder_name", "request_signature", ] ] """ The field kinds to be replaced in the forwarded request. """ request: "RequestCreateParamsRequest" """ The request body and headers to be sent to the destination endpoint. """ url: str """ The destination URL for the forwarded request. Must be supported by the config. """ class RequestCreateParamsRequest(TypedDict): body: NotRequired[str] """ The body payload to send to the destination endpoint. """ headers: NotRequired[List["RequestCreateParamsRequestHeader"]] """ The headers to include in the forwarded request. Can be omitted if no additional headers (excluding Stripe-generated ones such as the Content-Type header) should be included. """ class RequestCreateParamsRequestHeader(TypedDict): name: str """ The header name. """ value: str """ The header value. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/forwarding/_request_list_params.py0000644000000000000000000000300315102753431021560 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class RequestListParams(RequestOptions): created: NotRequired["RequestListParamsCreated"] """ Similar to other List endpoints, filters results based on created timestamp. You can pass gt, gte, lt, and lte timestamp values. """ ending_before: NotRequired[str] """ A pagination cursor to fetch the previous page of the list. The value must be a ForwardingRequest ID. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A pagination cursor to fetch the next page of the list. The value must be a ForwardingRequest ID. """ class RequestListParamsCreated(TypedDict): gt: NotRequired[int] """ Return results where the `created` field is greater than this value. """ gte: NotRequired[int] """ Return results where the `created` field is greater than or equal to this value. """ lt: NotRequired[int] """ Return results where the `created` field is less than this value. """ lte: NotRequired[int] """ Return results where the `created` field is less than or equal to this value. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/forwarding/_request_retrieve_params.py0000644000000000000000000000052515102753431022440 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class RequestRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/identity/__init__.py0000644000000000000000000001373415102753431016575 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.identity._verification_report_list_params import ( VerificationReportListParams as VerificationReportListParams, VerificationReportListParamsCreated as VerificationReportListParamsCreated, ) from stripe.params.identity._verification_report_retrieve_params import ( VerificationReportRetrieveParams as VerificationReportRetrieveParams, ) from stripe.params.identity._verification_session_cancel_params import ( VerificationSessionCancelParams as VerificationSessionCancelParams, ) from stripe.params.identity._verification_session_create_params import ( VerificationSessionCreateParams as VerificationSessionCreateParams, VerificationSessionCreateParamsOptions as VerificationSessionCreateParamsOptions, VerificationSessionCreateParamsOptionsDocument as VerificationSessionCreateParamsOptionsDocument, VerificationSessionCreateParamsProvidedDetails as VerificationSessionCreateParamsProvidedDetails, VerificationSessionCreateParamsRelatedPerson as VerificationSessionCreateParamsRelatedPerson, ) from stripe.params.identity._verification_session_list_params import ( VerificationSessionListParams as VerificationSessionListParams, VerificationSessionListParamsCreated as VerificationSessionListParamsCreated, ) from stripe.params.identity._verification_session_modify_params import ( VerificationSessionModifyParams as VerificationSessionModifyParams, VerificationSessionModifyParamsOptions as VerificationSessionModifyParamsOptions, VerificationSessionModifyParamsOptionsDocument as VerificationSessionModifyParamsOptionsDocument, VerificationSessionModifyParamsProvidedDetails as VerificationSessionModifyParamsProvidedDetails, ) from stripe.params.identity._verification_session_redact_params import ( VerificationSessionRedactParams as VerificationSessionRedactParams, ) from stripe.params.identity._verification_session_retrieve_params import ( VerificationSessionRetrieveParams as VerificationSessionRetrieveParams, ) from stripe.params.identity._verification_session_update_params import ( VerificationSessionUpdateParams as VerificationSessionUpdateParams, VerificationSessionUpdateParamsOptions as VerificationSessionUpdateParamsOptions, VerificationSessionUpdateParamsOptionsDocument as VerificationSessionUpdateParamsOptionsDocument, VerificationSessionUpdateParamsProvidedDetails as VerificationSessionUpdateParamsProvidedDetails, ) # name -> (import_target, is_submodule) _import_map = { "VerificationReportListParams": ( "stripe.params.identity._verification_report_list_params", False, ), "VerificationReportListParamsCreated": ( "stripe.params.identity._verification_report_list_params", False, ), "VerificationReportRetrieveParams": ( "stripe.params.identity._verification_report_retrieve_params", False, ), "VerificationSessionCancelParams": ( "stripe.params.identity._verification_session_cancel_params", False, ), "VerificationSessionCreateParams": ( "stripe.params.identity._verification_session_create_params", False, ), "VerificationSessionCreateParamsOptions": ( "stripe.params.identity._verification_session_create_params", False, ), "VerificationSessionCreateParamsOptionsDocument": ( "stripe.params.identity._verification_session_create_params", False, ), "VerificationSessionCreateParamsProvidedDetails": ( "stripe.params.identity._verification_session_create_params", False, ), "VerificationSessionCreateParamsRelatedPerson": ( "stripe.params.identity._verification_session_create_params", False, ), "VerificationSessionListParams": ( "stripe.params.identity._verification_session_list_params", False, ), "VerificationSessionListParamsCreated": ( "stripe.params.identity._verification_session_list_params", False, ), "VerificationSessionModifyParams": ( "stripe.params.identity._verification_session_modify_params", False, ), "VerificationSessionModifyParamsOptions": ( "stripe.params.identity._verification_session_modify_params", False, ), "VerificationSessionModifyParamsOptionsDocument": ( "stripe.params.identity._verification_session_modify_params", False, ), "VerificationSessionModifyParamsProvidedDetails": ( "stripe.params.identity._verification_session_modify_params", False, ), "VerificationSessionRedactParams": ( "stripe.params.identity._verification_session_redact_params", False, ), "VerificationSessionRetrieveParams": ( "stripe.params.identity._verification_session_retrieve_params", False, ), "VerificationSessionUpdateParams": ( "stripe.params.identity._verification_session_update_params", False, ), "VerificationSessionUpdateParamsOptions": ( "stripe.params.identity._verification_session_update_params", False, ), "VerificationSessionUpdateParamsOptionsDocument": ( "stripe.params.identity._verification_session_update_params", False, ), "VerificationSessionUpdateParamsProvidedDetails": ( "stripe.params.identity._verification_session_update_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/identity/_verification_report_list_params.py0000644000000000000000000000442115102753431023641 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class VerificationReportListParams(RequestOptions): client_reference_id: NotRequired[str] """ A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems. """ created: NotRequired["VerificationReportListParamsCreated|int"] """ Only return VerificationReports that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ type: NotRequired[Literal["document", "id_number"]] """ Only return VerificationReports of this type """ verification_session: NotRequired[str] """ Only return VerificationReports created by this VerificationSession ID. It is allowed to provide a VerificationIntent ID. """ class VerificationReportListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/identity/_verification_report_retrieve_params.py0000644000000000000000000000054015102753431024511 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class VerificationReportRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/identity/_verification_session_cancel_params.py0000644000000000000000000000053715102753431024267 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class VerificationSessionCancelParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3660622 stripe-13.2.0/stripe/params/identity/_verification_session_create_params.py0000644000000000000000000000774415102753431024314 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class VerificationSessionCreateParams(RequestOptions): client_reference_id: NotRequired[str] """ A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ options: NotRequired["VerificationSessionCreateParamsOptions"] """ A set of options for the session's verification checks. """ provided_details: NotRequired[ "VerificationSessionCreateParamsProvidedDetails" ] """ Details provided about the user being verified. These details may be shown to the user. """ related_customer: NotRequired[str] """ Customer ID """ related_person: NotRequired["VerificationSessionCreateParamsRelatedPerson"] """ Tokens referencing a Person resource and it's associated account. """ return_url: NotRequired[str] """ The URL that the user will be redirected to upon completing the verification flow. """ type: NotRequired[Literal["document", "id_number"]] """ The type of [verification check](https://stripe.com/docs/identity/verification-checks) to be performed. You must provide a `type` if not passing `verification_flow`. """ verification_flow: NotRequired[str] """ The ID of a verification flow from the Dashboard. See https://docs.stripe.com/identity/verification-flows. """ class VerificationSessionCreateParamsOptions(TypedDict): document: NotRequired[ "Literal['']|VerificationSessionCreateParamsOptionsDocument" ] """ Options that apply to the [document check](https://stripe.com/docs/identity/verification-checks?type=document). """ class VerificationSessionCreateParamsOptionsDocument(TypedDict): allowed_types: NotRequired[ List[Literal["driving_license", "id_card", "passport"]] ] """ Array of strings of allowed identity document types. If the provided identity document isn't one of the allowed types, the verification check will fail with a document_type_not_allowed error code. """ require_id_number: NotRequired[bool] """ Collect an ID number and perform an [ID number check](https://stripe.com/docs/identity/verification-checks?type=id-number) with the document's extracted name and date of birth. """ require_live_capture: NotRequired[bool] """ Disable image uploads, identity document images have to be captured using the device's camera. """ require_matching_selfie: NotRequired[bool] """ Capture a face image and perform a [selfie check](https://stripe.com/docs/identity/verification-checks?type=selfie) comparing a photo ID and a picture of your user's face. [Learn more](https://stripe.com/docs/identity/selfie). """ class VerificationSessionCreateParamsProvidedDetails(TypedDict): email: NotRequired[str] """ Email of user being verified """ phone: NotRequired[str] """ Phone number of user being verified """ class VerificationSessionCreateParamsRelatedPerson(TypedDict): account: str """ A token representing a connected account. If provided, the person parameter is also required and must be associated with the account. """ person: str """ A token referencing a Person resource that this verification is being used to verify. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/identity/_verification_session_list_params.py0000644000000000000000000000443215102753431024013 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class VerificationSessionListParams(RequestOptions): client_reference_id: NotRequired[str] """ A string to reference this user. This can be a customer ID, a session ID, or similar, and can be used to reconcile this verification with your internal systems. """ created: NotRequired["VerificationSessionListParamsCreated|int"] """ Only return VerificationSessions that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ related_customer: NotRequired[str] starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[ Literal["canceled", "processing", "requires_input", "verified"] ] """ Only return VerificationSessions with this status. [Learn more about the lifecycle of sessions](https://stripe.com/docs/identity/how-sessions-work). """ class VerificationSessionListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/identity/_verification_session_modify_params.py0000644000000000000000000000550515102753431024331 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class VerificationSessionModifyParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ options: NotRequired["VerificationSessionModifyParamsOptions"] """ A set of options for the session's verification checks. """ provided_details: NotRequired[ "VerificationSessionModifyParamsProvidedDetails" ] """ Details provided about the user being verified. These details may be shown to the user. """ type: NotRequired[Literal["document", "id_number"]] """ The type of [verification check](https://stripe.com/docs/identity/verification-checks) to be performed. """ class VerificationSessionModifyParamsOptions(TypedDict): document: NotRequired[ "Literal['']|VerificationSessionModifyParamsOptionsDocument" ] """ Options that apply to the [document check](https://stripe.com/docs/identity/verification-checks?type=document). """ class VerificationSessionModifyParamsOptionsDocument(TypedDict): allowed_types: NotRequired[ List[Literal["driving_license", "id_card", "passport"]] ] """ Array of strings of allowed identity document types. If the provided identity document isn't one of the allowed types, the verification check will fail with a document_type_not_allowed error code. """ require_id_number: NotRequired[bool] """ Collect an ID number and perform an [ID number check](https://stripe.com/docs/identity/verification-checks?type=id-number) with the document's extracted name and date of birth. """ require_live_capture: NotRequired[bool] """ Disable image uploads, identity document images have to be captured using the device's camera. """ require_matching_selfie: NotRequired[bool] """ Capture a face image and perform a [selfie check](https://stripe.com/docs/identity/verification-checks?type=selfie) comparing a photo ID and a picture of your user's face. [Learn more](https://stripe.com/docs/identity/selfie). """ class VerificationSessionModifyParamsProvidedDetails(TypedDict): email: NotRequired[str] """ Email of user being verified """ phone: NotRequired[str] """ Phone number of user being verified """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/identity/_verification_session_redact_params.py0000644000000000000000000000053715102753431024304 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class VerificationSessionRedactParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/identity/_verification_session_retrieve_params.py0000644000000000000000000000054115102753431024662 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class VerificationSessionRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/identity/_verification_session_update_params.py0000644000000000000000000000541515102753431024324 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class VerificationSessionUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ options: NotRequired["VerificationSessionUpdateParamsOptions"] """ A set of options for the session's verification checks. """ provided_details: NotRequired[ "VerificationSessionUpdateParamsProvidedDetails" ] """ Details provided about the user being verified. These details may be shown to the user. """ type: NotRequired[Literal["document", "id_number"]] """ The type of [verification check](https://stripe.com/docs/identity/verification-checks) to be performed. """ class VerificationSessionUpdateParamsOptions(TypedDict): document: NotRequired[ "Literal['']|VerificationSessionUpdateParamsOptionsDocument" ] """ Options that apply to the [document check](https://stripe.com/docs/identity/verification-checks?type=document). """ class VerificationSessionUpdateParamsOptionsDocument(TypedDict): allowed_types: NotRequired[ List[Literal["driving_license", "id_card", "passport"]] ] """ Array of strings of allowed identity document types. If the provided identity document isn't one of the allowed types, the verification check will fail with a document_type_not_allowed error code. """ require_id_number: NotRequired[bool] """ Collect an ID number and perform an [ID number check](https://stripe.com/docs/identity/verification-checks?type=id-number) with the document's extracted name and date of birth. """ require_live_capture: NotRequired[bool] """ Disable image uploads, identity document images have to be captured using the device's camera. """ require_matching_selfie: NotRequired[bool] """ Capture a face image and perform a [selfie check](https://stripe.com/docs/identity/verification-checks?type=selfie) comparing a photo ID and a picture of your user's face. [Learn more](https://stripe.com/docs/identity/selfie). """ class VerificationSessionUpdateParamsProvidedDetails(TypedDict): email: NotRequired[str] """ Email of user being verified """ phone: NotRequired[str] """ Phone number of user being verified """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/__init__.py0000644000000000000000000014624015102753431016424 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.issuing._authorization_approve_params import ( AuthorizationApproveParams as AuthorizationApproveParams, ) from stripe.params.issuing._authorization_capture_params import ( AuthorizationCaptureParams as AuthorizationCaptureParams, AuthorizationCaptureParamsPurchaseDetails as AuthorizationCaptureParamsPurchaseDetails, AuthorizationCaptureParamsPurchaseDetailsFleet as AuthorizationCaptureParamsPurchaseDetailsFleet, AuthorizationCaptureParamsPurchaseDetailsFleetCardholderPromptData as AuthorizationCaptureParamsPurchaseDetailsFleetCardholderPromptData, AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdown as AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdown, AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel as AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel, AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel as AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel, AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownTax as AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownTax, AuthorizationCaptureParamsPurchaseDetailsFlight as AuthorizationCaptureParamsPurchaseDetailsFlight, AuthorizationCaptureParamsPurchaseDetailsFlightSegment as AuthorizationCaptureParamsPurchaseDetailsFlightSegment, AuthorizationCaptureParamsPurchaseDetailsFuel as AuthorizationCaptureParamsPurchaseDetailsFuel, AuthorizationCaptureParamsPurchaseDetailsLodging as AuthorizationCaptureParamsPurchaseDetailsLodging, AuthorizationCaptureParamsPurchaseDetailsReceipt as AuthorizationCaptureParamsPurchaseDetailsReceipt, ) from stripe.params.issuing._authorization_create_params import ( AuthorizationCreateParams as AuthorizationCreateParams, AuthorizationCreateParamsAmountDetails as AuthorizationCreateParamsAmountDetails, AuthorizationCreateParamsFleet as AuthorizationCreateParamsFleet, AuthorizationCreateParamsFleetCardholderPromptData as AuthorizationCreateParamsFleetCardholderPromptData, AuthorizationCreateParamsFleetReportedBreakdown as AuthorizationCreateParamsFleetReportedBreakdown, AuthorizationCreateParamsFleetReportedBreakdownFuel as AuthorizationCreateParamsFleetReportedBreakdownFuel, AuthorizationCreateParamsFleetReportedBreakdownNonFuel as AuthorizationCreateParamsFleetReportedBreakdownNonFuel, AuthorizationCreateParamsFleetReportedBreakdownTax as AuthorizationCreateParamsFleetReportedBreakdownTax, AuthorizationCreateParamsFuel as AuthorizationCreateParamsFuel, AuthorizationCreateParamsMerchantData as AuthorizationCreateParamsMerchantData, AuthorizationCreateParamsNetworkData as AuthorizationCreateParamsNetworkData, AuthorizationCreateParamsRiskAssessment as AuthorizationCreateParamsRiskAssessment, AuthorizationCreateParamsRiskAssessmentCardTestingRisk as AuthorizationCreateParamsRiskAssessmentCardTestingRisk, AuthorizationCreateParamsRiskAssessmentMerchantDisputeRisk as AuthorizationCreateParamsRiskAssessmentMerchantDisputeRisk, AuthorizationCreateParamsVerificationData as AuthorizationCreateParamsVerificationData, AuthorizationCreateParamsVerificationDataAuthenticationExemption as AuthorizationCreateParamsVerificationDataAuthenticationExemption, AuthorizationCreateParamsVerificationDataThreeDSecure as AuthorizationCreateParamsVerificationDataThreeDSecure, ) from stripe.params.issuing._authorization_decline_params import ( AuthorizationDeclineParams as AuthorizationDeclineParams, ) from stripe.params.issuing._authorization_expire_params import ( AuthorizationExpireParams as AuthorizationExpireParams, ) from stripe.params.issuing._authorization_finalize_amount_params import ( AuthorizationFinalizeAmountParams as AuthorizationFinalizeAmountParams, AuthorizationFinalizeAmountParamsFleet as AuthorizationFinalizeAmountParamsFleet, AuthorizationFinalizeAmountParamsFleetCardholderPromptData as AuthorizationFinalizeAmountParamsFleetCardholderPromptData, AuthorizationFinalizeAmountParamsFleetReportedBreakdown as AuthorizationFinalizeAmountParamsFleetReportedBreakdown, AuthorizationFinalizeAmountParamsFleetReportedBreakdownFuel as AuthorizationFinalizeAmountParamsFleetReportedBreakdownFuel, AuthorizationFinalizeAmountParamsFleetReportedBreakdownNonFuel as AuthorizationFinalizeAmountParamsFleetReportedBreakdownNonFuel, AuthorizationFinalizeAmountParamsFleetReportedBreakdownTax as AuthorizationFinalizeAmountParamsFleetReportedBreakdownTax, AuthorizationFinalizeAmountParamsFuel as AuthorizationFinalizeAmountParamsFuel, ) from stripe.params.issuing._authorization_increment_params import ( AuthorizationIncrementParams as AuthorizationIncrementParams, ) from stripe.params.issuing._authorization_list_params import ( AuthorizationListParams as AuthorizationListParams, AuthorizationListParamsCreated as AuthorizationListParamsCreated, ) from stripe.params.issuing._authorization_modify_params import ( AuthorizationModifyParams as AuthorizationModifyParams, ) from stripe.params.issuing._authorization_respond_params import ( AuthorizationRespondParams as AuthorizationRespondParams, ) from stripe.params.issuing._authorization_retrieve_params import ( AuthorizationRetrieveParams as AuthorizationRetrieveParams, ) from stripe.params.issuing._authorization_reverse_params import ( AuthorizationReverseParams as AuthorizationReverseParams, ) from stripe.params.issuing._authorization_update_params import ( AuthorizationUpdateParams as AuthorizationUpdateParams, ) from stripe.params.issuing._card_create_params import ( CardCreateParams as CardCreateParams, CardCreateParamsPin as CardCreateParamsPin, CardCreateParamsShipping as CardCreateParamsShipping, CardCreateParamsShippingAddress as CardCreateParamsShippingAddress, CardCreateParamsShippingAddressValidation as CardCreateParamsShippingAddressValidation, CardCreateParamsShippingCustoms as CardCreateParamsShippingCustoms, CardCreateParamsSpendingControls as CardCreateParamsSpendingControls, CardCreateParamsSpendingControlsSpendingLimit as CardCreateParamsSpendingControlsSpendingLimit, ) from stripe.params.issuing._card_deliver_card_params import ( CardDeliverCardParams as CardDeliverCardParams, ) from stripe.params.issuing._card_fail_card_params import ( CardFailCardParams as CardFailCardParams, ) from stripe.params.issuing._card_list_params import ( CardListParams as CardListParams, CardListParamsCreated as CardListParamsCreated, ) from stripe.params.issuing._card_modify_params import ( CardModifyParams as CardModifyParams, CardModifyParamsPin as CardModifyParamsPin, CardModifyParamsShipping as CardModifyParamsShipping, CardModifyParamsShippingAddress as CardModifyParamsShippingAddress, CardModifyParamsShippingAddressValidation as CardModifyParamsShippingAddressValidation, CardModifyParamsShippingCustoms as CardModifyParamsShippingCustoms, CardModifyParamsSpendingControls as CardModifyParamsSpendingControls, CardModifyParamsSpendingControlsSpendingLimit as CardModifyParamsSpendingControlsSpendingLimit, ) from stripe.params.issuing._card_retrieve_params import ( CardRetrieveParams as CardRetrieveParams, ) from stripe.params.issuing._card_return_card_params import ( CardReturnCardParams as CardReturnCardParams, ) from stripe.params.issuing._card_ship_card_params import ( CardShipCardParams as CardShipCardParams, ) from stripe.params.issuing._card_submit_card_params import ( CardSubmitCardParams as CardSubmitCardParams, ) from stripe.params.issuing._card_update_params import ( CardUpdateParams as CardUpdateParams, CardUpdateParamsPin as CardUpdateParamsPin, CardUpdateParamsShipping as CardUpdateParamsShipping, CardUpdateParamsShippingAddress as CardUpdateParamsShippingAddress, CardUpdateParamsShippingAddressValidation as CardUpdateParamsShippingAddressValidation, CardUpdateParamsShippingCustoms as CardUpdateParamsShippingCustoms, CardUpdateParamsSpendingControls as CardUpdateParamsSpendingControls, CardUpdateParamsSpendingControlsSpendingLimit as CardUpdateParamsSpendingControlsSpendingLimit, ) from stripe.params.issuing._cardholder_create_params import ( CardholderCreateParams as CardholderCreateParams, CardholderCreateParamsBilling as CardholderCreateParamsBilling, CardholderCreateParamsBillingAddress as CardholderCreateParamsBillingAddress, CardholderCreateParamsCompany as CardholderCreateParamsCompany, CardholderCreateParamsIndividual as CardholderCreateParamsIndividual, CardholderCreateParamsIndividualCardIssuing as CardholderCreateParamsIndividualCardIssuing, CardholderCreateParamsIndividualCardIssuingUserTermsAcceptance as CardholderCreateParamsIndividualCardIssuingUserTermsAcceptance, CardholderCreateParamsIndividualDob as CardholderCreateParamsIndividualDob, CardholderCreateParamsIndividualVerification as CardholderCreateParamsIndividualVerification, CardholderCreateParamsIndividualVerificationDocument as CardholderCreateParamsIndividualVerificationDocument, CardholderCreateParamsSpendingControls as CardholderCreateParamsSpendingControls, CardholderCreateParamsSpendingControlsSpendingLimit as CardholderCreateParamsSpendingControlsSpendingLimit, ) from stripe.params.issuing._cardholder_list_params import ( CardholderListParams as CardholderListParams, CardholderListParamsCreated as CardholderListParamsCreated, ) from stripe.params.issuing._cardholder_modify_params import ( CardholderModifyParams as CardholderModifyParams, CardholderModifyParamsBilling as CardholderModifyParamsBilling, CardholderModifyParamsBillingAddress as CardholderModifyParamsBillingAddress, CardholderModifyParamsCompany as CardholderModifyParamsCompany, CardholderModifyParamsIndividual as CardholderModifyParamsIndividual, CardholderModifyParamsIndividualCardIssuing as CardholderModifyParamsIndividualCardIssuing, CardholderModifyParamsIndividualCardIssuingUserTermsAcceptance as CardholderModifyParamsIndividualCardIssuingUserTermsAcceptance, CardholderModifyParamsIndividualDob as CardholderModifyParamsIndividualDob, CardholderModifyParamsIndividualVerification as CardholderModifyParamsIndividualVerification, CardholderModifyParamsIndividualVerificationDocument as CardholderModifyParamsIndividualVerificationDocument, CardholderModifyParamsSpendingControls as CardholderModifyParamsSpendingControls, CardholderModifyParamsSpendingControlsSpendingLimit as CardholderModifyParamsSpendingControlsSpendingLimit, ) from stripe.params.issuing._cardholder_retrieve_params import ( CardholderRetrieveParams as CardholderRetrieveParams, ) from stripe.params.issuing._cardholder_update_params import ( CardholderUpdateParams as CardholderUpdateParams, CardholderUpdateParamsBilling as CardholderUpdateParamsBilling, CardholderUpdateParamsBillingAddress as CardholderUpdateParamsBillingAddress, CardholderUpdateParamsCompany as CardholderUpdateParamsCompany, CardholderUpdateParamsIndividual as CardholderUpdateParamsIndividual, CardholderUpdateParamsIndividualCardIssuing as CardholderUpdateParamsIndividualCardIssuing, CardholderUpdateParamsIndividualCardIssuingUserTermsAcceptance as CardholderUpdateParamsIndividualCardIssuingUserTermsAcceptance, CardholderUpdateParamsIndividualDob as CardholderUpdateParamsIndividualDob, CardholderUpdateParamsIndividualVerification as CardholderUpdateParamsIndividualVerification, CardholderUpdateParamsIndividualVerificationDocument as CardholderUpdateParamsIndividualVerificationDocument, CardholderUpdateParamsSpendingControls as CardholderUpdateParamsSpendingControls, CardholderUpdateParamsSpendingControlsSpendingLimit as CardholderUpdateParamsSpendingControlsSpendingLimit, ) from stripe.params.issuing._dispute_create_params import ( DisputeCreateParams as DisputeCreateParams, DisputeCreateParamsEvidence as DisputeCreateParamsEvidence, DisputeCreateParamsEvidenceCanceled as DisputeCreateParamsEvidenceCanceled, DisputeCreateParamsEvidenceDuplicate as DisputeCreateParamsEvidenceDuplicate, DisputeCreateParamsEvidenceFraudulent as DisputeCreateParamsEvidenceFraudulent, DisputeCreateParamsEvidenceMerchandiseNotAsDescribed as DisputeCreateParamsEvidenceMerchandiseNotAsDescribed, DisputeCreateParamsEvidenceNoValidAuthorization as DisputeCreateParamsEvidenceNoValidAuthorization, DisputeCreateParamsEvidenceNotReceived as DisputeCreateParamsEvidenceNotReceived, DisputeCreateParamsEvidenceOther as DisputeCreateParamsEvidenceOther, DisputeCreateParamsEvidenceServiceNotAsDescribed as DisputeCreateParamsEvidenceServiceNotAsDescribed, DisputeCreateParamsTreasury as DisputeCreateParamsTreasury, ) from stripe.params.issuing._dispute_list_params import ( DisputeListParams as DisputeListParams, DisputeListParamsCreated as DisputeListParamsCreated, ) from stripe.params.issuing._dispute_modify_params import ( DisputeModifyParams as DisputeModifyParams, DisputeModifyParamsEvidence as DisputeModifyParamsEvidence, DisputeModifyParamsEvidenceCanceled as DisputeModifyParamsEvidenceCanceled, DisputeModifyParamsEvidenceDuplicate as DisputeModifyParamsEvidenceDuplicate, DisputeModifyParamsEvidenceFraudulent as DisputeModifyParamsEvidenceFraudulent, DisputeModifyParamsEvidenceMerchandiseNotAsDescribed as DisputeModifyParamsEvidenceMerchandiseNotAsDescribed, DisputeModifyParamsEvidenceNoValidAuthorization as DisputeModifyParamsEvidenceNoValidAuthorization, DisputeModifyParamsEvidenceNotReceived as DisputeModifyParamsEvidenceNotReceived, DisputeModifyParamsEvidenceOther as DisputeModifyParamsEvidenceOther, DisputeModifyParamsEvidenceServiceNotAsDescribed as DisputeModifyParamsEvidenceServiceNotAsDescribed, ) from stripe.params.issuing._dispute_retrieve_params import ( DisputeRetrieveParams as DisputeRetrieveParams, ) from stripe.params.issuing._dispute_submit_params import ( DisputeSubmitParams as DisputeSubmitParams, ) from stripe.params.issuing._dispute_update_params import ( DisputeUpdateParams as DisputeUpdateParams, DisputeUpdateParamsEvidence as DisputeUpdateParamsEvidence, DisputeUpdateParamsEvidenceCanceled as DisputeUpdateParamsEvidenceCanceled, DisputeUpdateParamsEvidenceDuplicate as DisputeUpdateParamsEvidenceDuplicate, DisputeUpdateParamsEvidenceFraudulent as DisputeUpdateParamsEvidenceFraudulent, DisputeUpdateParamsEvidenceMerchandiseNotAsDescribed as DisputeUpdateParamsEvidenceMerchandiseNotAsDescribed, DisputeUpdateParamsEvidenceNoValidAuthorization as DisputeUpdateParamsEvidenceNoValidAuthorization, DisputeUpdateParamsEvidenceNotReceived as DisputeUpdateParamsEvidenceNotReceived, DisputeUpdateParamsEvidenceOther as DisputeUpdateParamsEvidenceOther, DisputeUpdateParamsEvidenceServiceNotAsDescribed as DisputeUpdateParamsEvidenceServiceNotAsDescribed, ) from stripe.params.issuing._personalization_design_activate_params import ( PersonalizationDesignActivateParams as PersonalizationDesignActivateParams, ) from stripe.params.issuing._personalization_design_create_params import ( PersonalizationDesignCreateParams as PersonalizationDesignCreateParams, PersonalizationDesignCreateParamsCarrierText as PersonalizationDesignCreateParamsCarrierText, PersonalizationDesignCreateParamsPreferences as PersonalizationDesignCreateParamsPreferences, ) from stripe.params.issuing._personalization_design_deactivate_params import ( PersonalizationDesignDeactivateParams as PersonalizationDesignDeactivateParams, ) from stripe.params.issuing._personalization_design_list_params import ( PersonalizationDesignListParams as PersonalizationDesignListParams, PersonalizationDesignListParamsPreferences as PersonalizationDesignListParamsPreferences, ) from stripe.params.issuing._personalization_design_modify_params import ( PersonalizationDesignModifyParams as PersonalizationDesignModifyParams, PersonalizationDesignModifyParamsCarrierText as PersonalizationDesignModifyParamsCarrierText, PersonalizationDesignModifyParamsPreferences as PersonalizationDesignModifyParamsPreferences, ) from stripe.params.issuing._personalization_design_reject_params import ( PersonalizationDesignRejectParams as PersonalizationDesignRejectParams, PersonalizationDesignRejectParamsRejectionReasons as PersonalizationDesignRejectParamsRejectionReasons, ) from stripe.params.issuing._personalization_design_retrieve_params import ( PersonalizationDesignRetrieveParams as PersonalizationDesignRetrieveParams, ) from stripe.params.issuing._personalization_design_update_params import ( PersonalizationDesignUpdateParams as PersonalizationDesignUpdateParams, PersonalizationDesignUpdateParamsCarrierText as PersonalizationDesignUpdateParamsCarrierText, PersonalizationDesignUpdateParamsPreferences as PersonalizationDesignUpdateParamsPreferences, ) from stripe.params.issuing._physical_bundle_list_params import ( PhysicalBundleListParams as PhysicalBundleListParams, ) from stripe.params.issuing._physical_bundle_retrieve_params import ( PhysicalBundleRetrieveParams as PhysicalBundleRetrieveParams, ) from stripe.params.issuing._token_list_params import ( TokenListParams as TokenListParams, TokenListParamsCreated as TokenListParamsCreated, ) from stripe.params.issuing._token_modify_params import ( TokenModifyParams as TokenModifyParams, ) from stripe.params.issuing._token_retrieve_params import ( TokenRetrieveParams as TokenRetrieveParams, ) from stripe.params.issuing._token_update_params import ( TokenUpdateParams as TokenUpdateParams, ) from stripe.params.issuing._transaction_create_force_capture_params import ( TransactionCreateForceCaptureParams as TransactionCreateForceCaptureParams, TransactionCreateForceCaptureParamsMerchantData as TransactionCreateForceCaptureParamsMerchantData, TransactionCreateForceCaptureParamsPurchaseDetails as TransactionCreateForceCaptureParamsPurchaseDetails, TransactionCreateForceCaptureParamsPurchaseDetailsFleet as TransactionCreateForceCaptureParamsPurchaseDetailsFleet, TransactionCreateForceCaptureParamsPurchaseDetailsFleetCardholderPromptData as TransactionCreateForceCaptureParamsPurchaseDetailsFleetCardholderPromptData, TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdown as TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdown, TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel as TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel, TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel as TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel, TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownTax as TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownTax, TransactionCreateForceCaptureParamsPurchaseDetailsFlight as TransactionCreateForceCaptureParamsPurchaseDetailsFlight, TransactionCreateForceCaptureParamsPurchaseDetailsFlightSegment as TransactionCreateForceCaptureParamsPurchaseDetailsFlightSegment, TransactionCreateForceCaptureParamsPurchaseDetailsFuel as TransactionCreateForceCaptureParamsPurchaseDetailsFuel, TransactionCreateForceCaptureParamsPurchaseDetailsLodging as TransactionCreateForceCaptureParamsPurchaseDetailsLodging, TransactionCreateForceCaptureParamsPurchaseDetailsReceipt as TransactionCreateForceCaptureParamsPurchaseDetailsReceipt, ) from stripe.params.issuing._transaction_create_unlinked_refund_params import ( TransactionCreateUnlinkedRefundParams as TransactionCreateUnlinkedRefundParams, TransactionCreateUnlinkedRefundParamsMerchantData as TransactionCreateUnlinkedRefundParamsMerchantData, TransactionCreateUnlinkedRefundParamsPurchaseDetails as TransactionCreateUnlinkedRefundParamsPurchaseDetails, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleet as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleet, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetCardholderPromptData as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetCardholderPromptData, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdown as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdown, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownFuel as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownFuel, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownNonFuel as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownNonFuel, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownTax as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownTax, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlight as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlight, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlightSegment as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlightSegment, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFuel as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFuel, TransactionCreateUnlinkedRefundParamsPurchaseDetailsLodging as TransactionCreateUnlinkedRefundParamsPurchaseDetailsLodging, TransactionCreateUnlinkedRefundParamsPurchaseDetailsReceipt as TransactionCreateUnlinkedRefundParamsPurchaseDetailsReceipt, ) from stripe.params.issuing._transaction_list_params import ( TransactionListParams as TransactionListParams, TransactionListParamsCreated as TransactionListParamsCreated, ) from stripe.params.issuing._transaction_modify_params import ( TransactionModifyParams as TransactionModifyParams, ) from stripe.params.issuing._transaction_refund_params import ( TransactionRefundParams as TransactionRefundParams, ) from stripe.params.issuing._transaction_retrieve_params import ( TransactionRetrieveParams as TransactionRetrieveParams, ) from stripe.params.issuing._transaction_update_params import ( TransactionUpdateParams as TransactionUpdateParams, ) # name -> (import_target, is_submodule) _import_map = { "AuthorizationApproveParams": ( "stripe.params.issuing._authorization_approve_params", False, ), "AuthorizationCaptureParams": ( "stripe.params.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetails": ( "stripe.params.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFleet": ( "stripe.params.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFleetCardholderPromptData": ( "stripe.params.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdown": ( "stripe.params.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel": ( "stripe.params.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel": ( "stripe.params.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownTax": ( "stripe.params.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFlight": ( "stripe.params.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFlightSegment": ( "stripe.params.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFuel": ( "stripe.params.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsLodging": ( "stripe.params.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsReceipt": ( "stripe.params.issuing._authorization_capture_params", False, ), "AuthorizationCreateParams": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsAmountDetails": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsFleet": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsFleetCardholderPromptData": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsFleetReportedBreakdown": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsFleetReportedBreakdownFuel": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsFleetReportedBreakdownNonFuel": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsFleetReportedBreakdownTax": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsFuel": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsMerchantData": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsNetworkData": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsRiskAssessment": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsRiskAssessmentCardTestingRisk": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsRiskAssessmentMerchantDisputeRisk": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsVerificationData": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsVerificationDataAuthenticationExemption": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsVerificationDataThreeDSecure": ( "stripe.params.issuing._authorization_create_params", False, ), "AuthorizationDeclineParams": ( "stripe.params.issuing._authorization_decline_params", False, ), "AuthorizationExpireParams": ( "stripe.params.issuing._authorization_expire_params", False, ), "AuthorizationFinalizeAmountParams": ( "stripe.params.issuing._authorization_finalize_amount_params", False, ), "AuthorizationFinalizeAmountParamsFleet": ( "stripe.params.issuing._authorization_finalize_amount_params", False, ), "AuthorizationFinalizeAmountParamsFleetCardholderPromptData": ( "stripe.params.issuing._authorization_finalize_amount_params", False, ), "AuthorizationFinalizeAmountParamsFleetReportedBreakdown": ( "stripe.params.issuing._authorization_finalize_amount_params", False, ), "AuthorizationFinalizeAmountParamsFleetReportedBreakdownFuel": ( "stripe.params.issuing._authorization_finalize_amount_params", False, ), "AuthorizationFinalizeAmountParamsFleetReportedBreakdownNonFuel": ( "stripe.params.issuing._authorization_finalize_amount_params", False, ), "AuthorizationFinalizeAmountParamsFleetReportedBreakdownTax": ( "stripe.params.issuing._authorization_finalize_amount_params", False, ), "AuthorizationFinalizeAmountParamsFuel": ( "stripe.params.issuing._authorization_finalize_amount_params", False, ), "AuthorizationIncrementParams": ( "stripe.params.issuing._authorization_increment_params", False, ), "AuthorizationListParams": ( "stripe.params.issuing._authorization_list_params", False, ), "AuthorizationListParamsCreated": ( "stripe.params.issuing._authorization_list_params", False, ), "AuthorizationModifyParams": ( "stripe.params.issuing._authorization_modify_params", False, ), "AuthorizationRespondParams": ( "stripe.params.issuing._authorization_respond_params", False, ), "AuthorizationRetrieveParams": ( "stripe.params.issuing._authorization_retrieve_params", False, ), "AuthorizationReverseParams": ( "stripe.params.issuing._authorization_reverse_params", False, ), "AuthorizationUpdateParams": ( "stripe.params.issuing._authorization_update_params", False, ), "CardCreateParams": ("stripe.params.issuing._card_create_params", False), "CardCreateParamsPin": ( "stripe.params.issuing._card_create_params", False, ), "CardCreateParamsShipping": ( "stripe.params.issuing._card_create_params", False, ), "CardCreateParamsShippingAddress": ( "stripe.params.issuing._card_create_params", False, ), "CardCreateParamsShippingAddressValidation": ( "stripe.params.issuing._card_create_params", False, ), "CardCreateParamsShippingCustoms": ( "stripe.params.issuing._card_create_params", False, ), "CardCreateParamsSpendingControls": ( "stripe.params.issuing._card_create_params", False, ), "CardCreateParamsSpendingControlsSpendingLimit": ( "stripe.params.issuing._card_create_params", False, ), "CardDeliverCardParams": ( "stripe.params.issuing._card_deliver_card_params", False, ), "CardFailCardParams": ( "stripe.params.issuing._card_fail_card_params", False, ), "CardListParams": ("stripe.params.issuing._card_list_params", False), "CardListParamsCreated": ( "stripe.params.issuing._card_list_params", False, ), "CardModifyParams": ("stripe.params.issuing._card_modify_params", False), "CardModifyParamsPin": ( "stripe.params.issuing._card_modify_params", False, ), "CardModifyParamsShipping": ( "stripe.params.issuing._card_modify_params", False, ), "CardModifyParamsShippingAddress": ( "stripe.params.issuing._card_modify_params", False, ), "CardModifyParamsShippingAddressValidation": ( "stripe.params.issuing._card_modify_params", False, ), "CardModifyParamsShippingCustoms": ( "stripe.params.issuing._card_modify_params", False, ), "CardModifyParamsSpendingControls": ( "stripe.params.issuing._card_modify_params", False, ), "CardModifyParamsSpendingControlsSpendingLimit": ( "stripe.params.issuing._card_modify_params", False, ), "CardRetrieveParams": ( "stripe.params.issuing._card_retrieve_params", False, ), "CardReturnCardParams": ( "stripe.params.issuing._card_return_card_params", False, ), "CardShipCardParams": ( "stripe.params.issuing._card_ship_card_params", False, ), "CardSubmitCardParams": ( "stripe.params.issuing._card_submit_card_params", False, ), "CardUpdateParams": ("stripe.params.issuing._card_update_params", False), "CardUpdateParamsPin": ( "stripe.params.issuing._card_update_params", False, ), "CardUpdateParamsShipping": ( "stripe.params.issuing._card_update_params", False, ), "CardUpdateParamsShippingAddress": ( "stripe.params.issuing._card_update_params", False, ), "CardUpdateParamsShippingAddressValidation": ( "stripe.params.issuing._card_update_params", False, ), "CardUpdateParamsShippingCustoms": ( "stripe.params.issuing._card_update_params", False, ), "CardUpdateParamsSpendingControls": ( "stripe.params.issuing._card_update_params", False, ), "CardUpdateParamsSpendingControlsSpendingLimit": ( "stripe.params.issuing._card_update_params", False, ), "CardholderCreateParams": ( "stripe.params.issuing._cardholder_create_params", False, ), "CardholderCreateParamsBilling": ( "stripe.params.issuing._cardholder_create_params", False, ), "CardholderCreateParamsBillingAddress": ( "stripe.params.issuing._cardholder_create_params", False, ), "CardholderCreateParamsCompany": ( "stripe.params.issuing._cardholder_create_params", False, ), "CardholderCreateParamsIndividual": ( "stripe.params.issuing._cardholder_create_params", False, ), "CardholderCreateParamsIndividualCardIssuing": ( "stripe.params.issuing._cardholder_create_params", False, ), "CardholderCreateParamsIndividualCardIssuingUserTermsAcceptance": ( "stripe.params.issuing._cardholder_create_params", False, ), "CardholderCreateParamsIndividualDob": ( "stripe.params.issuing._cardholder_create_params", False, ), "CardholderCreateParamsIndividualVerification": ( "stripe.params.issuing._cardholder_create_params", False, ), "CardholderCreateParamsIndividualVerificationDocument": ( "stripe.params.issuing._cardholder_create_params", False, ), "CardholderCreateParamsSpendingControls": ( "stripe.params.issuing._cardholder_create_params", False, ), "CardholderCreateParamsSpendingControlsSpendingLimit": ( "stripe.params.issuing._cardholder_create_params", False, ), "CardholderListParams": ( "stripe.params.issuing._cardholder_list_params", False, ), "CardholderListParamsCreated": ( "stripe.params.issuing._cardholder_list_params", False, ), "CardholderModifyParams": ( "stripe.params.issuing._cardholder_modify_params", False, ), "CardholderModifyParamsBilling": ( "stripe.params.issuing._cardholder_modify_params", False, ), "CardholderModifyParamsBillingAddress": ( "stripe.params.issuing._cardholder_modify_params", False, ), "CardholderModifyParamsCompany": ( "stripe.params.issuing._cardholder_modify_params", False, ), "CardholderModifyParamsIndividual": ( "stripe.params.issuing._cardholder_modify_params", False, ), "CardholderModifyParamsIndividualCardIssuing": ( "stripe.params.issuing._cardholder_modify_params", False, ), "CardholderModifyParamsIndividualCardIssuingUserTermsAcceptance": ( "stripe.params.issuing._cardholder_modify_params", False, ), "CardholderModifyParamsIndividualDob": ( "stripe.params.issuing._cardholder_modify_params", False, ), "CardholderModifyParamsIndividualVerification": ( "stripe.params.issuing._cardholder_modify_params", False, ), "CardholderModifyParamsIndividualVerificationDocument": ( "stripe.params.issuing._cardholder_modify_params", False, ), "CardholderModifyParamsSpendingControls": ( "stripe.params.issuing._cardholder_modify_params", False, ), "CardholderModifyParamsSpendingControlsSpendingLimit": ( "stripe.params.issuing._cardholder_modify_params", False, ), "CardholderRetrieveParams": ( "stripe.params.issuing._cardholder_retrieve_params", False, ), "CardholderUpdateParams": ( "stripe.params.issuing._cardholder_update_params", False, ), "CardholderUpdateParamsBilling": ( "stripe.params.issuing._cardholder_update_params", False, ), "CardholderUpdateParamsBillingAddress": ( "stripe.params.issuing._cardholder_update_params", False, ), "CardholderUpdateParamsCompany": ( "stripe.params.issuing._cardholder_update_params", False, ), "CardholderUpdateParamsIndividual": ( "stripe.params.issuing._cardholder_update_params", False, ), "CardholderUpdateParamsIndividualCardIssuing": ( "stripe.params.issuing._cardholder_update_params", False, ), "CardholderUpdateParamsIndividualCardIssuingUserTermsAcceptance": ( "stripe.params.issuing._cardholder_update_params", False, ), "CardholderUpdateParamsIndividualDob": ( "stripe.params.issuing._cardholder_update_params", False, ), "CardholderUpdateParamsIndividualVerification": ( "stripe.params.issuing._cardholder_update_params", False, ), "CardholderUpdateParamsIndividualVerificationDocument": ( "stripe.params.issuing._cardholder_update_params", False, ), "CardholderUpdateParamsSpendingControls": ( "stripe.params.issuing._cardholder_update_params", False, ), "CardholderUpdateParamsSpendingControlsSpendingLimit": ( "stripe.params.issuing._cardholder_update_params", False, ), "DisputeCreateParams": ( "stripe.params.issuing._dispute_create_params", False, ), "DisputeCreateParamsEvidence": ( "stripe.params.issuing._dispute_create_params", False, ), "DisputeCreateParamsEvidenceCanceled": ( "stripe.params.issuing._dispute_create_params", False, ), "DisputeCreateParamsEvidenceDuplicate": ( "stripe.params.issuing._dispute_create_params", False, ), "DisputeCreateParamsEvidenceFraudulent": ( "stripe.params.issuing._dispute_create_params", False, ), "DisputeCreateParamsEvidenceMerchandiseNotAsDescribed": ( "stripe.params.issuing._dispute_create_params", False, ), "DisputeCreateParamsEvidenceNoValidAuthorization": ( "stripe.params.issuing._dispute_create_params", False, ), "DisputeCreateParamsEvidenceNotReceived": ( "stripe.params.issuing._dispute_create_params", False, ), "DisputeCreateParamsEvidenceOther": ( "stripe.params.issuing._dispute_create_params", False, ), "DisputeCreateParamsEvidenceServiceNotAsDescribed": ( "stripe.params.issuing._dispute_create_params", False, ), "DisputeCreateParamsTreasury": ( "stripe.params.issuing._dispute_create_params", False, ), "DisputeListParams": ("stripe.params.issuing._dispute_list_params", False), "DisputeListParamsCreated": ( "stripe.params.issuing._dispute_list_params", False, ), "DisputeModifyParams": ( "stripe.params.issuing._dispute_modify_params", False, ), "DisputeModifyParamsEvidence": ( "stripe.params.issuing._dispute_modify_params", False, ), "DisputeModifyParamsEvidenceCanceled": ( "stripe.params.issuing._dispute_modify_params", False, ), "DisputeModifyParamsEvidenceDuplicate": ( "stripe.params.issuing._dispute_modify_params", False, ), "DisputeModifyParamsEvidenceFraudulent": ( "stripe.params.issuing._dispute_modify_params", False, ), "DisputeModifyParamsEvidenceMerchandiseNotAsDescribed": ( "stripe.params.issuing._dispute_modify_params", False, ), "DisputeModifyParamsEvidenceNoValidAuthorization": ( "stripe.params.issuing._dispute_modify_params", False, ), "DisputeModifyParamsEvidenceNotReceived": ( "stripe.params.issuing._dispute_modify_params", False, ), "DisputeModifyParamsEvidenceOther": ( "stripe.params.issuing._dispute_modify_params", False, ), "DisputeModifyParamsEvidenceServiceNotAsDescribed": ( "stripe.params.issuing._dispute_modify_params", False, ), "DisputeRetrieveParams": ( "stripe.params.issuing._dispute_retrieve_params", False, ), "DisputeSubmitParams": ( "stripe.params.issuing._dispute_submit_params", False, ), "DisputeUpdateParams": ( "stripe.params.issuing._dispute_update_params", False, ), "DisputeUpdateParamsEvidence": ( "stripe.params.issuing._dispute_update_params", False, ), "DisputeUpdateParamsEvidenceCanceled": ( "stripe.params.issuing._dispute_update_params", False, ), "DisputeUpdateParamsEvidenceDuplicate": ( "stripe.params.issuing._dispute_update_params", False, ), "DisputeUpdateParamsEvidenceFraudulent": ( "stripe.params.issuing._dispute_update_params", False, ), "DisputeUpdateParamsEvidenceMerchandiseNotAsDescribed": ( "stripe.params.issuing._dispute_update_params", False, ), "DisputeUpdateParamsEvidenceNoValidAuthorization": ( "stripe.params.issuing._dispute_update_params", False, ), "DisputeUpdateParamsEvidenceNotReceived": ( "stripe.params.issuing._dispute_update_params", False, ), "DisputeUpdateParamsEvidenceOther": ( "stripe.params.issuing._dispute_update_params", False, ), "DisputeUpdateParamsEvidenceServiceNotAsDescribed": ( "stripe.params.issuing._dispute_update_params", False, ), "PersonalizationDesignActivateParams": ( "stripe.params.issuing._personalization_design_activate_params", False, ), "PersonalizationDesignCreateParams": ( "stripe.params.issuing._personalization_design_create_params", False, ), "PersonalizationDesignCreateParamsCarrierText": ( "stripe.params.issuing._personalization_design_create_params", False, ), "PersonalizationDesignCreateParamsPreferences": ( "stripe.params.issuing._personalization_design_create_params", False, ), "PersonalizationDesignDeactivateParams": ( "stripe.params.issuing._personalization_design_deactivate_params", False, ), "PersonalizationDesignListParams": ( "stripe.params.issuing._personalization_design_list_params", False, ), "PersonalizationDesignListParamsPreferences": ( "stripe.params.issuing._personalization_design_list_params", False, ), "PersonalizationDesignModifyParams": ( "stripe.params.issuing._personalization_design_modify_params", False, ), "PersonalizationDesignModifyParamsCarrierText": ( "stripe.params.issuing._personalization_design_modify_params", False, ), "PersonalizationDesignModifyParamsPreferences": ( "stripe.params.issuing._personalization_design_modify_params", False, ), "PersonalizationDesignRejectParams": ( "stripe.params.issuing._personalization_design_reject_params", False, ), "PersonalizationDesignRejectParamsRejectionReasons": ( "stripe.params.issuing._personalization_design_reject_params", False, ), "PersonalizationDesignRetrieveParams": ( "stripe.params.issuing._personalization_design_retrieve_params", False, ), "PersonalizationDesignUpdateParams": ( "stripe.params.issuing._personalization_design_update_params", False, ), "PersonalizationDesignUpdateParamsCarrierText": ( "stripe.params.issuing._personalization_design_update_params", False, ), "PersonalizationDesignUpdateParamsPreferences": ( "stripe.params.issuing._personalization_design_update_params", False, ), "PhysicalBundleListParams": ( "stripe.params.issuing._physical_bundle_list_params", False, ), "PhysicalBundleRetrieveParams": ( "stripe.params.issuing._physical_bundle_retrieve_params", False, ), "TokenListParams": ("stripe.params.issuing._token_list_params", False), "TokenListParamsCreated": ( "stripe.params.issuing._token_list_params", False, ), "TokenModifyParams": ("stripe.params.issuing._token_modify_params", False), "TokenRetrieveParams": ( "stripe.params.issuing._token_retrieve_params", False, ), "TokenUpdateParams": ("stripe.params.issuing._token_update_params", False), "TransactionCreateForceCaptureParams": ( "stripe.params.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsMerchantData": ( "stripe.params.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetails": ( "stripe.params.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFleet": ( "stripe.params.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFleetCardholderPromptData": ( "stripe.params.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdown": ( "stripe.params.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel": ( "stripe.params.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel": ( "stripe.params.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownTax": ( "stripe.params.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFlight": ( "stripe.params.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFlightSegment": ( "stripe.params.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFuel": ( "stripe.params.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsLodging": ( "stripe.params.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsReceipt": ( "stripe.params.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateUnlinkedRefundParams": ( "stripe.params.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsMerchantData": ( "stripe.params.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetails": ( "stripe.params.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleet": ( "stripe.params.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetCardholderPromptData": ( "stripe.params.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdown": ( "stripe.params.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownFuel": ( "stripe.params.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownNonFuel": ( "stripe.params.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownTax": ( "stripe.params.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlight": ( "stripe.params.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlightSegment": ( "stripe.params.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFuel": ( "stripe.params.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsLodging": ( "stripe.params.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsReceipt": ( "stripe.params.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionListParams": ( "stripe.params.issuing._transaction_list_params", False, ), "TransactionListParamsCreated": ( "stripe.params.issuing._transaction_list_params", False, ), "TransactionModifyParams": ( "stripe.params.issuing._transaction_modify_params", False, ), "TransactionRefundParams": ( "stripe.params.issuing._transaction_refund_params", False, ), "TransactionRetrieveParams": ( "stripe.params.issuing._transaction_retrieve_params", False, ), "TransactionUpdateParams": ( "stripe.params.issuing._transaction_update_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_authorization_approve_params.py0000644000000000000000000000211315102753431023011 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class AuthorizationApproveParams(RequestOptions): amount: NotRequired[int] """ If the authorization's `pending_request.is_amount_controllable` property is `true`, you may provide this value to control how much to hold for the authorization. Must be positive (use [`decline`](https://stripe.com/docs/api/issuing/authorizations/decline) to decline an authorization request). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_authorization_capture_params.py0000644000000000000000000002033615102753431023007 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class AuthorizationCaptureParams(RequestOptions): capture_amount: NotRequired[int] """ The amount to capture from the authorization. If not provided, the full amount of the authorization will be captured. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ close_authorization: NotRequired[bool] """ Whether to close the authorization after capture. Defaults to true. Set to false to enable multi-capture flows. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ purchase_details: NotRequired["AuthorizationCaptureParamsPurchaseDetails"] """ Additional purchase information that is optionally provided by the merchant. """ class AuthorizationCaptureParamsPurchaseDetails(TypedDict): fleet: NotRequired["AuthorizationCaptureParamsPurchaseDetailsFleet"] """ Fleet-specific information for transactions using Fleet cards. """ flight: NotRequired["AuthorizationCaptureParamsPurchaseDetailsFlight"] """ Information about the flight that was purchased with this transaction. """ fuel: NotRequired["AuthorizationCaptureParamsPurchaseDetailsFuel"] """ Information about fuel that was purchased with this transaction. """ lodging: NotRequired["AuthorizationCaptureParamsPurchaseDetailsLodging"] """ Information about lodging that was purchased with this transaction. """ receipt: NotRequired[ List["AuthorizationCaptureParamsPurchaseDetailsReceipt"] ] """ The line items in the purchase. """ reference: NotRequired[str] """ A merchant-specific order number. """ class AuthorizationCaptureParamsPurchaseDetailsFleet(TypedDict): cardholder_prompt_data: NotRequired[ "AuthorizationCaptureParamsPurchaseDetailsFleetCardholderPromptData" ] """ Answers to prompts presented to the cardholder at the point of sale. Prompted fields vary depending on the configuration of your physical fleet cards. Typical points of sale support only numeric entry. """ purchase_type: NotRequired[ Literal[ "fuel_and_non_fuel_purchase", "fuel_purchase", "non_fuel_purchase" ] ] """ The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`. """ reported_breakdown: NotRequired[ "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdown" ] """ More information about the total amount. This information is not guaranteed to be accurate as some merchants may provide unreliable data. """ service_type: NotRequired[ Literal["full_service", "non_fuel_transaction", "self_service"] ] """ The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`. """ class AuthorizationCaptureParamsPurchaseDetailsFleetCardholderPromptData( TypedDict, ): driver_id: NotRequired[str] """ Driver ID. """ odometer: NotRequired[int] """ Odometer reading. """ unspecified_id: NotRequired[str] """ An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type. """ user_id: NotRequired[str] """ User ID. """ vehicle_number: NotRequired[str] """ Vehicle number. """ class AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdown( TypedDict, ): fuel: NotRequired[ "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel" ] """ Breakdown of fuel portion of the purchase. """ non_fuel: NotRequired[ "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel" ] """ Breakdown of non-fuel portion of the purchase. """ tax: NotRequired[ "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownTax" ] """ Information about tax included in this transaction. """ class AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel( TypedDict, ): gross_amount_decimal: NotRequired[str] """ Gross fuel amount that should equal Fuel Volume multipled by Fuel Unit Cost, inclusive of taxes. """ class AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel( TypedDict, ): gross_amount_decimal: NotRequired[str] """ Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes. """ class AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownTax( TypedDict, ): local_amount_decimal: NotRequired[str] """ Amount of state or provincial Sales Tax included in the transaction amount. Null if not reported by merchant or not subject to tax. """ national_amount_decimal: NotRequired[str] """ Amount of national Sales Tax or VAT included in the transaction amount. Null if not reported by merchant or not subject to tax. """ class AuthorizationCaptureParamsPurchaseDetailsFlight(TypedDict): departure_at: NotRequired[int] """ The time that the flight departed. """ passenger_name: NotRequired[str] """ The name of the passenger. """ refundable: NotRequired[bool] """ Whether the ticket is refundable. """ segments: NotRequired[ List["AuthorizationCaptureParamsPurchaseDetailsFlightSegment"] ] """ The legs of the trip. """ travel_agency: NotRequired[str] """ The travel agency that issued the ticket. """ class AuthorizationCaptureParamsPurchaseDetailsFlightSegment(TypedDict): arrival_airport_code: NotRequired[str] """ The three-letter IATA airport code of the flight's destination. """ carrier: NotRequired[str] """ The airline carrier code. """ departure_airport_code: NotRequired[str] """ The three-letter IATA airport code that the flight departed from. """ flight_number: NotRequired[str] """ The flight number. """ service_class: NotRequired[str] """ The flight's service class. """ stopover_allowed: NotRequired[bool] """ Whether a stopover is allowed on this flight. """ class AuthorizationCaptureParamsPurchaseDetailsFuel(TypedDict): industry_product_code: NotRequired[str] """ [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased. """ quantity_decimal: NotRequired[str] """ The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places. """ type: NotRequired[ Literal[ "diesel", "other", "unleaded_plus", "unleaded_regular", "unleaded_super", ] ] """ The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`. """ unit: NotRequired[ Literal[ "charging_minute", "imperial_gallon", "kilogram", "kilowatt_hour", "liter", "other", "pound", "us_gallon", ] ] """ The units for `quantity_decimal`. One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`. """ unit_cost_decimal: NotRequired[str] """ The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places. """ class AuthorizationCaptureParamsPurchaseDetailsLodging(TypedDict): check_in_at: NotRequired[int] """ The time of checking into the lodging. """ nights: NotRequired[int] """ The number of nights stayed at the lodging. """ class AuthorizationCaptureParamsPurchaseDetailsReceipt(TypedDict): description: NotRequired[str] quantity: NotRequired[str] total: NotRequired[int] unit_cost: NotRequired[int] ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_authorization_create_params.py0000644000000000000000000006332315102753431022612 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class AuthorizationCreateParams(RequestOptions): amount: NotRequired[int] """ The total amount to attempt to authorize. This amount is in the provided currency, or defaults to the card's currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ amount_details: NotRequired["AuthorizationCreateParamsAmountDetails"] """ Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ authorization_method: NotRequired[ Literal["chip", "contactless", "keyed_in", "online", "swipe"] ] """ How the card details were provided. Defaults to online. """ card: str """ Card associated with this authorization. """ currency: NotRequired[str] """ The currency of the authorization. If not provided, defaults to the currency of the card. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ fleet: NotRequired["AuthorizationCreateParamsFleet"] """ Fleet-specific information for authorizations using Fleet cards. """ fraud_disputability_likelihood: NotRequired[ Literal["neutral", "unknown", "very_likely", "very_unlikely"] ] """ Probability that this transaction can be disputed in the event of fraud. Assessed by comparing the characteristics of the authorization to card network rules. """ fuel: NotRequired["AuthorizationCreateParamsFuel"] """ Information about fuel that was purchased with this transaction. """ is_amount_controllable: NotRequired[bool] """ If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization. """ merchant_amount: NotRequired[int] """ The total amount to attempt to authorize. This amount is in the provided merchant currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ merchant_currency: NotRequired[str] """ The currency of the authorization. If not provided, defaults to the currency of the card. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ merchant_data: NotRequired["AuthorizationCreateParamsMerchantData"] """ Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened. """ network_data: NotRequired["AuthorizationCreateParamsNetworkData"] """ Details about the authorization, such as identifiers, set by the card network. """ risk_assessment: NotRequired["AuthorizationCreateParamsRiskAssessment"] """ Stripe's assessment of the fraud risk for this authorization. """ verification_data: NotRequired["AuthorizationCreateParamsVerificationData"] """ Verifications that Stripe performed on information that the cardholder provided to the merchant. """ wallet: NotRequired[Literal["apple_pay", "google_pay", "samsung_pay"]] """ The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`. Will populate as `null` when no digital wallet was utilized. """ class AuthorizationCreateParamsAmountDetails(TypedDict): atm_fee: NotRequired[int] """ The ATM withdrawal fee. """ cashback_amount: NotRequired[int] """ The amount of cash requested by the cardholder. """ class AuthorizationCreateParamsFleet(TypedDict): cardholder_prompt_data: NotRequired[ "AuthorizationCreateParamsFleetCardholderPromptData" ] """ Answers to prompts presented to the cardholder at the point of sale. Prompted fields vary depending on the configuration of your physical fleet cards. Typical points of sale support only numeric entry. """ purchase_type: NotRequired[ Literal[ "fuel_and_non_fuel_purchase", "fuel_purchase", "non_fuel_purchase" ] ] """ The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`. """ reported_breakdown: NotRequired[ "AuthorizationCreateParamsFleetReportedBreakdown" ] """ More information about the total amount. This information is not guaranteed to be accurate as some merchants may provide unreliable data. """ service_type: NotRequired[ Literal["full_service", "non_fuel_transaction", "self_service"] ] """ The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`. """ class AuthorizationCreateParamsFleetCardholderPromptData(TypedDict): driver_id: NotRequired[str] """ Driver ID. """ odometer: NotRequired[int] """ Odometer reading. """ unspecified_id: NotRequired[str] """ An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type. """ user_id: NotRequired[str] """ User ID. """ vehicle_number: NotRequired[str] """ Vehicle number. """ class AuthorizationCreateParamsFleetReportedBreakdown(TypedDict): fuel: NotRequired["AuthorizationCreateParamsFleetReportedBreakdownFuel"] """ Breakdown of fuel portion of the purchase. """ non_fuel: NotRequired[ "AuthorizationCreateParamsFleetReportedBreakdownNonFuel" ] """ Breakdown of non-fuel portion of the purchase. """ tax: NotRequired["AuthorizationCreateParamsFleetReportedBreakdownTax"] """ Information about tax included in this transaction. """ class AuthorizationCreateParamsFleetReportedBreakdownFuel(TypedDict): gross_amount_decimal: NotRequired[str] """ Gross fuel amount that should equal Fuel Volume multipled by Fuel Unit Cost, inclusive of taxes. """ class AuthorizationCreateParamsFleetReportedBreakdownNonFuel(TypedDict): gross_amount_decimal: NotRequired[str] """ Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes. """ class AuthorizationCreateParamsFleetReportedBreakdownTax(TypedDict): local_amount_decimal: NotRequired[str] """ Amount of state or provincial Sales Tax included in the transaction amount. Null if not reported by merchant or not subject to tax. """ national_amount_decimal: NotRequired[str] """ Amount of national Sales Tax or VAT included in the transaction amount. Null if not reported by merchant or not subject to tax. """ class AuthorizationCreateParamsFuel(TypedDict): industry_product_code: NotRequired[str] """ [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased. """ quantity_decimal: NotRequired[str] """ The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places. """ type: NotRequired[ Literal[ "diesel", "other", "unleaded_plus", "unleaded_regular", "unleaded_super", ] ] """ The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`. """ unit: NotRequired[ Literal[ "charging_minute", "imperial_gallon", "kilogram", "kilowatt_hour", "liter", "other", "pound", "us_gallon", ] ] """ The units for `quantity_decimal`. One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`. """ unit_cost_decimal: NotRequired[str] """ The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places. """ class AuthorizationCreateParamsMerchantData(TypedDict): category: NotRequired[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] """ A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values. """ city: NotRequired[str] """ City where the seller is located """ country: NotRequired[str] """ Country where the seller is located """ name: NotRequired[str] """ Name of the seller """ network_id: NotRequired[str] """ Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant. """ postal_code: NotRequired[str] """ Postal code where the seller is located """ state: NotRequired[str] """ State where the seller is located """ terminal_id: NotRequired[str] """ An ID assigned by the seller to the location of the sale. """ url: NotRequired[str] """ URL provided by the merchant on a 3DS request """ class AuthorizationCreateParamsNetworkData(TypedDict): acquiring_institution_id: NotRequired[str] """ Identifier assigned to the acquirer by the card network. """ class AuthorizationCreateParamsRiskAssessment(TypedDict): card_testing_risk: NotRequired[ "AuthorizationCreateParamsRiskAssessmentCardTestingRisk" ] """ Stripe's assessment of this authorization's likelihood of being card testing activity. """ merchant_dispute_risk: NotRequired[ "AuthorizationCreateParamsRiskAssessmentMerchantDisputeRisk" ] """ The dispute risk of the merchant (the seller on a purchase) on an authorization based on all Stripe Issuing activity. """ class AuthorizationCreateParamsRiskAssessmentCardTestingRisk(TypedDict): invalid_account_number_decline_rate_past_hour: NotRequired[int] """ The % of declines due to a card number not existing in the past hour, taking place at the same merchant. Higher rates correspond to a greater probability of card testing activity, meaning bad actors may be attempting different card number combinations to guess a correct one. Takes on values between 0 and 100. """ invalid_credentials_decline_rate_past_hour: NotRequired[int] """ The % of declines due to incorrect verification data (like CVV or expiry) in the past hour, taking place at the same merchant. Higher rates correspond to a greater probability of bad actors attempting to utilize valid card credentials at merchants with verification requirements. Takes on values between 0 and 100. """ risk_level: Literal[ "elevated", "highest", "low", "normal", "not_assessed", "unknown" ] """ The likelihood that this authorization is associated with card testing activity. This is assessed by evaluating decline activity over the last hour. """ class AuthorizationCreateParamsRiskAssessmentMerchantDisputeRisk(TypedDict): dispute_rate: NotRequired[int] """ The dispute rate observed across all Stripe Issuing authorizations for this merchant. For example, a value of 50 means 50% of authorizations from this merchant on Stripe Issuing have resulted in a dispute. Higher values mean a higher likelihood the authorization is disputed. Takes on values between 0 and 100. """ risk_level: Literal[ "elevated", "highest", "low", "normal", "not_assessed", "unknown" ] """ The likelihood that authorizations from this merchant will result in a dispute based on their history on Stripe Issuing. """ class AuthorizationCreateParamsVerificationData(TypedDict): address_line1_check: NotRequired[ Literal["match", "mismatch", "not_provided"] ] """ Whether the cardholder provided an address first line and if it matched the cardholder's `billing.address.line1`. """ address_postal_code_check: NotRequired[ Literal["match", "mismatch", "not_provided"] ] """ Whether the cardholder provided a postal code and if it matched the cardholder's `billing.address.postal_code`. """ authentication_exemption: NotRequired[ "AuthorizationCreateParamsVerificationDataAuthenticationExemption" ] """ The exemption applied to this authorization. """ cvc_check: NotRequired[Literal["match", "mismatch", "not_provided"]] """ Whether the cardholder provided a CVC and if it matched Stripe's record. """ expiry_check: NotRequired[Literal["match", "mismatch", "not_provided"]] """ Whether the cardholder provided an expiry date and if it matched Stripe's record. """ three_d_secure: NotRequired[ "AuthorizationCreateParamsVerificationDataThreeDSecure" ] """ 3D Secure details. """ class AuthorizationCreateParamsVerificationDataAuthenticationExemption( TypedDict, ): claimed_by: Literal["acquirer", "issuer"] """ The entity that requested the exemption, either the acquiring merchant or the Issuing user. """ type: Literal[ "low_value_transaction", "transaction_risk_analysis", "unknown" ] """ The specific exemption claimed for this authorization. """ class AuthorizationCreateParamsVerificationDataThreeDSecure(TypedDict): result: Literal[ "attempt_acknowledged", "authenticated", "failed", "required" ] """ The outcome of the 3D Secure authentication request. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_authorization_decline_params.py0000644000000000000000000000136415102753431022747 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class AuthorizationDeclineParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_authorization_expire_params.py0000644000000000000000000000053115102753431022633 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AuthorizationExpireParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_authorization_finalize_amount_params.py0000644000000000000000000001264715102753431024536 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class AuthorizationFinalizeAmountParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ final_amount: int """ The final authorization amount that will be captured by the merchant. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ fleet: NotRequired["AuthorizationFinalizeAmountParamsFleet"] """ Fleet-specific information for authorizations using Fleet cards. """ fuel: NotRequired["AuthorizationFinalizeAmountParamsFuel"] """ Information about fuel that was purchased with this transaction. """ class AuthorizationFinalizeAmountParamsFleet(TypedDict): cardholder_prompt_data: NotRequired[ "AuthorizationFinalizeAmountParamsFleetCardholderPromptData" ] """ Answers to prompts presented to the cardholder at the point of sale. Prompted fields vary depending on the configuration of your physical fleet cards. Typical points of sale support only numeric entry. """ purchase_type: NotRequired[ Literal[ "fuel_and_non_fuel_purchase", "fuel_purchase", "non_fuel_purchase" ] ] """ The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`. """ reported_breakdown: NotRequired[ "AuthorizationFinalizeAmountParamsFleetReportedBreakdown" ] """ More information about the total amount. This information is not guaranteed to be accurate as some merchants may provide unreliable data. """ service_type: NotRequired[ Literal["full_service", "non_fuel_transaction", "self_service"] ] """ The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`. """ class AuthorizationFinalizeAmountParamsFleetCardholderPromptData(TypedDict): driver_id: NotRequired[str] """ Driver ID. """ odometer: NotRequired[int] """ Odometer reading. """ unspecified_id: NotRequired[str] """ An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type. """ user_id: NotRequired[str] """ User ID. """ vehicle_number: NotRequired[str] """ Vehicle number. """ class AuthorizationFinalizeAmountParamsFleetReportedBreakdown(TypedDict): fuel: NotRequired[ "AuthorizationFinalizeAmountParamsFleetReportedBreakdownFuel" ] """ Breakdown of fuel portion of the purchase. """ non_fuel: NotRequired[ "AuthorizationFinalizeAmountParamsFleetReportedBreakdownNonFuel" ] """ Breakdown of non-fuel portion of the purchase. """ tax: NotRequired[ "AuthorizationFinalizeAmountParamsFleetReportedBreakdownTax" ] """ Information about tax included in this transaction. """ class AuthorizationFinalizeAmountParamsFleetReportedBreakdownFuel(TypedDict): gross_amount_decimal: NotRequired[str] """ Gross fuel amount that should equal Fuel Volume multipled by Fuel Unit Cost, inclusive of taxes. """ class AuthorizationFinalizeAmountParamsFleetReportedBreakdownNonFuel( TypedDict ): gross_amount_decimal: NotRequired[str] """ Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes. """ class AuthorizationFinalizeAmountParamsFleetReportedBreakdownTax(TypedDict): local_amount_decimal: NotRequired[str] """ Amount of state or provincial Sales Tax included in the transaction amount. Null if not reported by merchant or not subject to tax. """ national_amount_decimal: NotRequired[str] """ Amount of national Sales Tax or VAT included in the transaction amount. Null if not reported by merchant or not subject to tax. """ class AuthorizationFinalizeAmountParamsFuel(TypedDict): industry_product_code: NotRequired[str] """ [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased. """ quantity_decimal: NotRequired[str] """ The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places. """ type: NotRequired[ Literal[ "diesel", "other", "unleaded_plus", "unleaded_regular", "unleaded_super", ] ] """ The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`. """ unit: NotRequired[ Literal[ "charging_minute", "imperial_gallon", "kilogram", "kilowatt_hour", "liter", "other", "pound", "us_gallon", ] ] """ The units for `quantity_decimal`. One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`. """ unit_cost_decimal: NotRequired[str] """ The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_authorization_increment_params.py0000644000000000000000000000147115102753431023327 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AuthorizationIncrementParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ increment_amount: int """ The amount to increment the authorization by. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ is_amount_controllable: NotRequired[bool] """ If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_authorization_list_params.py0000644000000000000000000000421015102753431022310 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class AuthorizationListParams(RequestOptions): card: NotRequired[str] """ Only return authorizations that belong to the given card. """ cardholder: NotRequired[str] """ Only return authorizations that belong to the given cardholder. """ created: NotRequired["AuthorizationListParamsCreated|int"] """ Only return authorizations that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["closed", "expired", "pending", "reversed"]] """ Only return authorizations with the given status. One of `pending`, `closed`, or `reversed`. """ class AuthorizationListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_authorization_modify_params.py0000644000000000000000000000136315102753431022632 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class AuthorizationModifyParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_authorization_respond_params.py0000644000000000000000000000100715102753431023010 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AuthorizationRespondParams(RequestOptions): confirmed: bool """ Whether to simulate the user confirming that the transaction was legitimate (true) or telling Stripe that it was fraudulent (false). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_authorization_retrieve_params.py0000644000000000000000000000053315102753431023166 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AuthorizationRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_authorization_reverse_params.py0000644000000000000000000000121415102753431023011 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class AuthorizationReverseParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ reverse_amount: NotRequired[int] """ The amount to reverse from the authorization. If not provided, the full amount of the authorization will be reversed. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_authorization_update_params.py0000644000000000000000000000130615102753431022622 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class AuthorizationUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_card_create_params.py0000644000000000000000000013554615102753431020632 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CardCreateParams(RequestOptions): cardholder: NotRequired[str] """ The [Cardholder](https://stripe.com/docs/api#issuing_cardholder_object) object with which the card will be associated. """ currency: str """ The currency for the card. """ exp_month: NotRequired[int] """ The desired expiration month (1-12) for this card if [specifying a custom expiration date](https://docs.stripe.com/issuing/cards/virtual/issue-cards?testing-method=with-code#exp-dates). """ exp_year: NotRequired[int] """ The desired 4-digit expiration year for this card if [specifying a custom expiration date](https://docs.stripe.com/issuing/cards/virtual/issue-cards?testing-method=with-code#exp-dates). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: NotRequired[str] """ The new financial account ID the card will be associated with. This field allows a card to be reassigned to a different financial account. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ personalization_design: NotRequired[str] """ The personalization design object belonging to this card. """ pin: NotRequired["CardCreateParamsPin"] """ The desired PIN for this card. """ replacement_for: NotRequired[str] """ The card this is meant to be a replacement for (if any). """ replacement_reason: NotRequired[ Literal["damaged", "expired", "lost", "stolen"] ] """ If `replacement_for` is specified, this should indicate why that card is being replaced. """ second_line: NotRequired["Literal['']|str"] """ The second line to print on the card. Max length: 24 characters. """ shipping: NotRequired["CardCreateParamsShipping"] """ The address where the card will be shipped. """ spending_controls: NotRequired["CardCreateParamsSpendingControls"] """ Rules that control spending for this card. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. """ status: NotRequired[Literal["active", "inactive"]] """ Whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`. """ type: Literal["physical", "virtual"] """ The type of card to issue. Possible values are `physical` or `virtual`. """ class CardCreateParamsPin(TypedDict): encrypted_number: NotRequired[str] """ The card's desired new PIN, encrypted under Stripe's public key. """ class CardCreateParamsShipping(TypedDict): address: "CardCreateParamsShippingAddress" """ The address that the card is shipped to. """ address_validation: NotRequired[ "CardCreateParamsShippingAddressValidation" ] """ Address validation settings. """ customs: NotRequired["CardCreateParamsShippingCustoms"] """ Customs information for the shipment. """ name: str """ The name printed on the shipping label when shipping the card. """ phone_number: NotRequired[str] """ Phone number of the recipient of the shipment. """ require_signature: NotRequired[bool] """ Whether a signature is required for card delivery. """ service: NotRequired[Literal["express", "priority", "standard"]] """ Shipment service. """ type: NotRequired[Literal["bulk", "individual"]] """ Packaging options. """ class CardCreateParamsShippingAddress(TypedDict): city: str """ City, district, suburb, town, or village. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: str """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: str """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class CardCreateParamsShippingAddressValidation(TypedDict): mode: Literal[ "disabled", "normalization_only", "validation_and_normalization" ] """ The address validation capabilities to use. """ class CardCreateParamsShippingCustoms(TypedDict): eori_number: NotRequired[str] """ The Economic Operators Registration and Identification (EORI) number to use for Customs. Required for bulk shipments to Europe. """ class CardCreateParamsSpendingControls(TypedDict): allowed_categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`. """ allowed_merchant_countries: NotRequired[List[str]] """ Array of strings containing representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `blocked_merchant_countries`. Provide an empty value to unset this control. """ blocked_categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`. """ blocked_merchant_countries: NotRequired[List[str]] """ Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `allowed_merchant_countries`. Provide an empty value to unset this control. """ spending_limits: NotRequired[ List["CardCreateParamsSpendingControlsSpendingLimit"] ] """ Limit spending with amount-based rules that apply across any cards this card replaced (i.e., its `replacement_for` card and _that_ card's `replacement_for` card, up the chain). """ class CardCreateParamsSpendingControlsSpendingLimit(TypedDict): amount: int """ Maximum amount allowed to spend per interval. """ categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories. """ interval: Literal[ "all_time", "daily", "monthly", "per_authorization", "weekly", "yearly" ] """ Interval (or event) to which the amount applies. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_card_deliver_card_params.py0000644000000000000000000000052515102753431021776 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CardDeliverCardParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_card_fail_card_params.py0000644000000000000000000000052215102753431021254 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CardFailCardParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.367062 stripe-13.2.0/stripe/params/issuing/_card_list_params.py0000644000000000000000000000476215102753431020335 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class CardListParams(RequestOptions): cardholder: NotRequired[str] """ Only return cards belonging to the Cardholder with the provided ID. """ created: NotRequired["CardListParamsCreated|int"] """ Only return cards that were issued during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ exp_month: NotRequired[int] """ Only return cards that have the given expiration month. """ exp_year: NotRequired[int] """ Only return cards that have the given expiration year. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ last4: NotRequired[str] """ Only return cards that have the given last four digits. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ personalization_design: NotRequired[str] starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["active", "canceled", "inactive"]] """ Only return cards that have the given status. One of `active`, `inactive`, or `canceled`. """ type: NotRequired[Literal["physical", "virtual"]] """ Only return cards that have the given type. One of `virtual` or `physical`. """ class CardListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_card_modify_params.py0000644000000000000000000013314615102753431020650 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CardModifyParams(RequestOptions): cancellation_reason: NotRequired[Literal["lost", "stolen"]] """ Reason why the `status` of this card is `canceled`. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ personalization_design: NotRequired[str] pin: NotRequired["CardModifyParamsPin"] """ The desired new PIN for this card. """ shipping: NotRequired["CardModifyParamsShipping"] """ Updated shipping information for the card. """ spending_controls: NotRequired["CardModifyParamsSpendingControls"] """ Rules that control spending for this card. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. """ status: NotRequired[Literal["active", "canceled", "inactive"]] """ Dictates whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`. If this card is being canceled because it was lost or stolen, this information should be provided as `cancellation_reason`. """ class CardModifyParamsPin(TypedDict): encrypted_number: NotRequired[str] """ The card's desired new PIN, encrypted under Stripe's public key. """ class CardModifyParamsShipping(TypedDict): address: "CardModifyParamsShippingAddress" """ The address that the card is shipped to. """ address_validation: NotRequired[ "CardModifyParamsShippingAddressValidation" ] """ Address validation settings. """ customs: NotRequired["CardModifyParamsShippingCustoms"] """ Customs information for the shipment. """ name: str """ The name printed on the shipping label when shipping the card. """ phone_number: NotRequired[str] """ Phone number of the recipient of the shipment. """ require_signature: NotRequired[bool] """ Whether a signature is required for card delivery. """ service: NotRequired[Literal["express", "priority", "standard"]] """ Shipment service. """ type: NotRequired[Literal["bulk", "individual"]] """ Packaging options. """ class CardModifyParamsShippingAddress(TypedDict): city: str """ City, district, suburb, town, or village. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: str """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: str """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class CardModifyParamsShippingAddressValidation(TypedDict): mode: Literal[ "disabled", "normalization_only", "validation_and_normalization" ] """ The address validation capabilities to use. """ class CardModifyParamsShippingCustoms(TypedDict): eori_number: NotRequired[str] """ The Economic Operators Registration and Identification (EORI) number to use for Customs. Required for bulk shipments to Europe. """ class CardModifyParamsSpendingControls(TypedDict): allowed_categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`. """ allowed_merchant_countries: NotRequired[List[str]] """ Array of strings containing representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `blocked_merchant_countries`. Provide an empty value to unset this control. """ blocked_categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`. """ blocked_merchant_countries: NotRequired[List[str]] """ Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `allowed_merchant_countries`. Provide an empty value to unset this control. """ spending_limits: NotRequired[ List["CardModifyParamsSpendingControlsSpendingLimit"] ] """ Limit spending with amount-based rules that apply across any cards this card replaced (i.e., its `replacement_for` card and _that_ card's `replacement_for` card, up the chain). """ class CardModifyParamsSpendingControlsSpendingLimit(TypedDict): amount: int """ Maximum amount allowed to spend per interval. """ categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories. """ interval: Literal[ "all_time", "daily", "monthly", "per_authorization", "weekly", "yearly" ] """ Interval (or event) to which the amount applies. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_card_retrieve_params.py0000644000000000000000000000052215102753431021175 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CardRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_card_return_card_params.py0000644000000000000000000000052415102753431021662 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CardReturnCardParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_card_ship_card_params.py0000644000000000000000000000052215102753431021304 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CardShipCardParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_card_submit_card_params.py0000644000000000000000000000052415102753431021646 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CardSubmitCardParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_card_update_params.py0000644000000000000000000013305615102753431020643 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CardUpdateParams(TypedDict): cancellation_reason: NotRequired[Literal["lost", "stolen"]] """ Reason why the `status` of this card is `canceled`. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ personalization_design: NotRequired[str] pin: NotRequired["CardUpdateParamsPin"] """ The desired new PIN for this card. """ shipping: NotRequired["CardUpdateParamsShipping"] """ Updated shipping information for the card. """ spending_controls: NotRequired["CardUpdateParamsSpendingControls"] """ Rules that control spending for this card. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. """ status: NotRequired[Literal["active", "canceled", "inactive"]] """ Dictates whether authorizations can be approved on this card. May be blocked from activating cards depending on past-due Cardholder requirements. Defaults to `inactive`. If this card is being canceled because it was lost or stolen, this information should be provided as `cancellation_reason`. """ class CardUpdateParamsPin(TypedDict): encrypted_number: NotRequired[str] """ The card's desired new PIN, encrypted under Stripe's public key. """ class CardUpdateParamsShipping(TypedDict): address: "CardUpdateParamsShippingAddress" """ The address that the card is shipped to. """ address_validation: NotRequired[ "CardUpdateParamsShippingAddressValidation" ] """ Address validation settings. """ customs: NotRequired["CardUpdateParamsShippingCustoms"] """ Customs information for the shipment. """ name: str """ The name printed on the shipping label when shipping the card. """ phone_number: NotRequired[str] """ Phone number of the recipient of the shipment. """ require_signature: NotRequired[bool] """ Whether a signature is required for card delivery. """ service: NotRequired[Literal["express", "priority", "standard"]] """ Shipment service. """ type: NotRequired[Literal["bulk", "individual"]] """ Packaging options. """ class CardUpdateParamsShippingAddress(TypedDict): city: str """ City, district, suburb, town, or village. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: str """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: str """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class CardUpdateParamsShippingAddressValidation(TypedDict): mode: Literal[ "disabled", "normalization_only", "validation_and_normalization" ] """ The address validation capabilities to use. """ class CardUpdateParamsShippingCustoms(TypedDict): eori_number: NotRequired[str] """ The Economic Operators Registration and Identification (EORI) number to use for Customs. Required for bulk shipments to Europe. """ class CardUpdateParamsSpendingControls(TypedDict): allowed_categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`. """ allowed_merchant_countries: NotRequired[List[str]] """ Array of strings containing representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `blocked_merchant_countries`. Provide an empty value to unset this control. """ blocked_categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`. """ blocked_merchant_countries: NotRequired[List[str]] """ Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `allowed_merchant_countries`. Provide an empty value to unset this control. """ spending_limits: NotRequired[ List["CardUpdateParamsSpendingControlsSpendingLimit"] ] """ Limit spending with amount-based rules that apply across any cards this card replaced (i.e., its `replacement_for` card and _that_ card's `replacement_for` card, up the chain). """ class CardUpdateParamsSpendingControlsSpendingLimit(TypedDict): amount: int """ Maximum amount allowed to spend per interval. """ categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories. """ interval: Literal[ "all_time", "daily", "monthly", "per_authorization", "weekly", "yearly" ] """ Interval (or event) to which the amount applies. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_cardholder_create_params.py0000644000000000000000000014057615102753431022027 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CardholderCreateParams(RequestOptions): billing: "CardholderCreateParamsBilling" """ The cardholder's billing address. """ company: NotRequired["CardholderCreateParamsCompany"] """ Additional information about a `company` cardholder. """ email: NotRequired[str] """ The cardholder's email address. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ individual: NotRequired["CardholderCreateParamsIndividual"] """ Additional information about an `individual` cardholder. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: str """ The cardholder's name. This will be printed on cards issued to them. The maximum length of this field is 24 characters. This field cannot contain any special characters or numbers. """ phone_number: NotRequired[str] """ The cardholder's phone number. This will be transformed to [E.164](https://en.wikipedia.org/wiki/E.164) if it is not provided in that format already. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure#when-is-3d-secure-applied) for more details. """ preferred_locales: NotRequired[List[Literal["de", "en", "es", "fr", "it"]]] """ The cardholder's preferred locales (languages), ordered by preference. Locales can be `de`, `en`, `es`, `fr`, or `it`. This changes the language of the [3D Secure flow](https://stripe.com/docs/issuing/3d-secure) and one-time password messages sent to the cardholder. """ spending_controls: NotRequired["CardholderCreateParamsSpendingControls"] """ Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. """ status: NotRequired[Literal["active", "inactive"]] """ Specifies whether to permit authorizations on this cardholder's cards. Defaults to `active`. """ type: NotRequired[Literal["company", "individual"]] """ One of `individual` or `company`. See [Choose a cardholder type](https://stripe.com/docs/issuing/other/choose-cardholder) for more details. """ class CardholderCreateParamsBilling(TypedDict): address: "CardholderCreateParamsBillingAddress" """ The cardholder's billing address. """ class CardholderCreateParamsBillingAddress(TypedDict): city: str """ City, district, suburb, town, or village. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: str """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: str """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class CardholderCreateParamsCompany(TypedDict): tax_id: NotRequired[str] """ The entity's business ID number. """ class CardholderCreateParamsIndividual(TypedDict): card_issuing: NotRequired["CardholderCreateParamsIndividualCardIssuing"] """ Information related to the card_issuing program for this cardholder. """ dob: NotRequired["CardholderCreateParamsIndividualDob"] """ The date of birth of this cardholder. Cardholders must be older than 13 years old. """ first_name: NotRequired[str] """ The first name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters. """ last_name: NotRequired[str] """ The last name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters. """ verification: NotRequired["CardholderCreateParamsIndividualVerification"] """ Government-issued ID document for this cardholder. """ class CardholderCreateParamsIndividualCardIssuing(TypedDict): user_terms_acceptance: NotRequired[ "CardholderCreateParamsIndividualCardIssuingUserTermsAcceptance" ] """ Information about cardholder acceptance of Celtic [Authorized User Terms](https://stripe.com/docs/issuing/cards#accept-authorized-user-terms). Required for cards backed by a Celtic program. """ class CardholderCreateParamsIndividualCardIssuingUserTermsAcceptance( TypedDict ): date: NotRequired[int] """ The Unix timestamp marking when the cardholder accepted the Authorized User Terms. Required for Celtic Spend Card users. """ ip: NotRequired[str] """ The IP address from which the cardholder accepted the Authorized User Terms. Required for Celtic Spend Card users. """ user_agent: NotRequired["Literal['']|str"] """ The user agent of the browser from which the cardholder accepted the Authorized User Terms. """ class CardholderCreateParamsIndividualDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class CardholderCreateParamsIndividualVerification(TypedDict): document: NotRequired[ "CardholderCreateParamsIndividualVerificationDocument" ] """ An identifying document, either a passport or local ID card. """ class CardholderCreateParamsIndividualVerificationDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. """ class CardholderCreateParamsSpendingControls(TypedDict): allowed_categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`. """ allowed_merchant_countries: NotRequired[List[str]] """ Array of strings containing representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `blocked_merchant_countries`. Provide an empty value to unset this control. """ blocked_categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`. """ blocked_merchant_countries: NotRequired[List[str]] """ Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `allowed_merchant_countries`. Provide an empty value to unset this control. """ spending_limits: NotRequired[ List["CardholderCreateParamsSpendingControlsSpendingLimit"] ] """ Limit spending with amount-based rules that apply across this cardholder's cards. """ spending_limits_currency: NotRequired[str] """ Currency of amounts within `spending_limits`. Defaults to your merchant country's currency. """ class CardholderCreateParamsSpendingControlsSpendingLimit(TypedDict): amount: int """ Maximum amount allowed to spend per interval. """ categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories. """ interval: Literal[ "all_time", "daily", "monthly", "per_authorization", "weekly", "yearly" ] """ Interval (or event) to which the amount applies. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_cardholder_list_params.py0000644000000000000000000000442115102753431021523 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class CardholderListParams(RequestOptions): created: NotRequired["CardholderListParamsCreated|int"] """ Only return cardholders that were created during the given date interval. """ email: NotRequired[str] """ Only return cardholders that have the given email address. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ phone_number: NotRequired[str] """ Only return cardholders that have the given phone number. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["active", "blocked", "inactive"]] """ Only return cardholders that have the given status. One of `active`, `inactive`, or `blocked`. """ type: NotRequired[Literal["company", "individual"]] """ Only return cardholders that have the given type. One of `individual` or `company`. """ class CardholderListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_cardholder_modify_params.py0000644000000000000000000013746515102753431022056 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CardholderModifyParams(RequestOptions): billing: NotRequired["CardholderModifyParamsBilling"] """ The cardholder's billing address. """ company: NotRequired["CardholderModifyParamsCompany"] """ Additional information about a `company` cardholder. """ email: NotRequired[str] """ The cardholder's email address. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ individual: NotRequired["CardholderModifyParamsIndividual"] """ Additional information about an `individual` cardholder. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ phone_number: NotRequired[str] """ The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure) for more details. """ preferred_locales: NotRequired[List[Literal["de", "en", "es", "fr", "it"]]] """ The cardholder's preferred locales (languages), ordered by preference. Locales can be `de`, `en`, `es`, `fr`, or `it`. This changes the language of the [3D Secure flow](https://stripe.com/docs/issuing/3d-secure) and one-time password messages sent to the cardholder. """ spending_controls: NotRequired["CardholderModifyParamsSpendingControls"] """ Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. """ status: NotRequired[Literal["active", "inactive"]] """ Specifies whether to permit authorizations on this cardholder's cards. """ class CardholderModifyParamsBilling(TypedDict): address: "CardholderModifyParamsBillingAddress" """ The cardholder's billing address. """ class CardholderModifyParamsBillingAddress(TypedDict): city: str """ City, district, suburb, town, or village. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: str """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: str """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class CardholderModifyParamsCompany(TypedDict): tax_id: NotRequired[str] """ The entity's business ID number. """ class CardholderModifyParamsIndividual(TypedDict): card_issuing: NotRequired["CardholderModifyParamsIndividualCardIssuing"] """ Information related to the card_issuing program for this cardholder. """ dob: NotRequired["CardholderModifyParamsIndividualDob"] """ The date of birth of this cardholder. Cardholders must be older than 13 years old. """ first_name: NotRequired[str] """ The first name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters. """ last_name: NotRequired[str] """ The last name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters. """ verification: NotRequired["CardholderModifyParamsIndividualVerification"] """ Government-issued ID document for this cardholder. """ class CardholderModifyParamsIndividualCardIssuing(TypedDict): user_terms_acceptance: NotRequired[ "CardholderModifyParamsIndividualCardIssuingUserTermsAcceptance" ] """ Information about cardholder acceptance of Celtic [Authorized User Terms](https://stripe.com/docs/issuing/cards#accept-authorized-user-terms). Required for cards backed by a Celtic program. """ class CardholderModifyParamsIndividualCardIssuingUserTermsAcceptance( TypedDict ): date: NotRequired[int] """ The Unix timestamp marking when the cardholder accepted the Authorized User Terms. Required for Celtic Spend Card users. """ ip: NotRequired[str] """ The IP address from which the cardholder accepted the Authorized User Terms. Required for Celtic Spend Card users. """ user_agent: NotRequired["Literal['']|str"] """ The user agent of the browser from which the cardholder accepted the Authorized User Terms. """ class CardholderModifyParamsIndividualDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class CardholderModifyParamsIndividualVerification(TypedDict): document: NotRequired[ "CardholderModifyParamsIndividualVerificationDocument" ] """ An identifying document, either a passport or local ID card. """ class CardholderModifyParamsIndividualVerificationDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. """ class CardholderModifyParamsSpendingControls(TypedDict): allowed_categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`. """ allowed_merchant_countries: NotRequired[List[str]] """ Array of strings containing representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `blocked_merchant_countries`. Provide an empty value to unset this control. """ blocked_categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`. """ blocked_merchant_countries: NotRequired[List[str]] """ Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `allowed_merchant_countries`. Provide an empty value to unset this control. """ spending_limits: NotRequired[ List["CardholderModifyParamsSpendingControlsSpendingLimit"] ] """ Limit spending with amount-based rules that apply across this cardholder's cards. """ spending_limits_currency: NotRequired[str] """ Currency of amounts within `spending_limits`. Defaults to your merchant country's currency. """ class CardholderModifyParamsSpendingControlsSpendingLimit(TypedDict): amount: int """ Maximum amount allowed to spend per interval. """ categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories. """ interval: Literal[ "all_time", "daily", "monthly", "per_authorization", "weekly", "yearly" ] """ Interval (or event) to which the amount applies. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_cardholder_retrieve_params.py0000644000000000000000000000053015102753431022372 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CardholderRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_cardholder_update_params.py0000644000000000000000000013737515102753431022051 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CardholderUpdateParams(TypedDict): billing: NotRequired["CardholderUpdateParamsBilling"] """ The cardholder's billing address. """ company: NotRequired["CardholderUpdateParamsCompany"] """ Additional information about a `company` cardholder. """ email: NotRequired[str] """ The cardholder's email address. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ individual: NotRequired["CardholderUpdateParamsIndividual"] """ Additional information about an `individual` cardholder. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ phone_number: NotRequired[str] """ The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://stripe.com/docs/issuing/3d-secure) for more details. """ preferred_locales: NotRequired[List[Literal["de", "en", "es", "fr", "it"]]] """ The cardholder's preferred locales (languages), ordered by preference. Locales can be `de`, `en`, `es`, `fr`, or `it`. This changes the language of the [3D Secure flow](https://stripe.com/docs/issuing/3d-secure) and one-time password messages sent to the cardholder. """ spending_controls: NotRequired["CardholderUpdateParamsSpendingControls"] """ Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details. """ status: NotRequired[Literal["active", "inactive"]] """ Specifies whether to permit authorizations on this cardholder's cards. """ class CardholderUpdateParamsBilling(TypedDict): address: "CardholderUpdateParamsBillingAddress" """ The cardholder's billing address. """ class CardholderUpdateParamsBillingAddress(TypedDict): city: str """ City, district, suburb, town, or village. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: str """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: str """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class CardholderUpdateParamsCompany(TypedDict): tax_id: NotRequired[str] """ The entity's business ID number. """ class CardholderUpdateParamsIndividual(TypedDict): card_issuing: NotRequired["CardholderUpdateParamsIndividualCardIssuing"] """ Information related to the card_issuing program for this cardholder. """ dob: NotRequired["CardholderUpdateParamsIndividualDob"] """ The date of birth of this cardholder. Cardholders must be older than 13 years old. """ first_name: NotRequired[str] """ The first name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters. """ last_name: NotRequired[str] """ The last name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters. """ verification: NotRequired["CardholderUpdateParamsIndividualVerification"] """ Government-issued ID document for this cardholder. """ class CardholderUpdateParamsIndividualCardIssuing(TypedDict): user_terms_acceptance: NotRequired[ "CardholderUpdateParamsIndividualCardIssuingUserTermsAcceptance" ] """ Information about cardholder acceptance of Celtic [Authorized User Terms](https://stripe.com/docs/issuing/cards#accept-authorized-user-terms). Required for cards backed by a Celtic program. """ class CardholderUpdateParamsIndividualCardIssuingUserTermsAcceptance( TypedDict ): date: NotRequired[int] """ The Unix timestamp marking when the cardholder accepted the Authorized User Terms. Required for Celtic Spend Card users. """ ip: NotRequired[str] """ The IP address from which the cardholder accepted the Authorized User Terms. Required for Celtic Spend Card users. """ user_agent: NotRequired["Literal['']|str"] """ The user agent of the browser from which the cardholder accepted the Authorized User Terms. """ class CardholderUpdateParamsIndividualDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class CardholderUpdateParamsIndividualVerification(TypedDict): document: NotRequired[ "CardholderUpdateParamsIndividualVerificationDocument" ] """ An identifying document, either a passport or local ID card. """ class CardholderUpdateParamsIndividualVerificationDocument(TypedDict): back: NotRequired[str] """ The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. """ front: NotRequired[str] """ The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`. """ class CardholderUpdateParamsSpendingControls(TypedDict): allowed_categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`. """ allowed_merchant_countries: NotRequired[List[str]] """ Array of strings containing representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `blocked_merchant_countries`. Provide an empty value to unset this control. """ blocked_categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`. """ blocked_merchant_countries: NotRequired[List[str]] """ Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `allowed_merchant_countries`. Provide an empty value to unset this control. """ spending_limits: NotRequired[ List["CardholderUpdateParamsSpendingControlsSpendingLimit"] ] """ Limit spending with amount-based rules that apply across this cardholder's cards. """ spending_limits_currency: NotRequired[str] """ Currency of amounts within `spending_limits`. Defaults to your merchant country's currency. """ class CardholderUpdateParamsSpendingControlsSpendingLimit(TypedDict): amount: int """ Maximum amount allowed to spend per interval. """ categories: NotRequired[ List[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] ] """ Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories. """ interval: Literal[ "all_time", "daily", "monthly", "per_authorization", "weekly", "yearly" ] """ Interval (or event) to which the amount applies. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_dispute_create_params.py0000644000000000000000000002353315102753431021366 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class DisputeCreateParams(RequestOptions): amount: NotRequired[int] """ The dispute amount in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). If not set, defaults to the full transaction amount. """ evidence: NotRequired["DisputeCreateParamsEvidence"] """ Evidence provided for the dispute. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ transaction: NotRequired[str] """ The ID of the issuing transaction to create a dispute for. For transaction on Treasury FinancialAccounts, use `treasury.received_debit`. """ treasury: NotRequired["DisputeCreateParamsTreasury"] """ Params for disputes related to Treasury FinancialAccounts """ class DisputeCreateParamsEvidence(TypedDict): canceled: NotRequired["Literal['']|DisputeCreateParamsEvidenceCanceled"] """ Evidence provided when `reason` is 'canceled'. """ duplicate: NotRequired["Literal['']|DisputeCreateParamsEvidenceDuplicate"] """ Evidence provided when `reason` is 'duplicate'. """ fraudulent: NotRequired[ "Literal['']|DisputeCreateParamsEvidenceFraudulent" ] """ Evidence provided when `reason` is 'fraudulent'. """ merchandise_not_as_described: NotRequired[ "Literal['']|DisputeCreateParamsEvidenceMerchandiseNotAsDescribed" ] """ Evidence provided when `reason` is 'merchandise_not_as_described'. """ no_valid_authorization: NotRequired[ "Literal['']|DisputeCreateParamsEvidenceNoValidAuthorization" ] """ Evidence provided when `reason` is 'no_valid_authorization'. """ not_received: NotRequired[ "Literal['']|DisputeCreateParamsEvidenceNotReceived" ] """ Evidence provided when `reason` is 'not_received'. """ other: NotRequired["Literal['']|DisputeCreateParamsEvidenceOther"] """ Evidence provided when `reason` is 'other'. """ reason: NotRequired[ Literal[ "canceled", "duplicate", "fraudulent", "merchandise_not_as_described", "no_valid_authorization", "not_received", "other", "service_not_as_described", ] ] """ The reason for filing the dispute. The evidence should be submitted in the field of the same name. """ service_not_as_described: NotRequired[ "Literal['']|DisputeCreateParamsEvidenceServiceNotAsDescribed" ] """ Evidence provided when `reason` is 'service_not_as_described'. """ class DisputeCreateParamsEvidenceCanceled(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ canceled_at: NotRequired["Literal['']|int"] """ Date when order was canceled. """ cancellation_policy_provided: NotRequired["Literal['']|bool"] """ Whether the cardholder was provided with a cancellation policy. """ cancellation_reason: NotRequired["Literal['']|str"] """ Reason for canceling the order. """ expected_at: NotRequired["Literal['']|int"] """ Date when the cardholder expected to receive the product. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ product_description: NotRequired["Literal['']|str"] """ Description of the merchandise or service that was purchased. """ product_type: NotRequired["Literal['']|Literal['merchandise', 'service']"] """ Whether the product was a merchandise or service. """ return_status: NotRequired[ "Literal['']|Literal['merchant_rejected', 'successful']" ] """ Result of cardholder's attempt to return the product. """ returned_at: NotRequired["Literal['']|int"] """ Date when the product was returned or attempted to be returned. """ class DisputeCreateParamsEvidenceDuplicate(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ card_statement: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the card statement showing that the product had already been paid for. """ cash_receipt: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the receipt showing that the product had been paid for in cash. """ check_image: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Image of the front and back of the check that was used to pay for the product. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ original_transaction: NotRequired[str] """ Transaction (e.g., ipi_...) that the disputed transaction is a duplicate of. Of the two or more transactions that are copies of each other, this is original undisputed one. """ class DisputeCreateParamsEvidenceFraudulent(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ class DisputeCreateParamsEvidenceMerchandiseNotAsDescribed(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ received_at: NotRequired["Literal['']|int"] """ Date when the product was received. """ return_description: NotRequired["Literal['']|str"] """ Description of the cardholder's attempt to return the product. """ return_status: NotRequired[ "Literal['']|Literal['merchant_rejected', 'successful']" ] """ Result of cardholder's attempt to return the product. """ returned_at: NotRequired["Literal['']|int"] """ Date when the product was returned or attempted to be returned. """ class DisputeCreateParamsEvidenceNoValidAuthorization(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ class DisputeCreateParamsEvidenceNotReceived(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ expected_at: NotRequired["Literal['']|int"] """ Date when the cardholder expected to receive the product. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ product_description: NotRequired["Literal['']|str"] """ Description of the merchandise or service that was purchased. """ product_type: NotRequired["Literal['']|Literal['merchandise', 'service']"] """ Whether the product was a merchandise or service. """ class DisputeCreateParamsEvidenceOther(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ product_description: NotRequired["Literal['']|str"] """ Description of the merchandise or service that was purchased. """ product_type: NotRequired["Literal['']|Literal['merchandise', 'service']"] """ Whether the product was a merchandise or service. """ class DisputeCreateParamsEvidenceServiceNotAsDescribed(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ canceled_at: NotRequired["Literal['']|int"] """ Date when order was canceled. """ cancellation_reason: NotRequired["Literal['']|str"] """ Reason for canceling the order. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ received_at: NotRequired["Literal['']|int"] """ Date when the product was received. """ class DisputeCreateParamsTreasury(TypedDict): received_debit: str """ The ID of the ReceivedDebit to initiate an Issuings dispute for. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_dispute_list_params.py0000644000000000000000000000376015102753431021076 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class DisputeListParams(RequestOptions): created: NotRequired["DisputeListParamsCreated|int"] """ Only return Issuing disputes that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[ Literal["expired", "lost", "submitted", "unsubmitted", "won"] ] """ Select Issuing disputes with the given status. """ transaction: NotRequired[str] """ Select the Issuing dispute for the given transaction. """ class DisputeListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_dispute_modify_params.py0000644000000000000000000002252115102753431021406 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class DisputeModifyParams(RequestOptions): amount: NotRequired[int] """ The dispute amount in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ evidence: NotRequired["DisputeModifyParamsEvidence"] """ Evidence provided for the dispute. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ class DisputeModifyParamsEvidence(TypedDict): canceled: NotRequired["Literal['']|DisputeModifyParamsEvidenceCanceled"] """ Evidence provided when `reason` is 'canceled'. """ duplicate: NotRequired["Literal['']|DisputeModifyParamsEvidenceDuplicate"] """ Evidence provided when `reason` is 'duplicate'. """ fraudulent: NotRequired[ "Literal['']|DisputeModifyParamsEvidenceFraudulent" ] """ Evidence provided when `reason` is 'fraudulent'. """ merchandise_not_as_described: NotRequired[ "Literal['']|DisputeModifyParamsEvidenceMerchandiseNotAsDescribed" ] """ Evidence provided when `reason` is 'merchandise_not_as_described'. """ no_valid_authorization: NotRequired[ "Literal['']|DisputeModifyParamsEvidenceNoValidAuthorization" ] """ Evidence provided when `reason` is 'no_valid_authorization'. """ not_received: NotRequired[ "Literal['']|DisputeModifyParamsEvidenceNotReceived" ] """ Evidence provided when `reason` is 'not_received'. """ other: NotRequired["Literal['']|DisputeModifyParamsEvidenceOther"] """ Evidence provided when `reason` is 'other'. """ reason: NotRequired[ Literal[ "canceled", "duplicate", "fraudulent", "merchandise_not_as_described", "no_valid_authorization", "not_received", "other", "service_not_as_described", ] ] """ The reason for filing the dispute. The evidence should be submitted in the field of the same name. """ service_not_as_described: NotRequired[ "Literal['']|DisputeModifyParamsEvidenceServiceNotAsDescribed" ] """ Evidence provided when `reason` is 'service_not_as_described'. """ class DisputeModifyParamsEvidenceCanceled(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ canceled_at: NotRequired["Literal['']|int"] """ Date when order was canceled. """ cancellation_policy_provided: NotRequired["Literal['']|bool"] """ Whether the cardholder was provided with a cancellation policy. """ cancellation_reason: NotRequired["Literal['']|str"] """ Reason for canceling the order. """ expected_at: NotRequired["Literal['']|int"] """ Date when the cardholder expected to receive the product. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ product_description: NotRequired["Literal['']|str"] """ Description of the merchandise or service that was purchased. """ product_type: NotRequired["Literal['']|Literal['merchandise', 'service']"] """ Whether the product was a merchandise or service. """ return_status: NotRequired[ "Literal['']|Literal['merchant_rejected', 'successful']" ] """ Result of cardholder's attempt to return the product. """ returned_at: NotRequired["Literal['']|int"] """ Date when the product was returned or attempted to be returned. """ class DisputeModifyParamsEvidenceDuplicate(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ card_statement: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the card statement showing that the product had already been paid for. """ cash_receipt: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the receipt showing that the product had been paid for in cash. """ check_image: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Image of the front and back of the check that was used to pay for the product. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ original_transaction: NotRequired[str] """ Transaction (e.g., ipi_...) that the disputed transaction is a duplicate of. Of the two or more transactions that are copies of each other, this is original undisputed one. """ class DisputeModifyParamsEvidenceFraudulent(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ class DisputeModifyParamsEvidenceMerchandiseNotAsDescribed(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ received_at: NotRequired["Literal['']|int"] """ Date when the product was received. """ return_description: NotRequired["Literal['']|str"] """ Description of the cardholder's attempt to return the product. """ return_status: NotRequired[ "Literal['']|Literal['merchant_rejected', 'successful']" ] """ Result of cardholder's attempt to return the product. """ returned_at: NotRequired["Literal['']|int"] """ Date when the product was returned or attempted to be returned. """ class DisputeModifyParamsEvidenceNoValidAuthorization(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ class DisputeModifyParamsEvidenceNotReceived(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ expected_at: NotRequired["Literal['']|int"] """ Date when the cardholder expected to receive the product. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ product_description: NotRequired["Literal['']|str"] """ Description of the merchandise or service that was purchased. """ product_type: NotRequired["Literal['']|Literal['merchandise', 'service']"] """ Whether the product was a merchandise or service. """ class DisputeModifyParamsEvidenceOther(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ product_description: NotRequired["Literal['']|str"] """ Description of the merchandise or service that was purchased. """ product_type: NotRequired["Literal['']|Literal['merchandise', 'service']"] """ Whether the product was a merchandise or service. """ class DisputeModifyParamsEvidenceServiceNotAsDescribed(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ canceled_at: NotRequired["Literal['']|int"] """ Date when order was canceled. """ cancellation_reason: NotRequired["Literal['']|str"] """ Reason for canceling the order. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ received_at: NotRequired["Literal['']|int"] """ Date when the product was received. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_dispute_retrieve_params.py0000644000000000000000000000052515102753431021744 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class DisputeRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_dispute_submit_params.py0000644000000000000000000000135515102753431021424 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class DisputeSubmitParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_dispute_update_params.py0000644000000000000000000002243115102753431021401 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class DisputeUpdateParams(TypedDict): amount: NotRequired[int] """ The dispute amount in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ evidence: NotRequired["DisputeUpdateParamsEvidence"] """ Evidence provided for the dispute. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ class DisputeUpdateParamsEvidence(TypedDict): canceled: NotRequired["Literal['']|DisputeUpdateParamsEvidenceCanceled"] """ Evidence provided when `reason` is 'canceled'. """ duplicate: NotRequired["Literal['']|DisputeUpdateParamsEvidenceDuplicate"] """ Evidence provided when `reason` is 'duplicate'. """ fraudulent: NotRequired[ "Literal['']|DisputeUpdateParamsEvidenceFraudulent" ] """ Evidence provided when `reason` is 'fraudulent'. """ merchandise_not_as_described: NotRequired[ "Literal['']|DisputeUpdateParamsEvidenceMerchandiseNotAsDescribed" ] """ Evidence provided when `reason` is 'merchandise_not_as_described'. """ no_valid_authorization: NotRequired[ "Literal['']|DisputeUpdateParamsEvidenceNoValidAuthorization" ] """ Evidence provided when `reason` is 'no_valid_authorization'. """ not_received: NotRequired[ "Literal['']|DisputeUpdateParamsEvidenceNotReceived" ] """ Evidence provided when `reason` is 'not_received'. """ other: NotRequired["Literal['']|DisputeUpdateParamsEvidenceOther"] """ Evidence provided when `reason` is 'other'. """ reason: NotRequired[ Literal[ "canceled", "duplicate", "fraudulent", "merchandise_not_as_described", "no_valid_authorization", "not_received", "other", "service_not_as_described", ] ] """ The reason for filing the dispute. The evidence should be submitted in the field of the same name. """ service_not_as_described: NotRequired[ "Literal['']|DisputeUpdateParamsEvidenceServiceNotAsDescribed" ] """ Evidence provided when `reason` is 'service_not_as_described'. """ class DisputeUpdateParamsEvidenceCanceled(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ canceled_at: NotRequired["Literal['']|int"] """ Date when order was canceled. """ cancellation_policy_provided: NotRequired["Literal['']|bool"] """ Whether the cardholder was provided with a cancellation policy. """ cancellation_reason: NotRequired["Literal['']|str"] """ Reason for canceling the order. """ expected_at: NotRequired["Literal['']|int"] """ Date when the cardholder expected to receive the product. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ product_description: NotRequired["Literal['']|str"] """ Description of the merchandise or service that was purchased. """ product_type: NotRequired["Literal['']|Literal['merchandise', 'service']"] """ Whether the product was a merchandise or service. """ return_status: NotRequired[ "Literal['']|Literal['merchant_rejected', 'successful']" ] """ Result of cardholder's attempt to return the product. """ returned_at: NotRequired["Literal['']|int"] """ Date when the product was returned or attempted to be returned. """ class DisputeUpdateParamsEvidenceDuplicate(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ card_statement: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the card statement showing that the product had already been paid for. """ cash_receipt: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the receipt showing that the product had been paid for in cash. """ check_image: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Image of the front and back of the check that was used to pay for the product. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ original_transaction: NotRequired[str] """ Transaction (e.g., ipi_...) that the disputed transaction is a duplicate of. Of the two or more transactions that are copies of each other, this is original undisputed one. """ class DisputeUpdateParamsEvidenceFraudulent(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ class DisputeUpdateParamsEvidenceMerchandiseNotAsDescribed(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ received_at: NotRequired["Literal['']|int"] """ Date when the product was received. """ return_description: NotRequired["Literal['']|str"] """ Description of the cardholder's attempt to return the product. """ return_status: NotRequired[ "Literal['']|Literal['merchant_rejected', 'successful']" ] """ Result of cardholder's attempt to return the product. """ returned_at: NotRequired["Literal['']|int"] """ Date when the product was returned or attempted to be returned. """ class DisputeUpdateParamsEvidenceNoValidAuthorization(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ class DisputeUpdateParamsEvidenceNotReceived(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ expected_at: NotRequired["Literal['']|int"] """ Date when the cardholder expected to receive the product. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ product_description: NotRequired["Literal['']|str"] """ Description of the merchandise or service that was purchased. """ product_type: NotRequired["Literal['']|Literal['merchandise', 'service']"] """ Whether the product was a merchandise or service. """ class DisputeUpdateParamsEvidenceOther(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ product_description: NotRequired["Literal['']|str"] """ Description of the merchandise or service that was purchased. """ product_type: NotRequired["Literal['']|Literal['merchandise', 'service']"] """ Whether the product was a merchandise or service. """ class DisputeUpdateParamsEvidenceServiceNotAsDescribed(TypedDict): additional_documentation: NotRequired["Literal['']|str"] """ (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute. """ canceled_at: NotRequired["Literal['']|int"] """ Date when order was canceled. """ cancellation_reason: NotRequired["Literal['']|str"] """ Reason for canceling the order. """ explanation: NotRequired["Literal['']|str"] """ Explanation of why the cardholder is disputing this transaction. """ received_at: NotRequired["Literal['']|int"] """ Date when the product was received. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_personalization_design_activate_params.py0000644000000000000000000000054315102753431025014 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PersonalizationDesignActivateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_personalization_design_create_params.py0000644000000000000000000000524015102753431024456 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PersonalizationDesignCreateParams(RequestOptions): card_logo: NotRequired[str] """ The file for the card logo, for use with physical bundles that support card logos. Must have a `purpose` value of `issuing_logo`. """ carrier_text: NotRequired["PersonalizationDesignCreateParamsCarrierText"] """ Hash containing carrier text, for use with physical bundles that support carrier text. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ lookup_key: NotRequired[str] """ A lookup key used to retrieve personalization designs dynamically from a static string. This may be up to 200 characters. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired[str] """ Friendly display name. """ physical_bundle: str """ The physical bundle object belonging to this personalization design. """ preferences: NotRequired["PersonalizationDesignCreateParamsPreferences"] """ Information on whether this personalization design is used to create cards when one is not specified. """ transfer_lookup_key: NotRequired[bool] """ If set to true, will atomically remove the lookup key from the existing personalization design, and assign it to this personalization design. """ class PersonalizationDesignCreateParamsCarrierText(TypedDict): footer_body: NotRequired["Literal['']|str"] """ The footer body text of the carrier letter. """ footer_title: NotRequired["Literal['']|str"] """ The footer title text of the carrier letter. """ header_body: NotRequired["Literal['']|str"] """ The header body text of the carrier letter. """ header_title: NotRequired["Literal['']|str"] """ The header title text of the carrier letter. """ class PersonalizationDesignCreateParamsPreferences(TypedDict): is_default: bool """ Whether we use this personalization design to create cards when one isn't specified. A connected account uses the Connect platform's default design if no personalization design is set as the default design. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_personalization_design_deactivate_params.py0000644000000000000000000000054515102753431025327 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PersonalizationDesignDeactivateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_personalization_design_list_params.py0000644000000000000000000000417615102753431024175 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class PersonalizationDesignListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ lookup_keys: NotRequired[List[str]] """ Only return personalization designs with the given lookup keys. """ preferences: NotRequired["PersonalizationDesignListParamsPreferences"] """ Only return personalization designs with the given preferences. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["active", "inactive", "rejected", "review"]] """ Only return personalization designs with the given status. """ class PersonalizationDesignListParamsPreferences(TypedDict): is_default: NotRequired[bool] """ Only return the personalization design that's set as the default. A connected account uses the Connect platform's default design if no personalization design is set as the default. """ is_platform_default: NotRequired[bool] """ Only return the personalization design that is set as the Connect platform's default. This parameter is only applicable to connected accounts. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_personalization_design_modify_params.py0000644000000000000000000000544715102753431024513 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PersonalizationDesignModifyParams(RequestOptions): card_logo: NotRequired["Literal['']|str"] """ The file for the card logo, for use with physical bundles that support card logos. Must have a `purpose` value of `issuing_logo`. """ carrier_text: NotRequired[ "Literal['']|PersonalizationDesignModifyParamsCarrierText" ] """ Hash containing carrier text, for use with physical bundles that support carrier text. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ lookup_key: NotRequired["Literal['']|str"] """ A lookup key used to retrieve personalization designs dynamically from a static string. This may be up to 200 characters. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired["Literal['']|str"] """ Friendly display name. Providing an empty string will set the field to null. """ physical_bundle: NotRequired[str] """ The physical bundle object belonging to this personalization design. """ preferences: NotRequired["PersonalizationDesignModifyParamsPreferences"] """ Information on whether this personalization design is used to create cards when one is not specified. """ transfer_lookup_key: NotRequired[bool] """ If set to true, will atomically remove the lookup key from the existing personalization design, and assign it to this personalization design. """ class PersonalizationDesignModifyParamsCarrierText(TypedDict): footer_body: NotRequired["Literal['']|str"] """ The footer body text of the carrier letter. """ footer_title: NotRequired["Literal['']|str"] """ The footer title text of the carrier letter. """ header_body: NotRequired["Literal['']|str"] """ The header body text of the carrier letter. """ header_title: NotRequired["Literal['']|str"] """ The header title text of the carrier letter. """ class PersonalizationDesignModifyParamsPreferences(TypedDict): is_default: bool """ Whether we use this personalization design to create cards when one isn't specified. A connected account uses the Connect platform's default design if no personalization design is set as the default design. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_personalization_design_reject_params.py0000644000000000000000000000261515102753431024472 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class PersonalizationDesignRejectParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ rejection_reasons: "PersonalizationDesignRejectParamsRejectionReasons" """ The reason(s) the personalization design was rejected. """ class PersonalizationDesignRejectParamsRejectionReasons(TypedDict): card_logo: NotRequired[ List[ Literal[ "geographic_location", "inappropriate", "network_name", "non_binary_image", "non_fiat_currency", "other", "other_entity", "promotional_material", ] ] ] """ The reason(s) the card logo was rejected. """ carrier_text: NotRequired[ List[ Literal[ "geographic_location", "inappropriate", "network_name", "non_fiat_currency", "other", "other_entity", "promotional_material", ] ] ] """ The reason(s) the carrier text was rejected. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3680623 stripe-13.2.0/stripe/params/issuing/_personalization_design_retrieve_params.py0000644000000000000000000000054315102753431025041 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PersonalizationDesignRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/issuing/_personalization_design_update_params.py0000644000000000000000000000535715102753431024506 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class PersonalizationDesignUpdateParams(TypedDict): card_logo: NotRequired["Literal['']|str"] """ The file for the card logo, for use with physical bundles that support card logos. Must have a `purpose` value of `issuing_logo`. """ carrier_text: NotRequired[ "Literal['']|PersonalizationDesignUpdateParamsCarrierText" ] """ Hash containing carrier text, for use with physical bundles that support carrier text. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ lookup_key: NotRequired["Literal['']|str"] """ A lookup key used to retrieve personalization designs dynamically from a static string. This may be up to 200 characters. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired["Literal['']|str"] """ Friendly display name. Providing an empty string will set the field to null. """ physical_bundle: NotRequired[str] """ The physical bundle object belonging to this personalization design. """ preferences: NotRequired["PersonalizationDesignUpdateParamsPreferences"] """ Information on whether this personalization design is used to create cards when one is not specified. """ transfer_lookup_key: NotRequired[bool] """ If set to true, will atomically remove the lookup key from the existing personalization design, and assign it to this personalization design. """ class PersonalizationDesignUpdateParamsCarrierText(TypedDict): footer_body: NotRequired["Literal['']|str"] """ The footer body text of the carrier letter. """ footer_title: NotRequired["Literal['']|str"] """ The footer title text of the carrier letter. """ header_body: NotRequired["Literal['']|str"] """ The header body text of the carrier letter. """ header_title: NotRequired["Literal['']|str"] """ The header title text of the carrier letter. """ class PersonalizationDesignUpdateParamsPreferences(TypedDict): is_default: bool """ Whether we use this personalization design to create cards when one isn't specified. A connected account uses the Connect platform's default design if no personalization design is set as the default design. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/issuing/_physical_bundle_list_params.py0000644000000000000000000000270115102753431022560 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class PhysicalBundleListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["active", "inactive", "review"]] """ Only return physical bundles with the given status. """ type: NotRequired[Literal["custom", "standard"]] """ Only return physical bundles with the given type. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/issuing/_physical_bundle_retrieve_params.py0000644000000000000000000000053415102753431023434 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class PhysicalBundleRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/issuing/_token_list_params.py0000644000000000000000000000366715102753431020547 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class TokenListParams(RequestOptions): card: str """ The Issuing card identifier to list tokens for. """ created: NotRequired["TokenListParamsCreated|int"] """ Only return Issuing tokens that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["active", "deleted", "requested", "suspended"]] """ Select Issuing tokens with the given status. """ class TokenListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/issuing/_token_modify_params.py0000644000000000000000000000073315102753431021052 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class TokenModifyParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ status: Literal["active", "deleted", "suspended"] """ Specifies which status the token should be updated to. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/issuing/_token_retrieve_params.py0000644000000000000000000000052315102753431021405 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TokenRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/issuing/_token_update_params.py0000644000000000000000000000065615102753431021051 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class TokenUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ status: Literal["active", "deleted", "suspended"] """ Specifies which status the token should be updated to. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/issuing/_transaction_create_force_capture_params.py0000644000000000000000000005361115102753431025137 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class TransactionCreateForceCaptureParams(RequestOptions): amount: int """ The total amount to attempt to capture. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ card: str """ Card associated with this transaction. """ currency: NotRequired[str] """ The currency of the capture. If not provided, defaults to the currency of the card. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ merchant_data: NotRequired[ "TransactionCreateForceCaptureParamsMerchantData" ] """ Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened. """ purchase_details: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetails" ] """ Additional purchase information that is optionally provided by the merchant. """ class TransactionCreateForceCaptureParamsMerchantData(TypedDict): category: NotRequired[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] """ A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values. """ city: NotRequired[str] """ City where the seller is located """ country: NotRequired[str] """ Country where the seller is located """ name: NotRequired[str] """ Name of the seller """ network_id: NotRequired[str] """ Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant. """ postal_code: NotRequired[str] """ Postal code where the seller is located """ state: NotRequired[str] """ State where the seller is located """ terminal_id: NotRequired[str] """ An ID assigned by the seller to the location of the sale. """ url: NotRequired[str] """ URL provided by the merchant on a 3DS request """ class TransactionCreateForceCaptureParamsPurchaseDetails(TypedDict): fleet: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsFleet" ] """ Fleet-specific information for transactions using Fleet cards. """ flight: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsFlight" ] """ Information about the flight that was purchased with this transaction. """ fuel: NotRequired["TransactionCreateForceCaptureParamsPurchaseDetailsFuel"] """ Information about fuel that was purchased with this transaction. """ lodging: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsLodging" ] """ Information about lodging that was purchased with this transaction. """ receipt: NotRequired[ List["TransactionCreateForceCaptureParamsPurchaseDetailsReceipt"] ] """ The line items in the purchase. """ reference: NotRequired[str] """ A merchant-specific order number. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFleet(TypedDict): cardholder_prompt_data: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsFleetCardholderPromptData" ] """ Answers to prompts presented to the cardholder at the point of sale. Prompted fields vary depending on the configuration of your physical fleet cards. Typical points of sale support only numeric entry. """ purchase_type: NotRequired[ Literal[ "fuel_and_non_fuel_purchase", "fuel_purchase", "non_fuel_purchase" ] ] """ The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`. """ reported_breakdown: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdown" ] """ More information about the total amount. This information is not guaranteed to be accurate as some merchants may provide unreliable data. """ service_type: NotRequired[ Literal["full_service", "non_fuel_transaction", "self_service"] ] """ The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFleetCardholderPromptData( TypedDict, ): driver_id: NotRequired[str] """ Driver ID. """ odometer: NotRequired[int] """ Odometer reading. """ unspecified_id: NotRequired[str] """ An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type. """ user_id: NotRequired[str] """ User ID. """ vehicle_number: NotRequired[str] """ Vehicle number. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdown( TypedDict, ): fuel: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel" ] """ Breakdown of fuel portion of the purchase. """ non_fuel: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel" ] """ Breakdown of non-fuel portion of the purchase. """ tax: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownTax" ] """ Information about tax included in this transaction. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel( TypedDict, ): gross_amount_decimal: NotRequired[str] """ Gross fuel amount that should equal Fuel Volume multipled by Fuel Unit Cost, inclusive of taxes. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel( TypedDict, ): gross_amount_decimal: NotRequired[str] """ Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownTax( TypedDict, ): local_amount_decimal: NotRequired[str] """ Amount of state or provincial Sales Tax included in the transaction amount. Null if not reported by merchant or not subject to tax. """ national_amount_decimal: NotRequired[str] """ Amount of national Sales Tax or VAT included in the transaction amount. Null if not reported by merchant or not subject to tax. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFlight(TypedDict): departure_at: NotRequired[int] """ The time that the flight departed. """ passenger_name: NotRequired[str] """ The name of the passenger. """ refundable: NotRequired[bool] """ Whether the ticket is refundable. """ segments: NotRequired[ List["TransactionCreateForceCaptureParamsPurchaseDetailsFlightSegment"] ] """ The legs of the trip. """ travel_agency: NotRequired[str] """ The travel agency that issued the ticket. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFlightSegment( TypedDict, ): arrival_airport_code: NotRequired[str] """ The three-letter IATA airport code of the flight's destination. """ carrier: NotRequired[str] """ The airline carrier code. """ departure_airport_code: NotRequired[str] """ The three-letter IATA airport code that the flight departed from. """ flight_number: NotRequired[str] """ The flight number. """ service_class: NotRequired[str] """ The flight's service class. """ stopover_allowed: NotRequired[bool] """ Whether a stopover is allowed on this flight. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFuel(TypedDict): industry_product_code: NotRequired[str] """ [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased. """ quantity_decimal: NotRequired[str] """ The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places. """ type: NotRequired[ Literal[ "diesel", "other", "unleaded_plus", "unleaded_regular", "unleaded_super", ] ] """ The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`. """ unit: NotRequired[ Literal[ "charging_minute", "imperial_gallon", "kilogram", "kilowatt_hour", "liter", "other", "pound", "us_gallon", ] ] """ The units for `quantity_decimal`. One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`. """ unit_cost_decimal: NotRequired[str] """ The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places. """ class TransactionCreateForceCaptureParamsPurchaseDetailsLodging(TypedDict): check_in_at: NotRequired[int] """ The time of checking into the lodging. """ nights: NotRequired[int] """ The number of nights stayed at the lodging. """ class TransactionCreateForceCaptureParamsPurchaseDetailsReceipt(TypedDict): description: NotRequired[str] quantity: NotRequired[str] total: NotRequired[int] unit_cost: NotRequired[int] ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/issuing/_transaction_create_unlinked_refund_params.py0000644000000000000000000005377215102753431025502 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class TransactionCreateUnlinkedRefundParams(RequestOptions): amount: int """ The total amount to attempt to refund. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ card: str """ Card associated with this unlinked refund transaction. """ currency: NotRequired[str] """ The currency of the unlinked refund. If not provided, defaults to the currency of the card. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ merchant_data: NotRequired[ "TransactionCreateUnlinkedRefundParamsMerchantData" ] """ Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened. """ purchase_details: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetails" ] """ Additional purchase information that is optionally provided by the merchant. """ class TransactionCreateUnlinkedRefundParamsMerchantData(TypedDict): category: NotRequired[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] """ A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values. """ city: NotRequired[str] """ City where the seller is located """ country: NotRequired[str] """ Country where the seller is located """ name: NotRequired[str] """ Name of the seller """ network_id: NotRequired[str] """ Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant. """ postal_code: NotRequired[str] """ Postal code where the seller is located """ state: NotRequired[str] """ State where the seller is located """ terminal_id: NotRequired[str] """ An ID assigned by the seller to the location of the sale. """ url: NotRequired[str] """ URL provided by the merchant on a 3DS request """ class TransactionCreateUnlinkedRefundParamsPurchaseDetails(TypedDict): fleet: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleet" ] """ Fleet-specific information for transactions using Fleet cards. """ flight: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlight" ] """ Information about the flight that was purchased with this transaction. """ fuel: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFuel" ] """ Information about fuel that was purchased with this transaction. """ lodging: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsLodging" ] """ Information about lodging that was purchased with this transaction. """ receipt: NotRequired[ List["TransactionCreateUnlinkedRefundParamsPurchaseDetailsReceipt"] ] """ The line items in the purchase. """ reference: NotRequired[str] """ A merchant-specific order number. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleet(TypedDict): cardholder_prompt_data: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetCardholderPromptData" ] """ Answers to prompts presented to the cardholder at the point of sale. Prompted fields vary depending on the configuration of your physical fleet cards. Typical points of sale support only numeric entry. """ purchase_type: NotRequired[ Literal[ "fuel_and_non_fuel_purchase", "fuel_purchase", "non_fuel_purchase" ] ] """ The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`. """ reported_breakdown: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdown" ] """ More information about the total amount. This information is not guaranteed to be accurate as some merchants may provide unreliable data. """ service_type: NotRequired[ Literal["full_service", "non_fuel_transaction", "self_service"] ] """ The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetCardholderPromptData( TypedDict, ): driver_id: NotRequired[str] """ Driver ID. """ odometer: NotRequired[int] """ Odometer reading. """ unspecified_id: NotRequired[str] """ An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type. """ user_id: NotRequired[str] """ User ID. """ vehicle_number: NotRequired[str] """ Vehicle number. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdown( TypedDict, ): fuel: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownFuel" ] """ Breakdown of fuel portion of the purchase. """ non_fuel: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownNonFuel" ] """ Breakdown of non-fuel portion of the purchase. """ tax: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownTax" ] """ Information about tax included in this transaction. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownFuel( TypedDict, ): gross_amount_decimal: NotRequired[str] """ Gross fuel amount that should equal Fuel Volume multipled by Fuel Unit Cost, inclusive of taxes. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownNonFuel( TypedDict, ): gross_amount_decimal: NotRequired[str] """ Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownTax( TypedDict, ): local_amount_decimal: NotRequired[str] """ Amount of state or provincial Sales Tax included in the transaction amount. Null if not reported by merchant or not subject to tax. """ national_amount_decimal: NotRequired[str] """ Amount of national Sales Tax or VAT included in the transaction amount. Null if not reported by merchant or not subject to tax. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlight(TypedDict): departure_at: NotRequired[int] """ The time that the flight departed. """ passenger_name: NotRequired[str] """ The name of the passenger. """ refundable: NotRequired[bool] """ Whether the ticket is refundable. """ segments: NotRequired[ List[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlightSegment" ] ] """ The legs of the trip. """ travel_agency: NotRequired[str] """ The travel agency that issued the ticket. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlightSegment( TypedDict, ): arrival_airport_code: NotRequired[str] """ The three-letter IATA airport code of the flight's destination. """ carrier: NotRequired[str] """ The airline carrier code. """ departure_airport_code: NotRequired[str] """ The three-letter IATA airport code that the flight departed from. """ flight_number: NotRequired[str] """ The flight number. """ service_class: NotRequired[str] """ The flight's service class. """ stopover_allowed: NotRequired[bool] """ Whether a stopover is allowed on this flight. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFuel(TypedDict): industry_product_code: NotRequired[str] """ [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased. """ quantity_decimal: NotRequired[str] """ The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places. """ type: NotRequired[ Literal[ "diesel", "other", "unleaded_plus", "unleaded_regular", "unleaded_super", ] ] """ The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`. """ unit: NotRequired[ Literal[ "charging_minute", "imperial_gallon", "kilogram", "kilowatt_hour", "liter", "other", "pound", "us_gallon", ] ] """ The units for `quantity_decimal`. One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`. """ unit_cost_decimal: NotRequired[str] """ The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsLodging(TypedDict): check_in_at: NotRequired[int] """ The time of checking into the lodging. """ nights: NotRequired[int] """ The number of nights stayed at the lodging. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsReceipt(TypedDict): description: NotRequired[str] quantity: NotRequired[str] total: NotRequired[int] unit_cost: NotRequired[int] ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/issuing/_transaction_list_params.py0000644000000000000000000000412715102753431021744 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class TransactionListParams(RequestOptions): card: NotRequired[str] """ Only return transactions that belong to the given card. """ cardholder: NotRequired[str] """ Only return transactions that belong to the given cardholder. """ created: NotRequired["TransactionListParamsCreated|int"] """ Only return transactions that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ type: NotRequired[Literal["capture", "refund"]] """ Only return transactions that have the given type. One of `capture` or `refund`. """ class TransactionListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/issuing/_transaction_modify_params.py0000644000000000000000000000136115102753431022255 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class TransactionModifyParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/issuing/_transaction_refund_params.py0000644000000000000000000000113015102753431022243 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TransactionRefundParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ refund_amount: NotRequired[int] """ The total amount to attempt to refund. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/issuing/_transaction_retrieve_params.py0000644000000000000000000000053115102753431022611 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TransactionRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/issuing/_transaction_update_params.py0000644000000000000000000000130415102753431022245 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class TransactionUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/radar/__init__.py0000644000000000000000000001012315102753431016022 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.radar._early_fraud_warning_list_params import ( EarlyFraudWarningListParams as EarlyFraudWarningListParams, EarlyFraudWarningListParamsCreated as EarlyFraudWarningListParamsCreated, ) from stripe.params.radar._early_fraud_warning_retrieve_params import ( EarlyFraudWarningRetrieveParams as EarlyFraudWarningRetrieveParams, ) from stripe.params.radar._value_list_create_params import ( ValueListCreateParams as ValueListCreateParams, ) from stripe.params.radar._value_list_delete_params import ( ValueListDeleteParams as ValueListDeleteParams, ) from stripe.params.radar._value_list_item_create_params import ( ValueListItemCreateParams as ValueListItemCreateParams, ) from stripe.params.radar._value_list_item_delete_params import ( ValueListItemDeleteParams as ValueListItemDeleteParams, ) from stripe.params.radar._value_list_item_list_params import ( ValueListItemListParams as ValueListItemListParams, ValueListItemListParamsCreated as ValueListItemListParamsCreated, ) from stripe.params.radar._value_list_item_retrieve_params import ( ValueListItemRetrieveParams as ValueListItemRetrieveParams, ) from stripe.params.radar._value_list_list_params import ( ValueListListParams as ValueListListParams, ValueListListParamsCreated as ValueListListParamsCreated, ) from stripe.params.radar._value_list_modify_params import ( ValueListModifyParams as ValueListModifyParams, ) from stripe.params.radar._value_list_retrieve_params import ( ValueListRetrieveParams as ValueListRetrieveParams, ) from stripe.params.radar._value_list_update_params import ( ValueListUpdateParams as ValueListUpdateParams, ) # name -> (import_target, is_submodule) _import_map = { "EarlyFraudWarningListParams": ( "stripe.params.radar._early_fraud_warning_list_params", False, ), "EarlyFraudWarningListParamsCreated": ( "stripe.params.radar._early_fraud_warning_list_params", False, ), "EarlyFraudWarningRetrieveParams": ( "stripe.params.radar._early_fraud_warning_retrieve_params", False, ), "ValueListCreateParams": ( "stripe.params.radar._value_list_create_params", False, ), "ValueListDeleteParams": ( "stripe.params.radar._value_list_delete_params", False, ), "ValueListItemCreateParams": ( "stripe.params.radar._value_list_item_create_params", False, ), "ValueListItemDeleteParams": ( "stripe.params.radar._value_list_item_delete_params", False, ), "ValueListItemListParams": ( "stripe.params.radar._value_list_item_list_params", False, ), "ValueListItemListParamsCreated": ( "stripe.params.radar._value_list_item_list_params", False, ), "ValueListItemRetrieveParams": ( "stripe.params.radar._value_list_item_retrieve_params", False, ), "ValueListListParams": ( "stripe.params.radar._value_list_list_params", False, ), "ValueListListParamsCreated": ( "stripe.params.radar._value_list_list_params", False, ), "ValueListModifyParams": ( "stripe.params.radar._value_list_modify_params", False, ), "ValueListRetrieveParams": ( "stripe.params.radar._value_list_retrieve_params", False, ), "ValueListUpdateParams": ( "stripe.params.radar._value_list_update_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/radar/_early_fraud_warning_list_params.py0000644000000000000000000000404415102753431023047 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class EarlyFraudWarningListParams(RequestOptions): charge: NotRequired[str] """ Only return early fraud warnings for the charge specified by this charge ID. """ created: NotRequired["EarlyFraudWarningListParamsCreated|int"] """ Only return early fraud warnings that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ payment_intent: NotRequired[str] """ Only return early fraud warnings for charges that were created by the PaymentIntent specified by this PaymentIntent ID. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class EarlyFraudWarningListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/radar/_early_fraud_warning_retrieve_params.py0000644000000000000000000000053715102753431023724 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class EarlyFraudWarningRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/radar/_value_list_create_params.py0000644000000000000000000000300315102753431021456 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class ValueListCreateParams(RequestOptions): alias: str """ The name of the value list for use in rules. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ item_type: NotRequired[ Literal[ "card_bin", "card_fingerprint", "case_sensitive_string", "country", "customer_id", "email", "ip_address", "sepa_debit_fingerprint", "string", "us_bank_account_fingerprint", ] ] """ Type of the items in the value list. One of `card_fingerprint`, `card_bin`, `email`, `ip_address`, `country`, `string`, `case_sensitive_string`, `customer_id`, `sepa_debit_fingerprint`, or `us_bank_account_fingerprint`. Use `string` if the item type is unknown or mixed. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: str """ The human-readable name of the value list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/radar/_value_list_delete_params.py0000644000000000000000000000025215102753431021460 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class ValueListDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/radar/_value_list_item_create_params.py0000644000000000000000000000107715102753431022505 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ValueListItemCreateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ value: str """ The value of the item (whose type must match the type of the parent value list). """ value_list: str """ The identifier of the value list which the created item will be added to. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/radar/_value_list_item_delete_params.py0000644000000000000000000000025615102753431022502 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class ValueListItemDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/radar/_value_list_item_list_params.py0000644000000000000000000000373315102753431022216 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class ValueListItemListParams(RequestOptions): created: NotRequired["ValueListItemListParamsCreated|int"] """ Only return items that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ value: NotRequired[str] """ Return items belonging to the parent list whose value matches the specified value (using an "is like" match). """ value_list: str """ Identifier for the parent value list this item belongs to. """ class ValueListItemListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/radar/_value_list_item_retrieve_params.py0000644000000000000000000000053315102753431023063 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ValueListItemRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/radar/_value_list_list_params.py0000644000000000000000000000371515102753431021200 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class ValueListListParams(RequestOptions): alias: NotRequired[str] """ The alias used to reference the value list when writing rules. """ contains: NotRequired[str] """ A value contained within a value list - returns all value lists containing this value. """ created: NotRequired["ValueListListParamsCreated|int"] """ Only return value lists that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class ValueListListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/radar/_value_list_modify_params.py0000644000000000000000000000161715102753431021513 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import NotRequired class ValueListModifyParams(RequestOptions): alias: NotRequired[str] """ The name of the value list for use in rules. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired[str] """ The human-readable name of the value list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/radar/_value_list_retrieve_params.py0000644000000000000000000000052715102753431022050 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ValueListRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/radar/_value_list_update_params.py0000644000000000000000000000154215102753431021503 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import NotRequired, TypedDict class ValueListUpdateParams(TypedDict): alias: NotRequired[str] """ The name of the value list for use in rules. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ name: NotRequired[str] """ The human-readable name of the value list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3690622 stripe-13.2.0/stripe/params/reporting/__init__.py0000644000000000000000000000423115102753431016745 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.reporting._report_run_create_params import ( ReportRunCreateParams as ReportRunCreateParams, ReportRunCreateParamsParameters as ReportRunCreateParamsParameters, ) from stripe.params.reporting._report_run_list_params import ( ReportRunListParams as ReportRunListParams, ReportRunListParamsCreated as ReportRunListParamsCreated, ) from stripe.params.reporting._report_run_retrieve_params import ( ReportRunRetrieveParams as ReportRunRetrieveParams, ) from stripe.params.reporting._report_type_list_params import ( ReportTypeListParams as ReportTypeListParams, ) from stripe.params.reporting._report_type_retrieve_params import ( ReportTypeRetrieveParams as ReportTypeRetrieveParams, ) # name -> (import_target, is_submodule) _import_map = { "ReportRunCreateParams": ( "stripe.params.reporting._report_run_create_params", False, ), "ReportRunCreateParamsParameters": ( "stripe.params.reporting._report_run_create_params", False, ), "ReportRunListParams": ( "stripe.params.reporting._report_run_list_params", False, ), "ReportRunListParamsCreated": ( "stripe.params.reporting._report_run_list_params", False, ), "ReportRunRetrieveParams": ( "stripe.params.reporting._report_run_retrieve_params", False, ), "ReportTypeListParams": ( "stripe.params.reporting._report_type_list_params", False, ), "ReportTypeRetrieveParams": ( "stripe.params.reporting._report_type_retrieve_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/reporting/_report_run_create_params.py0000644000000000000000000005162615102753431022444 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ReportRunCreateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ parameters: NotRequired["ReportRunCreateParamsParameters"] """ Parameters specifying how the report should be run. Different Report Types have different required and optional parameters, listed in the [API Access to Reports](https://stripe.com/docs/reporting/statements/api) documentation. """ report_type: str """ The ID of the [report type](https://stripe.com/docs/reporting/statements/api#report-types) to run, such as `"balance.summary.1"`. """ class ReportRunCreateParamsParameters(TypedDict): columns: NotRequired[List[str]] """ The set of report columns to include in the report output. If omitted, the Report Type is run with its default column set. """ connected_account: NotRequired[str] """ Connected account ID to filter for in the report run. """ currency: NotRequired[str] """ Currency of objects to be included in the report run. """ interval_end: NotRequired[int] """ Ending timestamp of data to be included in the report run (exclusive). """ interval_start: NotRequired[int] """ Starting timestamp of data to be included in the report run. """ payout: NotRequired[str] """ Payout ID by which to filter the report run. """ reporting_category: NotRequired[ Literal[ "advance", "advance_funding", "anticipation_repayment", "charge", "charge_failure", "climate_order_purchase", "climate_order_refund", "connect_collection_transfer", "connect_reserved_funds", "contribution", "dispute", "dispute_reversal", "fee", "financing_paydown", "financing_paydown_reversal", "financing_payout", "financing_payout_reversal", "issuing_authorization_hold", "issuing_authorization_release", "issuing_dispute", "issuing_transaction", "network_cost", "other_adjustment", "partial_capture_reversal", "payout", "payout_reversal", "platform_earning", "platform_earning_refund", "refund", "refund_failure", "risk_reserved_funds", "tax", "topup", "topup_reversal", "transfer", "transfer_reversal", "unreconciled_customer_funds", ] ] """ Category of balance transactions to be included in the report run. """ timezone: NotRequired[ Literal[ "Africa/Abidjan", "Africa/Accra", "Africa/Addis_Ababa", "Africa/Algiers", "Africa/Asmara", "Africa/Asmera", "Africa/Bamako", "Africa/Bangui", "Africa/Banjul", "Africa/Bissau", "Africa/Blantyre", "Africa/Brazzaville", "Africa/Bujumbura", "Africa/Cairo", "Africa/Casablanca", "Africa/Ceuta", "Africa/Conakry", "Africa/Dakar", "Africa/Dar_es_Salaam", "Africa/Djibouti", "Africa/Douala", "Africa/El_Aaiun", "Africa/Freetown", "Africa/Gaborone", "Africa/Harare", "Africa/Johannesburg", "Africa/Juba", "Africa/Kampala", "Africa/Khartoum", "Africa/Kigali", "Africa/Kinshasa", "Africa/Lagos", "Africa/Libreville", "Africa/Lome", "Africa/Luanda", "Africa/Lubumbashi", "Africa/Lusaka", "Africa/Malabo", "Africa/Maputo", "Africa/Maseru", "Africa/Mbabane", "Africa/Mogadishu", "Africa/Monrovia", "Africa/Nairobi", "Africa/Ndjamena", "Africa/Niamey", "Africa/Nouakchott", "Africa/Ouagadougou", "Africa/Porto-Novo", "Africa/Sao_Tome", "Africa/Timbuktu", "Africa/Tripoli", "Africa/Tunis", "Africa/Windhoek", "America/Adak", "America/Anchorage", "America/Anguilla", "America/Antigua", "America/Araguaina", "America/Argentina/Buenos_Aires", "America/Argentina/Catamarca", "America/Argentina/ComodRivadavia", "America/Argentina/Cordoba", "America/Argentina/Jujuy", "America/Argentina/La_Rioja", "America/Argentina/Mendoza", "America/Argentina/Rio_Gallegos", "America/Argentina/Salta", "America/Argentina/San_Juan", "America/Argentina/San_Luis", "America/Argentina/Tucuman", "America/Argentina/Ushuaia", "America/Aruba", "America/Asuncion", "America/Atikokan", "America/Atka", "America/Bahia", "America/Bahia_Banderas", "America/Barbados", "America/Belem", "America/Belize", "America/Blanc-Sablon", "America/Boa_Vista", "America/Bogota", "America/Boise", "America/Buenos_Aires", "America/Cambridge_Bay", "America/Campo_Grande", "America/Cancun", "America/Caracas", "America/Catamarca", "America/Cayenne", "America/Cayman", "America/Chicago", "America/Chihuahua", "America/Ciudad_Juarez", "America/Coral_Harbour", "America/Cordoba", "America/Costa_Rica", "America/Coyhaique", "America/Creston", "America/Cuiaba", "America/Curacao", "America/Danmarkshavn", "America/Dawson", "America/Dawson_Creek", "America/Denver", "America/Detroit", "America/Dominica", "America/Edmonton", "America/Eirunepe", "America/El_Salvador", "America/Ensenada", "America/Fort_Nelson", "America/Fort_Wayne", "America/Fortaleza", "America/Glace_Bay", "America/Godthab", "America/Goose_Bay", "America/Grand_Turk", "America/Grenada", "America/Guadeloupe", "America/Guatemala", "America/Guayaquil", "America/Guyana", "America/Halifax", "America/Havana", "America/Hermosillo", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Tell_City", "America/Indiana/Vevay", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Indianapolis", "America/Inuvik", "America/Iqaluit", "America/Jamaica", "America/Jujuy", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Knox_IN", "America/Kralendijk", "America/La_Paz", "America/Lima", "America/Los_Angeles", "America/Louisville", "America/Lower_Princes", "America/Maceio", "America/Managua", "America/Manaus", "America/Marigot", "America/Martinique", "America/Matamoros", "America/Mazatlan", "America/Mendoza", "America/Menominee", "America/Merida", "America/Metlakatla", "America/Mexico_City", "America/Miquelon", "America/Moncton", "America/Monterrey", "America/Montevideo", "America/Montreal", "America/Montserrat", "America/Nassau", "America/New_York", "America/Nipigon", "America/Nome", "America/Noronha", "America/North_Dakota/Beulah", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/Nuuk", "America/Ojinaga", "America/Panama", "America/Pangnirtung", "America/Paramaribo", "America/Phoenix", "America/Port-au-Prince", "America/Port_of_Spain", "America/Porto_Acre", "America/Porto_Velho", "America/Puerto_Rico", "America/Punta_Arenas", "America/Rainy_River", "America/Rankin_Inlet", "America/Recife", "America/Regina", "America/Resolute", "America/Rio_Branco", "America/Rosario", "America/Santa_Isabel", "America/Santarem", "America/Santiago", "America/Santo_Domingo", "America/Sao_Paulo", "America/Scoresbysund", "America/Shiprock", "America/Sitka", "America/St_Barthelemy", "America/St_Johns", "America/St_Kitts", "America/St_Lucia", "America/St_Thomas", "America/St_Vincent", "America/Swift_Current", "America/Tegucigalpa", "America/Thule", "America/Thunder_Bay", "America/Tijuana", "America/Toronto", "America/Tortola", "America/Vancouver", "America/Virgin", "America/Whitehorse", "America/Winnipeg", "America/Yakutat", "America/Yellowknife", "Antarctica/Casey", "Antarctica/Davis", "Antarctica/DumontDUrville", "Antarctica/Macquarie", "Antarctica/Mawson", "Antarctica/McMurdo", "Antarctica/Palmer", "Antarctica/Rothera", "Antarctica/South_Pole", "Antarctica/Syowa", "Antarctica/Troll", "Antarctica/Vostok", "Arctic/Longyearbyen", "Asia/Aden", "Asia/Almaty", "Asia/Amman", "Asia/Anadyr", "Asia/Aqtau", "Asia/Aqtobe", "Asia/Ashgabat", "Asia/Ashkhabad", "Asia/Atyrau", "Asia/Baghdad", "Asia/Bahrain", "Asia/Baku", "Asia/Bangkok", "Asia/Barnaul", "Asia/Beirut", "Asia/Bishkek", "Asia/Brunei", "Asia/Calcutta", "Asia/Chita", "Asia/Choibalsan", "Asia/Chongqing", "Asia/Chungking", "Asia/Colombo", "Asia/Dacca", "Asia/Damascus", "Asia/Dhaka", "Asia/Dili", "Asia/Dubai", "Asia/Dushanbe", "Asia/Famagusta", "Asia/Gaza", "Asia/Harbin", "Asia/Hebron", "Asia/Ho_Chi_Minh", "Asia/Hong_Kong", "Asia/Hovd", "Asia/Irkutsk", "Asia/Istanbul", "Asia/Jakarta", "Asia/Jayapura", "Asia/Jerusalem", "Asia/Kabul", "Asia/Kamchatka", "Asia/Karachi", "Asia/Kashgar", "Asia/Kathmandu", "Asia/Katmandu", "Asia/Khandyga", "Asia/Kolkata", "Asia/Krasnoyarsk", "Asia/Kuala_Lumpur", "Asia/Kuching", "Asia/Kuwait", "Asia/Macao", "Asia/Macau", "Asia/Magadan", "Asia/Makassar", "Asia/Manila", "Asia/Muscat", "Asia/Nicosia", "Asia/Novokuznetsk", "Asia/Novosibirsk", "Asia/Omsk", "Asia/Oral", "Asia/Phnom_Penh", "Asia/Pontianak", "Asia/Pyongyang", "Asia/Qatar", "Asia/Qostanay", "Asia/Qyzylorda", "Asia/Rangoon", "Asia/Riyadh", "Asia/Saigon", "Asia/Sakhalin", "Asia/Samarkand", "Asia/Seoul", "Asia/Shanghai", "Asia/Singapore", "Asia/Srednekolymsk", "Asia/Taipei", "Asia/Tashkent", "Asia/Tbilisi", "Asia/Tehran", "Asia/Tel_Aviv", "Asia/Thimbu", "Asia/Thimphu", "Asia/Tokyo", "Asia/Tomsk", "Asia/Ujung_Pandang", "Asia/Ulaanbaatar", "Asia/Ulan_Bator", "Asia/Urumqi", "Asia/Ust-Nera", "Asia/Vientiane", "Asia/Vladivostok", "Asia/Yakutsk", "Asia/Yangon", "Asia/Yekaterinburg", "Asia/Yerevan", "Atlantic/Azores", "Atlantic/Bermuda", "Atlantic/Canary", "Atlantic/Cape_Verde", "Atlantic/Faeroe", "Atlantic/Faroe", "Atlantic/Jan_Mayen", "Atlantic/Madeira", "Atlantic/Reykjavik", "Atlantic/South_Georgia", "Atlantic/St_Helena", "Atlantic/Stanley", "Australia/ACT", "Australia/Adelaide", "Australia/Brisbane", "Australia/Broken_Hill", "Australia/Canberra", "Australia/Currie", "Australia/Darwin", "Australia/Eucla", "Australia/Hobart", "Australia/LHI", "Australia/Lindeman", "Australia/Lord_Howe", "Australia/Melbourne", "Australia/NSW", "Australia/North", "Australia/Perth", "Australia/Queensland", "Australia/South", "Australia/Sydney", "Australia/Tasmania", "Australia/Victoria", "Australia/West", "Australia/Yancowinna", "Brazil/Acre", "Brazil/DeNoronha", "Brazil/East", "Brazil/West", "CET", "CST6CDT", "Canada/Atlantic", "Canada/Central", "Canada/Eastern", "Canada/Mountain", "Canada/Newfoundland", "Canada/Pacific", "Canada/Saskatchewan", "Canada/Yukon", "Chile/Continental", "Chile/EasterIsland", "Cuba", "EET", "EST", "EST5EDT", "Egypt", "Eire", "Etc/GMT", "Etc/GMT+0", "Etc/GMT+1", "Etc/GMT+10", "Etc/GMT+11", "Etc/GMT+12", "Etc/GMT+2", "Etc/GMT+3", "Etc/GMT+4", "Etc/GMT+5", "Etc/GMT+6", "Etc/GMT+7", "Etc/GMT+8", "Etc/GMT+9", "Etc/GMT-0", "Etc/GMT-1", "Etc/GMT-10", "Etc/GMT-11", "Etc/GMT-12", "Etc/GMT-13", "Etc/GMT-14", "Etc/GMT-2", "Etc/GMT-3", "Etc/GMT-4", "Etc/GMT-5", "Etc/GMT-6", "Etc/GMT-7", "Etc/GMT-8", "Etc/GMT-9", "Etc/GMT0", "Etc/Greenwich", "Etc/UCT", "Etc/UTC", "Etc/Universal", "Etc/Zulu", "Europe/Amsterdam", "Europe/Andorra", "Europe/Astrakhan", "Europe/Athens", "Europe/Belfast", "Europe/Belgrade", "Europe/Berlin", "Europe/Bratislava", "Europe/Brussels", "Europe/Bucharest", "Europe/Budapest", "Europe/Busingen", "Europe/Chisinau", "Europe/Copenhagen", "Europe/Dublin", "Europe/Gibraltar", "Europe/Guernsey", "Europe/Helsinki", "Europe/Isle_of_Man", "Europe/Istanbul", "Europe/Jersey", "Europe/Kaliningrad", "Europe/Kiev", "Europe/Kirov", "Europe/Kyiv", "Europe/Lisbon", "Europe/Ljubljana", "Europe/London", "Europe/Luxembourg", "Europe/Madrid", "Europe/Malta", "Europe/Mariehamn", "Europe/Minsk", "Europe/Monaco", "Europe/Moscow", "Europe/Nicosia", "Europe/Oslo", "Europe/Paris", "Europe/Podgorica", "Europe/Prague", "Europe/Riga", "Europe/Rome", "Europe/Samara", "Europe/San_Marino", "Europe/Sarajevo", "Europe/Saratov", "Europe/Simferopol", "Europe/Skopje", "Europe/Sofia", "Europe/Stockholm", "Europe/Tallinn", "Europe/Tirane", "Europe/Tiraspol", "Europe/Ulyanovsk", "Europe/Uzhgorod", "Europe/Vaduz", "Europe/Vatican", "Europe/Vienna", "Europe/Vilnius", "Europe/Volgograd", "Europe/Warsaw", "Europe/Zagreb", "Europe/Zaporozhye", "Europe/Zurich", "Factory", "GB", "GB-Eire", "GMT", "GMT+0", "GMT-0", "GMT0", "Greenwich", "HST", "Hongkong", "Iceland", "Indian/Antananarivo", "Indian/Chagos", "Indian/Christmas", "Indian/Cocos", "Indian/Comoro", "Indian/Kerguelen", "Indian/Mahe", "Indian/Maldives", "Indian/Mauritius", "Indian/Mayotte", "Indian/Reunion", "Iran", "Israel", "Jamaica", "Japan", "Kwajalein", "Libya", "MET", "MST", "MST7MDT", "Mexico/BajaNorte", "Mexico/BajaSur", "Mexico/General", "NZ", "NZ-CHAT", "Navajo", "PRC", "PST8PDT", "Pacific/Apia", "Pacific/Auckland", "Pacific/Bougainville", "Pacific/Chatham", "Pacific/Chuuk", "Pacific/Easter", "Pacific/Efate", "Pacific/Enderbury", "Pacific/Fakaofo", "Pacific/Fiji", "Pacific/Funafuti", "Pacific/Galapagos", "Pacific/Gambier", "Pacific/Guadalcanal", "Pacific/Guam", "Pacific/Honolulu", "Pacific/Johnston", "Pacific/Kanton", "Pacific/Kiritimati", "Pacific/Kosrae", "Pacific/Kwajalein", "Pacific/Majuro", "Pacific/Marquesas", "Pacific/Midway", "Pacific/Nauru", "Pacific/Niue", "Pacific/Norfolk", "Pacific/Noumea", "Pacific/Pago_Pago", "Pacific/Palau", "Pacific/Pitcairn", "Pacific/Pohnpei", "Pacific/Ponape", "Pacific/Port_Moresby", "Pacific/Rarotonga", "Pacific/Saipan", "Pacific/Samoa", "Pacific/Tahiti", "Pacific/Tarawa", "Pacific/Tongatapu", "Pacific/Truk", "Pacific/Wake", "Pacific/Wallis", "Pacific/Yap", "Poland", "Portugal", "ROC", "ROK", "Singapore", "Turkey", "UCT", "US/Alaska", "US/Aleutian", "US/Arizona", "US/Central", "US/East-Indiana", "US/Eastern", "US/Hawaii", "US/Indiana-Starke", "US/Michigan", "US/Mountain", "US/Pacific", "US/Pacific-New", "US/Samoa", "UTC", "Universal", "W-SU", "WET", "Zulu", ] ] """ Defaults to `Etc/UTC`. The output timezone for all timestamps in the report. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones). Has no effect on `interval_start` or `interval_end`. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/reporting/_report_run_list_params.py0000644000000000000000000000332415102753431022144 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class ReportRunListParams(RequestOptions): created: NotRequired["ReportRunListParamsCreated|int"] """ Only return Report Runs that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ class ReportRunListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/reporting/_report_run_retrieve_params.py0000644000000000000000000000052715102753431023020 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ReportRunRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/reporting/_report_type_list_params.py0000644000000000000000000000052415102753431022320 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ReportTypeListParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/reporting/_report_type_retrieve_params.py0000644000000000000000000000053015102753431023167 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ReportTypeRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/sigma/__init__.py0000644000000000000000000000217015102753431016034 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.sigma._scheduled_query_run_list_params import ( ScheduledQueryRunListParams as ScheduledQueryRunListParams, ) from stripe.params.sigma._scheduled_query_run_retrieve_params import ( ScheduledQueryRunRetrieveParams as ScheduledQueryRunRetrieveParams, ) # name -> (import_target, is_submodule) _import_map = { "ScheduledQueryRunListParams": ( "stripe.params.sigma._scheduled_query_run_list_params", False, ), "ScheduledQueryRunRetrieveParams": ( "stripe.params.sigma._scheduled_query_run_retrieve_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/sigma/_scheduled_query_run_list_params.py0000644000000000000000000000226715102753431023112 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ScheduledQueryRunListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/sigma/_scheduled_query_run_retrieve_params.py0000644000000000000000000000053715102753431023762 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ScheduledQueryRunRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/tax/__init__.py0000644000000000000000000013176315102753431015543 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.tax._calculation_create_params import ( CalculationCreateParams as CalculationCreateParams, CalculationCreateParamsCustomerDetails as CalculationCreateParamsCustomerDetails, CalculationCreateParamsCustomerDetailsAddress as CalculationCreateParamsCustomerDetailsAddress, CalculationCreateParamsCustomerDetailsTaxId as CalculationCreateParamsCustomerDetailsTaxId, CalculationCreateParamsLineItem as CalculationCreateParamsLineItem, CalculationCreateParamsShipFromDetails as CalculationCreateParamsShipFromDetails, CalculationCreateParamsShipFromDetailsAddress as CalculationCreateParamsShipFromDetailsAddress, CalculationCreateParamsShippingCost as CalculationCreateParamsShippingCost, ) from stripe.params.tax._calculation_line_item_list_params import ( CalculationLineItemListParams as CalculationLineItemListParams, ) from stripe.params.tax._calculation_list_line_items_params import ( CalculationListLineItemsParams as CalculationListLineItemsParams, ) from stripe.params.tax._calculation_retrieve_params import ( CalculationRetrieveParams as CalculationRetrieveParams, ) from stripe.params.tax._registration_create_params import ( RegistrationCreateParams as RegistrationCreateParams, RegistrationCreateParamsCountryOptions as RegistrationCreateParamsCountryOptions, RegistrationCreateParamsCountryOptionsAe as RegistrationCreateParamsCountryOptionsAe, RegistrationCreateParamsCountryOptionsAeStandard as RegistrationCreateParamsCountryOptionsAeStandard, RegistrationCreateParamsCountryOptionsAl as RegistrationCreateParamsCountryOptionsAl, RegistrationCreateParamsCountryOptionsAlStandard as RegistrationCreateParamsCountryOptionsAlStandard, RegistrationCreateParamsCountryOptionsAm as RegistrationCreateParamsCountryOptionsAm, RegistrationCreateParamsCountryOptionsAo as RegistrationCreateParamsCountryOptionsAo, RegistrationCreateParamsCountryOptionsAoStandard as RegistrationCreateParamsCountryOptionsAoStandard, RegistrationCreateParamsCountryOptionsAt as RegistrationCreateParamsCountryOptionsAt, RegistrationCreateParamsCountryOptionsAtStandard as RegistrationCreateParamsCountryOptionsAtStandard, RegistrationCreateParamsCountryOptionsAu as RegistrationCreateParamsCountryOptionsAu, RegistrationCreateParamsCountryOptionsAuStandard as RegistrationCreateParamsCountryOptionsAuStandard, RegistrationCreateParamsCountryOptionsAw as RegistrationCreateParamsCountryOptionsAw, RegistrationCreateParamsCountryOptionsAwStandard as RegistrationCreateParamsCountryOptionsAwStandard, RegistrationCreateParamsCountryOptionsAz as RegistrationCreateParamsCountryOptionsAz, RegistrationCreateParamsCountryOptionsBa as RegistrationCreateParamsCountryOptionsBa, RegistrationCreateParamsCountryOptionsBaStandard as RegistrationCreateParamsCountryOptionsBaStandard, RegistrationCreateParamsCountryOptionsBb as RegistrationCreateParamsCountryOptionsBb, RegistrationCreateParamsCountryOptionsBbStandard as RegistrationCreateParamsCountryOptionsBbStandard, RegistrationCreateParamsCountryOptionsBd as RegistrationCreateParamsCountryOptionsBd, RegistrationCreateParamsCountryOptionsBdStandard as RegistrationCreateParamsCountryOptionsBdStandard, RegistrationCreateParamsCountryOptionsBe as RegistrationCreateParamsCountryOptionsBe, RegistrationCreateParamsCountryOptionsBeStandard as RegistrationCreateParamsCountryOptionsBeStandard, RegistrationCreateParamsCountryOptionsBf as RegistrationCreateParamsCountryOptionsBf, RegistrationCreateParamsCountryOptionsBfStandard as RegistrationCreateParamsCountryOptionsBfStandard, RegistrationCreateParamsCountryOptionsBg as RegistrationCreateParamsCountryOptionsBg, RegistrationCreateParamsCountryOptionsBgStandard as RegistrationCreateParamsCountryOptionsBgStandard, RegistrationCreateParamsCountryOptionsBh as RegistrationCreateParamsCountryOptionsBh, RegistrationCreateParamsCountryOptionsBhStandard as RegistrationCreateParamsCountryOptionsBhStandard, RegistrationCreateParamsCountryOptionsBj as RegistrationCreateParamsCountryOptionsBj, RegistrationCreateParamsCountryOptionsBs as RegistrationCreateParamsCountryOptionsBs, RegistrationCreateParamsCountryOptionsBsStandard as RegistrationCreateParamsCountryOptionsBsStandard, RegistrationCreateParamsCountryOptionsBy as RegistrationCreateParamsCountryOptionsBy, RegistrationCreateParamsCountryOptionsCa as RegistrationCreateParamsCountryOptionsCa, RegistrationCreateParamsCountryOptionsCaProvinceStandard as RegistrationCreateParamsCountryOptionsCaProvinceStandard, RegistrationCreateParamsCountryOptionsCd as RegistrationCreateParamsCountryOptionsCd, RegistrationCreateParamsCountryOptionsCdStandard as RegistrationCreateParamsCountryOptionsCdStandard, RegistrationCreateParamsCountryOptionsCh as RegistrationCreateParamsCountryOptionsCh, RegistrationCreateParamsCountryOptionsChStandard as RegistrationCreateParamsCountryOptionsChStandard, RegistrationCreateParamsCountryOptionsCl as RegistrationCreateParamsCountryOptionsCl, RegistrationCreateParamsCountryOptionsCm as RegistrationCreateParamsCountryOptionsCm, RegistrationCreateParamsCountryOptionsCo as RegistrationCreateParamsCountryOptionsCo, RegistrationCreateParamsCountryOptionsCr as RegistrationCreateParamsCountryOptionsCr, RegistrationCreateParamsCountryOptionsCv as RegistrationCreateParamsCountryOptionsCv, RegistrationCreateParamsCountryOptionsCy as RegistrationCreateParamsCountryOptionsCy, RegistrationCreateParamsCountryOptionsCyStandard as RegistrationCreateParamsCountryOptionsCyStandard, RegistrationCreateParamsCountryOptionsCz as RegistrationCreateParamsCountryOptionsCz, RegistrationCreateParamsCountryOptionsCzStandard as RegistrationCreateParamsCountryOptionsCzStandard, RegistrationCreateParamsCountryOptionsDe as RegistrationCreateParamsCountryOptionsDe, RegistrationCreateParamsCountryOptionsDeStandard as RegistrationCreateParamsCountryOptionsDeStandard, RegistrationCreateParamsCountryOptionsDk as RegistrationCreateParamsCountryOptionsDk, RegistrationCreateParamsCountryOptionsDkStandard as RegistrationCreateParamsCountryOptionsDkStandard, RegistrationCreateParamsCountryOptionsEc as RegistrationCreateParamsCountryOptionsEc, RegistrationCreateParamsCountryOptionsEe as RegistrationCreateParamsCountryOptionsEe, RegistrationCreateParamsCountryOptionsEeStandard as RegistrationCreateParamsCountryOptionsEeStandard, RegistrationCreateParamsCountryOptionsEg as RegistrationCreateParamsCountryOptionsEg, RegistrationCreateParamsCountryOptionsEs as RegistrationCreateParamsCountryOptionsEs, RegistrationCreateParamsCountryOptionsEsStandard as RegistrationCreateParamsCountryOptionsEsStandard, RegistrationCreateParamsCountryOptionsEt as RegistrationCreateParamsCountryOptionsEt, RegistrationCreateParamsCountryOptionsEtStandard as RegistrationCreateParamsCountryOptionsEtStandard, RegistrationCreateParamsCountryOptionsFi as RegistrationCreateParamsCountryOptionsFi, RegistrationCreateParamsCountryOptionsFiStandard as RegistrationCreateParamsCountryOptionsFiStandard, RegistrationCreateParamsCountryOptionsFr as RegistrationCreateParamsCountryOptionsFr, RegistrationCreateParamsCountryOptionsFrStandard as RegistrationCreateParamsCountryOptionsFrStandard, RegistrationCreateParamsCountryOptionsGb as RegistrationCreateParamsCountryOptionsGb, RegistrationCreateParamsCountryOptionsGbStandard as RegistrationCreateParamsCountryOptionsGbStandard, RegistrationCreateParamsCountryOptionsGe as RegistrationCreateParamsCountryOptionsGe, RegistrationCreateParamsCountryOptionsGn as RegistrationCreateParamsCountryOptionsGn, RegistrationCreateParamsCountryOptionsGnStandard as RegistrationCreateParamsCountryOptionsGnStandard, RegistrationCreateParamsCountryOptionsGr as RegistrationCreateParamsCountryOptionsGr, RegistrationCreateParamsCountryOptionsGrStandard as RegistrationCreateParamsCountryOptionsGrStandard, RegistrationCreateParamsCountryOptionsHr as RegistrationCreateParamsCountryOptionsHr, RegistrationCreateParamsCountryOptionsHrStandard as RegistrationCreateParamsCountryOptionsHrStandard, RegistrationCreateParamsCountryOptionsHu as RegistrationCreateParamsCountryOptionsHu, RegistrationCreateParamsCountryOptionsHuStandard as RegistrationCreateParamsCountryOptionsHuStandard, RegistrationCreateParamsCountryOptionsId as RegistrationCreateParamsCountryOptionsId, RegistrationCreateParamsCountryOptionsIe as RegistrationCreateParamsCountryOptionsIe, RegistrationCreateParamsCountryOptionsIeStandard as RegistrationCreateParamsCountryOptionsIeStandard, RegistrationCreateParamsCountryOptionsIn as RegistrationCreateParamsCountryOptionsIn, RegistrationCreateParamsCountryOptionsIs as RegistrationCreateParamsCountryOptionsIs, RegistrationCreateParamsCountryOptionsIsStandard as RegistrationCreateParamsCountryOptionsIsStandard, RegistrationCreateParamsCountryOptionsIt as RegistrationCreateParamsCountryOptionsIt, RegistrationCreateParamsCountryOptionsItStandard as RegistrationCreateParamsCountryOptionsItStandard, RegistrationCreateParamsCountryOptionsJp as RegistrationCreateParamsCountryOptionsJp, RegistrationCreateParamsCountryOptionsJpStandard as RegistrationCreateParamsCountryOptionsJpStandard, RegistrationCreateParamsCountryOptionsKe as RegistrationCreateParamsCountryOptionsKe, RegistrationCreateParamsCountryOptionsKg as RegistrationCreateParamsCountryOptionsKg, RegistrationCreateParamsCountryOptionsKh as RegistrationCreateParamsCountryOptionsKh, RegistrationCreateParamsCountryOptionsKr as RegistrationCreateParamsCountryOptionsKr, RegistrationCreateParamsCountryOptionsKz as RegistrationCreateParamsCountryOptionsKz, RegistrationCreateParamsCountryOptionsLa as RegistrationCreateParamsCountryOptionsLa, RegistrationCreateParamsCountryOptionsLt as RegistrationCreateParamsCountryOptionsLt, RegistrationCreateParamsCountryOptionsLtStandard as RegistrationCreateParamsCountryOptionsLtStandard, RegistrationCreateParamsCountryOptionsLu as RegistrationCreateParamsCountryOptionsLu, RegistrationCreateParamsCountryOptionsLuStandard as RegistrationCreateParamsCountryOptionsLuStandard, RegistrationCreateParamsCountryOptionsLv as RegistrationCreateParamsCountryOptionsLv, RegistrationCreateParamsCountryOptionsLvStandard as RegistrationCreateParamsCountryOptionsLvStandard, RegistrationCreateParamsCountryOptionsMa as RegistrationCreateParamsCountryOptionsMa, RegistrationCreateParamsCountryOptionsMd as RegistrationCreateParamsCountryOptionsMd, RegistrationCreateParamsCountryOptionsMe as RegistrationCreateParamsCountryOptionsMe, RegistrationCreateParamsCountryOptionsMeStandard as RegistrationCreateParamsCountryOptionsMeStandard, RegistrationCreateParamsCountryOptionsMk as RegistrationCreateParamsCountryOptionsMk, RegistrationCreateParamsCountryOptionsMkStandard as RegistrationCreateParamsCountryOptionsMkStandard, RegistrationCreateParamsCountryOptionsMr as RegistrationCreateParamsCountryOptionsMr, RegistrationCreateParamsCountryOptionsMrStandard as RegistrationCreateParamsCountryOptionsMrStandard, RegistrationCreateParamsCountryOptionsMt as RegistrationCreateParamsCountryOptionsMt, RegistrationCreateParamsCountryOptionsMtStandard as RegistrationCreateParamsCountryOptionsMtStandard, RegistrationCreateParamsCountryOptionsMx as RegistrationCreateParamsCountryOptionsMx, RegistrationCreateParamsCountryOptionsMy as RegistrationCreateParamsCountryOptionsMy, RegistrationCreateParamsCountryOptionsNg as RegistrationCreateParamsCountryOptionsNg, RegistrationCreateParamsCountryOptionsNl as RegistrationCreateParamsCountryOptionsNl, RegistrationCreateParamsCountryOptionsNlStandard as RegistrationCreateParamsCountryOptionsNlStandard, RegistrationCreateParamsCountryOptionsNo as RegistrationCreateParamsCountryOptionsNo, RegistrationCreateParamsCountryOptionsNoStandard as RegistrationCreateParamsCountryOptionsNoStandard, RegistrationCreateParamsCountryOptionsNp as RegistrationCreateParamsCountryOptionsNp, RegistrationCreateParamsCountryOptionsNz as RegistrationCreateParamsCountryOptionsNz, RegistrationCreateParamsCountryOptionsNzStandard as RegistrationCreateParamsCountryOptionsNzStandard, RegistrationCreateParamsCountryOptionsOm as RegistrationCreateParamsCountryOptionsOm, RegistrationCreateParamsCountryOptionsOmStandard as RegistrationCreateParamsCountryOptionsOmStandard, RegistrationCreateParamsCountryOptionsPe as RegistrationCreateParamsCountryOptionsPe, RegistrationCreateParamsCountryOptionsPh as RegistrationCreateParamsCountryOptionsPh, RegistrationCreateParamsCountryOptionsPl as RegistrationCreateParamsCountryOptionsPl, RegistrationCreateParamsCountryOptionsPlStandard as RegistrationCreateParamsCountryOptionsPlStandard, RegistrationCreateParamsCountryOptionsPt as RegistrationCreateParamsCountryOptionsPt, RegistrationCreateParamsCountryOptionsPtStandard as RegistrationCreateParamsCountryOptionsPtStandard, RegistrationCreateParamsCountryOptionsRo as RegistrationCreateParamsCountryOptionsRo, RegistrationCreateParamsCountryOptionsRoStandard as RegistrationCreateParamsCountryOptionsRoStandard, RegistrationCreateParamsCountryOptionsRs as RegistrationCreateParamsCountryOptionsRs, RegistrationCreateParamsCountryOptionsRsStandard as RegistrationCreateParamsCountryOptionsRsStandard, RegistrationCreateParamsCountryOptionsRu as RegistrationCreateParamsCountryOptionsRu, RegistrationCreateParamsCountryOptionsSa as RegistrationCreateParamsCountryOptionsSa, RegistrationCreateParamsCountryOptionsSe as RegistrationCreateParamsCountryOptionsSe, RegistrationCreateParamsCountryOptionsSeStandard as RegistrationCreateParamsCountryOptionsSeStandard, RegistrationCreateParamsCountryOptionsSg as RegistrationCreateParamsCountryOptionsSg, RegistrationCreateParamsCountryOptionsSgStandard as RegistrationCreateParamsCountryOptionsSgStandard, RegistrationCreateParamsCountryOptionsSi as RegistrationCreateParamsCountryOptionsSi, RegistrationCreateParamsCountryOptionsSiStandard as RegistrationCreateParamsCountryOptionsSiStandard, RegistrationCreateParamsCountryOptionsSk as RegistrationCreateParamsCountryOptionsSk, RegistrationCreateParamsCountryOptionsSkStandard as RegistrationCreateParamsCountryOptionsSkStandard, RegistrationCreateParamsCountryOptionsSn as RegistrationCreateParamsCountryOptionsSn, RegistrationCreateParamsCountryOptionsSr as RegistrationCreateParamsCountryOptionsSr, RegistrationCreateParamsCountryOptionsSrStandard as RegistrationCreateParamsCountryOptionsSrStandard, RegistrationCreateParamsCountryOptionsTh as RegistrationCreateParamsCountryOptionsTh, RegistrationCreateParamsCountryOptionsTj as RegistrationCreateParamsCountryOptionsTj, RegistrationCreateParamsCountryOptionsTr as RegistrationCreateParamsCountryOptionsTr, RegistrationCreateParamsCountryOptionsTw as RegistrationCreateParamsCountryOptionsTw, RegistrationCreateParamsCountryOptionsTz as RegistrationCreateParamsCountryOptionsTz, RegistrationCreateParamsCountryOptionsUa as RegistrationCreateParamsCountryOptionsUa, RegistrationCreateParamsCountryOptionsUg as RegistrationCreateParamsCountryOptionsUg, RegistrationCreateParamsCountryOptionsUs as RegistrationCreateParamsCountryOptionsUs, RegistrationCreateParamsCountryOptionsUsLocalAmusementTax as RegistrationCreateParamsCountryOptionsUsLocalAmusementTax, RegistrationCreateParamsCountryOptionsUsLocalLeaseTax as RegistrationCreateParamsCountryOptionsUsLocalLeaseTax, RegistrationCreateParamsCountryOptionsUsStateSalesTax as RegistrationCreateParamsCountryOptionsUsStateSalesTax, RegistrationCreateParamsCountryOptionsUsStateSalesTaxElection as RegistrationCreateParamsCountryOptionsUsStateSalesTaxElection, RegistrationCreateParamsCountryOptionsUy as RegistrationCreateParamsCountryOptionsUy, RegistrationCreateParamsCountryOptionsUyStandard as RegistrationCreateParamsCountryOptionsUyStandard, RegistrationCreateParamsCountryOptionsUz as RegistrationCreateParamsCountryOptionsUz, RegistrationCreateParamsCountryOptionsVn as RegistrationCreateParamsCountryOptionsVn, RegistrationCreateParamsCountryOptionsZa as RegistrationCreateParamsCountryOptionsZa, RegistrationCreateParamsCountryOptionsZaStandard as RegistrationCreateParamsCountryOptionsZaStandard, RegistrationCreateParamsCountryOptionsZm as RegistrationCreateParamsCountryOptionsZm, RegistrationCreateParamsCountryOptionsZw as RegistrationCreateParamsCountryOptionsZw, RegistrationCreateParamsCountryOptionsZwStandard as RegistrationCreateParamsCountryOptionsZwStandard, ) from stripe.params.tax._registration_list_params import ( RegistrationListParams as RegistrationListParams, ) from stripe.params.tax._registration_modify_params import ( RegistrationModifyParams as RegistrationModifyParams, ) from stripe.params.tax._registration_retrieve_params import ( RegistrationRetrieveParams as RegistrationRetrieveParams, ) from stripe.params.tax._registration_update_params import ( RegistrationUpdateParams as RegistrationUpdateParams, ) from stripe.params.tax._settings_modify_params import ( SettingsModifyParams as SettingsModifyParams, SettingsModifyParamsDefaults as SettingsModifyParamsDefaults, SettingsModifyParamsHeadOffice as SettingsModifyParamsHeadOffice, SettingsModifyParamsHeadOfficeAddress as SettingsModifyParamsHeadOfficeAddress, ) from stripe.params.tax._settings_retrieve_params import ( SettingsRetrieveParams as SettingsRetrieveParams, ) from stripe.params.tax._settings_update_params import ( SettingsUpdateParams as SettingsUpdateParams, SettingsUpdateParamsDefaults as SettingsUpdateParamsDefaults, SettingsUpdateParamsHeadOffice as SettingsUpdateParamsHeadOffice, SettingsUpdateParamsHeadOfficeAddress as SettingsUpdateParamsHeadOfficeAddress, ) from stripe.params.tax._transaction_create_from_calculation_params import ( TransactionCreateFromCalculationParams as TransactionCreateFromCalculationParams, ) from stripe.params.tax._transaction_create_reversal_params import ( TransactionCreateReversalParams as TransactionCreateReversalParams, TransactionCreateReversalParamsLineItem as TransactionCreateReversalParamsLineItem, TransactionCreateReversalParamsShippingCost as TransactionCreateReversalParamsShippingCost, ) from stripe.params.tax._transaction_line_item_list_params import ( TransactionLineItemListParams as TransactionLineItemListParams, ) from stripe.params.tax._transaction_list_line_items_params import ( TransactionListLineItemsParams as TransactionListLineItemsParams, ) from stripe.params.tax._transaction_retrieve_params import ( TransactionRetrieveParams as TransactionRetrieveParams, ) # name -> (import_target, is_submodule) _import_map = { "CalculationCreateParams": ( "stripe.params.tax._calculation_create_params", False, ), "CalculationCreateParamsCustomerDetails": ( "stripe.params.tax._calculation_create_params", False, ), "CalculationCreateParamsCustomerDetailsAddress": ( "stripe.params.tax._calculation_create_params", False, ), "CalculationCreateParamsCustomerDetailsTaxId": ( "stripe.params.tax._calculation_create_params", False, ), "CalculationCreateParamsLineItem": ( "stripe.params.tax._calculation_create_params", False, ), "CalculationCreateParamsShipFromDetails": ( "stripe.params.tax._calculation_create_params", False, ), "CalculationCreateParamsShipFromDetailsAddress": ( "stripe.params.tax._calculation_create_params", False, ), "CalculationCreateParamsShippingCost": ( "stripe.params.tax._calculation_create_params", False, ), "CalculationLineItemListParams": ( "stripe.params.tax._calculation_line_item_list_params", False, ), "CalculationListLineItemsParams": ( "stripe.params.tax._calculation_list_line_items_params", False, ), "CalculationRetrieveParams": ( "stripe.params.tax._calculation_retrieve_params", False, ), "RegistrationCreateParams": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptions": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsAe": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsAeStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsAl": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsAlStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsAm": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsAo": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsAoStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsAt": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsAtStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsAu": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsAuStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsAw": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsAwStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsAz": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBa": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBaStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBb": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBbStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBd": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBdStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBe": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBeStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBf": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBfStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBg": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBgStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBh": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBhStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBj": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBs": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBsStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsBy": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsCa": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsCaProvinceStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsCd": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsCdStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsCh": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsChStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsCl": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsCm": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsCo": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsCr": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsCv": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsCy": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsCyStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsCz": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsCzStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsDe": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsDeStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsDk": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsDkStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsEc": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsEe": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsEeStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsEg": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsEs": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsEsStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsEt": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsEtStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsFi": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsFiStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsFr": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsFrStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsGb": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsGbStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsGe": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsGn": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsGnStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsGr": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsGrStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsHr": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsHrStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsHu": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsHuStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsId": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsIe": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsIeStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsIn": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsIs": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsIsStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsIt": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsItStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsJp": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsJpStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsKe": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsKg": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsKh": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsKr": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsKz": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsLa": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsLt": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsLtStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsLu": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsLuStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsLv": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsLvStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsMa": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsMd": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsMe": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsMeStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsMk": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsMkStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsMr": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsMrStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsMt": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsMtStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsMx": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsMy": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsNg": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsNl": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsNlStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsNo": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsNoStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsNp": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsNz": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsNzStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsOm": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsOmStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsPe": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsPh": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsPl": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsPlStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsPt": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsPtStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsRo": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsRoStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsRs": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsRsStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsRu": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsSa": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsSe": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsSeStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsSg": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsSgStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsSi": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsSiStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsSk": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsSkStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsSn": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsSr": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsSrStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsTh": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsTj": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsTr": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsTw": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsTz": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsUa": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsUg": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsUs": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsUsLocalAmusementTax": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsUsLocalLeaseTax": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsUsStateSalesTax": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsUsStateSalesTaxElection": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsUy": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsUyStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsUz": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsVn": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsZa": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsZaStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsZm": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsZw": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationCreateParamsCountryOptionsZwStandard": ( "stripe.params.tax._registration_create_params", False, ), "RegistrationListParams": ( "stripe.params.tax._registration_list_params", False, ), "RegistrationModifyParams": ( "stripe.params.tax._registration_modify_params", False, ), "RegistrationRetrieveParams": ( "stripe.params.tax._registration_retrieve_params", False, ), "RegistrationUpdateParams": ( "stripe.params.tax._registration_update_params", False, ), "SettingsModifyParams": ( "stripe.params.tax._settings_modify_params", False, ), "SettingsModifyParamsDefaults": ( "stripe.params.tax._settings_modify_params", False, ), "SettingsModifyParamsHeadOffice": ( "stripe.params.tax._settings_modify_params", False, ), "SettingsModifyParamsHeadOfficeAddress": ( "stripe.params.tax._settings_modify_params", False, ), "SettingsRetrieveParams": ( "stripe.params.tax._settings_retrieve_params", False, ), "SettingsUpdateParams": ( "stripe.params.tax._settings_update_params", False, ), "SettingsUpdateParamsDefaults": ( "stripe.params.tax._settings_update_params", False, ), "SettingsUpdateParamsHeadOffice": ( "stripe.params.tax._settings_update_params", False, ), "SettingsUpdateParamsHeadOfficeAddress": ( "stripe.params.tax._settings_update_params", False, ), "TransactionCreateFromCalculationParams": ( "stripe.params.tax._transaction_create_from_calculation_params", False, ), "TransactionCreateReversalParams": ( "stripe.params.tax._transaction_create_reversal_params", False, ), "TransactionCreateReversalParamsLineItem": ( "stripe.params.tax._transaction_create_reversal_params", False, ), "TransactionCreateReversalParamsShippingCost": ( "stripe.params.tax._transaction_create_reversal_params", False, ), "TransactionLineItemListParams": ( "stripe.params.tax._transaction_line_item_list_params", False, ), "TransactionListLineItemsParams": ( "stripe.params.tax._transaction_list_line_items_params", False, ), "TransactionRetrieveParams": ( "stripe.params.tax._transaction_retrieve_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/tax/_calculation_create_params.py0000644000000000000000000002511515102753431021320 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class CalculationCreateParams(RequestOptions): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: NotRequired[str] """ The ID of an existing customer to use for this calculation. If provided, the customer's address and tax IDs are copied to `customer_details`. """ customer_details: NotRequired["CalculationCreateParamsCustomerDetails"] """ Details about the customer, including address and tax IDs. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ line_items: List["CalculationCreateParamsLineItem"] """ A list of items the customer is purchasing. """ ship_from_details: NotRequired["CalculationCreateParamsShipFromDetails"] """ Details about the address from which the goods are being shipped. """ shipping_cost: NotRequired["CalculationCreateParamsShippingCost"] """ Shipping cost details to be used for the calculation. """ tax_date: NotRequired[int] """ Timestamp of date at which the tax rules and rates in effect applies for the calculation. Measured in seconds since the Unix epoch. Can be up to 48 hours in the past, and up to 48 hours in the future. """ class CalculationCreateParamsCustomerDetails(TypedDict): address: NotRequired["CalculationCreateParamsCustomerDetailsAddress"] """ The customer's postal address (for example, home or business location). """ address_source: NotRequired[Literal["billing", "shipping"]] """ The type of customer address provided. """ ip_address: NotRequired[str] """ The customer's IP address (IPv4 or IPv6). """ tax_ids: NotRequired[List["CalculationCreateParamsCustomerDetailsTaxId"]] """ The customer's tax IDs. Stripe Tax might consider a transaction with applicable tax IDs to be B2B, which might affect the tax calculation result. Stripe Tax doesn't validate tax IDs for correctness. """ taxability_override: NotRequired[ Literal["customer_exempt", "none", "reverse_charge"] ] """ Overrides the tax calculation result to allow you to not collect tax from your customer. Use this if you've manually checked your customer's tax exemptions. Prefer providing the customer's `tax_ids` where possible, which automatically determines whether `reverse_charge` applies. """ class CalculationCreateParamsCustomerDetailsAddress(TypedDict): city: NotRequired["Literal['']|str"] """ City, district, suburb, town, or village. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired["Literal['']|str"] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired["Literal['']|str"] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired["Literal['']|str"] """ ZIP or postal code. """ state: NotRequired["Literal['']|str"] """ State, county, province, or region. We recommend sending [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) subdivision code value when possible. """ class CalculationCreateParamsCustomerDetailsTaxId(TypedDict): type: Literal[ "ad_nrt", "ae_trn", "al_tin", "am_tin", "ao_tin", "ar_cuit", "au_abn", "au_arn", "aw_tin", "az_tin", "ba_tin", "bb_tin", "bd_bin", "bf_ifu", "bg_uic", "bh_vat", "bj_ifu", "bo_tin", "br_cnpj", "br_cpf", "bs_tin", "by_tin", "ca_bn", "ca_gst_hst", "ca_pst_bc", "ca_pst_mb", "ca_pst_sk", "ca_qst", "cd_nif", "ch_uid", "ch_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", "de_stn", "do_rcn", "ec_ruc", "eg_tin", "es_cif", "et_tin", "eu_oss_vat", "eu_vat", "gb_vat", "ge_vat", "gn_nif", "hk_br", "hr_oib", "hu_tin", "id_npwp", "il_vat", "in_gst", "is_vat", "jp_cn", "jp_rn", "jp_trn", "ke_pin", "kg_tin", "kh_tin", "kr_brn", "kz_bin", "la_tin", "li_uid", "li_vat", "ma_vat", "md_vat", "me_pib", "mk_vat", "mr_nif", "mx_rfc", "my_frp", "my_itn", "my_sst", "ng_tin", "no_vat", "no_voec", "np_pan", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "ro_tin", "rs_pib", "ru_inn", "ru_kpp", "sa_vat", "sg_gst", "sg_uen", "si_tin", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", "tw_vat", "tz_vat", "ua_vat", "ug_tin", "us_ein", "uy_ruc", "uz_tin", "uz_vat", "ve_rif", "vn_tin", "za_vat", "zm_tin", "zw_tin", ] """ Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_arn`, `aw_tin`, `az_tin`, `ba_tin`, `bb_tin`, `bd_bin`, `bf_ifu`, `bg_uic`, `bh_vat`, `bj_ifu`, `bo_tin`, `br_cnpj`, `br_cpf`, `bs_tin`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `cl_tin`, `cm_niu`, `cn_tin`, `co_nit`, `cr_tin`, `cv_nif`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `et_tin`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kg_tin`, `kh_tin`, `kr_brn`, `kz_bin`, `la_tin`, `li_uid`, `li_vat`, `ma_vat`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tw_vat`, `tz_vat`, `ua_vat`, `ug_tin`, `us_ein`, `uy_ruc`, `uz_tin`, `uz_vat`, `ve_rif`, `vn_tin`, `za_vat`, `zm_tin`, or `zw_tin` """ value: str """ Value of the tax ID. """ class CalculationCreateParamsLineItem(TypedDict): amount: int """ A positive integer representing the line item's total price in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes are calculated on top of this amount. """ metadata: NotRequired[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. """ product: NotRequired[str] """ If provided, the product's `tax_code` will be used as the line item's `tax_code`. """ quantity: NotRequired[int] """ The number of units of the item being purchased. Used to calculate the per-unit price from the total `amount` for the line. For example, if `amount=100` and `quantity=4`, the calculated unit price is 25. """ reference: NotRequired[str] """ A custom identifier for this line item, which must be unique across the line items in the calculation. The reference helps identify each line item in exported [tax reports](https://stripe.com/docs/tax/reports). """ tax_behavior: NotRequired[Literal["exclusive", "inclusive"]] """ Specifies whether the `amount` includes taxes. Defaults to `exclusive`. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID to use for this line item. If not provided, we will use the tax code from the provided `product` param. If neither `tax_code` nor `product` is provided, we will use the default tax code from your Tax Settings. """ class CalculationCreateParamsShipFromDetails(TypedDict): address: "CalculationCreateParamsShipFromDetailsAddress" """ The address from which the goods are being shipped from. """ class CalculationCreateParamsShipFromDetailsAddress(TypedDict): city: NotRequired["Literal['']|str"] """ City, district, suburb, town, or village. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired["Literal['']|str"] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired["Literal['']|str"] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired["Literal['']|str"] """ ZIP or postal code. """ state: NotRequired["Literal['']|str"] """ State/province as an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) subdivision code, without country prefix, such as "NY" or "TX". """ class CalculationCreateParamsShippingCost(TypedDict): amount: NotRequired[int] """ A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) representing the shipping charge. If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes are calculated on top of this amount. """ shipping_rate: NotRequired[str] """ If provided, the [shipping rate](https://stripe.com/docs/api/shipping_rates/object)'s `amount`, `tax_code` and `tax_behavior` are used. If you provide a shipping rate, then you cannot pass the `amount`, `tax_code`, or `tax_behavior` parameters. """ tax_behavior: NotRequired[Literal["exclusive", "inclusive"]] """ Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. Defaults to `exclusive`. """ tax_code: NotRequired[str] """ The [tax code](https://stripe.com/docs/tax/tax-categories) used to calculate tax on shipping. If not provided, the default shipping tax code from your [Tax Settings](https://dashboard.stripe.com/settings/tax) is used. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/tax/_calculation_line_item_list_params.py0000644000000000000000000000221415102753431023050 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CalculationLineItemListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/tax/_calculation_list_line_items_params.py0000644000000000000000000000227215102753431023237 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CalculationListLineItemsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/tax/_calculation_retrieve_params.py0000644000000000000000000000053115102753431021675 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CalculationRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/tax/_registration_create_params.py0000644000000000000000000015174015102753431021540 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List, Union from typing_extensions import Literal, NotRequired, TypedDict class RegistrationCreateParams(RequestOptions): active_from: Union[Literal["now"], int] """ Time at which the Tax Registration becomes active. It can be either `now` to indicate the current time, or a future timestamp measured in seconds since the Unix epoch. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ country_options: "RegistrationCreateParamsCountryOptions" """ Specific options for a registration in the specified `country`. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired[int] """ If set, the Tax Registration stops being active at this time. If not set, the Tax Registration will be active indefinitely. Timestamp measured in seconds since the Unix epoch. """ _RegistrationCreateParamsCountryOptionsBase = TypedDict( "RegistrationCreateParamsCountryOptions", { "in": NotRequired["RegistrationCreateParamsCountryOptionsIn"], "is": NotRequired["RegistrationCreateParamsCountryOptionsIs"], }, ) class RegistrationCreateParamsCountryOptions( _RegistrationCreateParamsCountryOptionsBase, ): ae: NotRequired["RegistrationCreateParamsCountryOptionsAe"] """ Options for the registration in AE. """ al: NotRequired["RegistrationCreateParamsCountryOptionsAl"] """ Options for the registration in AL. """ am: NotRequired["RegistrationCreateParamsCountryOptionsAm"] """ Options for the registration in AM. """ ao: NotRequired["RegistrationCreateParamsCountryOptionsAo"] """ Options for the registration in AO. """ at: NotRequired["RegistrationCreateParamsCountryOptionsAt"] """ Options for the registration in AT. """ au: NotRequired["RegistrationCreateParamsCountryOptionsAu"] """ Options for the registration in AU. """ aw: NotRequired["RegistrationCreateParamsCountryOptionsAw"] """ Options for the registration in AW. """ az: NotRequired["RegistrationCreateParamsCountryOptionsAz"] """ Options for the registration in AZ. """ ba: NotRequired["RegistrationCreateParamsCountryOptionsBa"] """ Options for the registration in BA. """ bb: NotRequired["RegistrationCreateParamsCountryOptionsBb"] """ Options for the registration in BB. """ bd: NotRequired["RegistrationCreateParamsCountryOptionsBd"] """ Options for the registration in BD. """ be: NotRequired["RegistrationCreateParamsCountryOptionsBe"] """ Options for the registration in BE. """ bf: NotRequired["RegistrationCreateParamsCountryOptionsBf"] """ Options for the registration in BF. """ bg: NotRequired["RegistrationCreateParamsCountryOptionsBg"] """ Options for the registration in BG. """ bh: NotRequired["RegistrationCreateParamsCountryOptionsBh"] """ Options for the registration in BH. """ bj: NotRequired["RegistrationCreateParamsCountryOptionsBj"] """ Options for the registration in BJ. """ bs: NotRequired["RegistrationCreateParamsCountryOptionsBs"] """ Options for the registration in BS. """ by: NotRequired["RegistrationCreateParamsCountryOptionsBy"] """ Options for the registration in BY. """ ca: NotRequired["RegistrationCreateParamsCountryOptionsCa"] """ Options for the registration in CA. """ cd: NotRequired["RegistrationCreateParamsCountryOptionsCd"] """ Options for the registration in CD. """ ch: NotRequired["RegistrationCreateParamsCountryOptionsCh"] """ Options for the registration in CH. """ cl: NotRequired["RegistrationCreateParamsCountryOptionsCl"] """ Options for the registration in CL. """ cm: NotRequired["RegistrationCreateParamsCountryOptionsCm"] """ Options for the registration in CM. """ co: NotRequired["RegistrationCreateParamsCountryOptionsCo"] """ Options for the registration in CO. """ cr: NotRequired["RegistrationCreateParamsCountryOptionsCr"] """ Options for the registration in CR. """ cv: NotRequired["RegistrationCreateParamsCountryOptionsCv"] """ Options for the registration in CV. """ cy: NotRequired["RegistrationCreateParamsCountryOptionsCy"] """ Options for the registration in CY. """ cz: NotRequired["RegistrationCreateParamsCountryOptionsCz"] """ Options for the registration in CZ. """ de: NotRequired["RegistrationCreateParamsCountryOptionsDe"] """ Options for the registration in DE. """ dk: NotRequired["RegistrationCreateParamsCountryOptionsDk"] """ Options for the registration in DK. """ ec: NotRequired["RegistrationCreateParamsCountryOptionsEc"] """ Options for the registration in EC. """ ee: NotRequired["RegistrationCreateParamsCountryOptionsEe"] """ Options for the registration in EE. """ eg: NotRequired["RegistrationCreateParamsCountryOptionsEg"] """ Options for the registration in EG. """ es: NotRequired["RegistrationCreateParamsCountryOptionsEs"] """ Options for the registration in ES. """ et: NotRequired["RegistrationCreateParamsCountryOptionsEt"] """ Options for the registration in ET. """ fi: NotRequired["RegistrationCreateParamsCountryOptionsFi"] """ Options for the registration in FI. """ fr: NotRequired["RegistrationCreateParamsCountryOptionsFr"] """ Options for the registration in FR. """ gb: NotRequired["RegistrationCreateParamsCountryOptionsGb"] """ Options for the registration in GB. """ ge: NotRequired["RegistrationCreateParamsCountryOptionsGe"] """ Options for the registration in GE. """ gn: NotRequired["RegistrationCreateParamsCountryOptionsGn"] """ Options for the registration in GN. """ gr: NotRequired["RegistrationCreateParamsCountryOptionsGr"] """ Options for the registration in GR. """ hr: NotRequired["RegistrationCreateParamsCountryOptionsHr"] """ Options for the registration in HR. """ hu: NotRequired["RegistrationCreateParamsCountryOptionsHu"] """ Options for the registration in HU. """ id: NotRequired["RegistrationCreateParamsCountryOptionsId"] """ Options for the registration in ID. """ ie: NotRequired["RegistrationCreateParamsCountryOptionsIe"] """ Options for the registration in IE. """ it: NotRequired["RegistrationCreateParamsCountryOptionsIt"] """ Options for the registration in IT. """ jp: NotRequired["RegistrationCreateParamsCountryOptionsJp"] """ Options for the registration in JP. """ ke: NotRequired["RegistrationCreateParamsCountryOptionsKe"] """ Options for the registration in KE. """ kg: NotRequired["RegistrationCreateParamsCountryOptionsKg"] """ Options for the registration in KG. """ kh: NotRequired["RegistrationCreateParamsCountryOptionsKh"] """ Options for the registration in KH. """ kr: NotRequired["RegistrationCreateParamsCountryOptionsKr"] """ Options for the registration in KR. """ kz: NotRequired["RegistrationCreateParamsCountryOptionsKz"] """ Options for the registration in KZ. """ la: NotRequired["RegistrationCreateParamsCountryOptionsLa"] """ Options for the registration in LA. """ lt: NotRequired["RegistrationCreateParamsCountryOptionsLt"] """ Options for the registration in LT. """ lu: NotRequired["RegistrationCreateParamsCountryOptionsLu"] """ Options for the registration in LU. """ lv: NotRequired["RegistrationCreateParamsCountryOptionsLv"] """ Options for the registration in LV. """ ma: NotRequired["RegistrationCreateParamsCountryOptionsMa"] """ Options for the registration in MA. """ md: NotRequired["RegistrationCreateParamsCountryOptionsMd"] """ Options for the registration in MD. """ me: NotRequired["RegistrationCreateParamsCountryOptionsMe"] """ Options for the registration in ME. """ mk: NotRequired["RegistrationCreateParamsCountryOptionsMk"] """ Options for the registration in MK. """ mr: NotRequired["RegistrationCreateParamsCountryOptionsMr"] """ Options for the registration in MR. """ mt: NotRequired["RegistrationCreateParamsCountryOptionsMt"] """ Options for the registration in MT. """ mx: NotRequired["RegistrationCreateParamsCountryOptionsMx"] """ Options for the registration in MX. """ my: NotRequired["RegistrationCreateParamsCountryOptionsMy"] """ Options for the registration in MY. """ ng: NotRequired["RegistrationCreateParamsCountryOptionsNg"] """ Options for the registration in NG. """ nl: NotRequired["RegistrationCreateParamsCountryOptionsNl"] """ Options for the registration in NL. """ no: NotRequired["RegistrationCreateParamsCountryOptionsNo"] """ Options for the registration in NO. """ np: NotRequired["RegistrationCreateParamsCountryOptionsNp"] """ Options for the registration in NP. """ nz: NotRequired["RegistrationCreateParamsCountryOptionsNz"] """ Options for the registration in NZ. """ om: NotRequired["RegistrationCreateParamsCountryOptionsOm"] """ Options for the registration in OM. """ pe: NotRequired["RegistrationCreateParamsCountryOptionsPe"] """ Options for the registration in PE. """ ph: NotRequired["RegistrationCreateParamsCountryOptionsPh"] """ Options for the registration in PH. """ pl: NotRequired["RegistrationCreateParamsCountryOptionsPl"] """ Options for the registration in PL. """ pt: NotRequired["RegistrationCreateParamsCountryOptionsPt"] """ Options for the registration in PT. """ ro: NotRequired["RegistrationCreateParamsCountryOptionsRo"] """ Options for the registration in RO. """ rs: NotRequired["RegistrationCreateParamsCountryOptionsRs"] """ Options for the registration in RS. """ ru: NotRequired["RegistrationCreateParamsCountryOptionsRu"] """ Options for the registration in RU. """ sa: NotRequired["RegistrationCreateParamsCountryOptionsSa"] """ Options for the registration in SA. """ se: NotRequired["RegistrationCreateParamsCountryOptionsSe"] """ Options for the registration in SE. """ sg: NotRequired["RegistrationCreateParamsCountryOptionsSg"] """ Options for the registration in SG. """ si: NotRequired["RegistrationCreateParamsCountryOptionsSi"] """ Options for the registration in SI. """ sk: NotRequired["RegistrationCreateParamsCountryOptionsSk"] """ Options for the registration in SK. """ sn: NotRequired["RegistrationCreateParamsCountryOptionsSn"] """ Options for the registration in SN. """ sr: NotRequired["RegistrationCreateParamsCountryOptionsSr"] """ Options for the registration in SR. """ th: NotRequired["RegistrationCreateParamsCountryOptionsTh"] """ Options for the registration in TH. """ tj: NotRequired["RegistrationCreateParamsCountryOptionsTj"] """ Options for the registration in TJ. """ tr: NotRequired["RegistrationCreateParamsCountryOptionsTr"] """ Options for the registration in TR. """ tw: NotRequired["RegistrationCreateParamsCountryOptionsTw"] """ Options for the registration in TW. """ tz: NotRequired["RegistrationCreateParamsCountryOptionsTz"] """ Options for the registration in TZ. """ ua: NotRequired["RegistrationCreateParamsCountryOptionsUa"] """ Options for the registration in UA. """ ug: NotRequired["RegistrationCreateParamsCountryOptionsUg"] """ Options for the registration in UG. """ us: NotRequired["RegistrationCreateParamsCountryOptionsUs"] """ Options for the registration in US. """ uy: NotRequired["RegistrationCreateParamsCountryOptionsUy"] """ Options for the registration in UY. """ uz: NotRequired["RegistrationCreateParamsCountryOptionsUz"] """ Options for the registration in UZ. """ vn: NotRequired["RegistrationCreateParamsCountryOptionsVn"] """ Options for the registration in VN. """ za: NotRequired["RegistrationCreateParamsCountryOptionsZa"] """ Options for the registration in ZA. """ zm: NotRequired["RegistrationCreateParamsCountryOptionsZm"] """ Options for the registration in ZM. """ zw: NotRequired["RegistrationCreateParamsCountryOptionsZw"] """ Options for the registration in ZW. """ class RegistrationCreateParamsCountryOptionsAe(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsAeStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsAeStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsAl(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsAlStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsAlStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsAm(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsAo(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsAoStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsAoStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsAt(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsAtStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsAtStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsAu(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsAuStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsAuStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsAw(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsAwStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsAwStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsAz(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsBa(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsBaStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsBaStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsBb(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsBbStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsBbStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsBd(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsBdStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsBdStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsBe(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsBeStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsBeStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsBf(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsBfStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsBfStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsBg(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsBgStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsBgStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsBh(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsBhStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsBhStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsBj(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsBs(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsBsStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsBsStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsBy(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsCa(TypedDict): province_standard: NotRequired[ "RegistrationCreateParamsCountryOptionsCaProvinceStandard" ] """ Options for the provincial tax registration. """ type: Literal["province_standard", "simplified", "standard"] """ Type of registration to be created in Canada. """ class RegistrationCreateParamsCountryOptionsCaProvinceStandard(TypedDict): province: str """ Two-letter CA province code ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). """ class RegistrationCreateParamsCountryOptionsCd(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsCdStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsCdStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsCh(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsChStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsChStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsCl(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsCm(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsCo(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsCr(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsCv(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsCy(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsCyStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsCyStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsCz(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsCzStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsCzStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsDe(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsDeStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsDeStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsDk(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsDkStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsDkStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsEc(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsEe(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsEeStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsEeStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsEg(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsEs(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsEsStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsEsStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsEt(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsEtStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsEtStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsFi(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsFiStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsFiStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsFr(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsFrStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsFrStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsGb(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsGbStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsGbStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsGe(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsGn(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsGnStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsGnStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsGr(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsGrStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsGrStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsHr(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsHrStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsHrStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsHu(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsHuStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsHuStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsId(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsIe(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsIeStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsIeStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsIn(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsIs(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsIsStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsIsStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsIt(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsItStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsItStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsJp(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsJpStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsJpStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsKe(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsKg(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsKh(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsKr(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsKz(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsLa(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsLt(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsLtStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsLtStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsLu(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsLuStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsLuStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsLv(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsLvStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsLvStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsMa(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsMd(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsMe(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsMeStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsMeStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsMk(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsMkStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsMkStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsMr(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsMrStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsMrStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsMt(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsMtStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsMtStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsMx(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsMy(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsNg(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsNl(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsNlStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsNlStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsNo(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsNoStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsNoStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsNp(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsNz(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsNzStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsNzStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsOm(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsOmStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsOmStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsPe(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsPh(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsPl(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsPlStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsPlStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsPt(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsPtStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsPtStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsRo(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsRoStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsRoStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsRs(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsRsStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsRsStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsRu(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsSa(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsSe(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsSeStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsSeStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsSg(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsSgStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsSgStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsSi(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsSiStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsSiStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsSk(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsSkStandard"] """ Options for the standard registration. """ type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration to be created in an EU country. """ class RegistrationCreateParamsCountryOptionsSkStandard(TypedDict): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ class RegistrationCreateParamsCountryOptionsSn(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsSr(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsSrStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsSrStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsTh(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsTj(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsTr(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsTw(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsTz(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsUa(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsUg(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsUs(TypedDict): local_amusement_tax: NotRequired[ "RegistrationCreateParamsCountryOptionsUsLocalAmusementTax" ] """ Options for the local amusement tax registration. """ local_lease_tax: NotRequired[ "RegistrationCreateParamsCountryOptionsUsLocalLeaseTax" ] """ Options for the local lease tax registration. """ state: str """ Two-letter US state code ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). """ state_sales_tax: NotRequired[ "RegistrationCreateParamsCountryOptionsUsStateSalesTax" ] """ Options for the state sales tax registration. """ type: Literal[ "local_amusement_tax", "local_lease_tax", "state_communications_tax", "state_retail_delivery_fee", "state_sales_tax", ] """ Type of registration to be created in the US. """ class RegistrationCreateParamsCountryOptionsUsLocalAmusementTax(TypedDict): jurisdiction: str """ A [FIPS code](https://www.census.gov/library/reference/code-lists/ansi.html) representing the local jurisdiction. Supported FIPS codes are: `14000` (Chicago), `06613` (Bloomington), `21696` (East Dundee), `24582` (Evanston), `45421` (Lynwood), `48892` (Midlothian), `64343` (River Grove), and `68081` (Schiller Park). """ class RegistrationCreateParamsCountryOptionsUsLocalLeaseTax(TypedDict): jurisdiction: str """ A [FIPS code](https://www.census.gov/library/reference/code-lists/ansi.html) representing the local jurisdiction. Supported FIPS codes are: `14000` (Chicago). """ class RegistrationCreateParamsCountryOptionsUsStateSalesTax(TypedDict): elections: List[ "RegistrationCreateParamsCountryOptionsUsStateSalesTaxElection" ] """ Elections for the state sales tax registration. """ class RegistrationCreateParamsCountryOptionsUsStateSalesTaxElection(TypedDict): jurisdiction: NotRequired[str] """ A [FIPS code](https://www.census.gov/library/reference/code-lists/ansi.html) representing the local jurisdiction. Supported FIPS codes are: `003` (Allegheny County) and `60000` (Philadelphia City). """ type: Literal[ "local_use_tax", "simplified_sellers_use_tax", "single_local_use_tax" ] """ The type of the election for the state sales tax registration. """ class RegistrationCreateParamsCountryOptionsUy(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsUyStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsUyStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsUz(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsVn(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsZa(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsZaStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsZaStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ class RegistrationCreateParamsCountryOptionsZm(TypedDict): type: Literal["simplified"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsZw(TypedDict): standard: NotRequired["RegistrationCreateParamsCountryOptionsZwStandard"] """ Options for the standard registration. """ type: Literal["standard"] """ Type of registration to be created in `country`. """ class RegistrationCreateParamsCountryOptionsZwStandard(TypedDict): place_of_supply_scheme: NotRequired[Literal["inbound_goods", "standard"]] """ Place of supply scheme used in an standard registration. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/tax/_registration_list_params.py0000644000000000000000000000247515102753431021250 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class RegistrationListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["active", "all", "expired", "scheduled"]] """ The status of the Tax Registration. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/tax/_registration_modify_params.py0000644000000000000000000000157115102753431021560 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class RegistrationModifyParams(RequestOptions): active_from: NotRequired["Literal['now']|int"] """ Time at which the registration becomes active. It can be either `now` to indicate the current time, or a timestamp measured in seconds since the Unix epoch. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired["Literal['']|Literal['now']|int"] """ If set, the registration stops being active at this time. If not set, the registration will be active indefinitely. It can be either `now` to indicate the current time, or a timestamp measured in seconds since the Unix epoch. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/tax/_registration_retrieve_params.py0000644000000000000000000000053215102753431022112 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class RegistrationRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/tax/_registration_update_params.py0000644000000000000000000000151415102753431021550 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class RegistrationUpdateParams(TypedDict): active_from: NotRequired["Literal['now']|int"] """ Time at which the registration becomes active. It can be either `now` to indicate the current time, or a timestamp measured in seconds since the Unix epoch. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ expires_at: NotRequired["Literal['']|Literal['now']|int"] """ If set, the registration stops being active at this time. If not set, the registration will be active indefinitely. It can be either `now` to indicate the current time, or a timestamp measured in seconds since the Unix epoch. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/tax/_settings_modify_params.py0000644000000000000000000000414515102753431020706 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class SettingsModifyParams(RequestOptions): defaults: NotRequired["SettingsModifyParamsDefaults"] """ Default configuration to be used on Stripe Tax calculations. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ head_office: NotRequired["SettingsModifyParamsHeadOffice"] """ The place where your business is located. """ class SettingsModifyParamsDefaults(TypedDict): tax_behavior: NotRequired[ Literal["exclusive", "inclusive", "inferred_by_currency"] ] """ Specifies the default [tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#tax-behavior) to be used when the item's price has unspecified tax behavior. One of inclusive, exclusive, or inferred_by_currency. Once specified, it cannot be changed back to null. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ class SettingsModifyParamsHeadOffice(TypedDict): address: "SettingsModifyParamsHeadOfficeAddress" """ The location of the business for tax purposes. """ class SettingsModifyParamsHeadOfficeAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State/province as an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) subdivision code, without country prefix, such as "NY" or "TX". """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/tax/_settings_retrieve_params.py0000644000000000000000000000052615102753431021243 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class SettingsRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/tax/_settings_update_params.py0000644000000000000000000000405515102753431020701 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class SettingsUpdateParams(TypedDict): defaults: NotRequired["SettingsUpdateParamsDefaults"] """ Default configuration to be used on Stripe Tax calculations. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ head_office: NotRequired["SettingsUpdateParamsHeadOffice"] """ The place where your business is located. """ class SettingsUpdateParamsDefaults(TypedDict): tax_behavior: NotRequired[ Literal["exclusive", "inclusive", "inferred_by_currency"] ] """ Specifies the default [tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#tax-behavior) to be used when the item's price has unspecified tax behavior. One of inclusive, exclusive, or inferred_by_currency. Once specified, it cannot be changed back to null. """ tax_code: NotRequired[str] """ A [tax code](https://stripe.com/docs/tax/tax-categories) ID. """ class SettingsUpdateParamsHeadOffice(TypedDict): address: "SettingsUpdateParamsHeadOfficeAddress" """ The location of the business for tax purposes. """ class SettingsUpdateParamsHeadOfficeAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State/province as an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) subdivision code, without country prefix, such as "NY" or "TX". """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/tax/_transaction_create_from_calculation_params.py0000644000000000000000000000253615102753431024752 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import NotRequired class TransactionCreateFromCalculationParams(RequestOptions): calculation: str """ Tax Calculation ID to be used as input when creating the transaction. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ posted_at: NotRequired[int] """ The Unix timestamp representing when the tax liability is assumed or reduced, which determines the liability posting period and handling in tax liability reports. The timestamp must fall within the `tax_date` and the current time, unless the `tax_date` is scheduled in advance. Defaults to the current time. """ reference: str """ A custom order or sale identifier, such as 'myOrder_123'. Must be unique across all transactions, including reversals. """ ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.370062 stripe-13.2.0/stripe/params/tax/_transaction_create_reversal_params.py0000644000000000000000000000636615102753431023261 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class TransactionCreateReversalParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ flat_amount: NotRequired[int] """ A flat amount to reverse across the entire transaction, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) in negative. This value represents the total amount to refund from the transaction, including taxes. """ line_items: NotRequired[List["TransactionCreateReversalParamsLineItem"]] """ The line item amounts to reverse. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ mode: Literal["full", "partial"] """ If `partial`, the provided line item or shipping cost amounts are reversed. If `full`, the original transaction is fully reversed. """ original_transaction: str """ The ID of the Transaction to partially or fully reverse. """ reference: str """ A custom identifier for this reversal, such as `myOrder_123-refund_1`, which must be unique across all transactions. The reference helps identify this reversal transaction in exported [tax reports](https://stripe.com/docs/tax/reports). """ shipping_cost: NotRequired["TransactionCreateReversalParamsShippingCost"] """ The shipping cost to reverse. """ class TransactionCreateReversalParamsLineItem(TypedDict): amount: int """ The amount to reverse, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) in negative. """ amount_tax: int """ The amount of tax to reverse, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) in negative. """ metadata: NotRequired[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. """ original_line_item: str """ The `id` of the line item to reverse in the original transaction. """ quantity: NotRequired[int] """ The quantity reversed. Appears in [tax exports](https://stripe.com/docs/tax/reports), but does not affect the amount of tax reversed. """ reference: str """ A custom identifier for this line item in the reversal transaction, such as 'L1-refund'. """ class TransactionCreateReversalParamsShippingCost(TypedDict): amount: int """ The amount to reverse, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) in negative. """ amount_tax: int """ The amount of tax to reverse, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) in negative. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/tax/_transaction_line_item_list_params.py0000644000000000000000000000221415102753431023077 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class TransactionLineItemListParams(TypedDict): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/tax/_transaction_list_line_items_params.py0000644000000000000000000000227215102753431023266 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TransactionListLineItemsParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/tax/_transaction_retrieve_params.py0000644000000000000000000000053115102753431021724 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TransactionRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/__init__.py0000644000000000000000000010534315102753431016555 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.terminal._configuration_create_params import ( ConfigurationCreateParams as ConfigurationCreateParams, ConfigurationCreateParamsBbposWisepad3 as ConfigurationCreateParamsBbposWisepad3, ConfigurationCreateParamsBbposWiseposE as ConfigurationCreateParamsBbposWiseposE, ConfigurationCreateParamsOffline as ConfigurationCreateParamsOffline, ConfigurationCreateParamsRebootWindow as ConfigurationCreateParamsRebootWindow, ConfigurationCreateParamsStripeS700 as ConfigurationCreateParamsStripeS700, ConfigurationCreateParamsTipping as ConfigurationCreateParamsTipping, ConfigurationCreateParamsTippingAed as ConfigurationCreateParamsTippingAed, ConfigurationCreateParamsTippingAud as ConfigurationCreateParamsTippingAud, ConfigurationCreateParamsTippingBgn as ConfigurationCreateParamsTippingBgn, ConfigurationCreateParamsTippingCad as ConfigurationCreateParamsTippingCad, ConfigurationCreateParamsTippingChf as ConfigurationCreateParamsTippingChf, ConfigurationCreateParamsTippingCzk as ConfigurationCreateParamsTippingCzk, ConfigurationCreateParamsTippingDkk as ConfigurationCreateParamsTippingDkk, ConfigurationCreateParamsTippingEur as ConfigurationCreateParamsTippingEur, ConfigurationCreateParamsTippingGbp as ConfigurationCreateParamsTippingGbp, ConfigurationCreateParamsTippingGip as ConfigurationCreateParamsTippingGip, ConfigurationCreateParamsTippingHkd as ConfigurationCreateParamsTippingHkd, ConfigurationCreateParamsTippingHuf as ConfigurationCreateParamsTippingHuf, ConfigurationCreateParamsTippingJpy as ConfigurationCreateParamsTippingJpy, ConfigurationCreateParamsTippingMxn as ConfigurationCreateParamsTippingMxn, ConfigurationCreateParamsTippingMyr as ConfigurationCreateParamsTippingMyr, ConfigurationCreateParamsTippingNok as ConfigurationCreateParamsTippingNok, ConfigurationCreateParamsTippingNzd as ConfigurationCreateParamsTippingNzd, ConfigurationCreateParamsTippingPln as ConfigurationCreateParamsTippingPln, ConfigurationCreateParamsTippingRon as ConfigurationCreateParamsTippingRon, ConfigurationCreateParamsTippingSek as ConfigurationCreateParamsTippingSek, ConfigurationCreateParamsTippingSgd as ConfigurationCreateParamsTippingSgd, ConfigurationCreateParamsTippingUsd as ConfigurationCreateParamsTippingUsd, ConfigurationCreateParamsVerifoneP400 as ConfigurationCreateParamsVerifoneP400, ConfigurationCreateParamsWifi as ConfigurationCreateParamsWifi, ConfigurationCreateParamsWifiEnterpriseEapPeap as ConfigurationCreateParamsWifiEnterpriseEapPeap, ConfigurationCreateParamsWifiEnterpriseEapTls as ConfigurationCreateParamsWifiEnterpriseEapTls, ConfigurationCreateParamsWifiPersonalPsk as ConfigurationCreateParamsWifiPersonalPsk, ) from stripe.params.terminal._configuration_delete_params import ( ConfigurationDeleteParams as ConfigurationDeleteParams, ) from stripe.params.terminal._configuration_list_params import ( ConfigurationListParams as ConfigurationListParams, ) from stripe.params.terminal._configuration_modify_params import ( ConfigurationModifyParams as ConfigurationModifyParams, ConfigurationModifyParamsBbposWisepad3 as ConfigurationModifyParamsBbposWisepad3, ConfigurationModifyParamsBbposWiseposE as ConfigurationModifyParamsBbposWiseposE, ConfigurationModifyParamsOffline as ConfigurationModifyParamsOffline, ConfigurationModifyParamsRebootWindow as ConfigurationModifyParamsRebootWindow, ConfigurationModifyParamsStripeS700 as ConfigurationModifyParamsStripeS700, ConfigurationModifyParamsTipping as ConfigurationModifyParamsTipping, ConfigurationModifyParamsTippingAed as ConfigurationModifyParamsTippingAed, ConfigurationModifyParamsTippingAud as ConfigurationModifyParamsTippingAud, ConfigurationModifyParamsTippingBgn as ConfigurationModifyParamsTippingBgn, ConfigurationModifyParamsTippingCad as ConfigurationModifyParamsTippingCad, ConfigurationModifyParamsTippingChf as ConfigurationModifyParamsTippingChf, ConfigurationModifyParamsTippingCzk as ConfigurationModifyParamsTippingCzk, ConfigurationModifyParamsTippingDkk as ConfigurationModifyParamsTippingDkk, ConfigurationModifyParamsTippingEur as ConfigurationModifyParamsTippingEur, ConfigurationModifyParamsTippingGbp as ConfigurationModifyParamsTippingGbp, ConfigurationModifyParamsTippingGip as ConfigurationModifyParamsTippingGip, ConfigurationModifyParamsTippingHkd as ConfigurationModifyParamsTippingHkd, ConfigurationModifyParamsTippingHuf as ConfigurationModifyParamsTippingHuf, ConfigurationModifyParamsTippingJpy as ConfigurationModifyParamsTippingJpy, ConfigurationModifyParamsTippingMxn as ConfigurationModifyParamsTippingMxn, ConfigurationModifyParamsTippingMyr as ConfigurationModifyParamsTippingMyr, ConfigurationModifyParamsTippingNok as ConfigurationModifyParamsTippingNok, ConfigurationModifyParamsTippingNzd as ConfigurationModifyParamsTippingNzd, ConfigurationModifyParamsTippingPln as ConfigurationModifyParamsTippingPln, ConfigurationModifyParamsTippingRon as ConfigurationModifyParamsTippingRon, ConfigurationModifyParamsTippingSek as ConfigurationModifyParamsTippingSek, ConfigurationModifyParamsTippingSgd as ConfigurationModifyParamsTippingSgd, ConfigurationModifyParamsTippingUsd as ConfigurationModifyParamsTippingUsd, ConfigurationModifyParamsVerifoneP400 as ConfigurationModifyParamsVerifoneP400, ConfigurationModifyParamsWifi as ConfigurationModifyParamsWifi, ConfigurationModifyParamsWifiEnterpriseEapPeap as ConfigurationModifyParamsWifiEnterpriseEapPeap, ConfigurationModifyParamsWifiEnterpriseEapTls as ConfigurationModifyParamsWifiEnterpriseEapTls, ConfigurationModifyParamsWifiPersonalPsk as ConfigurationModifyParamsWifiPersonalPsk, ) from stripe.params.terminal._configuration_retrieve_params import ( ConfigurationRetrieveParams as ConfigurationRetrieveParams, ) from stripe.params.terminal._configuration_update_params import ( ConfigurationUpdateParams as ConfigurationUpdateParams, ConfigurationUpdateParamsBbposWisepad3 as ConfigurationUpdateParamsBbposWisepad3, ConfigurationUpdateParamsBbposWiseposE as ConfigurationUpdateParamsBbposWiseposE, ConfigurationUpdateParamsOffline as ConfigurationUpdateParamsOffline, ConfigurationUpdateParamsRebootWindow as ConfigurationUpdateParamsRebootWindow, ConfigurationUpdateParamsStripeS700 as ConfigurationUpdateParamsStripeS700, ConfigurationUpdateParamsTipping as ConfigurationUpdateParamsTipping, ConfigurationUpdateParamsTippingAed as ConfigurationUpdateParamsTippingAed, ConfigurationUpdateParamsTippingAud as ConfigurationUpdateParamsTippingAud, ConfigurationUpdateParamsTippingBgn as ConfigurationUpdateParamsTippingBgn, ConfigurationUpdateParamsTippingCad as ConfigurationUpdateParamsTippingCad, ConfigurationUpdateParamsTippingChf as ConfigurationUpdateParamsTippingChf, ConfigurationUpdateParamsTippingCzk as ConfigurationUpdateParamsTippingCzk, ConfigurationUpdateParamsTippingDkk as ConfigurationUpdateParamsTippingDkk, ConfigurationUpdateParamsTippingEur as ConfigurationUpdateParamsTippingEur, ConfigurationUpdateParamsTippingGbp as ConfigurationUpdateParamsTippingGbp, ConfigurationUpdateParamsTippingGip as ConfigurationUpdateParamsTippingGip, ConfigurationUpdateParamsTippingHkd as ConfigurationUpdateParamsTippingHkd, ConfigurationUpdateParamsTippingHuf as ConfigurationUpdateParamsTippingHuf, ConfigurationUpdateParamsTippingJpy as ConfigurationUpdateParamsTippingJpy, ConfigurationUpdateParamsTippingMxn as ConfigurationUpdateParamsTippingMxn, ConfigurationUpdateParamsTippingMyr as ConfigurationUpdateParamsTippingMyr, ConfigurationUpdateParamsTippingNok as ConfigurationUpdateParamsTippingNok, ConfigurationUpdateParamsTippingNzd as ConfigurationUpdateParamsTippingNzd, ConfigurationUpdateParamsTippingPln as ConfigurationUpdateParamsTippingPln, ConfigurationUpdateParamsTippingRon as ConfigurationUpdateParamsTippingRon, ConfigurationUpdateParamsTippingSek as ConfigurationUpdateParamsTippingSek, ConfigurationUpdateParamsTippingSgd as ConfigurationUpdateParamsTippingSgd, ConfigurationUpdateParamsTippingUsd as ConfigurationUpdateParamsTippingUsd, ConfigurationUpdateParamsVerifoneP400 as ConfigurationUpdateParamsVerifoneP400, ConfigurationUpdateParamsWifi as ConfigurationUpdateParamsWifi, ConfigurationUpdateParamsWifiEnterpriseEapPeap as ConfigurationUpdateParamsWifiEnterpriseEapPeap, ConfigurationUpdateParamsWifiEnterpriseEapTls as ConfigurationUpdateParamsWifiEnterpriseEapTls, ConfigurationUpdateParamsWifiPersonalPsk as ConfigurationUpdateParamsWifiPersonalPsk, ) from stripe.params.terminal._connection_token_create_params import ( ConnectionTokenCreateParams as ConnectionTokenCreateParams, ) from stripe.params.terminal._location_create_params import ( LocationCreateParams as LocationCreateParams, LocationCreateParamsAddress as LocationCreateParamsAddress, LocationCreateParamsAddressKana as LocationCreateParamsAddressKana, LocationCreateParamsAddressKanji as LocationCreateParamsAddressKanji, ) from stripe.params.terminal._location_delete_params import ( LocationDeleteParams as LocationDeleteParams, ) from stripe.params.terminal._location_list_params import ( LocationListParams as LocationListParams, ) from stripe.params.terminal._location_modify_params import ( LocationModifyParams as LocationModifyParams, LocationModifyParamsAddress as LocationModifyParamsAddress, LocationModifyParamsAddressKana as LocationModifyParamsAddressKana, LocationModifyParamsAddressKanji as LocationModifyParamsAddressKanji, ) from stripe.params.terminal._location_retrieve_params import ( LocationRetrieveParams as LocationRetrieveParams, ) from stripe.params.terminal._location_update_params import ( LocationUpdateParams as LocationUpdateParams, LocationUpdateParamsAddress as LocationUpdateParamsAddress, LocationUpdateParamsAddressKana as LocationUpdateParamsAddressKana, LocationUpdateParamsAddressKanji as LocationUpdateParamsAddressKanji, ) from stripe.params.terminal._reader_cancel_action_params import ( ReaderCancelActionParams as ReaderCancelActionParams, ) from stripe.params.terminal._reader_collect_inputs_params import ( ReaderCollectInputsParams as ReaderCollectInputsParams, ReaderCollectInputsParamsInput as ReaderCollectInputsParamsInput, ReaderCollectInputsParamsInputCustomText as ReaderCollectInputsParamsInputCustomText, ReaderCollectInputsParamsInputSelection as ReaderCollectInputsParamsInputSelection, ReaderCollectInputsParamsInputSelectionChoice as ReaderCollectInputsParamsInputSelectionChoice, ReaderCollectInputsParamsInputToggle as ReaderCollectInputsParamsInputToggle, ) from stripe.params.terminal._reader_collect_payment_method_params import ( ReaderCollectPaymentMethodParams as ReaderCollectPaymentMethodParams, ReaderCollectPaymentMethodParamsCollectConfig as ReaderCollectPaymentMethodParamsCollectConfig, ReaderCollectPaymentMethodParamsCollectConfigTipping as ReaderCollectPaymentMethodParamsCollectConfigTipping, ) from stripe.params.terminal._reader_confirm_payment_intent_params import ( ReaderConfirmPaymentIntentParams as ReaderConfirmPaymentIntentParams, ReaderConfirmPaymentIntentParamsConfirmConfig as ReaderConfirmPaymentIntentParamsConfirmConfig, ) from stripe.params.terminal._reader_create_params import ( ReaderCreateParams as ReaderCreateParams, ) from stripe.params.terminal._reader_delete_params import ( ReaderDeleteParams as ReaderDeleteParams, ) from stripe.params.terminal._reader_list_params import ( ReaderListParams as ReaderListParams, ) from stripe.params.terminal._reader_modify_params import ( ReaderModifyParams as ReaderModifyParams, ) from stripe.params.terminal._reader_present_payment_method_params import ( ReaderPresentPaymentMethodParams as ReaderPresentPaymentMethodParams, ReaderPresentPaymentMethodParamsCard as ReaderPresentPaymentMethodParamsCard, ReaderPresentPaymentMethodParamsCardPresent as ReaderPresentPaymentMethodParamsCardPresent, ReaderPresentPaymentMethodParamsInteracPresent as ReaderPresentPaymentMethodParamsInteracPresent, ) from stripe.params.terminal._reader_process_payment_intent_params import ( ReaderProcessPaymentIntentParams as ReaderProcessPaymentIntentParams, ReaderProcessPaymentIntentParamsProcessConfig as ReaderProcessPaymentIntentParamsProcessConfig, ReaderProcessPaymentIntentParamsProcessConfigTipping as ReaderProcessPaymentIntentParamsProcessConfigTipping, ) from stripe.params.terminal._reader_process_setup_intent_params import ( ReaderProcessSetupIntentParams as ReaderProcessSetupIntentParams, ReaderProcessSetupIntentParamsProcessConfig as ReaderProcessSetupIntentParamsProcessConfig, ) from stripe.params.terminal._reader_refund_payment_params import ( ReaderRefundPaymentParams as ReaderRefundPaymentParams, ReaderRefundPaymentParamsRefundPaymentConfig as ReaderRefundPaymentParamsRefundPaymentConfig, ) from stripe.params.terminal._reader_retrieve_params import ( ReaderRetrieveParams as ReaderRetrieveParams, ) from stripe.params.terminal._reader_set_reader_display_params import ( ReaderSetReaderDisplayParams as ReaderSetReaderDisplayParams, ReaderSetReaderDisplayParamsCart as ReaderSetReaderDisplayParamsCart, ReaderSetReaderDisplayParamsCartLineItem as ReaderSetReaderDisplayParamsCartLineItem, ) from stripe.params.terminal._reader_succeed_input_collection_params import ( ReaderSucceedInputCollectionParams as ReaderSucceedInputCollectionParams, ) from stripe.params.terminal._reader_timeout_input_collection_params import ( ReaderTimeoutInputCollectionParams as ReaderTimeoutInputCollectionParams, ) from stripe.params.terminal._reader_update_params import ( ReaderUpdateParams as ReaderUpdateParams, ) # name -> (import_target, is_submodule) _import_map = { "ConfigurationCreateParams": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsBbposWisepad3": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsBbposWiseposE": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsOffline": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsRebootWindow": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsStripeS700": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTipping": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingAed": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingAud": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingBgn": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingCad": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingChf": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingCzk": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingDkk": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingEur": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingGbp": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingGip": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingHkd": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingHuf": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingJpy": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingMxn": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingMyr": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingNok": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingNzd": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingPln": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingRon": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingSek": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingSgd": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsTippingUsd": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsVerifoneP400": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsWifi": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsWifiEnterpriseEapPeap": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsWifiEnterpriseEapTls": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationCreateParamsWifiPersonalPsk": ( "stripe.params.terminal._configuration_create_params", False, ), "ConfigurationDeleteParams": ( "stripe.params.terminal._configuration_delete_params", False, ), "ConfigurationListParams": ( "stripe.params.terminal._configuration_list_params", False, ), "ConfigurationModifyParams": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsBbposWisepad3": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsBbposWiseposE": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsOffline": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsRebootWindow": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsStripeS700": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTipping": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingAed": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingAud": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingBgn": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingCad": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingChf": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingCzk": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingDkk": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingEur": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingGbp": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingGip": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingHkd": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingHuf": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingJpy": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingMxn": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingMyr": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingNok": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingNzd": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingPln": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingRon": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingSek": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingSgd": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsTippingUsd": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsVerifoneP400": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsWifi": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsWifiEnterpriseEapPeap": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsWifiEnterpriseEapTls": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationModifyParamsWifiPersonalPsk": ( "stripe.params.terminal._configuration_modify_params", False, ), "ConfigurationRetrieveParams": ( "stripe.params.terminal._configuration_retrieve_params", False, ), "ConfigurationUpdateParams": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsBbposWisepad3": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsBbposWiseposE": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsOffline": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsRebootWindow": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsStripeS700": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTipping": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingAed": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingAud": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingBgn": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingCad": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingChf": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingCzk": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingDkk": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingEur": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingGbp": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingGip": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingHkd": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingHuf": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingJpy": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingMxn": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingMyr": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingNok": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingNzd": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingPln": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingRon": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingSek": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingSgd": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsTippingUsd": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsVerifoneP400": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsWifi": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsWifiEnterpriseEapPeap": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsWifiEnterpriseEapTls": ( "stripe.params.terminal._configuration_update_params", False, ), "ConfigurationUpdateParamsWifiPersonalPsk": ( "stripe.params.terminal._configuration_update_params", False, ), "ConnectionTokenCreateParams": ( "stripe.params.terminal._connection_token_create_params", False, ), "LocationCreateParams": ( "stripe.params.terminal._location_create_params", False, ), "LocationCreateParamsAddress": ( "stripe.params.terminal._location_create_params", False, ), "LocationCreateParamsAddressKana": ( "stripe.params.terminal._location_create_params", False, ), "LocationCreateParamsAddressKanji": ( "stripe.params.terminal._location_create_params", False, ), "LocationDeleteParams": ( "stripe.params.terminal._location_delete_params", False, ), "LocationListParams": ( "stripe.params.terminal._location_list_params", False, ), "LocationModifyParams": ( "stripe.params.terminal._location_modify_params", False, ), "LocationModifyParamsAddress": ( "stripe.params.terminal._location_modify_params", False, ), "LocationModifyParamsAddressKana": ( "stripe.params.terminal._location_modify_params", False, ), "LocationModifyParamsAddressKanji": ( "stripe.params.terminal._location_modify_params", False, ), "LocationRetrieveParams": ( "stripe.params.terminal._location_retrieve_params", False, ), "LocationUpdateParams": ( "stripe.params.terminal._location_update_params", False, ), "LocationUpdateParamsAddress": ( "stripe.params.terminal._location_update_params", False, ), "LocationUpdateParamsAddressKana": ( "stripe.params.terminal._location_update_params", False, ), "LocationUpdateParamsAddressKanji": ( "stripe.params.terminal._location_update_params", False, ), "ReaderCancelActionParams": ( "stripe.params.terminal._reader_cancel_action_params", False, ), "ReaderCollectInputsParams": ( "stripe.params.terminal._reader_collect_inputs_params", False, ), "ReaderCollectInputsParamsInput": ( "stripe.params.terminal._reader_collect_inputs_params", False, ), "ReaderCollectInputsParamsInputCustomText": ( "stripe.params.terminal._reader_collect_inputs_params", False, ), "ReaderCollectInputsParamsInputSelection": ( "stripe.params.terminal._reader_collect_inputs_params", False, ), "ReaderCollectInputsParamsInputSelectionChoice": ( "stripe.params.terminal._reader_collect_inputs_params", False, ), "ReaderCollectInputsParamsInputToggle": ( "stripe.params.terminal._reader_collect_inputs_params", False, ), "ReaderCollectPaymentMethodParams": ( "stripe.params.terminal._reader_collect_payment_method_params", False, ), "ReaderCollectPaymentMethodParamsCollectConfig": ( "stripe.params.terminal._reader_collect_payment_method_params", False, ), "ReaderCollectPaymentMethodParamsCollectConfigTipping": ( "stripe.params.terminal._reader_collect_payment_method_params", False, ), "ReaderConfirmPaymentIntentParams": ( "stripe.params.terminal._reader_confirm_payment_intent_params", False, ), "ReaderConfirmPaymentIntentParamsConfirmConfig": ( "stripe.params.terminal._reader_confirm_payment_intent_params", False, ), "ReaderCreateParams": ( "stripe.params.terminal._reader_create_params", False, ), "ReaderDeleteParams": ( "stripe.params.terminal._reader_delete_params", False, ), "ReaderListParams": ("stripe.params.terminal._reader_list_params", False), "ReaderModifyParams": ( "stripe.params.terminal._reader_modify_params", False, ), "ReaderPresentPaymentMethodParams": ( "stripe.params.terminal._reader_present_payment_method_params", False, ), "ReaderPresentPaymentMethodParamsCard": ( "stripe.params.terminal._reader_present_payment_method_params", False, ), "ReaderPresentPaymentMethodParamsCardPresent": ( "stripe.params.terminal._reader_present_payment_method_params", False, ), "ReaderPresentPaymentMethodParamsInteracPresent": ( "stripe.params.terminal._reader_present_payment_method_params", False, ), "ReaderProcessPaymentIntentParams": ( "stripe.params.terminal._reader_process_payment_intent_params", False, ), "ReaderProcessPaymentIntentParamsProcessConfig": ( "stripe.params.terminal._reader_process_payment_intent_params", False, ), "ReaderProcessPaymentIntentParamsProcessConfigTipping": ( "stripe.params.terminal._reader_process_payment_intent_params", False, ), "ReaderProcessSetupIntentParams": ( "stripe.params.terminal._reader_process_setup_intent_params", False, ), "ReaderProcessSetupIntentParamsProcessConfig": ( "stripe.params.terminal._reader_process_setup_intent_params", False, ), "ReaderRefundPaymentParams": ( "stripe.params.terminal._reader_refund_payment_params", False, ), "ReaderRefundPaymentParamsRefundPaymentConfig": ( "stripe.params.terminal._reader_refund_payment_params", False, ), "ReaderRetrieveParams": ( "stripe.params.terminal._reader_retrieve_params", False, ), "ReaderSetReaderDisplayParams": ( "stripe.params.terminal._reader_set_reader_display_params", False, ), "ReaderSetReaderDisplayParamsCart": ( "stripe.params.terminal._reader_set_reader_display_params", False, ), "ReaderSetReaderDisplayParamsCartLineItem": ( "stripe.params.terminal._reader_set_reader_display_params", False, ), "ReaderSucceedInputCollectionParams": ( "stripe.params.terminal._reader_succeed_input_collection_params", False, ), "ReaderTimeoutInputCollectionParams": ( "stripe.params.terminal._reader_timeout_input_collection_params", False, ), "ReaderUpdateParams": ( "stripe.params.terminal._reader_update_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_configuration_create_params.py0000644000000000000000000004073015102753431022710 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ConfigurationCreateParams(RequestOptions): bbpos_wisepad3: NotRequired["ConfigurationCreateParamsBbposWisepad3"] """ 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. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ name: NotRequired[str] """ Name of the configuration """ offline: NotRequired["Literal['']|ConfigurationCreateParamsOffline"] """ Configurations for collecting transactions offline. """ reboot_window: NotRequired["ConfigurationCreateParamsRebootWindow"] """ 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. """ tipping: NotRequired["Literal['']|ConfigurationCreateParamsTipping"] """ Tipping configurations for readers. supporting on-reader tips """ verifone_p400: NotRequired["ConfigurationCreateParamsVerifoneP400"] """ An object containing device type specific settings for Verifone P400 readers. """ wifi: NotRequired["Literal['']|ConfigurationCreateParamsWifi"] """ Configurations for connecting to a WiFi network. """ class ConfigurationCreateParamsBbposWisepad3(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ A File ID representing an image you want to display on the reader. """ class ConfigurationCreateParamsBbposWiseposE(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ A File ID representing an image to display on the reader """ class ConfigurationCreateParamsOffline(TypedDict): enabled: bool """ Determines whether to allow transactions to be collected while reader is offline. Defaults to false. """ class ConfigurationCreateParamsRebootWindow(TypedDict): end_hour: int """ Integer between 0 to 23 that represents the end hour of the reboot time window. The value must be different than the start_hour. """ start_hour: int """ Integer between 0 to 23 that represents the start hour of the reboot time window. """ class ConfigurationCreateParamsStripeS700(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ A File ID representing an image you want to display on the reader. """ class ConfigurationCreateParamsTipping(TypedDict): aed: NotRequired["ConfigurationCreateParamsTippingAed"] """ Tipping configuration for AED """ aud: NotRequired["ConfigurationCreateParamsTippingAud"] """ Tipping configuration for AUD """ bgn: NotRequired["ConfigurationCreateParamsTippingBgn"] """ Tipping configuration for BGN """ cad: NotRequired["ConfigurationCreateParamsTippingCad"] """ Tipping configuration for CAD """ chf: NotRequired["ConfigurationCreateParamsTippingChf"] """ Tipping configuration for CHF """ czk: NotRequired["ConfigurationCreateParamsTippingCzk"] """ Tipping configuration for CZK """ dkk: NotRequired["ConfigurationCreateParamsTippingDkk"] """ Tipping configuration for DKK """ eur: NotRequired["ConfigurationCreateParamsTippingEur"] """ Tipping configuration for EUR """ gbp: NotRequired["ConfigurationCreateParamsTippingGbp"] """ Tipping configuration for GBP """ gip: NotRequired["ConfigurationCreateParamsTippingGip"] """ Tipping configuration for GIP """ hkd: NotRequired["ConfigurationCreateParamsTippingHkd"] """ Tipping configuration for HKD """ huf: NotRequired["ConfigurationCreateParamsTippingHuf"] """ Tipping configuration for HUF """ jpy: NotRequired["ConfigurationCreateParamsTippingJpy"] """ Tipping configuration for JPY """ mxn: NotRequired["ConfigurationCreateParamsTippingMxn"] """ Tipping configuration for MXN """ myr: NotRequired["ConfigurationCreateParamsTippingMyr"] """ Tipping configuration for MYR """ nok: NotRequired["ConfigurationCreateParamsTippingNok"] """ Tipping configuration for NOK """ nzd: NotRequired["ConfigurationCreateParamsTippingNzd"] """ Tipping configuration for NZD """ pln: NotRequired["ConfigurationCreateParamsTippingPln"] """ Tipping configuration for PLN """ ron: NotRequired["ConfigurationCreateParamsTippingRon"] """ Tipping configuration for RON """ sek: NotRequired["ConfigurationCreateParamsTippingSek"] """ Tipping configuration for SEK """ sgd: NotRequired["ConfigurationCreateParamsTippingSgd"] """ Tipping configuration for SGD """ usd: NotRequired["ConfigurationCreateParamsTippingUsd"] """ Tipping configuration for USD """ class ConfigurationCreateParamsTippingAed(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingAud(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingBgn(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingCad(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingChf(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingCzk(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingDkk(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingEur(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingGbp(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingGip(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingHkd(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingHuf(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingJpy(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingMxn(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingMyr(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingNok(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingNzd(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingPln(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingRon(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingSek(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingSgd(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsTippingUsd(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationCreateParamsVerifoneP400(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ A File ID representing an image you want to display on the reader. """ class ConfigurationCreateParamsWifi(TypedDict): enterprise_eap_peap: NotRequired[ "ConfigurationCreateParamsWifiEnterpriseEapPeap" ] """ Credentials for a WPA-Enterprise WiFi network using the EAP-PEAP authentication method. """ enterprise_eap_tls: NotRequired[ "ConfigurationCreateParamsWifiEnterpriseEapTls" ] """ Credentials for a WPA-Enterprise WiFi network using the EAP-TLS authentication method. """ personal_psk: NotRequired["ConfigurationCreateParamsWifiPersonalPsk"] """ Credentials for a WPA-Personal WiFi network. """ type: Literal["enterprise_eap_peap", "enterprise_eap_tls", "personal_psk"] """ Security type of the WiFi network. Fill out the hash with the corresponding name to provide the set of credentials for this security type. """ class ConfigurationCreateParamsWifiEnterpriseEapPeap(TypedDict): ca_certificate_file: NotRequired[str] """ A File ID representing a PEM file containing the server certificate """ password: str """ Password for connecting to the WiFi network """ ssid: str """ Name of the WiFi network """ username: str """ Username for connecting to the WiFi network """ class ConfigurationCreateParamsWifiEnterpriseEapTls(TypedDict): ca_certificate_file: NotRequired[str] """ A File ID representing a PEM file containing the server certificate """ client_certificate_file: str """ A File ID representing a PEM file containing the client certificate """ private_key_file: str """ A File ID representing a PEM file containing the client RSA private key """ private_key_file_password: NotRequired[str] """ Password for the private key file """ ssid: str """ Name of the WiFi network """ class ConfigurationCreateParamsWifiPersonalPsk(TypedDict): password: str """ Password for connecting to the WiFi network """ ssid: str """ Name of the WiFi network """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_configuration_delete_params.py0000644000000000000000000000025615102753431022706 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class ConfigurationDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_configuration_list_params.py0000644000000000000000000000247415102753431022423 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ConfigurationListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ is_account_default: NotRequired[bool] """ if present, only return the account default or non-default configurations. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_configuration_modify_params.py0000644000000000000000000004111415102753431022731 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ConfigurationModifyParams(RequestOptions): bbpos_wisepad3: NotRequired[ "Literal['']|ConfigurationModifyParamsBbposWisepad3" ] """ 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. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ name: NotRequired[str] """ Name of the configuration """ offline: NotRequired["Literal['']|ConfigurationModifyParamsOffline"] """ Configurations for collecting transactions offline. """ reboot_window: NotRequired[ "Literal['']|ConfigurationModifyParamsRebootWindow" ] """ 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. """ tipping: NotRequired["Literal['']|ConfigurationModifyParamsTipping"] """ Tipping configurations for readers. supporting on-reader tips """ verifone_p400: NotRequired[ "Literal['']|ConfigurationModifyParamsVerifoneP400" ] """ An object containing device type specific settings for Verifone P400 readers. """ wifi: NotRequired["Literal['']|ConfigurationModifyParamsWifi"] """ Configurations for connecting to a WiFi network. """ class ConfigurationModifyParamsBbposWisepad3(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ A File ID representing an image you want to display on the reader. """ class ConfigurationModifyParamsBbposWiseposE(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ A File ID representing an image to display on the reader """ class ConfigurationModifyParamsOffline(TypedDict): enabled: bool """ Determines whether to allow transactions to be collected while reader is offline. Defaults to false. """ class ConfigurationModifyParamsRebootWindow(TypedDict): end_hour: int """ Integer between 0 to 23 that represents the end hour of the reboot time window. The value must be different than the start_hour. """ start_hour: int """ Integer between 0 to 23 that represents the start hour of the reboot time window. """ class ConfigurationModifyParamsStripeS700(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ A File ID representing an image you want to display on the reader. """ class ConfigurationModifyParamsTipping(TypedDict): aed: NotRequired["ConfigurationModifyParamsTippingAed"] """ Tipping configuration for AED """ aud: NotRequired["ConfigurationModifyParamsTippingAud"] """ Tipping configuration for AUD """ bgn: NotRequired["ConfigurationModifyParamsTippingBgn"] """ Tipping configuration for BGN """ cad: NotRequired["ConfigurationModifyParamsTippingCad"] """ Tipping configuration for CAD """ chf: NotRequired["ConfigurationModifyParamsTippingChf"] """ Tipping configuration for CHF """ czk: NotRequired["ConfigurationModifyParamsTippingCzk"] """ Tipping configuration for CZK """ dkk: NotRequired["ConfigurationModifyParamsTippingDkk"] """ Tipping configuration for DKK """ eur: NotRequired["ConfigurationModifyParamsTippingEur"] """ Tipping configuration for EUR """ gbp: NotRequired["ConfigurationModifyParamsTippingGbp"] """ Tipping configuration for GBP """ gip: NotRequired["ConfigurationModifyParamsTippingGip"] """ Tipping configuration for GIP """ hkd: NotRequired["ConfigurationModifyParamsTippingHkd"] """ Tipping configuration for HKD """ huf: NotRequired["ConfigurationModifyParamsTippingHuf"] """ Tipping configuration for HUF """ jpy: NotRequired["ConfigurationModifyParamsTippingJpy"] """ Tipping configuration for JPY """ mxn: NotRequired["ConfigurationModifyParamsTippingMxn"] """ Tipping configuration for MXN """ myr: NotRequired["ConfigurationModifyParamsTippingMyr"] """ Tipping configuration for MYR """ nok: NotRequired["ConfigurationModifyParamsTippingNok"] """ Tipping configuration for NOK """ nzd: NotRequired["ConfigurationModifyParamsTippingNzd"] """ Tipping configuration for NZD """ pln: NotRequired["ConfigurationModifyParamsTippingPln"] """ Tipping configuration for PLN """ ron: NotRequired["ConfigurationModifyParamsTippingRon"] """ Tipping configuration for RON """ sek: NotRequired["ConfigurationModifyParamsTippingSek"] """ Tipping configuration for SEK """ sgd: NotRequired["ConfigurationModifyParamsTippingSgd"] """ Tipping configuration for SGD """ usd: NotRequired["ConfigurationModifyParamsTippingUsd"] """ Tipping configuration for USD """ class ConfigurationModifyParamsTippingAed(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingAud(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingBgn(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingCad(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingChf(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingCzk(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingDkk(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingEur(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingGbp(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingGip(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingHkd(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingHuf(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingJpy(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingMxn(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingMyr(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingNok(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingNzd(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingPln(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingRon(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingSek(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingSgd(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsTippingUsd(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationModifyParamsVerifoneP400(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ A File ID representing an image you want to display on the reader. """ class ConfigurationModifyParamsWifi(TypedDict): enterprise_eap_peap: NotRequired[ "ConfigurationModifyParamsWifiEnterpriseEapPeap" ] """ Credentials for a WPA-Enterprise WiFi network using the EAP-PEAP authentication method. """ enterprise_eap_tls: NotRequired[ "ConfigurationModifyParamsWifiEnterpriseEapTls" ] """ Credentials for a WPA-Enterprise WiFi network using the EAP-TLS authentication method. """ personal_psk: NotRequired["ConfigurationModifyParamsWifiPersonalPsk"] """ Credentials for a WPA-Personal WiFi network. """ type: Literal["enterprise_eap_peap", "enterprise_eap_tls", "personal_psk"] """ Security type of the WiFi network. Fill out the hash with the corresponding name to provide the set of credentials for this security type. """ class ConfigurationModifyParamsWifiEnterpriseEapPeap(TypedDict): ca_certificate_file: NotRequired[str] """ A File ID representing a PEM file containing the server certificate """ password: str """ Password for connecting to the WiFi network """ ssid: str """ Name of the WiFi network """ username: str """ Username for connecting to the WiFi network """ class ConfigurationModifyParamsWifiEnterpriseEapTls(TypedDict): ca_certificate_file: NotRequired[str] """ A File ID representing a PEM file containing the server certificate """ client_certificate_file: str """ A File ID representing a PEM file containing the client certificate """ private_key_file: str """ A File ID representing a PEM file containing the client RSA private key """ private_key_file_password: NotRequired[str] """ Password for the private key file """ ssid: str """ Name of the WiFi network """ class ConfigurationModifyParamsWifiPersonalPsk(TypedDict): password: str """ Password for connecting to the WiFi network """ ssid: str """ Name of the WiFi network """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_configuration_retrieve_params.py0000644000000000000000000000053315102753431023267 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ConfigurationRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_configuration_update_params.py0000644000000000000000000004102415102753431022724 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ConfigurationUpdateParams(TypedDict): bbpos_wisepad3: NotRequired[ "Literal['']|ConfigurationUpdateParamsBbposWisepad3" ] """ 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. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ name: NotRequired[str] """ Name of the configuration """ offline: NotRequired["Literal['']|ConfigurationUpdateParamsOffline"] """ Configurations for collecting transactions offline. """ reboot_window: NotRequired[ "Literal['']|ConfigurationUpdateParamsRebootWindow" ] """ 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. """ tipping: NotRequired["Literal['']|ConfigurationUpdateParamsTipping"] """ Tipping configurations for readers. supporting on-reader tips """ verifone_p400: NotRequired[ "Literal['']|ConfigurationUpdateParamsVerifoneP400" ] """ An object containing device type specific settings for Verifone P400 readers. """ wifi: NotRequired["Literal['']|ConfigurationUpdateParamsWifi"] """ Configurations for connecting to a WiFi network. """ class ConfigurationUpdateParamsBbposWisepad3(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ A File ID representing an image you want to display on the reader. """ class ConfigurationUpdateParamsBbposWiseposE(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ A File ID representing an image to display on the reader """ class ConfigurationUpdateParamsOffline(TypedDict): enabled: bool """ Determines whether to allow transactions to be collected while reader is offline. Defaults to false. """ class ConfigurationUpdateParamsRebootWindow(TypedDict): end_hour: int """ Integer between 0 to 23 that represents the end hour of the reboot time window. The value must be different than the start_hour. """ start_hour: int """ Integer between 0 to 23 that represents the start hour of the reboot time window. """ class ConfigurationUpdateParamsStripeS700(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ A File ID representing an image you want to display on the reader. """ class ConfigurationUpdateParamsTipping(TypedDict): aed: NotRequired["ConfigurationUpdateParamsTippingAed"] """ Tipping configuration for AED """ aud: NotRequired["ConfigurationUpdateParamsTippingAud"] """ Tipping configuration for AUD """ bgn: NotRequired["ConfigurationUpdateParamsTippingBgn"] """ Tipping configuration for BGN """ cad: NotRequired["ConfigurationUpdateParamsTippingCad"] """ Tipping configuration for CAD """ chf: NotRequired["ConfigurationUpdateParamsTippingChf"] """ Tipping configuration for CHF """ czk: NotRequired["ConfigurationUpdateParamsTippingCzk"] """ Tipping configuration for CZK """ dkk: NotRequired["ConfigurationUpdateParamsTippingDkk"] """ Tipping configuration for DKK """ eur: NotRequired["ConfigurationUpdateParamsTippingEur"] """ Tipping configuration for EUR """ gbp: NotRequired["ConfigurationUpdateParamsTippingGbp"] """ Tipping configuration for GBP """ gip: NotRequired["ConfigurationUpdateParamsTippingGip"] """ Tipping configuration for GIP """ hkd: NotRequired["ConfigurationUpdateParamsTippingHkd"] """ Tipping configuration for HKD """ huf: NotRequired["ConfigurationUpdateParamsTippingHuf"] """ Tipping configuration for HUF """ jpy: NotRequired["ConfigurationUpdateParamsTippingJpy"] """ Tipping configuration for JPY """ mxn: NotRequired["ConfigurationUpdateParamsTippingMxn"] """ Tipping configuration for MXN """ myr: NotRequired["ConfigurationUpdateParamsTippingMyr"] """ Tipping configuration for MYR """ nok: NotRequired["ConfigurationUpdateParamsTippingNok"] """ Tipping configuration for NOK """ nzd: NotRequired["ConfigurationUpdateParamsTippingNzd"] """ Tipping configuration for NZD """ pln: NotRequired["ConfigurationUpdateParamsTippingPln"] """ Tipping configuration for PLN """ ron: NotRequired["ConfigurationUpdateParamsTippingRon"] """ Tipping configuration for RON """ sek: NotRequired["ConfigurationUpdateParamsTippingSek"] """ Tipping configuration for SEK """ sgd: NotRequired["ConfigurationUpdateParamsTippingSgd"] """ Tipping configuration for SGD """ usd: NotRequired["ConfigurationUpdateParamsTippingUsd"] """ Tipping configuration for USD """ class ConfigurationUpdateParamsTippingAed(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingAud(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingBgn(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingCad(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingChf(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingCzk(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingDkk(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingEur(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingGbp(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingGip(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingHkd(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingHuf(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingJpy(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingMxn(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingMyr(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingNok(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingNzd(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingPln(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingRon(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingSek(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingSgd(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsTippingUsd(TypedDict): fixed_amounts: NotRequired[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: NotRequired[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: NotRequired[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class ConfigurationUpdateParamsVerifoneP400(TypedDict): splashscreen: NotRequired["Literal['']|str"] """ A File ID representing an image you want to display on the reader. """ class ConfigurationUpdateParamsWifi(TypedDict): enterprise_eap_peap: NotRequired[ "ConfigurationUpdateParamsWifiEnterpriseEapPeap" ] """ Credentials for a WPA-Enterprise WiFi network using the EAP-PEAP authentication method. """ enterprise_eap_tls: NotRequired[ "ConfigurationUpdateParamsWifiEnterpriseEapTls" ] """ Credentials for a WPA-Enterprise WiFi network using the EAP-TLS authentication method. """ personal_psk: NotRequired["ConfigurationUpdateParamsWifiPersonalPsk"] """ Credentials for a WPA-Personal WiFi network. """ type: Literal["enterprise_eap_peap", "enterprise_eap_tls", "personal_psk"] """ Security type of the WiFi network. Fill out the hash with the corresponding name to provide the set of credentials for this security type. """ class ConfigurationUpdateParamsWifiEnterpriseEapPeap(TypedDict): ca_certificate_file: NotRequired[str] """ A File ID representing a PEM file containing the server certificate """ password: str """ Password for connecting to the WiFi network """ ssid: str """ Name of the WiFi network """ username: str """ Username for connecting to the WiFi network """ class ConfigurationUpdateParamsWifiEnterpriseEapTls(TypedDict): ca_certificate_file: NotRequired[str] """ A File ID representing a PEM file containing the server certificate """ client_certificate_file: str """ A File ID representing a PEM file containing the client certificate """ private_key_file: str """ A File ID representing a PEM file containing the client RSA private key """ private_key_file_password: NotRequired[str] """ Password for the private key file """ ssid: str """ Name of the WiFi network """ class ConfigurationUpdateParamsWifiPersonalPsk(TypedDict): password: str """ Password for connecting to the WiFi network """ ssid: str """ Name of the WiFi network """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_connection_token_create_params.py0000644000000000000000000000152515102753431023377 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ConnectionTokenCreateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ location: NotRequired[str] """ The id of the location that this connection token is scoped to. If specified the connection token will only be usable with readers assigned to that location, otherwise the connection token will be usable with all readers. Note that location scoping only applies to internet-connected readers. For more details, see [the docs on scoping connection tokens](https://docs.stripe.com/terminal/fleet/locations-and-zones?dashboard-or-api=api#connection-tokens). """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_location_create_params.py0000644000000000000000000000714415102753431021653 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class LocationCreateParams(RequestOptions): address: NotRequired["LocationCreateParamsAddress"] """ The full address of the location. """ address_kana: NotRequired["LocationCreateParamsAddressKana"] """ The Kana variation of the full address of the location (Japan only). """ address_kanji: NotRequired["LocationCreateParamsAddressKanji"] """ The Kanji variation of the full address of the location (Japan only). """ configuration_overrides: NotRequired[str] """ The ID of a configuration that will be used to customize all readers in this location. """ display_name: NotRequired[str] """ A name for the location. Maximum length is 1000 characters. """ display_name_kana: NotRequired[str] """ The Kana variation of the name for the location (Japan only). Maximum length is 1000 characters. """ display_name_kanji: NotRequired[str] """ The Kanji variation of the name for the location (Japan only). Maximum length is 1000 characters. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ phone: NotRequired[str] """ The phone number for the location. """ class LocationCreateParamsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class LocationCreateParamsAddressKana(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class LocationCreateParamsAddressKanji(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_location_delete_params.py0000644000000000000000000000025115102753431021642 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class LocationDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_location_list_params.py0000644000000000000000000000225615102753431021362 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class LocationListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_location_modify_params.py0000644000000000000000000000737215102753431021702 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class LocationModifyParams(RequestOptions): address: NotRequired["LocationModifyParamsAddress"] """ The full address of the location. You can't change the location's `country`. If you need to modify the `country` field, create a new `Location` object and re-register any existing readers to that location. """ address_kana: NotRequired["LocationModifyParamsAddressKana"] """ The Kana variation of the full address of the location (Japan only). """ address_kanji: NotRequired["LocationModifyParamsAddressKanji"] """ The Kanji variation of the full address of the location (Japan only). """ configuration_overrides: NotRequired["Literal['']|str"] """ The ID of a configuration that will be used to customize all readers in this location. """ display_name: NotRequired["Literal['']|str"] """ A name for the location. """ display_name_kana: NotRequired["Literal['']|str"] """ The Kana variation of the name for the location (Japan only). """ display_name_kanji: NotRequired["Literal['']|str"] """ The Kanji variation of the name for the location (Japan only). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ phone: NotRequired["Literal['']|str"] """ The phone number for the location. """ class LocationModifyParamsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class LocationModifyParamsAddressKana(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class LocationModifyParamsAddressKanji(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_location_retrieve_params.py0000644000000000000000000000052615102753431022232 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class LocationRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_location_update_params.py0000644000000000000000000000730215102753431021666 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class LocationUpdateParams(TypedDict): address: NotRequired["LocationUpdateParamsAddress"] """ The full address of the location. You can't change the location's `country`. If you need to modify the `country` field, create a new `Location` object and re-register any existing readers to that location. """ address_kana: NotRequired["LocationUpdateParamsAddressKana"] """ The Kana variation of the full address of the location (Japan only). """ address_kanji: NotRequired["LocationUpdateParamsAddressKanji"] """ The Kanji variation of the full address of the location (Japan only). """ configuration_overrides: NotRequired["Literal['']|str"] """ The ID of a configuration that will be used to customize all readers in this location. """ display_name: NotRequired["Literal['']|str"] """ A name for the location. """ display_name_kana: NotRequired["Literal['']|str"] """ The Kana variation of the name for the location (Japan only). """ display_name_kanji: NotRequired["Literal['']|str"] """ The Kanji variation of the name for the location (Japan only). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ phone: NotRequired["Literal['']|str"] """ The phone number for the location. """ class LocationUpdateParamsAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class LocationUpdateParamsAddressKana(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ class LocationUpdateParamsAddressKanji(TypedDict): city: NotRequired[str] """ City or ward. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Block or building number. """ line2: NotRequired[str] """ Building details. """ postal_code: NotRequired[str] """ Postal code. """ state: NotRequired[str] """ Prefecture. """ town: NotRequired[str] """ Town or cho-me. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_reader_cancel_action_params.py0000644000000000000000000000053015102753431022614 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ReaderCancelActionParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_reader_collect_inputs_params.py0000644000000000000000000000635615102753431023075 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class ReaderCollectInputsParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ inputs: List["ReaderCollectInputsParamsInput"] """ List of inputs to be collected from the customer using the Reader. Maximum 5 inputs. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ class ReaderCollectInputsParamsInput(TypedDict): custom_text: "ReaderCollectInputsParamsInputCustomText" """ Customize the text which will be displayed while collecting this input """ required: NotRequired[bool] """ Indicate that this input is required, disabling the skip button """ selection: NotRequired["ReaderCollectInputsParamsInputSelection"] """ Options for the `selection` input """ toggles: NotRequired[List["ReaderCollectInputsParamsInputToggle"]] """ List of toggles to be displayed and customization for the toggles """ type: Literal[ "email", "numeric", "phone", "selection", "signature", "text" ] """ The type of input to collect """ class ReaderCollectInputsParamsInputCustomText(TypedDict): description: NotRequired[str] """ The description which will be displayed when collecting this input """ skip_button: NotRequired[str] """ Custom text for the skip button. Maximum 14 characters. """ submit_button: NotRequired[str] """ Custom text for the submit button. Maximum 30 characters. """ title: str """ The title which will be displayed when collecting this input """ class ReaderCollectInputsParamsInputSelection(TypedDict): choices: List["ReaderCollectInputsParamsInputSelectionChoice"] """ List of choices for the `selection` input """ class ReaderCollectInputsParamsInputSelectionChoice(TypedDict): id: str """ The unique identifier for this choice """ style: NotRequired[Literal["primary", "secondary"]] """ The style of the button which will be shown for this choice. Can be `primary` or `secondary`. """ text: str """ The text which will be shown on the button for this choice """ class ReaderCollectInputsParamsInputToggle(TypedDict): default_value: NotRequired[Literal["disabled", "enabled"]] """ The default value of the toggle. Can be `enabled` or `disabled`. """ description: NotRequired[str] """ The description which will be displayed for the toggle. Maximum 50 characters. At least one of title or description must be provided. """ title: NotRequired[str] """ The title which will be displayed for the toggle. Maximum 50 characters. At least one of title or description must be provided. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_reader_collect_payment_method_params.py0000644000000000000000000000354715102753431024567 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ReaderCollectPaymentMethodParams(RequestOptions): collect_config: NotRequired[ "ReaderCollectPaymentMethodParamsCollectConfig" ] """ Configuration overrides for this collection, such as tipping, surcharging, and customer cancellation settings. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ payment_intent: str """ The ID of the PaymentIntent to collect a payment method for. """ class ReaderCollectPaymentMethodParamsCollectConfig(TypedDict): allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. """ enable_customer_cancellation: NotRequired[bool] """ Enables cancel button on transaction screens. """ skip_tipping: NotRequired[bool] """ Override showing a tipping selection screen on this transaction. """ tipping: NotRequired[ "ReaderCollectPaymentMethodParamsCollectConfigTipping" ] """ Tipping configuration for this transaction. """ class ReaderCollectPaymentMethodParamsCollectConfigTipping(TypedDict): amount_eligible: NotRequired[int] """ Amount used to calculate tip suggestions on tipping selection screen for this transaction. Must be a positive integer in the smallest currency unit (e.g., 100 cents to represent $1.00 or 100 to represent ¥100, a zero-decimal currency). """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_reader_confirm_payment_intent_params.py0000644000000000000000000000175715102753431024621 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class ReaderConfirmPaymentIntentParams(RequestOptions): confirm_config: NotRequired[ "ReaderConfirmPaymentIntentParamsConfirmConfig" ] """ Configuration overrides for this confirmation, such as surcharge settings and return URL. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ payment_intent: str """ The ID of the PaymentIntent to confirm. """ class ReaderConfirmPaymentIntentParamsConfirmConfig(TypedDict): return_url: NotRequired[str] """ The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_reader_create_params.py0000644000000000000000000000214115102753431021275 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class ReaderCreateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ label: NotRequired[str] """ Custom label given to the reader for easier identification. If no label is specified, the registration code will be used. """ location: NotRequired[str] """ The location to assign the reader to. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ registration_code: str """ A code generated by the reader used for registering to an account. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_reader_delete_params.py0000644000000000000000000000024715102753431021301 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class ReaderDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_reader_list_params.py0000644000000000000000000000365415102753431021017 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class ReaderListParams(RequestOptions): device_type: NotRequired[ Literal[ "bbpos_chipper2x", "bbpos_wisepad3", "bbpos_wisepos_e", "mobile_phone_reader", "simulated_stripe_s700", "simulated_wisepos_e", "stripe_m2", "stripe_s700", "verifone_P400", ] ] """ Filters readers by device type """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ location: NotRequired[str] """ A location ID to filter the response list to only readers at the specific location """ serial_number: NotRequired[str] """ Filters readers by serial number """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["offline", "online"]] """ A status filter to filter readers to only offline or online readers """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_reader_modify_params.py0000644000000000000000000000150715102753431021326 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired class ReaderModifyParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ label: NotRequired["Literal['']|str"] """ The new label of the reader. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_reader_present_payment_method_params.py0000644000000000000000000000332015102753431024607 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ReaderPresentPaymentMethodParams(RequestOptions): amount_tip: NotRequired[int] """ Simulated on-reader tip amount. """ card: NotRequired["ReaderPresentPaymentMethodParamsCard"] """ Simulated data for the card payment method. """ card_present: NotRequired["ReaderPresentPaymentMethodParamsCardPresent"] """ Simulated data for the card_present payment method. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ interac_present: NotRequired[ "ReaderPresentPaymentMethodParamsInteracPresent" ] """ Simulated data for the interac_present payment method. """ type: NotRequired[Literal["card", "card_present", "interac_present"]] """ Simulated payment type. """ class ReaderPresentPaymentMethodParamsCard(TypedDict): cvc: NotRequired[str] """ Card security code. """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Two- or four-digit number representing the card's expiration year. """ number: str """ The card number, as a string without any separators. """ class ReaderPresentPaymentMethodParamsCardPresent(TypedDict): number: NotRequired[str] """ The card number, as a string without any separators. """ class ReaderPresentPaymentMethodParamsInteracPresent(TypedDict): number: NotRequired[str] """ The Interac card number. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_reader_process_payment_intent_params.py0000644000000000000000000000416415102753431024635 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ReaderProcessPaymentIntentParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ payment_intent: str """ The ID of the PaymentIntent to process on the reader. """ process_config: NotRequired[ "ReaderProcessPaymentIntentParamsProcessConfig" ] """ Configuration overrides for this transaction, such as tipping and customer cancellation settings. """ class ReaderProcessPaymentIntentParamsProcessConfig(TypedDict): allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. """ enable_customer_cancellation: NotRequired[bool] """ Enables cancel button on transaction screens. """ return_url: NotRequired[str] """ The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. """ skip_tipping: NotRequired[bool] """ Override showing a tipping selection screen on this transaction. """ tipping: NotRequired[ "ReaderProcessPaymentIntentParamsProcessConfigTipping" ] """ Tipping configuration for this transaction. """ class ReaderProcessPaymentIntentParamsProcessConfigTipping(TypedDict): amount_eligible: NotRequired[int] """ Amount used to calculate tip suggestions on tipping selection screen for this transaction. Must be a positive integer in the smallest currency unit (e.g., 100 cents to represent $1.00 or 100 to represent ¥100, a zero-decimal currency). """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_reader_process_setup_intent_params.py0000644000000000000000000000223515102753431024315 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ReaderProcessSetupIntentParams(RequestOptions): allow_redisplay: Literal["always", "limited", "unspecified"] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ process_config: NotRequired["ReaderProcessSetupIntentParamsProcessConfig"] """ Configuration overrides for this setup, such as MOTO and customer cancellation settings. """ setup_intent: str """ The ID of the SetupIntent to process on the reader. """ class ReaderProcessSetupIntentParamsProcessConfig(TypedDict): enable_customer_cancellation: NotRequired[bool] """ Enables cancel button on transaction screens. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_reader_refund_payment_params.py0000644000000000000000000000422315102753431023055 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import NotRequired, TypedDict class ReaderRefundPaymentParams(RequestOptions): amount: NotRequired[int] """ A positive integer in __cents__ representing how much of this charge to refund. """ charge: NotRequired[str] """ ID of the Charge to refund. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ payment_intent: NotRequired[str] """ ID of the PaymentIntent to refund. """ refund_application_fee: NotRequired[bool] """ Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge. """ refund_payment_config: NotRequired[ "ReaderRefundPaymentParamsRefundPaymentConfig" ] """ Configuration overrides for this refund, such as customer cancellation settings. """ reverse_transfer: NotRequired[bool] """ Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount). A transfer can be reversed only by the application that created the charge. """ class ReaderRefundPaymentParamsRefundPaymentConfig(TypedDict): enable_customer_cancellation: NotRequired[bool] """ Enables cancel button on transaction screens. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3710623 stripe-13.2.0/stripe/params/terminal/_reader_retrieve_params.py0000644000000000000000000000052415102753431021662 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ReaderRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/terminal/_reader_set_reader_display_params.py0000644000000000000000000000321615102753431023700 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ReaderSetReaderDisplayParams(RequestOptions): cart: NotRequired["ReaderSetReaderDisplayParamsCart"] """ Cart details to display on the reader screen, including line items, amounts, and currency. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ type: Literal["cart"] """ Type of information to display. Only `cart` is currently supported. """ class ReaderSetReaderDisplayParamsCart(TypedDict): currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ line_items: List["ReaderSetReaderDisplayParamsCartLineItem"] """ Array of line items to display. """ tax: NotRequired[int] """ The amount of tax in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ total: int """ Total balance of cart due in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ class ReaderSetReaderDisplayParamsCartLineItem(TypedDict): amount: int """ The price of the item in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ description: str """ The description or name of the item. """ quantity: int """ The quantity of the line item being purchased. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/terminal/_reader_succeed_input_collection_params.py0000644000000000000000000000100015102753431025070 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class ReaderSucceedInputCollectionParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ skip_non_required_inputs: NotRequired[Literal["all", "none"]] """ This parameter defines the skip behavior for input collection. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/terminal/_reader_timeout_input_collection_params.py0000644000000000000000000000054215102753431025155 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ReaderTimeoutInputCollectionParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/terminal/_reader_update_params.py0000644000000000000000000000143215102753431021316 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class ReaderUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ label: NotRequired["Literal['']|str"] """ The new label of the reader. """ metadata: NotRequired["Literal['']|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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/__init__.py0000644000000000000000000004641115102753431017443 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.test_helpers import ( issuing as issuing, terminal as terminal, treasury as treasury, ) from stripe.params.test_helpers._confirmation_token_create_params import ( ConfirmationTokenCreateParams as ConfirmationTokenCreateParams, ConfirmationTokenCreateParamsPaymentMethodData as ConfirmationTokenCreateParamsPaymentMethodData, ConfirmationTokenCreateParamsPaymentMethodDataAcssDebit as ConfirmationTokenCreateParamsPaymentMethodDataAcssDebit, ConfirmationTokenCreateParamsPaymentMethodDataAffirm as ConfirmationTokenCreateParamsPaymentMethodDataAffirm, ConfirmationTokenCreateParamsPaymentMethodDataAfterpayClearpay as ConfirmationTokenCreateParamsPaymentMethodDataAfterpayClearpay, ConfirmationTokenCreateParamsPaymentMethodDataAlipay as ConfirmationTokenCreateParamsPaymentMethodDataAlipay, ConfirmationTokenCreateParamsPaymentMethodDataAlma as ConfirmationTokenCreateParamsPaymentMethodDataAlma, ConfirmationTokenCreateParamsPaymentMethodDataAmazonPay as ConfirmationTokenCreateParamsPaymentMethodDataAmazonPay, ConfirmationTokenCreateParamsPaymentMethodDataAuBecsDebit as ConfirmationTokenCreateParamsPaymentMethodDataAuBecsDebit, ConfirmationTokenCreateParamsPaymentMethodDataBacsDebit as ConfirmationTokenCreateParamsPaymentMethodDataBacsDebit, ConfirmationTokenCreateParamsPaymentMethodDataBancontact as ConfirmationTokenCreateParamsPaymentMethodDataBancontact, ConfirmationTokenCreateParamsPaymentMethodDataBillie as ConfirmationTokenCreateParamsPaymentMethodDataBillie, ConfirmationTokenCreateParamsPaymentMethodDataBillingDetails as ConfirmationTokenCreateParamsPaymentMethodDataBillingDetails, ConfirmationTokenCreateParamsPaymentMethodDataBillingDetailsAddress as ConfirmationTokenCreateParamsPaymentMethodDataBillingDetailsAddress, ConfirmationTokenCreateParamsPaymentMethodDataBlik as ConfirmationTokenCreateParamsPaymentMethodDataBlik, ConfirmationTokenCreateParamsPaymentMethodDataBoleto as ConfirmationTokenCreateParamsPaymentMethodDataBoleto, ConfirmationTokenCreateParamsPaymentMethodDataCashapp as ConfirmationTokenCreateParamsPaymentMethodDataCashapp, ConfirmationTokenCreateParamsPaymentMethodDataCrypto as ConfirmationTokenCreateParamsPaymentMethodDataCrypto, ConfirmationTokenCreateParamsPaymentMethodDataCustomerBalance as ConfirmationTokenCreateParamsPaymentMethodDataCustomerBalance, ConfirmationTokenCreateParamsPaymentMethodDataEps as ConfirmationTokenCreateParamsPaymentMethodDataEps, ConfirmationTokenCreateParamsPaymentMethodDataFpx as ConfirmationTokenCreateParamsPaymentMethodDataFpx, ConfirmationTokenCreateParamsPaymentMethodDataGiropay as ConfirmationTokenCreateParamsPaymentMethodDataGiropay, ConfirmationTokenCreateParamsPaymentMethodDataGrabpay as ConfirmationTokenCreateParamsPaymentMethodDataGrabpay, ConfirmationTokenCreateParamsPaymentMethodDataIdeal as ConfirmationTokenCreateParamsPaymentMethodDataIdeal, ConfirmationTokenCreateParamsPaymentMethodDataInteracPresent as ConfirmationTokenCreateParamsPaymentMethodDataInteracPresent, ConfirmationTokenCreateParamsPaymentMethodDataKakaoPay as ConfirmationTokenCreateParamsPaymentMethodDataKakaoPay, ConfirmationTokenCreateParamsPaymentMethodDataKlarna as ConfirmationTokenCreateParamsPaymentMethodDataKlarna, ConfirmationTokenCreateParamsPaymentMethodDataKlarnaDob as ConfirmationTokenCreateParamsPaymentMethodDataKlarnaDob, ConfirmationTokenCreateParamsPaymentMethodDataKonbini as ConfirmationTokenCreateParamsPaymentMethodDataKonbini, ConfirmationTokenCreateParamsPaymentMethodDataKrCard as ConfirmationTokenCreateParamsPaymentMethodDataKrCard, ConfirmationTokenCreateParamsPaymentMethodDataLink as ConfirmationTokenCreateParamsPaymentMethodDataLink, ConfirmationTokenCreateParamsPaymentMethodDataMbWay as ConfirmationTokenCreateParamsPaymentMethodDataMbWay, ConfirmationTokenCreateParamsPaymentMethodDataMobilepay as ConfirmationTokenCreateParamsPaymentMethodDataMobilepay, ConfirmationTokenCreateParamsPaymentMethodDataMultibanco as ConfirmationTokenCreateParamsPaymentMethodDataMultibanco, ConfirmationTokenCreateParamsPaymentMethodDataNaverPay as ConfirmationTokenCreateParamsPaymentMethodDataNaverPay, ConfirmationTokenCreateParamsPaymentMethodDataNzBankAccount as ConfirmationTokenCreateParamsPaymentMethodDataNzBankAccount, ConfirmationTokenCreateParamsPaymentMethodDataOxxo as ConfirmationTokenCreateParamsPaymentMethodDataOxxo, ConfirmationTokenCreateParamsPaymentMethodDataP24 as ConfirmationTokenCreateParamsPaymentMethodDataP24, ConfirmationTokenCreateParamsPaymentMethodDataPayByBank as ConfirmationTokenCreateParamsPaymentMethodDataPayByBank, ConfirmationTokenCreateParamsPaymentMethodDataPayco as ConfirmationTokenCreateParamsPaymentMethodDataPayco, ConfirmationTokenCreateParamsPaymentMethodDataPaynow as ConfirmationTokenCreateParamsPaymentMethodDataPaynow, ConfirmationTokenCreateParamsPaymentMethodDataPaypal as ConfirmationTokenCreateParamsPaymentMethodDataPaypal, ConfirmationTokenCreateParamsPaymentMethodDataPix as ConfirmationTokenCreateParamsPaymentMethodDataPix, ConfirmationTokenCreateParamsPaymentMethodDataPromptpay as ConfirmationTokenCreateParamsPaymentMethodDataPromptpay, ConfirmationTokenCreateParamsPaymentMethodDataRadarOptions as ConfirmationTokenCreateParamsPaymentMethodDataRadarOptions, ConfirmationTokenCreateParamsPaymentMethodDataRevolutPay as ConfirmationTokenCreateParamsPaymentMethodDataRevolutPay, ConfirmationTokenCreateParamsPaymentMethodDataSamsungPay as ConfirmationTokenCreateParamsPaymentMethodDataSamsungPay, ConfirmationTokenCreateParamsPaymentMethodDataSatispay as ConfirmationTokenCreateParamsPaymentMethodDataSatispay, ConfirmationTokenCreateParamsPaymentMethodDataSepaDebit as ConfirmationTokenCreateParamsPaymentMethodDataSepaDebit, ConfirmationTokenCreateParamsPaymentMethodDataSofort as ConfirmationTokenCreateParamsPaymentMethodDataSofort, ConfirmationTokenCreateParamsPaymentMethodDataSwish as ConfirmationTokenCreateParamsPaymentMethodDataSwish, ConfirmationTokenCreateParamsPaymentMethodDataTwint as ConfirmationTokenCreateParamsPaymentMethodDataTwint, ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount as ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount, ConfirmationTokenCreateParamsPaymentMethodDataWechatPay as ConfirmationTokenCreateParamsPaymentMethodDataWechatPay, ConfirmationTokenCreateParamsPaymentMethodDataZip as ConfirmationTokenCreateParamsPaymentMethodDataZip, ConfirmationTokenCreateParamsPaymentMethodOptions as ConfirmationTokenCreateParamsPaymentMethodOptions, ConfirmationTokenCreateParamsPaymentMethodOptionsCard as ConfirmationTokenCreateParamsPaymentMethodOptionsCard, ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallments as ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallments, ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallmentsPlan as ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallmentsPlan, ConfirmationTokenCreateParamsShipping as ConfirmationTokenCreateParamsShipping, ConfirmationTokenCreateParamsShippingAddress as ConfirmationTokenCreateParamsShippingAddress, ) from stripe.params.test_helpers._customer_fund_cash_balance_params import ( CustomerFundCashBalanceParams as CustomerFundCashBalanceParams, ) from stripe.params.test_helpers._refund_expire_params import ( RefundExpireParams as RefundExpireParams, ) from stripe.params.test_helpers._test_clock_advance_params import ( TestClockAdvanceParams as TestClockAdvanceParams, ) from stripe.params.test_helpers._test_clock_create_params import ( TestClockCreateParams as TestClockCreateParams, ) from stripe.params.test_helpers._test_clock_delete_params import ( TestClockDeleteParams as TestClockDeleteParams, ) from stripe.params.test_helpers._test_clock_list_params import ( TestClockListParams as TestClockListParams, ) from stripe.params.test_helpers._test_clock_retrieve_params import ( TestClockRetrieveParams as TestClockRetrieveParams, ) # name -> (import_target, is_submodule) _import_map = { "issuing": ("stripe.params.test_helpers.issuing", True), "terminal": ("stripe.params.test_helpers.terminal", True), "treasury": ("stripe.params.test_helpers.treasury", True), "ConfirmationTokenCreateParams": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodData": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataAcssDebit": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataAffirm": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataAfterpayClearpay": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataAlipay": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataAlma": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataAmazonPay": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataAuBecsDebit": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataBacsDebit": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataBancontact": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataBillie": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataBillingDetails": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataBillingDetailsAddress": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataBlik": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataBoleto": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataCashapp": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataCrypto": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataCustomerBalance": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataEps": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataFpx": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataGiropay": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataGrabpay": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataIdeal": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataInteracPresent": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataKakaoPay": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataKlarna": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataKlarnaDob": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataKonbini": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataKrCard": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataLink": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataMbWay": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataMobilepay": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataMultibanco": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataNaverPay": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataNzBankAccount": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataOxxo": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataP24": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataPayByBank": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataPayco": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataPaynow": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataPaypal": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataPix": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataPromptpay": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataRadarOptions": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataRevolutPay": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataSamsungPay": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataSatispay": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataSepaDebit": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataSofort": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataSwish": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataTwint": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataWechatPay": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodDataZip": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodOptions": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodOptionsCard": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallments": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallmentsPlan": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsShipping": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "ConfirmationTokenCreateParamsShippingAddress": ( "stripe.params.test_helpers._confirmation_token_create_params", False, ), "CustomerFundCashBalanceParams": ( "stripe.params.test_helpers._customer_fund_cash_balance_params", False, ), "RefundExpireParams": ( "stripe.params.test_helpers._refund_expire_params", False, ), "TestClockAdvanceParams": ( "stripe.params.test_helpers._test_clock_advance_params", False, ), "TestClockCreateParams": ( "stripe.params.test_helpers._test_clock_create_params", False, ), "TestClockDeleteParams": ( "stripe.params.test_helpers._test_clock_delete_params", False, ), "TestClockListParams": ( "stripe.params.test_helpers._test_clock_list_params", False, ), "TestClockRetrieveParams": ( "stripe.params.test_helpers._test_clock_retrieve_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/_confirmation_token_create_params.py0000644000000000000000000006753115102753431024627 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class ConfirmationTokenCreateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ payment_method: NotRequired[str] """ ID of an existing PaymentMethod. """ payment_method_data: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodData" ] """ If provided, this hash will be used to create a PaymentMethod. """ payment_method_options: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodOptions" ] """ Payment-method-specific configuration for this ConfirmationToken. """ return_url: NotRequired[str] """ Return URL used to confirm the Intent. """ setup_future_usage: NotRequired[Literal["off_session", "on_session"]] """ Indicates that you intend to make future payments with this ConfirmationToken's payment method. The presence of this property will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. """ shipping: NotRequired["ConfirmationTokenCreateParamsShipping"] """ Shipping information for this ConfirmationToken. """ class ConfirmationTokenCreateParamsPaymentMethodData(TypedDict): acss_debit: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataAcssDebit" ] """ If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method. """ affirm: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataAffirm"] """ If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method. """ afterpay_clearpay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataAfterpayClearpay" ] """ If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method. """ alipay: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataAlipay"] """ If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method. """ allow_redisplay: NotRequired[Literal["always", "limited", "unspecified"]] """ This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`. """ alma: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataAlma"] """ If this is a Alma PaymentMethod, this hash contains details about the Alma payment method. """ amazon_pay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataAmazonPay" ] """ If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method. """ au_becs_debit: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataAuBecsDebit" ] """ If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account. """ bacs_debit: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataBacsDebit" ] """ If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account. """ bancontact: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataBancontact" ] """ If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method. """ billie: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataBillie"] """ If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method. """ billing_details: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataBillingDetails" ] """ Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. """ blik: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataBlik"] """ If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method. """ boleto: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataBoleto"] """ If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method. """ cashapp: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataCashapp" ] """ If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method. """ crypto: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataCrypto"] """ If this is a Crypto PaymentMethod, this hash contains details about the Crypto payment method. """ customer_balance: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataCustomerBalance" ] """ If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method. """ eps: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataEps"] """ If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method. """ fpx: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataFpx"] """ If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method. """ giropay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataGiropay" ] """ If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method. """ grabpay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataGrabpay" ] """ If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method. """ ideal: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataIdeal"] """ If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method. """ interac_present: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataInteracPresent" ] """ If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method. """ kakao_pay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataKakaoPay" ] """ If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method. """ klarna: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataKlarna"] """ If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method. """ konbini: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataKonbini" ] """ If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method. """ kr_card: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataKrCard" ] """ If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method. """ link: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataLink"] """ If this is an `Link` PaymentMethod, this hash contains details about the Link payment method. """ mb_way: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataMbWay"] """ If this is a MB WAY PaymentMethod, this hash contains details about the MB WAY payment method. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ mobilepay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataMobilepay" ] """ If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method. """ multibanco: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataMultibanco" ] """ If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method. """ naver_pay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataNaverPay" ] """ If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method. """ nz_bank_account: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataNzBankAccount" ] """ If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method. """ oxxo: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataOxxo"] """ If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method. """ p24: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataP24"] """ If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method. """ pay_by_bank: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataPayByBank" ] """ If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method. """ payco: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataPayco"] """ If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method. """ paynow: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataPaynow"] """ If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method. """ paypal: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataPaypal"] """ If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method. """ pix: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataPix"] """ If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method. """ promptpay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataPromptpay" ] """ If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method. """ radar_options: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataRadarOptions" ] """ Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information. """ revolut_pay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataRevolutPay" ] """ If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method. """ samsung_pay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataSamsungPay" ] """ If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method. """ satispay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataSatispay" ] """ If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method. """ sepa_debit: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataSepaDebit" ] """ If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account. """ sofort: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataSofort"] """ If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method. """ swish: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataSwish"] """ If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method. """ twint: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataTwint"] """ If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method. """ type: Literal[ "acss_debit", "affirm", "afterpay_clearpay", "alipay", "alma", "amazon_pay", "au_becs_debit", "bacs_debit", "bancontact", "billie", "blik", "boleto", "cashapp", "crypto", "customer_balance", "eps", "fpx", "giropay", "grabpay", "ideal", "kakao_pay", "klarna", "konbini", "kr_card", "link", "mb_way", "mobilepay", "multibanco", "naver_pay", "nz_bank_account", "oxxo", "p24", "pay_by_bank", "payco", "paynow", "paypal", "pix", "promptpay", "revolut_pay", "samsung_pay", "satispay", "sepa_debit", "sofort", "swish", "twint", "us_bank_account", "wechat_pay", "zip", ] """ 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. """ us_bank_account: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount" ] """ If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method. """ wechat_pay: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodDataWechatPay" ] """ If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method. """ zip: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataZip"] """ If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method. """ class ConfirmationTokenCreateParamsPaymentMethodDataAcssDebit(TypedDict): account_number: str """ Customer's bank account number. """ institution_number: str """ Institution number of the customer's bank. """ transit_number: str """ Transit number of the customer's bank. """ class ConfirmationTokenCreateParamsPaymentMethodDataAffirm(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataAfterpayClearpay( TypedDict ): pass class ConfirmationTokenCreateParamsPaymentMethodDataAlipay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataAlma(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataAmazonPay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataAuBecsDebit(TypedDict): account_number: str """ The account number for the bank account. """ bsb_number: str """ Bank-State-Branch number of the bank account. """ class ConfirmationTokenCreateParamsPaymentMethodDataBacsDebit(TypedDict): account_number: NotRequired[str] """ Account number of the bank account that the funds will be debited from. """ sort_code: NotRequired[str] """ Sort code of the bank account. (e.g., `10-20-30`) """ class ConfirmationTokenCreateParamsPaymentMethodDataBancontact(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataBillie(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataBillingDetails(TypedDict): address: NotRequired[ "Literal['']|ConfirmationTokenCreateParamsPaymentMethodDataBillingDetailsAddress" ] """ Billing address. """ email: NotRequired["Literal['']|str"] """ Email address. """ name: NotRequired["Literal['']|str"] """ Full name. """ phone: NotRequired["Literal['']|str"] """ Billing phone number (including extension). """ tax_id: NotRequired[str] """ Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers. """ class ConfirmationTokenCreateParamsPaymentMethodDataBillingDetailsAddress( TypedDict, ): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class ConfirmationTokenCreateParamsPaymentMethodDataBlik(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataBoleto(TypedDict): tax_id: str """ The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers) """ class ConfirmationTokenCreateParamsPaymentMethodDataCashapp(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataCrypto(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataCustomerBalance(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataEps(TypedDict): bank: NotRequired[ Literal[ "arzte_und_apotheker_bank", "austrian_anadi_bank_ag", "bank_austria", "bankhaus_carl_spangler", "bankhaus_schelhammer_und_schattera_ag", "bawag_psk_ag", "bks_bank_ag", "brull_kallmus_bank_ag", "btv_vier_lander_bank", "capital_bank_grawe_gruppe_ag", "deutsche_bank_ag", "dolomitenbank", "easybank_ag", "erste_bank_und_sparkassen", "hypo_alpeadriabank_international_ag", "hypo_bank_burgenland_aktiengesellschaft", "hypo_noe_lb_fur_niederosterreich_u_wien", "hypo_oberosterreich_salzburg_steiermark", "hypo_tirol_bank_ag", "hypo_vorarlberg_bank_ag", "marchfelder_bank", "oberbank_ag", "raiffeisen_bankengruppe_osterreich", "schoellerbank_ag", "sparda_bank_wien", "volksbank_gruppe", "volkskreditbank_ag", "vr_bank_braunau", ] ] """ The customer's bank. """ class ConfirmationTokenCreateParamsPaymentMethodDataFpx(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type for FPX transaction """ bank: Literal[ "affin_bank", "agrobank", "alliance_bank", "ambank", "bank_islam", "bank_muamalat", "bank_of_china", "bank_rakyat", "bsn", "cimb", "deutsche_bank", "hong_leong_bank", "hsbc", "kfh", "maybank2e", "maybank2u", "ocbc", "pb_enterprise", "public_bank", "rhb", "standard_chartered", "uob", ] """ The customer's bank. """ class ConfirmationTokenCreateParamsPaymentMethodDataGiropay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataGrabpay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataIdeal(TypedDict): bank: NotRequired[ Literal[ "abn_amro", "asn_bank", "bunq", "buut", "handelsbanken", "ing", "knab", "moneyou", "n26", "nn", "rabobank", "regiobank", "revolut", "sns_bank", "triodos_bank", "van_lanschot", "yoursafe", ] ] """ The customer's bank. Only use this parameter for existing customers. Don't use it for new customers. """ class ConfirmationTokenCreateParamsPaymentMethodDataInteracPresent(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataKakaoPay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataKlarna(TypedDict): dob: NotRequired["ConfirmationTokenCreateParamsPaymentMethodDataKlarnaDob"] """ Customer's date of birth """ class ConfirmationTokenCreateParamsPaymentMethodDataKlarnaDob(TypedDict): day: int """ The day of birth, between 1 and 31. """ month: int """ The month of birth, between 1 and 12. """ year: int """ The four-digit year of birth. """ class ConfirmationTokenCreateParamsPaymentMethodDataKonbini(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataKrCard(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataLink(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataMbWay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataMobilepay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataMultibanco(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataNaverPay(TypedDict): funding: NotRequired[Literal["card", "points"]] """ Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`. """ class ConfirmationTokenCreateParamsPaymentMethodDataNzBankAccount(TypedDict): account_holder_name: NotRequired[str] """ The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod's billing details. """ account_number: str """ The account number for the bank account. """ bank_code: str """ The numeric code for the bank account's bank. """ branch_code: str """ The numeric code for the bank account's bank branch. """ reference: NotRequired[str] suffix: str """ The suffix of the bank account number. """ class ConfirmationTokenCreateParamsPaymentMethodDataOxxo(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataP24(TypedDict): bank: NotRequired[ Literal[ "alior_bank", "bank_millennium", "bank_nowy_bfg_sa", "bank_pekao_sa", "banki_spbdzielcze", "blik", "bnp_paribas", "boz", "citi_handlowy", "credit_agricole", "envelobank", "etransfer_pocztowy24", "getin_bank", "ideabank", "ing", "inteligo", "mbank_mtransfer", "nest_przelew", "noble_pay", "pbac_z_ipko", "plus_bank", "santander_przelew24", "tmobile_usbugi_bankowe", "toyota_bank", "velobank", "volkswagen_bank", ] ] """ The customer's bank. """ class ConfirmationTokenCreateParamsPaymentMethodDataPayByBank(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataPayco(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataPaynow(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataPaypal(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataPix(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataPromptpay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataRadarOptions(TypedDict): session: NotRequired[str] """ 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. """ class ConfirmationTokenCreateParamsPaymentMethodDataRevolutPay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataSamsungPay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataSatispay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataSepaDebit(TypedDict): iban: str """ IBAN of the bank account. """ class ConfirmationTokenCreateParamsPaymentMethodDataSofort(TypedDict): country: Literal["AT", "BE", "DE", "ES", "IT", "NL"] """ Two-letter ISO code representing the country the bank account is located in. """ class ConfirmationTokenCreateParamsPaymentMethodDataSwish(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataTwint(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataUsBankAccount(TypedDict): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_number: NotRequired[str] """ Account number of the bank account. """ account_type: NotRequired[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. """ routing_number: NotRequired[str] """ Routing number of the bank account. """ class ConfirmationTokenCreateParamsPaymentMethodDataWechatPay(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodDataZip(TypedDict): pass class ConfirmationTokenCreateParamsPaymentMethodOptions(TypedDict): card: NotRequired["ConfirmationTokenCreateParamsPaymentMethodOptionsCard"] """ Configuration for any card payments confirmed using this ConfirmationToken. """ class ConfirmationTokenCreateParamsPaymentMethodOptionsCard(TypedDict): installments: NotRequired[ "ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallments" ] """ Installment configuration for payments confirmed using this ConfirmationToken. """ class ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallments( TypedDict, ): plan: ( "ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallmentsPlan" ) """ The selected installment plan to use for this payment attempt. This parameter can only be provided during confirmation. """ class ConfirmationTokenCreateParamsPaymentMethodOptionsCardInstallmentsPlan( TypedDict, ): count: NotRequired[int] """ For `fixed_count` installment plans, this is required. It represents the number of installment payments your customer will make to their credit card. """ interval: NotRequired[Literal["month"]] """ For `fixed_count` installment plans, this is required. It represents the interval between installment payments your customer will make to their credit card. One of `month`. """ type: Literal["bonus", "fixed_count", "revolving"] """ Type of installment plan, one of `fixed_count`, `bonus`, or `revolving`. """ class ConfirmationTokenCreateParamsShipping(TypedDict): address: "ConfirmationTokenCreateParamsShippingAddress" """ Shipping address """ name: str """ Recipient name. """ phone: NotRequired["Literal['']|str"] """ Recipient phone (including extension) """ class ConfirmationTokenCreateParamsShippingAddress(TypedDict): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/_customer_fund_cash_balance_params.py0000644000000000000000000000222315102753431024717 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CustomerFundCashBalanceParams(TypedDict): amount: int """ Amount to be used for this test cash balance transaction. A positive integer representing how much to fund in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to fund $1.00 or 100 to fund ¥100, a zero-decimal currency). """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ reference: NotRequired[str] """ A description of the test funding. This simulates free-text references supplied by customers when making bank transfers to their cash balance. You can use this to test how Stripe's [reconciliation algorithm](https://stripe.com/docs/payments/customer-balance/reconciliation) applies to different user inputs. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/_refund_expire_params.py0000644000000000000000000000044515102753431022242 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class RefundExpireParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/_test_clock_advance_params.py0000644000000000000000000000123415102753431023213 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TestClockAdvanceParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ frozen_time: int """ The time to advance the test clock. Must be after the test clock's current frozen time. Cannot be more than two intervals in the future from the shortest subscription in this test clock. If there are no subscriptions in this test clock, it cannot be more than two years in the future. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/_test_clock_create_params.py0000644000000000000000000000077015102753431023061 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TestClockCreateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ frozen_time: int """ The initial frozen time for this test clock. """ name: NotRequired[str] """ The name for this test clock. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/_test_clock_delete_params.py0000644000000000000000000000025215102753431023053 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions class TestClockDeleteParams(RequestOptions): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/_test_clock_list_params.py0000644000000000000000000000225715102753431022573 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TestClockListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/_test_clock_retrieve_params.py0000644000000000000000000000052715102753431023443 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TestClockRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/issuing/__init__.py0000644000000000000000000005724415102753431021132 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.test_helpers.issuing._authorization_capture_params import ( AuthorizationCaptureParams as AuthorizationCaptureParams, AuthorizationCaptureParamsPurchaseDetails as AuthorizationCaptureParamsPurchaseDetails, AuthorizationCaptureParamsPurchaseDetailsFleet as AuthorizationCaptureParamsPurchaseDetailsFleet, AuthorizationCaptureParamsPurchaseDetailsFleetCardholderPromptData as AuthorizationCaptureParamsPurchaseDetailsFleetCardholderPromptData, AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdown as AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdown, AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel as AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel, AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel as AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel, AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownTax as AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownTax, AuthorizationCaptureParamsPurchaseDetailsFlight as AuthorizationCaptureParamsPurchaseDetailsFlight, AuthorizationCaptureParamsPurchaseDetailsFlightSegment as AuthorizationCaptureParamsPurchaseDetailsFlightSegment, AuthorizationCaptureParamsPurchaseDetailsFuel as AuthorizationCaptureParamsPurchaseDetailsFuel, AuthorizationCaptureParamsPurchaseDetailsLodging as AuthorizationCaptureParamsPurchaseDetailsLodging, AuthorizationCaptureParamsPurchaseDetailsReceipt as AuthorizationCaptureParamsPurchaseDetailsReceipt, ) from stripe.params.test_helpers.issuing._authorization_create_params import ( AuthorizationCreateParams as AuthorizationCreateParams, AuthorizationCreateParamsAmountDetails as AuthorizationCreateParamsAmountDetails, AuthorizationCreateParamsFleet as AuthorizationCreateParamsFleet, AuthorizationCreateParamsFleetCardholderPromptData as AuthorizationCreateParamsFleetCardholderPromptData, AuthorizationCreateParamsFleetReportedBreakdown as AuthorizationCreateParamsFleetReportedBreakdown, AuthorizationCreateParamsFleetReportedBreakdownFuel as AuthorizationCreateParamsFleetReportedBreakdownFuel, AuthorizationCreateParamsFleetReportedBreakdownNonFuel as AuthorizationCreateParamsFleetReportedBreakdownNonFuel, AuthorizationCreateParamsFleetReportedBreakdownTax as AuthorizationCreateParamsFleetReportedBreakdownTax, AuthorizationCreateParamsFuel as AuthorizationCreateParamsFuel, AuthorizationCreateParamsMerchantData as AuthorizationCreateParamsMerchantData, AuthorizationCreateParamsNetworkData as AuthorizationCreateParamsNetworkData, AuthorizationCreateParamsRiskAssessment as AuthorizationCreateParamsRiskAssessment, AuthorizationCreateParamsRiskAssessmentCardTestingRisk as AuthorizationCreateParamsRiskAssessmentCardTestingRisk, AuthorizationCreateParamsRiskAssessmentMerchantDisputeRisk as AuthorizationCreateParamsRiskAssessmentMerchantDisputeRisk, AuthorizationCreateParamsVerificationData as AuthorizationCreateParamsVerificationData, AuthorizationCreateParamsVerificationDataAuthenticationExemption as AuthorizationCreateParamsVerificationDataAuthenticationExemption, AuthorizationCreateParamsVerificationDataThreeDSecure as AuthorizationCreateParamsVerificationDataThreeDSecure, ) from stripe.params.test_helpers.issuing._authorization_expire_params import ( AuthorizationExpireParams as AuthorizationExpireParams, ) from stripe.params.test_helpers.issuing._authorization_finalize_amount_params import ( AuthorizationFinalizeAmountParams as AuthorizationFinalizeAmountParams, AuthorizationFinalizeAmountParamsFleet as AuthorizationFinalizeAmountParamsFleet, AuthorizationFinalizeAmountParamsFleetCardholderPromptData as AuthorizationFinalizeAmountParamsFleetCardholderPromptData, AuthorizationFinalizeAmountParamsFleetReportedBreakdown as AuthorizationFinalizeAmountParamsFleetReportedBreakdown, AuthorizationFinalizeAmountParamsFleetReportedBreakdownFuel as AuthorizationFinalizeAmountParamsFleetReportedBreakdownFuel, AuthorizationFinalizeAmountParamsFleetReportedBreakdownNonFuel as AuthorizationFinalizeAmountParamsFleetReportedBreakdownNonFuel, AuthorizationFinalizeAmountParamsFleetReportedBreakdownTax as AuthorizationFinalizeAmountParamsFleetReportedBreakdownTax, AuthorizationFinalizeAmountParamsFuel as AuthorizationFinalizeAmountParamsFuel, ) from stripe.params.test_helpers.issuing._authorization_increment_params import ( AuthorizationIncrementParams as AuthorizationIncrementParams, ) from stripe.params.test_helpers.issuing._authorization_respond_params import ( AuthorizationRespondParams as AuthorizationRespondParams, ) from stripe.params.test_helpers.issuing._authorization_reverse_params import ( AuthorizationReverseParams as AuthorizationReverseParams, ) from stripe.params.test_helpers.issuing._card_deliver_card_params import ( CardDeliverCardParams as CardDeliverCardParams, ) from stripe.params.test_helpers.issuing._card_fail_card_params import ( CardFailCardParams as CardFailCardParams, ) from stripe.params.test_helpers.issuing._card_return_card_params import ( CardReturnCardParams as CardReturnCardParams, ) from stripe.params.test_helpers.issuing._card_ship_card_params import ( CardShipCardParams as CardShipCardParams, ) from stripe.params.test_helpers.issuing._card_submit_card_params import ( CardSubmitCardParams as CardSubmitCardParams, ) from stripe.params.test_helpers.issuing._personalization_design_activate_params import ( PersonalizationDesignActivateParams as PersonalizationDesignActivateParams, ) from stripe.params.test_helpers.issuing._personalization_design_deactivate_params import ( PersonalizationDesignDeactivateParams as PersonalizationDesignDeactivateParams, ) from stripe.params.test_helpers.issuing._personalization_design_reject_params import ( PersonalizationDesignRejectParams as PersonalizationDesignRejectParams, PersonalizationDesignRejectParamsRejectionReasons as PersonalizationDesignRejectParamsRejectionReasons, ) from stripe.params.test_helpers.issuing._transaction_create_force_capture_params import ( TransactionCreateForceCaptureParams as TransactionCreateForceCaptureParams, TransactionCreateForceCaptureParamsMerchantData as TransactionCreateForceCaptureParamsMerchantData, TransactionCreateForceCaptureParamsPurchaseDetails as TransactionCreateForceCaptureParamsPurchaseDetails, TransactionCreateForceCaptureParamsPurchaseDetailsFleet as TransactionCreateForceCaptureParamsPurchaseDetailsFleet, TransactionCreateForceCaptureParamsPurchaseDetailsFleetCardholderPromptData as TransactionCreateForceCaptureParamsPurchaseDetailsFleetCardholderPromptData, TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdown as TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdown, TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel as TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel, TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel as TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel, TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownTax as TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownTax, TransactionCreateForceCaptureParamsPurchaseDetailsFlight as TransactionCreateForceCaptureParamsPurchaseDetailsFlight, TransactionCreateForceCaptureParamsPurchaseDetailsFlightSegment as TransactionCreateForceCaptureParamsPurchaseDetailsFlightSegment, TransactionCreateForceCaptureParamsPurchaseDetailsFuel as TransactionCreateForceCaptureParamsPurchaseDetailsFuel, TransactionCreateForceCaptureParamsPurchaseDetailsLodging as TransactionCreateForceCaptureParamsPurchaseDetailsLodging, TransactionCreateForceCaptureParamsPurchaseDetailsReceipt as TransactionCreateForceCaptureParamsPurchaseDetailsReceipt, ) from stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params import ( TransactionCreateUnlinkedRefundParams as TransactionCreateUnlinkedRefundParams, TransactionCreateUnlinkedRefundParamsMerchantData as TransactionCreateUnlinkedRefundParamsMerchantData, TransactionCreateUnlinkedRefundParamsPurchaseDetails as TransactionCreateUnlinkedRefundParamsPurchaseDetails, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleet as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleet, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetCardholderPromptData as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetCardholderPromptData, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdown as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdown, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownFuel as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownFuel, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownNonFuel as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownNonFuel, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownTax as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownTax, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlight as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlight, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlightSegment as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlightSegment, TransactionCreateUnlinkedRefundParamsPurchaseDetailsFuel as TransactionCreateUnlinkedRefundParamsPurchaseDetailsFuel, TransactionCreateUnlinkedRefundParamsPurchaseDetailsLodging as TransactionCreateUnlinkedRefundParamsPurchaseDetailsLodging, TransactionCreateUnlinkedRefundParamsPurchaseDetailsReceipt as TransactionCreateUnlinkedRefundParamsPurchaseDetailsReceipt, ) from stripe.params.test_helpers.issuing._transaction_refund_params import ( TransactionRefundParams as TransactionRefundParams, ) # name -> (import_target, is_submodule) _import_map = { "AuthorizationCaptureParams": ( "stripe.params.test_helpers.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetails": ( "stripe.params.test_helpers.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFleet": ( "stripe.params.test_helpers.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFleetCardholderPromptData": ( "stripe.params.test_helpers.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdown": ( "stripe.params.test_helpers.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel": ( "stripe.params.test_helpers.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel": ( "stripe.params.test_helpers.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownTax": ( "stripe.params.test_helpers.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFlight": ( "stripe.params.test_helpers.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFlightSegment": ( "stripe.params.test_helpers.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsFuel": ( "stripe.params.test_helpers.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsLodging": ( "stripe.params.test_helpers.issuing._authorization_capture_params", False, ), "AuthorizationCaptureParamsPurchaseDetailsReceipt": ( "stripe.params.test_helpers.issuing._authorization_capture_params", False, ), "AuthorizationCreateParams": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsAmountDetails": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsFleet": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsFleetCardholderPromptData": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsFleetReportedBreakdown": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsFleetReportedBreakdownFuel": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsFleetReportedBreakdownNonFuel": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsFleetReportedBreakdownTax": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsFuel": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsMerchantData": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsNetworkData": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsRiskAssessment": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsRiskAssessmentCardTestingRisk": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsRiskAssessmentMerchantDisputeRisk": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsVerificationData": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsVerificationDataAuthenticationExemption": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationCreateParamsVerificationDataThreeDSecure": ( "stripe.params.test_helpers.issuing._authorization_create_params", False, ), "AuthorizationExpireParams": ( "stripe.params.test_helpers.issuing._authorization_expire_params", False, ), "AuthorizationFinalizeAmountParams": ( "stripe.params.test_helpers.issuing._authorization_finalize_amount_params", False, ), "AuthorizationFinalizeAmountParamsFleet": ( "stripe.params.test_helpers.issuing._authorization_finalize_amount_params", False, ), "AuthorizationFinalizeAmountParamsFleetCardholderPromptData": ( "stripe.params.test_helpers.issuing._authorization_finalize_amount_params", False, ), "AuthorizationFinalizeAmountParamsFleetReportedBreakdown": ( "stripe.params.test_helpers.issuing._authorization_finalize_amount_params", False, ), "AuthorizationFinalizeAmountParamsFleetReportedBreakdownFuel": ( "stripe.params.test_helpers.issuing._authorization_finalize_amount_params", False, ), "AuthorizationFinalizeAmountParamsFleetReportedBreakdownNonFuel": ( "stripe.params.test_helpers.issuing._authorization_finalize_amount_params", False, ), "AuthorizationFinalizeAmountParamsFleetReportedBreakdownTax": ( "stripe.params.test_helpers.issuing._authorization_finalize_amount_params", False, ), "AuthorizationFinalizeAmountParamsFuel": ( "stripe.params.test_helpers.issuing._authorization_finalize_amount_params", False, ), "AuthorizationIncrementParams": ( "stripe.params.test_helpers.issuing._authorization_increment_params", False, ), "AuthorizationRespondParams": ( "stripe.params.test_helpers.issuing._authorization_respond_params", False, ), "AuthorizationReverseParams": ( "stripe.params.test_helpers.issuing._authorization_reverse_params", False, ), "CardDeliverCardParams": ( "stripe.params.test_helpers.issuing._card_deliver_card_params", False, ), "CardFailCardParams": ( "stripe.params.test_helpers.issuing._card_fail_card_params", False, ), "CardReturnCardParams": ( "stripe.params.test_helpers.issuing._card_return_card_params", False, ), "CardShipCardParams": ( "stripe.params.test_helpers.issuing._card_ship_card_params", False, ), "CardSubmitCardParams": ( "stripe.params.test_helpers.issuing._card_submit_card_params", False, ), "PersonalizationDesignActivateParams": ( "stripe.params.test_helpers.issuing._personalization_design_activate_params", False, ), "PersonalizationDesignDeactivateParams": ( "stripe.params.test_helpers.issuing._personalization_design_deactivate_params", False, ), "PersonalizationDesignRejectParams": ( "stripe.params.test_helpers.issuing._personalization_design_reject_params", False, ), "PersonalizationDesignRejectParamsRejectionReasons": ( "stripe.params.test_helpers.issuing._personalization_design_reject_params", False, ), "TransactionCreateForceCaptureParams": ( "stripe.params.test_helpers.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsMerchantData": ( "stripe.params.test_helpers.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetails": ( "stripe.params.test_helpers.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFleet": ( "stripe.params.test_helpers.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFleetCardholderPromptData": ( "stripe.params.test_helpers.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdown": ( "stripe.params.test_helpers.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel": ( "stripe.params.test_helpers.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel": ( "stripe.params.test_helpers.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownTax": ( "stripe.params.test_helpers.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFlight": ( "stripe.params.test_helpers.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFlightSegment": ( "stripe.params.test_helpers.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsFuel": ( "stripe.params.test_helpers.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsLodging": ( "stripe.params.test_helpers.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateForceCaptureParamsPurchaseDetailsReceipt": ( "stripe.params.test_helpers.issuing._transaction_create_force_capture_params", False, ), "TransactionCreateUnlinkedRefundParams": ( "stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsMerchantData": ( "stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetails": ( "stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleet": ( "stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetCardholderPromptData": ( "stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdown": ( "stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownFuel": ( "stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownNonFuel": ( "stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownTax": ( "stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlight": ( "stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlightSegment": ( "stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFuel": ( "stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsLodging": ( "stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionCreateUnlinkedRefundParamsPurchaseDetailsReceipt": ( "stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params", False, ), "TransactionRefundParams": ( "stripe.params.test_helpers.issuing._transaction_refund_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/issuing/_authorization_capture_params.py0000644000000000000000000002024615102753431025510 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class AuthorizationCaptureParams(TypedDict): capture_amount: NotRequired[int] """ The amount to capture from the authorization. If not provided, the full amount of the authorization will be captured. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ close_authorization: NotRequired[bool] """ Whether to close the authorization after capture. Defaults to true. Set to false to enable multi-capture flows. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ purchase_details: NotRequired["AuthorizationCaptureParamsPurchaseDetails"] """ Additional purchase information that is optionally provided by the merchant. """ class AuthorizationCaptureParamsPurchaseDetails(TypedDict): fleet: NotRequired["AuthorizationCaptureParamsPurchaseDetailsFleet"] """ Fleet-specific information for transactions using Fleet cards. """ flight: NotRequired["AuthorizationCaptureParamsPurchaseDetailsFlight"] """ Information about the flight that was purchased with this transaction. """ fuel: NotRequired["AuthorizationCaptureParamsPurchaseDetailsFuel"] """ Information about fuel that was purchased with this transaction. """ lodging: NotRequired["AuthorizationCaptureParamsPurchaseDetailsLodging"] """ Information about lodging that was purchased with this transaction. """ receipt: NotRequired[ List["AuthorizationCaptureParamsPurchaseDetailsReceipt"] ] """ The line items in the purchase. """ reference: NotRequired[str] """ A merchant-specific order number. """ class AuthorizationCaptureParamsPurchaseDetailsFleet(TypedDict): cardholder_prompt_data: NotRequired[ "AuthorizationCaptureParamsPurchaseDetailsFleetCardholderPromptData" ] """ Answers to prompts presented to the cardholder at the point of sale. Prompted fields vary depending on the configuration of your physical fleet cards. Typical points of sale support only numeric entry. """ purchase_type: NotRequired[ Literal[ "fuel_and_non_fuel_purchase", "fuel_purchase", "non_fuel_purchase" ] ] """ The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`. """ reported_breakdown: NotRequired[ "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdown" ] """ More information about the total amount. This information is not guaranteed to be accurate as some merchants may provide unreliable data. """ service_type: NotRequired[ Literal["full_service", "non_fuel_transaction", "self_service"] ] """ The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`. """ class AuthorizationCaptureParamsPurchaseDetailsFleetCardholderPromptData( TypedDict, ): driver_id: NotRequired[str] """ Driver ID. """ odometer: NotRequired[int] """ Odometer reading. """ unspecified_id: NotRequired[str] """ An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type. """ user_id: NotRequired[str] """ User ID. """ vehicle_number: NotRequired[str] """ Vehicle number. """ class AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdown( TypedDict, ): fuel: NotRequired[ "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel" ] """ Breakdown of fuel portion of the purchase. """ non_fuel: NotRequired[ "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel" ] """ Breakdown of non-fuel portion of the purchase. """ tax: NotRequired[ "AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownTax" ] """ Information about tax included in this transaction. """ class AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel( TypedDict, ): gross_amount_decimal: NotRequired[str] """ Gross fuel amount that should equal Fuel Volume multipled by Fuel Unit Cost, inclusive of taxes. """ class AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel( TypedDict, ): gross_amount_decimal: NotRequired[str] """ Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes. """ class AuthorizationCaptureParamsPurchaseDetailsFleetReportedBreakdownTax( TypedDict, ): local_amount_decimal: NotRequired[str] """ Amount of state or provincial Sales Tax included in the transaction amount. Null if not reported by merchant or not subject to tax. """ national_amount_decimal: NotRequired[str] """ Amount of national Sales Tax or VAT included in the transaction amount. Null if not reported by merchant or not subject to tax. """ class AuthorizationCaptureParamsPurchaseDetailsFlight(TypedDict): departure_at: NotRequired[int] """ The time that the flight departed. """ passenger_name: NotRequired[str] """ The name of the passenger. """ refundable: NotRequired[bool] """ Whether the ticket is refundable. """ segments: NotRequired[ List["AuthorizationCaptureParamsPurchaseDetailsFlightSegment"] ] """ The legs of the trip. """ travel_agency: NotRequired[str] """ The travel agency that issued the ticket. """ class AuthorizationCaptureParamsPurchaseDetailsFlightSegment(TypedDict): arrival_airport_code: NotRequired[str] """ The three-letter IATA airport code of the flight's destination. """ carrier: NotRequired[str] """ The airline carrier code. """ departure_airport_code: NotRequired[str] """ The three-letter IATA airport code that the flight departed from. """ flight_number: NotRequired[str] """ The flight number. """ service_class: NotRequired[str] """ The flight's service class. """ stopover_allowed: NotRequired[bool] """ Whether a stopover is allowed on this flight. """ class AuthorizationCaptureParamsPurchaseDetailsFuel(TypedDict): industry_product_code: NotRequired[str] """ [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased. """ quantity_decimal: NotRequired[str] """ The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places. """ type: NotRequired[ Literal[ "diesel", "other", "unleaded_plus", "unleaded_regular", "unleaded_super", ] ] """ The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`. """ unit: NotRequired[ Literal[ "charging_minute", "imperial_gallon", "kilogram", "kilowatt_hour", "liter", "other", "pound", "us_gallon", ] ] """ The units for `quantity_decimal`. One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`. """ unit_cost_decimal: NotRequired[str] """ The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places. """ class AuthorizationCaptureParamsPurchaseDetailsLodging(TypedDict): check_in_at: NotRequired[int] """ The time of checking into the lodging. """ nights: NotRequired[int] """ The number of nights stayed at the lodging. """ class AuthorizationCaptureParamsPurchaseDetailsReceipt(TypedDict): description: NotRequired[str] quantity: NotRequired[str] total: NotRequired[int] unit_cost: NotRequired[int] ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/issuing/_authorization_create_params.py0000644000000000000000000006323315102753431025313 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class AuthorizationCreateParams(TypedDict): amount: NotRequired[int] """ The total amount to attempt to authorize. This amount is in the provided currency, or defaults to the card's currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ amount_details: NotRequired["AuthorizationCreateParamsAmountDetails"] """ Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ authorization_method: NotRequired[ Literal["chip", "contactless", "keyed_in", "online", "swipe"] ] """ How the card details were provided. Defaults to online. """ card: str """ Card associated with this authorization. """ currency: NotRequired[str] """ The currency of the authorization. If not provided, defaults to the currency of the card. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ fleet: NotRequired["AuthorizationCreateParamsFleet"] """ Fleet-specific information for authorizations using Fleet cards. """ fraud_disputability_likelihood: NotRequired[ Literal["neutral", "unknown", "very_likely", "very_unlikely"] ] """ Probability that this transaction can be disputed in the event of fraud. Assessed by comparing the characteristics of the authorization to card network rules. """ fuel: NotRequired["AuthorizationCreateParamsFuel"] """ Information about fuel that was purchased with this transaction. """ is_amount_controllable: NotRequired[bool] """ If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization. """ merchant_amount: NotRequired[int] """ The total amount to attempt to authorize. This amount is in the provided merchant currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ merchant_currency: NotRequired[str] """ The currency of the authorization. If not provided, defaults to the currency of the card. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ merchant_data: NotRequired["AuthorizationCreateParamsMerchantData"] """ Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened. """ network_data: NotRequired["AuthorizationCreateParamsNetworkData"] """ Details about the authorization, such as identifiers, set by the card network. """ risk_assessment: NotRequired["AuthorizationCreateParamsRiskAssessment"] """ Stripe's assessment of the fraud risk for this authorization. """ verification_data: NotRequired["AuthorizationCreateParamsVerificationData"] """ Verifications that Stripe performed on information that the cardholder provided to the merchant. """ wallet: NotRequired[Literal["apple_pay", "google_pay", "samsung_pay"]] """ The digital wallet used for this transaction. One of `apple_pay`, `google_pay`, or `samsung_pay`. Will populate as `null` when no digital wallet was utilized. """ class AuthorizationCreateParamsAmountDetails(TypedDict): atm_fee: NotRequired[int] """ The ATM withdrawal fee. """ cashback_amount: NotRequired[int] """ The amount of cash requested by the cardholder. """ class AuthorizationCreateParamsFleet(TypedDict): cardholder_prompt_data: NotRequired[ "AuthorizationCreateParamsFleetCardholderPromptData" ] """ Answers to prompts presented to the cardholder at the point of sale. Prompted fields vary depending on the configuration of your physical fleet cards. Typical points of sale support only numeric entry. """ purchase_type: NotRequired[ Literal[ "fuel_and_non_fuel_purchase", "fuel_purchase", "non_fuel_purchase" ] ] """ The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`. """ reported_breakdown: NotRequired[ "AuthorizationCreateParamsFleetReportedBreakdown" ] """ More information about the total amount. This information is not guaranteed to be accurate as some merchants may provide unreliable data. """ service_type: NotRequired[ Literal["full_service", "non_fuel_transaction", "self_service"] ] """ The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`. """ class AuthorizationCreateParamsFleetCardholderPromptData(TypedDict): driver_id: NotRequired[str] """ Driver ID. """ odometer: NotRequired[int] """ Odometer reading. """ unspecified_id: NotRequired[str] """ An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type. """ user_id: NotRequired[str] """ User ID. """ vehicle_number: NotRequired[str] """ Vehicle number. """ class AuthorizationCreateParamsFleetReportedBreakdown(TypedDict): fuel: NotRequired["AuthorizationCreateParamsFleetReportedBreakdownFuel"] """ Breakdown of fuel portion of the purchase. """ non_fuel: NotRequired[ "AuthorizationCreateParamsFleetReportedBreakdownNonFuel" ] """ Breakdown of non-fuel portion of the purchase. """ tax: NotRequired["AuthorizationCreateParamsFleetReportedBreakdownTax"] """ Information about tax included in this transaction. """ class AuthorizationCreateParamsFleetReportedBreakdownFuel(TypedDict): gross_amount_decimal: NotRequired[str] """ Gross fuel amount that should equal Fuel Volume multipled by Fuel Unit Cost, inclusive of taxes. """ class AuthorizationCreateParamsFleetReportedBreakdownNonFuel(TypedDict): gross_amount_decimal: NotRequired[str] """ Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes. """ class AuthorizationCreateParamsFleetReportedBreakdownTax(TypedDict): local_amount_decimal: NotRequired[str] """ Amount of state or provincial Sales Tax included in the transaction amount. Null if not reported by merchant or not subject to tax. """ national_amount_decimal: NotRequired[str] """ Amount of national Sales Tax or VAT included in the transaction amount. Null if not reported by merchant or not subject to tax. """ class AuthorizationCreateParamsFuel(TypedDict): industry_product_code: NotRequired[str] """ [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased. """ quantity_decimal: NotRequired[str] """ The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places. """ type: NotRequired[ Literal[ "diesel", "other", "unleaded_plus", "unleaded_regular", "unleaded_super", ] ] """ The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`. """ unit: NotRequired[ Literal[ "charging_minute", "imperial_gallon", "kilogram", "kilowatt_hour", "liter", "other", "pound", "us_gallon", ] ] """ The units for `quantity_decimal`. One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`. """ unit_cost_decimal: NotRequired[str] """ The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places. """ class AuthorizationCreateParamsMerchantData(TypedDict): category: NotRequired[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] """ A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values. """ city: NotRequired[str] """ City where the seller is located """ country: NotRequired[str] """ Country where the seller is located """ name: NotRequired[str] """ Name of the seller """ network_id: NotRequired[str] """ Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant. """ postal_code: NotRequired[str] """ Postal code where the seller is located """ state: NotRequired[str] """ State where the seller is located """ terminal_id: NotRequired[str] """ An ID assigned by the seller to the location of the sale. """ url: NotRequired[str] """ URL provided by the merchant on a 3DS request """ class AuthorizationCreateParamsNetworkData(TypedDict): acquiring_institution_id: NotRequired[str] """ Identifier assigned to the acquirer by the card network. """ class AuthorizationCreateParamsRiskAssessment(TypedDict): card_testing_risk: NotRequired[ "AuthorizationCreateParamsRiskAssessmentCardTestingRisk" ] """ Stripe's assessment of this authorization's likelihood of being card testing activity. """ merchant_dispute_risk: NotRequired[ "AuthorizationCreateParamsRiskAssessmentMerchantDisputeRisk" ] """ The dispute risk of the merchant (the seller on a purchase) on an authorization based on all Stripe Issuing activity. """ class AuthorizationCreateParamsRiskAssessmentCardTestingRisk(TypedDict): invalid_account_number_decline_rate_past_hour: NotRequired[int] """ The % of declines due to a card number not existing in the past hour, taking place at the same merchant. Higher rates correspond to a greater probability of card testing activity, meaning bad actors may be attempting different card number combinations to guess a correct one. Takes on values between 0 and 100. """ invalid_credentials_decline_rate_past_hour: NotRequired[int] """ The % of declines due to incorrect verification data (like CVV or expiry) in the past hour, taking place at the same merchant. Higher rates correspond to a greater probability of bad actors attempting to utilize valid card credentials at merchants with verification requirements. Takes on values between 0 and 100. """ risk_level: Literal[ "elevated", "highest", "low", "normal", "not_assessed", "unknown" ] """ The likelihood that this authorization is associated with card testing activity. This is assessed by evaluating decline activity over the last hour. """ class AuthorizationCreateParamsRiskAssessmentMerchantDisputeRisk(TypedDict): dispute_rate: NotRequired[int] """ The dispute rate observed across all Stripe Issuing authorizations for this merchant. For example, a value of 50 means 50% of authorizations from this merchant on Stripe Issuing have resulted in a dispute. Higher values mean a higher likelihood the authorization is disputed. Takes on values between 0 and 100. """ risk_level: Literal[ "elevated", "highest", "low", "normal", "not_assessed", "unknown" ] """ The likelihood that authorizations from this merchant will result in a dispute based on their history on Stripe Issuing. """ class AuthorizationCreateParamsVerificationData(TypedDict): address_line1_check: NotRequired[ Literal["match", "mismatch", "not_provided"] ] """ Whether the cardholder provided an address first line and if it matched the cardholder's `billing.address.line1`. """ address_postal_code_check: NotRequired[ Literal["match", "mismatch", "not_provided"] ] """ Whether the cardholder provided a postal code and if it matched the cardholder's `billing.address.postal_code`. """ authentication_exemption: NotRequired[ "AuthorizationCreateParamsVerificationDataAuthenticationExemption" ] """ The exemption applied to this authorization. """ cvc_check: NotRequired[Literal["match", "mismatch", "not_provided"]] """ Whether the cardholder provided a CVC and if it matched Stripe's record. """ expiry_check: NotRequired[Literal["match", "mismatch", "not_provided"]] """ Whether the cardholder provided an expiry date and if it matched Stripe's record. """ three_d_secure: NotRequired[ "AuthorizationCreateParamsVerificationDataThreeDSecure" ] """ 3D Secure details. """ class AuthorizationCreateParamsVerificationDataAuthenticationExemption( TypedDict, ): claimed_by: Literal["acquirer", "issuer"] """ The entity that requested the exemption, either the acquiring merchant or the Issuing user. """ type: Literal[ "low_value_transaction", "transaction_risk_analysis", "unknown" ] """ The specific exemption claimed for this authorization. """ class AuthorizationCreateParamsVerificationDataThreeDSecure(TypedDict): result: Literal[ "attempt_acknowledged", "authenticated", "failed", "required" ] """ The outcome of the 3D Secure authentication request. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/issuing/_authorization_expire_params.py0000644000000000000000000000045415102753431025340 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class AuthorizationExpireParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/issuing/_authorization_finalize_amount_params.py0000644000000000000000000001255715102753431027237 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class AuthorizationFinalizeAmountParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ final_amount: int """ The final authorization amount that will be captured by the merchant. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ fleet: NotRequired["AuthorizationFinalizeAmountParamsFleet"] """ Fleet-specific information for authorizations using Fleet cards. """ fuel: NotRequired["AuthorizationFinalizeAmountParamsFuel"] """ Information about fuel that was purchased with this transaction. """ class AuthorizationFinalizeAmountParamsFleet(TypedDict): cardholder_prompt_data: NotRequired[ "AuthorizationFinalizeAmountParamsFleetCardholderPromptData" ] """ Answers to prompts presented to the cardholder at the point of sale. Prompted fields vary depending on the configuration of your physical fleet cards. Typical points of sale support only numeric entry. """ purchase_type: NotRequired[ Literal[ "fuel_and_non_fuel_purchase", "fuel_purchase", "non_fuel_purchase" ] ] """ The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`. """ reported_breakdown: NotRequired[ "AuthorizationFinalizeAmountParamsFleetReportedBreakdown" ] """ More information about the total amount. This information is not guaranteed to be accurate as some merchants may provide unreliable data. """ service_type: NotRequired[ Literal["full_service", "non_fuel_transaction", "self_service"] ] """ The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`. """ class AuthorizationFinalizeAmountParamsFleetCardholderPromptData(TypedDict): driver_id: NotRequired[str] """ Driver ID. """ odometer: NotRequired[int] """ Odometer reading. """ unspecified_id: NotRequired[str] """ An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type. """ user_id: NotRequired[str] """ User ID. """ vehicle_number: NotRequired[str] """ Vehicle number. """ class AuthorizationFinalizeAmountParamsFleetReportedBreakdown(TypedDict): fuel: NotRequired[ "AuthorizationFinalizeAmountParamsFleetReportedBreakdownFuel" ] """ Breakdown of fuel portion of the purchase. """ non_fuel: NotRequired[ "AuthorizationFinalizeAmountParamsFleetReportedBreakdownNonFuel" ] """ Breakdown of non-fuel portion of the purchase. """ tax: NotRequired[ "AuthorizationFinalizeAmountParamsFleetReportedBreakdownTax" ] """ Information about tax included in this transaction. """ class AuthorizationFinalizeAmountParamsFleetReportedBreakdownFuel(TypedDict): gross_amount_decimal: NotRequired[str] """ Gross fuel amount that should equal Fuel Volume multipled by Fuel Unit Cost, inclusive of taxes. """ class AuthorizationFinalizeAmountParamsFleetReportedBreakdownNonFuel( TypedDict ): gross_amount_decimal: NotRequired[str] """ Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes. """ class AuthorizationFinalizeAmountParamsFleetReportedBreakdownTax(TypedDict): local_amount_decimal: NotRequired[str] """ Amount of state or provincial Sales Tax included in the transaction amount. Null if not reported by merchant or not subject to tax. """ national_amount_decimal: NotRequired[str] """ Amount of national Sales Tax or VAT included in the transaction amount. Null if not reported by merchant or not subject to tax. """ class AuthorizationFinalizeAmountParamsFuel(TypedDict): industry_product_code: NotRequired[str] """ [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased. """ quantity_decimal: NotRequired[str] """ The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places. """ type: NotRequired[ Literal[ "diesel", "other", "unleaded_plus", "unleaded_regular", "unleaded_super", ] ] """ The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`. """ unit: NotRequired[ Literal[ "charging_minute", "imperial_gallon", "kilogram", "kilowatt_hour", "liter", "other", "pound", "us_gallon", ] ] """ The units for `quantity_decimal`. One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`. """ unit_cost_decimal: NotRequired[str] """ The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/issuing/_authorization_increment_params.py0000644000000000000000000000141415102753431026025 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class AuthorizationIncrementParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ increment_amount: int """ The amount to increment the authorization by. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ is_amount_controllable: NotRequired[bool] """ If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/issuing/_authorization_respond_params.py0000644000000000000000000000073215102753431025515 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class AuthorizationRespondParams(TypedDict): confirmed: bool """ Whether to simulate the user confirming that the transaction was legitimate (true) or telling Stripe that it was fraudulent (false). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/issuing/_authorization_reverse_params.py0000644000000000000000000000113715102753431025516 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class AuthorizationReverseParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ reverse_amount: NotRequired[int] """ The amount to reverse from the authorization. If not provided, the full amount of the authorization will be reversed. This amount is in the authorization currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/issuing/_card_deliver_card_params.py0000644000000000000000000000045015102753431024474 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CardDeliverCardParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/issuing/_card_fail_card_params.py0000644000000000000000000000044515102753431023761 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CardFailCardParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/issuing/_card_return_card_params.py0000644000000000000000000000044715102753431024367 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CardReturnCardParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3720622 stripe-13.2.0/stripe/params/test_helpers/issuing/_card_ship_card_params.py0000644000000000000000000000044515102753431024011 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CardShipCardParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/issuing/_card_submit_card_params.py0000644000000000000000000000044715102753431024353 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class CardSubmitCardParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/issuing/_personalization_design_activate_params.py0000644000000000000000000000046615102753431027521 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class PersonalizationDesignActivateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/issuing/_personalization_design_deactivate_params.py0000644000000000000000000000047015102753431030025 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class PersonalizationDesignDeactivateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/issuing/_personalization_design_reject_params.py0000644000000000000000000000252515102753431027173 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class PersonalizationDesignRejectParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ rejection_reasons: "PersonalizationDesignRejectParamsRejectionReasons" """ The reason(s) the personalization design was rejected. """ class PersonalizationDesignRejectParamsRejectionReasons(TypedDict): card_logo: NotRequired[ List[ Literal[ "geographic_location", "inappropriate", "network_name", "non_binary_image", "non_fiat_currency", "other", "other_entity", "promotional_material", ] ] ] """ The reason(s) the card logo was rejected. """ carrier_text: NotRequired[ List[ Literal[ "geographic_location", "inappropriate", "network_name", "non_fiat_currency", "other", "other_entity", "promotional_material", ] ] ] """ The reason(s) the carrier text was rejected. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/issuing/_transaction_create_force_capture_params.py0000644000000000000000000005352115102753431027640 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class TransactionCreateForceCaptureParams(TypedDict): amount: int """ The total amount to attempt to capture. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ card: str """ Card associated with this transaction. """ currency: NotRequired[str] """ The currency of the capture. If not provided, defaults to the currency of the card. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ merchant_data: NotRequired[ "TransactionCreateForceCaptureParamsMerchantData" ] """ Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened. """ purchase_details: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetails" ] """ Additional purchase information that is optionally provided by the merchant. """ class TransactionCreateForceCaptureParamsMerchantData(TypedDict): category: NotRequired[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] """ A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values. """ city: NotRequired[str] """ City where the seller is located """ country: NotRequired[str] """ Country where the seller is located """ name: NotRequired[str] """ Name of the seller """ network_id: NotRequired[str] """ Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant. """ postal_code: NotRequired[str] """ Postal code where the seller is located """ state: NotRequired[str] """ State where the seller is located """ terminal_id: NotRequired[str] """ An ID assigned by the seller to the location of the sale. """ url: NotRequired[str] """ URL provided by the merchant on a 3DS request """ class TransactionCreateForceCaptureParamsPurchaseDetails(TypedDict): fleet: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsFleet" ] """ Fleet-specific information for transactions using Fleet cards. """ flight: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsFlight" ] """ Information about the flight that was purchased with this transaction. """ fuel: NotRequired["TransactionCreateForceCaptureParamsPurchaseDetailsFuel"] """ Information about fuel that was purchased with this transaction. """ lodging: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsLodging" ] """ Information about lodging that was purchased with this transaction. """ receipt: NotRequired[ List["TransactionCreateForceCaptureParamsPurchaseDetailsReceipt"] ] """ The line items in the purchase. """ reference: NotRequired[str] """ A merchant-specific order number. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFleet(TypedDict): cardholder_prompt_data: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsFleetCardholderPromptData" ] """ Answers to prompts presented to the cardholder at the point of sale. Prompted fields vary depending on the configuration of your physical fleet cards. Typical points of sale support only numeric entry. """ purchase_type: NotRequired[ Literal[ "fuel_and_non_fuel_purchase", "fuel_purchase", "non_fuel_purchase" ] ] """ The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`. """ reported_breakdown: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdown" ] """ More information about the total amount. This information is not guaranteed to be accurate as some merchants may provide unreliable data. """ service_type: NotRequired[ Literal["full_service", "non_fuel_transaction", "self_service"] ] """ The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFleetCardholderPromptData( TypedDict, ): driver_id: NotRequired[str] """ Driver ID. """ odometer: NotRequired[int] """ Odometer reading. """ unspecified_id: NotRequired[str] """ An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type. """ user_id: NotRequired[str] """ User ID. """ vehicle_number: NotRequired[str] """ Vehicle number. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdown( TypedDict, ): fuel: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel" ] """ Breakdown of fuel portion of the purchase. """ non_fuel: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel" ] """ Breakdown of non-fuel portion of the purchase. """ tax: NotRequired[ "TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownTax" ] """ Information about tax included in this transaction. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownFuel( TypedDict, ): gross_amount_decimal: NotRequired[str] """ Gross fuel amount that should equal Fuel Volume multipled by Fuel Unit Cost, inclusive of taxes. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownNonFuel( TypedDict, ): gross_amount_decimal: NotRequired[str] """ Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFleetReportedBreakdownTax( TypedDict, ): local_amount_decimal: NotRequired[str] """ Amount of state or provincial Sales Tax included in the transaction amount. Null if not reported by merchant or not subject to tax. """ national_amount_decimal: NotRequired[str] """ Amount of national Sales Tax or VAT included in the transaction amount. Null if not reported by merchant or not subject to tax. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFlight(TypedDict): departure_at: NotRequired[int] """ The time that the flight departed. """ passenger_name: NotRequired[str] """ The name of the passenger. """ refundable: NotRequired[bool] """ Whether the ticket is refundable. """ segments: NotRequired[ List["TransactionCreateForceCaptureParamsPurchaseDetailsFlightSegment"] ] """ The legs of the trip. """ travel_agency: NotRequired[str] """ The travel agency that issued the ticket. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFlightSegment( TypedDict, ): arrival_airport_code: NotRequired[str] """ The three-letter IATA airport code of the flight's destination. """ carrier: NotRequired[str] """ The airline carrier code. """ departure_airport_code: NotRequired[str] """ The three-letter IATA airport code that the flight departed from. """ flight_number: NotRequired[str] """ The flight number. """ service_class: NotRequired[str] """ The flight's service class. """ stopover_allowed: NotRequired[bool] """ Whether a stopover is allowed on this flight. """ class TransactionCreateForceCaptureParamsPurchaseDetailsFuel(TypedDict): industry_product_code: NotRequired[str] """ [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased. """ quantity_decimal: NotRequired[str] """ The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places. """ type: NotRequired[ Literal[ "diesel", "other", "unleaded_plus", "unleaded_regular", "unleaded_super", ] ] """ The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`. """ unit: NotRequired[ Literal[ "charging_minute", "imperial_gallon", "kilogram", "kilowatt_hour", "liter", "other", "pound", "us_gallon", ] ] """ The units for `quantity_decimal`. One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`. """ unit_cost_decimal: NotRequired[str] """ The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places. """ class TransactionCreateForceCaptureParamsPurchaseDetailsLodging(TypedDict): check_in_at: NotRequired[int] """ The time of checking into the lodging. """ nights: NotRequired[int] """ The number of nights stayed at the lodging. """ class TransactionCreateForceCaptureParamsPurchaseDetailsReceipt(TypedDict): description: NotRequired[str] quantity: NotRequired[str] total: NotRequired[int] unit_cost: NotRequired[int] ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/issuing/_transaction_create_unlinked_refund_params.py0000644000000000000000000005370215102753431030174 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class TransactionCreateUnlinkedRefundParams(TypedDict): amount: int """ The total amount to attempt to refund. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ card: str """ Card associated with this unlinked refund transaction. """ currency: NotRequired[str] """ The currency of the unlinked refund. If not provided, defaults to the currency of the card. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ merchant_data: NotRequired[ "TransactionCreateUnlinkedRefundParamsMerchantData" ] """ Details about the seller (grocery store, e-commerce website, etc.) where the card authorization happened. """ purchase_details: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetails" ] """ Additional purchase information that is optionally provided by the merchant. """ class TransactionCreateUnlinkedRefundParamsMerchantData(TypedDict): category: NotRequired[ Literal[ "ac_refrigeration_repair", "accounting_bookkeeping_services", "advertising_services", "agricultural_cooperative", "airlines_air_carriers", "airports_flying_fields", "ambulance_services", "amusement_parks_carnivals", "antique_reproductions", "antique_shops", "aquariums", "architectural_surveying_services", "art_dealers_and_galleries", "artists_supply_and_craft_shops", "auto_and_home_supply_stores", "auto_body_repair_shops", "auto_paint_shops", "auto_service_shops", "automated_cash_disburse", "automated_fuel_dispensers", "automobile_associations", "automotive_parts_and_accessories_stores", "automotive_tire_stores", "bail_and_bond_payments", "bakeries", "bands_orchestras", "barber_and_beauty_shops", "betting_casino_gambling", "bicycle_shops", "billiard_pool_establishments", "boat_dealers", "boat_rentals_and_leases", "book_stores", "books_periodicals_and_newspapers", "bowling_alleys", "bus_lines", "business_secretarial_schools", "buying_shopping_services", "cable_satellite_and_other_pay_television_and_radio", "camera_and_photographic_supply_stores", "candy_nut_and_confectionery_stores", "car_and_truck_dealers_new_used", "car_and_truck_dealers_used_only", "car_rental_agencies", "car_washes", "carpentry_services", "carpet_upholstery_cleaning", "caterers", "charitable_and_social_service_organizations_fundraising", "chemicals_and_allied_products", "child_care_services", "childrens_and_infants_wear_stores", "chiropodists_podiatrists", "chiropractors", "cigar_stores_and_stands", "civic_social_fraternal_associations", "cleaning_and_maintenance", "clothing_rental", "colleges_universities", "commercial_equipment", "commercial_footwear", "commercial_photography_art_and_graphics", "commuter_transport_and_ferries", "computer_network_services", "computer_programming", "computer_repair", "computer_software_stores", "computers_peripherals_and_software", "concrete_work_services", "construction_materials", "consulting_public_relations", "correspondence_schools", "cosmetic_stores", "counseling_services", "country_clubs", "courier_services", "court_costs", "credit_reporting_agencies", "cruise_lines", "dairy_products_stores", "dance_hall_studios_schools", "dating_escort_services", "dentists_orthodontists", "department_stores", "detective_agencies", "digital_goods_applications", "digital_goods_games", "digital_goods_large_volume", "digital_goods_media", "direct_marketing_catalog_merchant", "direct_marketing_combination_catalog_and_retail_merchant", "direct_marketing_inbound_telemarketing", "direct_marketing_insurance_services", "direct_marketing_other", "direct_marketing_outbound_telemarketing", "direct_marketing_subscription", "direct_marketing_travel", "discount_stores", "doctors", "door_to_door_sales", "drapery_window_covering_and_upholstery_stores", "drinking_places", "drug_stores_and_pharmacies", "drugs_drug_proprietaries_and_druggist_sundries", "dry_cleaners", "durable_goods", "duty_free_stores", "eating_places_restaurants", "educational_services", "electric_razor_stores", "electric_vehicle_charging", "electrical_parts_and_equipment", "electrical_services", "electronics_repair_shops", "electronics_stores", "elementary_secondary_schools", "emergency_services_gcas_visa_use_only", "employment_temp_agencies", "equipment_rental", "exterminating_services", "family_clothing_stores", "fast_food_restaurants", "financial_institutions", "fines_government_administrative_entities", "fireplace_fireplace_screens_and_accessories_stores", "floor_covering_stores", "florists", "florists_supplies_nursery_stock_and_flowers", "freezer_and_locker_meat_provisioners", "fuel_dealers_non_automotive", "funeral_services_crematories", "furniture_home_furnishings_and_equipment_stores_except_appliances", "furniture_repair_refinishing", "furriers_and_fur_shops", "general_services", "gift_card_novelty_and_souvenir_shops", "glass_paint_and_wallpaper_stores", "glassware_crystal_stores", "golf_courses_public", "government_licensed_horse_dog_racing_us_region_only", "government_licensed_online_casions_online_gambling_us_region_only", "government_owned_lotteries_non_us_region", "government_owned_lotteries_us_region_only", "government_services", "grocery_stores_supermarkets", "hardware_equipment_and_supplies", "hardware_stores", "health_and_beauty_spas", "hearing_aids_sales_and_supplies", "heating_plumbing_a_c", "hobby_toy_and_game_shops", "home_supply_warehouse_stores", "hospitals", "hotels_motels_and_resorts", "household_appliance_stores", "industrial_supplies", "information_retrieval_services", "insurance_default", "insurance_underwriting_premiums", "intra_company_purchases", "jewelry_stores_watches_clocks_and_silverware_stores", "landscaping_services", "laundries", "laundry_cleaning_services", "legal_services_attorneys", "luggage_and_leather_goods_stores", "lumber_building_materials_stores", "manual_cash_disburse", "marinas_service_and_supplies", "marketplaces", "masonry_stonework_and_plaster", "massage_parlors", "medical_and_dental_labs", "medical_dental_ophthalmic_and_hospital_equipment_and_supplies", "medical_services", "membership_organizations", "mens_and_boys_clothing_and_accessories_stores", "mens_womens_clothing_stores", "metal_service_centers", "miscellaneous_apparel_and_accessory_shops", "miscellaneous_auto_dealers", "miscellaneous_business_services", "miscellaneous_food_stores", "miscellaneous_general_merchandise", "miscellaneous_general_services", "miscellaneous_home_furnishing_specialty_stores", "miscellaneous_publishing_and_printing", "miscellaneous_recreation_services", "miscellaneous_repair_shops", "miscellaneous_specialty_retail", "mobile_home_dealers", "motion_picture_theaters", "motor_freight_carriers_and_trucking", "motor_homes_dealers", "motor_vehicle_supplies_and_new_parts", "motorcycle_shops_and_dealers", "motorcycle_shops_dealers", "music_stores_musical_instruments_pianos_and_sheet_music", "news_dealers_and_newsstands", "non_fi_money_orders", "non_fi_stored_value_card_purchase_load", "nondurable_goods", "nurseries_lawn_and_garden_supply_stores", "nursing_personal_care", "office_and_commercial_furniture", "opticians_eyeglasses", "optometrists_ophthalmologist", "orthopedic_goods_prosthetic_devices", "osteopaths", "package_stores_beer_wine_and_liquor", "paints_varnishes_and_supplies", "parking_lots_garages", "passenger_railways", "pawn_shops", "pet_shops_pet_food_and_supplies", "petroleum_and_petroleum_products", "photo_developing", "photographic_photocopy_microfilm_equipment_and_supplies", "photographic_studios", "picture_video_production", "piece_goods_notions_and_other_dry_goods", "plumbing_heating_equipment_and_supplies", "political_organizations", "postal_services_government_only", "precious_stones_and_metals_watches_and_jewelry", "professional_services", "public_warehousing_and_storage", "quick_copy_repro_and_blueprint", "railroads", "real_estate_agents_and_managers_rentals", "record_stores", "recreational_vehicle_rentals", "religious_goods_stores", "religious_organizations", "roofing_siding_sheet_metal", "secretarial_support_services", "security_brokers_dealers", "service_stations", "sewing_needlework_fabric_and_piece_goods_stores", "shoe_repair_hat_cleaning", "shoe_stores", "small_appliance_repair", "snowmobile_dealers", "special_trade_services", "specialty_cleaning", "sporting_goods_stores", "sporting_recreation_camps", "sports_and_riding_apparel_stores", "sports_clubs_fields", "stamp_and_coin_stores", "stationary_office_supplies_printing_and_writing_paper", "stationery_stores_office_and_school_supply_stores", "swimming_pools_sales", "t_ui_travel_germany", "tailors_alterations", "tax_payments_government_agencies", "tax_preparation_services", "taxicabs_limousines", "telecommunication_equipment_and_telephone_sales", "telecommunication_services", "telegraph_services", "tent_and_awning_shops", "testing_laboratories", "theatrical_ticket_agencies", "timeshares", "tire_retreading_and_repair", "tolls_bridge_fees", "tourist_attractions_and_exhibits", "towing_services", "trailer_parks_campgrounds", "transportation_services", "travel_agencies_tour_operators", "truck_stop_iteration", "truck_utility_trailer_rentals", "typesetting_plate_making_and_related_services", "typewriter_stores", "u_s_federal_government_agencies_or_departments", "uniforms_commercial_clothing", "used_merchandise_and_secondhand_stores", "utilities", "variety_stores", "veterinary_services", "video_amusement_game_supplies", "video_game_arcades", "video_tape_rental_stores", "vocational_trade_schools", "watch_jewelry_repair", "welding_repair", "wholesale_clubs", "wig_and_toupee_stores", "wires_money_orders", "womens_accessory_and_specialty_shops", "womens_ready_to_wear_stores", "wrecking_and_salvage_yards", ] ] """ A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values. """ city: NotRequired[str] """ City where the seller is located """ country: NotRequired[str] """ Country where the seller is located """ name: NotRequired[str] """ Name of the seller """ network_id: NotRequired[str] """ Identifier assigned to the seller by the card network. Different card networks may assign different network_id fields to the same merchant. """ postal_code: NotRequired[str] """ Postal code where the seller is located """ state: NotRequired[str] """ State where the seller is located """ terminal_id: NotRequired[str] """ An ID assigned by the seller to the location of the sale. """ url: NotRequired[str] """ URL provided by the merchant on a 3DS request """ class TransactionCreateUnlinkedRefundParamsPurchaseDetails(TypedDict): fleet: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleet" ] """ Fleet-specific information for transactions using Fleet cards. """ flight: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlight" ] """ Information about the flight that was purchased with this transaction. """ fuel: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFuel" ] """ Information about fuel that was purchased with this transaction. """ lodging: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsLodging" ] """ Information about lodging that was purchased with this transaction. """ receipt: NotRequired[ List["TransactionCreateUnlinkedRefundParamsPurchaseDetailsReceipt"] ] """ The line items in the purchase. """ reference: NotRequired[str] """ A merchant-specific order number. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleet(TypedDict): cardholder_prompt_data: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetCardholderPromptData" ] """ Answers to prompts presented to the cardholder at the point of sale. Prompted fields vary depending on the configuration of your physical fleet cards. Typical points of sale support only numeric entry. """ purchase_type: NotRequired[ Literal[ "fuel_and_non_fuel_purchase", "fuel_purchase", "non_fuel_purchase" ] ] """ The type of purchase. One of `fuel_purchase`, `non_fuel_purchase`, or `fuel_and_non_fuel_purchase`. """ reported_breakdown: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdown" ] """ More information about the total amount. This information is not guaranteed to be accurate as some merchants may provide unreliable data. """ service_type: NotRequired[ Literal["full_service", "non_fuel_transaction", "self_service"] ] """ The type of fuel service. One of `non_fuel_transaction`, `full_service`, or `self_service`. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetCardholderPromptData( TypedDict, ): driver_id: NotRequired[str] """ Driver ID. """ odometer: NotRequired[int] """ Odometer reading. """ unspecified_id: NotRequired[str] """ An alphanumeric ID. This field is used when a vehicle ID, driver ID, or generic ID is entered by the cardholder, but the merchant or card network did not specify the prompt type. """ user_id: NotRequired[str] """ User ID. """ vehicle_number: NotRequired[str] """ Vehicle number. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdown( TypedDict, ): fuel: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownFuel" ] """ Breakdown of fuel portion of the purchase. """ non_fuel: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownNonFuel" ] """ Breakdown of non-fuel portion of the purchase. """ tax: NotRequired[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownTax" ] """ Information about tax included in this transaction. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownFuel( TypedDict, ): gross_amount_decimal: NotRequired[str] """ Gross fuel amount that should equal Fuel Volume multipled by Fuel Unit Cost, inclusive of taxes. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownNonFuel( TypedDict, ): gross_amount_decimal: NotRequired[str] """ Gross non-fuel amount that should equal the sum of the line items, inclusive of taxes. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFleetReportedBreakdownTax( TypedDict, ): local_amount_decimal: NotRequired[str] """ Amount of state or provincial Sales Tax included in the transaction amount. Null if not reported by merchant or not subject to tax. """ national_amount_decimal: NotRequired[str] """ Amount of national Sales Tax or VAT included in the transaction amount. Null if not reported by merchant or not subject to tax. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlight(TypedDict): departure_at: NotRequired[int] """ The time that the flight departed. """ passenger_name: NotRequired[str] """ The name of the passenger. """ refundable: NotRequired[bool] """ Whether the ticket is refundable. """ segments: NotRequired[ List[ "TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlightSegment" ] ] """ The legs of the trip. """ travel_agency: NotRequired[str] """ The travel agency that issued the ticket. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFlightSegment( TypedDict, ): arrival_airport_code: NotRequired[str] """ The three-letter IATA airport code of the flight's destination. """ carrier: NotRequired[str] """ The airline carrier code. """ departure_airport_code: NotRequired[str] """ The three-letter IATA airport code that the flight departed from. """ flight_number: NotRequired[str] """ The flight number. """ service_class: NotRequired[str] """ The flight's service class. """ stopover_allowed: NotRequired[bool] """ Whether a stopover is allowed on this flight. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsFuel(TypedDict): industry_product_code: NotRequired[str] """ [Conexxus Payment System Product Code](https://www.conexxus.org/conexxus-payment-system-product-codes) identifying the primary fuel product purchased. """ quantity_decimal: NotRequired[str] """ The quantity of `unit`s of fuel that was dispensed, represented as a decimal string with at most 12 decimal places. """ type: NotRequired[ Literal[ "diesel", "other", "unleaded_plus", "unleaded_regular", "unleaded_super", ] ] """ The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`. """ unit: NotRequired[ Literal[ "charging_minute", "imperial_gallon", "kilogram", "kilowatt_hour", "liter", "other", "pound", "us_gallon", ] ] """ The units for `quantity_decimal`. One of `charging_minute`, `imperial_gallon`, `kilogram`, `kilowatt_hour`, `liter`, `pound`, `us_gallon`, or `other`. """ unit_cost_decimal: NotRequired[str] """ The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsLodging(TypedDict): check_in_at: NotRequired[int] """ The time of checking into the lodging. """ nights: NotRequired[int] """ The number of nights stayed at the lodging. """ class TransactionCreateUnlinkedRefundParamsPurchaseDetailsReceipt(TypedDict): description: NotRequired[str] quantity: NotRequired[str] total: NotRequired[int] unit_cost: NotRequired[int] ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/issuing/_transaction_refund_params.py0000644000000000000000000000105315102753431024750 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class TransactionRefundParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ refund_amount: NotRequired[int] """ The total amount to attempt to refund. This amount is in the provided currency, or defaults to the cards currency, and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/terminal/__init__.py0000644000000000000000000000445715102753431021262 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.test_helpers.terminal._reader_present_payment_method_params import ( ReaderPresentPaymentMethodParams as ReaderPresentPaymentMethodParams, ReaderPresentPaymentMethodParamsCard as ReaderPresentPaymentMethodParamsCard, ReaderPresentPaymentMethodParamsCardPresent as ReaderPresentPaymentMethodParamsCardPresent, ReaderPresentPaymentMethodParamsInteracPresent as ReaderPresentPaymentMethodParamsInteracPresent, ) from stripe.params.test_helpers.terminal._reader_succeed_input_collection_params import ( ReaderSucceedInputCollectionParams as ReaderSucceedInputCollectionParams, ) from stripe.params.test_helpers.terminal._reader_timeout_input_collection_params import ( ReaderTimeoutInputCollectionParams as ReaderTimeoutInputCollectionParams, ) # name -> (import_target, is_submodule) _import_map = { "ReaderPresentPaymentMethodParams": ( "stripe.params.test_helpers.terminal._reader_present_payment_method_params", False, ), "ReaderPresentPaymentMethodParamsCard": ( "stripe.params.test_helpers.terminal._reader_present_payment_method_params", False, ), "ReaderPresentPaymentMethodParamsCardPresent": ( "stripe.params.test_helpers.terminal._reader_present_payment_method_params", False, ), "ReaderPresentPaymentMethodParamsInteracPresent": ( "stripe.params.test_helpers.terminal._reader_present_payment_method_params", False, ), "ReaderSucceedInputCollectionParams": ( "stripe.params.test_helpers.terminal._reader_succeed_input_collection_params", False, ), "ReaderTimeoutInputCollectionParams": ( "stripe.params.test_helpers.terminal._reader_timeout_input_collection_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/terminal/_reader_present_payment_method_params.py0000644000000000000000000000323015102753431027310 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ReaderPresentPaymentMethodParams(TypedDict): amount_tip: NotRequired[int] """ Simulated on-reader tip amount. """ card: NotRequired["ReaderPresentPaymentMethodParamsCard"] """ Simulated data for the card payment method. """ card_present: NotRequired["ReaderPresentPaymentMethodParamsCardPresent"] """ Simulated data for the card_present payment method. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ interac_present: NotRequired[ "ReaderPresentPaymentMethodParamsInteracPresent" ] """ Simulated data for the interac_present payment method. """ type: NotRequired[Literal["card", "card_present", "interac_present"]] """ Simulated payment type. """ class ReaderPresentPaymentMethodParamsCard(TypedDict): cvc: NotRequired[str] """ Card security code. """ exp_month: int """ Two-digit number representing the card's expiration month. """ exp_year: int """ Two- or four-digit number representing the card's expiration year. """ number: str """ The card number, as a string without any separators. """ class ReaderPresentPaymentMethodParamsCardPresent(TypedDict): number: NotRequired[str] """ The card number, as a string without any separators. """ class ReaderPresentPaymentMethodParamsInteracPresent(TypedDict): number: NotRequired[str] """ The Interac card number. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/terminal/_reader_succeed_input_collection_params.py0000644000000000000000000000072315102753431027604 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ReaderSucceedInputCollectionParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ skip_non_required_inputs: NotRequired[Literal["all", "none"]] """ This parameter defines the skip behavior for input collection. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/terminal/_reader_timeout_input_collection_params.py0000644000000000000000000000046515102753431027662 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class ReaderTimeoutInputCollectionParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/treasury/__init__.py0000644000000000000000000002031415102753431021313 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.test_helpers.treasury._inbound_transfer_fail_params import ( InboundTransferFailParams as InboundTransferFailParams, InboundTransferFailParamsFailureDetails as InboundTransferFailParamsFailureDetails, ) from stripe.params.test_helpers.treasury._inbound_transfer_return_inbound_transfer_params import ( InboundTransferReturnInboundTransferParams as InboundTransferReturnInboundTransferParams, ) from stripe.params.test_helpers.treasury._inbound_transfer_succeed_params import ( InboundTransferSucceedParams as InboundTransferSucceedParams, ) from stripe.params.test_helpers.treasury._outbound_payment_fail_params import ( OutboundPaymentFailParams as OutboundPaymentFailParams, ) from stripe.params.test_helpers.treasury._outbound_payment_post_params import ( OutboundPaymentPostParams as OutboundPaymentPostParams, ) from stripe.params.test_helpers.treasury._outbound_payment_return_outbound_payment_params import ( OutboundPaymentReturnOutboundPaymentParams as OutboundPaymentReturnOutboundPaymentParams, OutboundPaymentReturnOutboundPaymentParamsReturnedDetails as OutboundPaymentReturnOutboundPaymentParamsReturnedDetails, ) from stripe.params.test_helpers.treasury._outbound_payment_update_params import ( OutboundPaymentUpdateParams as OutboundPaymentUpdateParams, OutboundPaymentUpdateParamsTrackingDetails as OutboundPaymentUpdateParamsTrackingDetails, OutboundPaymentUpdateParamsTrackingDetailsAch as OutboundPaymentUpdateParamsTrackingDetailsAch, OutboundPaymentUpdateParamsTrackingDetailsUsDomesticWire as OutboundPaymentUpdateParamsTrackingDetailsUsDomesticWire, ) from stripe.params.test_helpers.treasury._outbound_transfer_fail_params import ( OutboundTransferFailParams as OutboundTransferFailParams, ) from stripe.params.test_helpers.treasury._outbound_transfer_post_params import ( OutboundTransferPostParams as OutboundTransferPostParams, ) from stripe.params.test_helpers.treasury._outbound_transfer_return_outbound_transfer_params import ( OutboundTransferReturnOutboundTransferParams as OutboundTransferReturnOutboundTransferParams, OutboundTransferReturnOutboundTransferParamsReturnedDetails as OutboundTransferReturnOutboundTransferParamsReturnedDetails, ) from stripe.params.test_helpers.treasury._outbound_transfer_update_params import ( OutboundTransferUpdateParams as OutboundTransferUpdateParams, OutboundTransferUpdateParamsTrackingDetails as OutboundTransferUpdateParamsTrackingDetails, OutboundTransferUpdateParamsTrackingDetailsAch as OutboundTransferUpdateParamsTrackingDetailsAch, OutboundTransferUpdateParamsTrackingDetailsUsDomesticWire as OutboundTransferUpdateParamsTrackingDetailsUsDomesticWire, ) from stripe.params.test_helpers.treasury._received_credit_create_params import ( ReceivedCreditCreateParams as ReceivedCreditCreateParams, ReceivedCreditCreateParamsInitiatingPaymentMethodDetails as ReceivedCreditCreateParamsInitiatingPaymentMethodDetails, ReceivedCreditCreateParamsInitiatingPaymentMethodDetailsUsBankAccount as ReceivedCreditCreateParamsInitiatingPaymentMethodDetailsUsBankAccount, ) from stripe.params.test_helpers.treasury._received_debit_create_params import ( ReceivedDebitCreateParams as ReceivedDebitCreateParams, ReceivedDebitCreateParamsInitiatingPaymentMethodDetails as ReceivedDebitCreateParamsInitiatingPaymentMethodDetails, ReceivedDebitCreateParamsInitiatingPaymentMethodDetailsUsBankAccount as ReceivedDebitCreateParamsInitiatingPaymentMethodDetailsUsBankAccount, ) # name -> (import_target, is_submodule) _import_map = { "InboundTransferFailParams": ( "stripe.params.test_helpers.treasury._inbound_transfer_fail_params", False, ), "InboundTransferFailParamsFailureDetails": ( "stripe.params.test_helpers.treasury._inbound_transfer_fail_params", False, ), "InboundTransferReturnInboundTransferParams": ( "stripe.params.test_helpers.treasury._inbound_transfer_return_inbound_transfer_params", False, ), "InboundTransferSucceedParams": ( "stripe.params.test_helpers.treasury._inbound_transfer_succeed_params", False, ), "OutboundPaymentFailParams": ( "stripe.params.test_helpers.treasury._outbound_payment_fail_params", False, ), "OutboundPaymentPostParams": ( "stripe.params.test_helpers.treasury._outbound_payment_post_params", False, ), "OutboundPaymentReturnOutboundPaymentParams": ( "stripe.params.test_helpers.treasury._outbound_payment_return_outbound_payment_params", False, ), "OutboundPaymentReturnOutboundPaymentParamsReturnedDetails": ( "stripe.params.test_helpers.treasury._outbound_payment_return_outbound_payment_params", False, ), "OutboundPaymentUpdateParams": ( "stripe.params.test_helpers.treasury._outbound_payment_update_params", False, ), "OutboundPaymentUpdateParamsTrackingDetails": ( "stripe.params.test_helpers.treasury._outbound_payment_update_params", False, ), "OutboundPaymentUpdateParamsTrackingDetailsAch": ( "stripe.params.test_helpers.treasury._outbound_payment_update_params", False, ), "OutboundPaymentUpdateParamsTrackingDetailsUsDomesticWire": ( "stripe.params.test_helpers.treasury._outbound_payment_update_params", False, ), "OutboundTransferFailParams": ( "stripe.params.test_helpers.treasury._outbound_transfer_fail_params", False, ), "OutboundTransferPostParams": ( "stripe.params.test_helpers.treasury._outbound_transfer_post_params", False, ), "OutboundTransferReturnOutboundTransferParams": ( "stripe.params.test_helpers.treasury._outbound_transfer_return_outbound_transfer_params", False, ), "OutboundTransferReturnOutboundTransferParamsReturnedDetails": ( "stripe.params.test_helpers.treasury._outbound_transfer_return_outbound_transfer_params", False, ), "OutboundTransferUpdateParams": ( "stripe.params.test_helpers.treasury._outbound_transfer_update_params", False, ), "OutboundTransferUpdateParamsTrackingDetails": ( "stripe.params.test_helpers.treasury._outbound_transfer_update_params", False, ), "OutboundTransferUpdateParamsTrackingDetailsAch": ( "stripe.params.test_helpers.treasury._outbound_transfer_update_params", False, ), "OutboundTransferUpdateParamsTrackingDetailsUsDomesticWire": ( "stripe.params.test_helpers.treasury._outbound_transfer_update_params", False, ), "ReceivedCreditCreateParams": ( "stripe.params.test_helpers.treasury._received_credit_create_params", False, ), "ReceivedCreditCreateParamsInitiatingPaymentMethodDetails": ( "stripe.params.test_helpers.treasury._received_credit_create_params", False, ), "ReceivedCreditCreateParamsInitiatingPaymentMethodDetailsUsBankAccount": ( "stripe.params.test_helpers.treasury._received_credit_create_params", False, ), "ReceivedDebitCreateParams": ( "stripe.params.test_helpers.treasury._received_debit_create_params", False, ), "ReceivedDebitCreateParamsInitiatingPaymentMethodDetails": ( "stripe.params.test_helpers.treasury._received_debit_create_params", False, ), "ReceivedDebitCreateParamsInitiatingPaymentMethodDetailsUsBankAccount": ( "stripe.params.test_helpers.treasury._received_debit_create_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/treasury/_inbound_transfer_fail_params.py0000644000000000000000000000205515102753431025615 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class InboundTransferFailParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ failure_details: NotRequired["InboundTransferFailParamsFailureDetails"] """ Details about a failed InboundTransfer. """ class InboundTransferFailParamsFailureDetails(TypedDict): code: NotRequired[ Literal[ "account_closed", "account_frozen", "bank_account_restricted", "bank_ownership_changed", "debit_not_authorized", "incorrect_account_holder_address", "incorrect_account_holder_name", "incorrect_account_holder_tax_id", "insufficient_funds", "invalid_account_number", "invalid_currency", "no_account", "other", ] ] """ Reason for the failure. """ ././@PaxHeader0000000000000000000000000000021300000000000010211 xustar00111 path=stripe-13.2.0/stripe/params/test_helpers/treasury/_inbound_transfer_return_inbound_transfer_params.py 28 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/treasury/_inbound_transfer_return_inbound_transfer_params.p0000644000000000000000000000047515102753431031456 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class InboundTransferReturnInboundTransferParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/treasury/_inbound_transfer_succeed_params.py0000644000000000000000000000045715102753431026321 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class InboundTransferSucceedParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/treasury/_outbound_payment_fail_params.py0000644000000000000000000000045415102753431025650 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class OutboundPaymentFailParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/treasury/_outbound_payment_post_params.py0000644000000000000000000000045415102753431025722 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class OutboundPaymentPostParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000021300000000000010211 xustar00111 path=stripe-13.2.0/stripe/params/test_helpers/treasury/_outbound_payment_return_outbound_payment_params.py 28 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/treasury/_outbound_payment_return_outbound_payment_params.p0000644000000000000000000000200315102753431031527 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class OutboundPaymentReturnOutboundPaymentParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ returned_details: NotRequired[ "OutboundPaymentReturnOutboundPaymentParamsReturnedDetails" ] """ Optional hash to set the return code. """ class OutboundPaymentReturnOutboundPaymentParamsReturnedDetails(TypedDict): code: NotRequired[ Literal[ "account_closed", "account_frozen", "bank_account_restricted", "bank_ownership_changed", "declined", "incorrect_account_holder_name", "invalid_account_number", "invalid_currency", "no_account", "other", ] ] """ The return code to be set on the OutboundPayment object. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/treasury/_outbound_payment_update_params.py0000644000000000000000000000272615102753431026223 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class OutboundPaymentUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ tracking_details: "OutboundPaymentUpdateParamsTrackingDetails" """ Details about network-specific tracking information. """ class OutboundPaymentUpdateParamsTrackingDetails(TypedDict): ach: NotRequired["OutboundPaymentUpdateParamsTrackingDetailsAch"] """ ACH network tracking details. """ type: Literal["ach", "us_domestic_wire"] """ The US bank account network used to send funds. """ us_domestic_wire: NotRequired[ "OutboundPaymentUpdateParamsTrackingDetailsUsDomesticWire" ] """ US domestic wire network tracking details. """ class OutboundPaymentUpdateParamsTrackingDetailsAch(TypedDict): trace_id: str """ ACH trace ID for funds sent over the `ach` network. """ class OutboundPaymentUpdateParamsTrackingDetailsUsDomesticWire(TypedDict): chips: NotRequired[str] """ CHIPS System Sequence Number (SSN) for funds sent over the `us_domestic_wire` network. """ imad: NotRequired[str] """ IMAD for funds sent over the `us_domestic_wire` network. """ omad: NotRequired[str] """ OMAD for funds sent over the `us_domestic_wire` network. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/treasury/_outbound_transfer_fail_params.py0000644000000000000000000000045515102753431026020 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class OutboundTransferFailParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/treasury/_outbound_transfer_post_params.py0000644000000000000000000000045515102753431026072 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class OutboundTransferPostParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000021500000000000010213 xustar00113 path=stripe-13.2.0/stripe/params/test_helpers/treasury/_outbound_transfer_return_outbound_transfer_params.py 28 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/treasury/_outbound_transfer_return_outbound_transfer_params0000644000000000000000000000175415102753431031623 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class OutboundTransferReturnOutboundTransferParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ returned_details: NotRequired[ "OutboundTransferReturnOutboundTransferParamsReturnedDetails" ] """ Details about a returned OutboundTransfer. """ class OutboundTransferReturnOutboundTransferParamsReturnedDetails(TypedDict): code: NotRequired[ Literal[ "account_closed", "account_frozen", "bank_account_restricted", "bank_ownership_changed", "declined", "incorrect_account_holder_name", "invalid_account_number", "invalid_currency", "no_account", "other", ] ] """ Reason for the return. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/treasury/_outbound_transfer_update_params.py0000644000000000000000000000273515102753431026372 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class OutboundTransferUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ tracking_details: "OutboundTransferUpdateParamsTrackingDetails" """ Details about network-specific tracking information. """ class OutboundTransferUpdateParamsTrackingDetails(TypedDict): ach: NotRequired["OutboundTransferUpdateParamsTrackingDetailsAch"] """ ACH network tracking details. """ type: Literal["ach", "us_domestic_wire"] """ The US bank account network used to send funds. """ us_domestic_wire: NotRequired[ "OutboundTransferUpdateParamsTrackingDetailsUsDomesticWire" ] """ US domestic wire network tracking details. """ class OutboundTransferUpdateParamsTrackingDetailsAch(TypedDict): trace_id: str """ ACH trace ID for funds sent over the `ach` network. """ class OutboundTransferUpdateParamsTrackingDetailsUsDomesticWire(TypedDict): chips: NotRequired[str] """ CHIPS System Sequence Number (SSN) for funds sent over the `us_domestic_wire` network. """ imad: NotRequired[str] """ IMAD for funds sent over the `us_domestic_wire` network. """ omad: NotRequired[str] """ OMAD for funds sent over the `us_domestic_wire` network. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/treasury/_received_credit_create_params.py0000644000000000000000000000374015102753431025725 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ReceivedCreditCreateParams(TypedDict): amount: int """ Amount (in cents) to be transferred. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ The FinancialAccount to send funds to. """ initiating_payment_method_details: NotRequired[ "ReceivedCreditCreateParamsInitiatingPaymentMethodDetails" ] """ Initiating payment method details for the object. """ network: Literal["ach", "us_domestic_wire"] """ Specifies the network rails to be used. If not set, will default to the PaymentMethod's preferred network. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type. """ class ReceivedCreditCreateParamsInitiatingPaymentMethodDetails(TypedDict): type: Literal["us_bank_account"] """ The source type. """ us_bank_account: NotRequired[ "ReceivedCreditCreateParamsInitiatingPaymentMethodDetailsUsBankAccount" ] """ Optional fields for `us_bank_account`. """ class ReceivedCreditCreateParamsInitiatingPaymentMethodDetailsUsBankAccount( TypedDict, ): account_holder_name: NotRequired[str] """ The bank account holder's name. """ account_number: NotRequired[str] """ The bank account number. """ routing_number: NotRequired[str] """ The bank account's routing number. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/test_helpers/treasury/_received_debit_create_params.py0000644000000000000000000000371115102753431025540 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ReceivedDebitCreateParams(TypedDict): amount: int """ Amount (in cents) to be transferred. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ The FinancialAccount to pull funds from. """ initiating_payment_method_details: NotRequired[ "ReceivedDebitCreateParamsInitiatingPaymentMethodDetails" ] """ Initiating payment method details for the object. """ network: Literal["ach"] """ Specifies the network rails to be used. If not set, will default to the PaymentMethod's preferred network. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type. """ class ReceivedDebitCreateParamsInitiatingPaymentMethodDetails(TypedDict): type: Literal["us_bank_account"] """ The source type. """ us_bank_account: NotRequired[ "ReceivedDebitCreateParamsInitiatingPaymentMethodDetailsUsBankAccount" ] """ Optional fields for `us_bank_account`. """ class ReceivedDebitCreateParamsInitiatingPaymentMethodDetailsUsBankAccount( TypedDict, ): account_holder_name: NotRequired[str] """ The bank account holder's name. """ account_number: NotRequired[str] """ The bank account number. """ routing_number: NotRequired[str] """ The bank account's routing number. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3730621 stripe-13.2.0/stripe/params/treasury/__init__.py0000644000000000000000000012407415102753431016622 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.treasury._credit_reversal_create_params import ( CreditReversalCreateParams as CreditReversalCreateParams, ) from stripe.params.treasury._credit_reversal_list_params import ( CreditReversalListParams as CreditReversalListParams, ) from stripe.params.treasury._credit_reversal_retrieve_params import ( CreditReversalRetrieveParams as CreditReversalRetrieveParams, ) from stripe.params.treasury._debit_reversal_create_params import ( DebitReversalCreateParams as DebitReversalCreateParams, ) from stripe.params.treasury._debit_reversal_list_params import ( DebitReversalListParams as DebitReversalListParams, ) from stripe.params.treasury._debit_reversal_retrieve_params import ( DebitReversalRetrieveParams as DebitReversalRetrieveParams, ) from stripe.params.treasury._financial_account_close_params import ( FinancialAccountCloseParams as FinancialAccountCloseParams, FinancialAccountCloseParamsForwardingSettings as FinancialAccountCloseParamsForwardingSettings, ) from stripe.params.treasury._financial_account_create_params import ( FinancialAccountCreateParams as FinancialAccountCreateParams, FinancialAccountCreateParamsFeatures as FinancialAccountCreateParamsFeatures, FinancialAccountCreateParamsFeaturesCardIssuing as FinancialAccountCreateParamsFeaturesCardIssuing, FinancialAccountCreateParamsFeaturesDepositInsurance as FinancialAccountCreateParamsFeaturesDepositInsurance, FinancialAccountCreateParamsFeaturesFinancialAddresses as FinancialAccountCreateParamsFeaturesFinancialAddresses, FinancialAccountCreateParamsFeaturesFinancialAddressesAba as FinancialAccountCreateParamsFeaturesFinancialAddressesAba, FinancialAccountCreateParamsFeaturesInboundTransfers as FinancialAccountCreateParamsFeaturesInboundTransfers, FinancialAccountCreateParamsFeaturesInboundTransfersAch as FinancialAccountCreateParamsFeaturesInboundTransfersAch, FinancialAccountCreateParamsFeaturesIntraStripeFlows as FinancialAccountCreateParamsFeaturesIntraStripeFlows, FinancialAccountCreateParamsFeaturesOutboundPayments as FinancialAccountCreateParamsFeaturesOutboundPayments, FinancialAccountCreateParamsFeaturesOutboundPaymentsAch as FinancialAccountCreateParamsFeaturesOutboundPaymentsAch, FinancialAccountCreateParamsFeaturesOutboundPaymentsUsDomesticWire as FinancialAccountCreateParamsFeaturesOutboundPaymentsUsDomesticWire, FinancialAccountCreateParamsFeaturesOutboundTransfers as FinancialAccountCreateParamsFeaturesOutboundTransfers, FinancialAccountCreateParamsFeaturesOutboundTransfersAch as FinancialAccountCreateParamsFeaturesOutboundTransfersAch, FinancialAccountCreateParamsFeaturesOutboundTransfersUsDomesticWire as FinancialAccountCreateParamsFeaturesOutboundTransfersUsDomesticWire, FinancialAccountCreateParamsPlatformRestrictions as FinancialAccountCreateParamsPlatformRestrictions, ) from stripe.params.treasury._financial_account_features_retrieve_params import ( FinancialAccountFeaturesRetrieveParams as FinancialAccountFeaturesRetrieveParams, ) from stripe.params.treasury._financial_account_features_update_params import ( FinancialAccountFeaturesUpdateParams as FinancialAccountFeaturesUpdateParams, FinancialAccountFeaturesUpdateParamsCardIssuing as FinancialAccountFeaturesUpdateParamsCardIssuing, FinancialAccountFeaturesUpdateParamsDepositInsurance as FinancialAccountFeaturesUpdateParamsDepositInsurance, FinancialAccountFeaturesUpdateParamsFinancialAddresses as FinancialAccountFeaturesUpdateParamsFinancialAddresses, FinancialAccountFeaturesUpdateParamsFinancialAddressesAba as FinancialAccountFeaturesUpdateParamsFinancialAddressesAba, FinancialAccountFeaturesUpdateParamsInboundTransfers as FinancialAccountFeaturesUpdateParamsInboundTransfers, FinancialAccountFeaturesUpdateParamsInboundTransfersAch as FinancialAccountFeaturesUpdateParamsInboundTransfersAch, FinancialAccountFeaturesUpdateParamsIntraStripeFlows as FinancialAccountFeaturesUpdateParamsIntraStripeFlows, FinancialAccountFeaturesUpdateParamsOutboundPayments as FinancialAccountFeaturesUpdateParamsOutboundPayments, FinancialAccountFeaturesUpdateParamsOutboundPaymentsAch as FinancialAccountFeaturesUpdateParamsOutboundPaymentsAch, FinancialAccountFeaturesUpdateParamsOutboundPaymentsUsDomesticWire as FinancialAccountFeaturesUpdateParamsOutboundPaymentsUsDomesticWire, FinancialAccountFeaturesUpdateParamsOutboundTransfers as FinancialAccountFeaturesUpdateParamsOutboundTransfers, FinancialAccountFeaturesUpdateParamsOutboundTransfersAch as FinancialAccountFeaturesUpdateParamsOutboundTransfersAch, FinancialAccountFeaturesUpdateParamsOutboundTransfersUsDomesticWire as FinancialAccountFeaturesUpdateParamsOutboundTransfersUsDomesticWire, ) from stripe.params.treasury._financial_account_list_params import ( FinancialAccountListParams as FinancialAccountListParams, FinancialAccountListParamsCreated as FinancialAccountListParamsCreated, ) from stripe.params.treasury._financial_account_modify_params import ( FinancialAccountModifyParams as FinancialAccountModifyParams, FinancialAccountModifyParamsFeatures as FinancialAccountModifyParamsFeatures, FinancialAccountModifyParamsFeaturesCardIssuing as FinancialAccountModifyParamsFeaturesCardIssuing, FinancialAccountModifyParamsFeaturesDepositInsurance as FinancialAccountModifyParamsFeaturesDepositInsurance, FinancialAccountModifyParamsFeaturesFinancialAddresses as FinancialAccountModifyParamsFeaturesFinancialAddresses, FinancialAccountModifyParamsFeaturesFinancialAddressesAba as FinancialAccountModifyParamsFeaturesFinancialAddressesAba, FinancialAccountModifyParamsFeaturesInboundTransfers as FinancialAccountModifyParamsFeaturesInboundTransfers, FinancialAccountModifyParamsFeaturesInboundTransfersAch as FinancialAccountModifyParamsFeaturesInboundTransfersAch, FinancialAccountModifyParamsFeaturesIntraStripeFlows as FinancialAccountModifyParamsFeaturesIntraStripeFlows, FinancialAccountModifyParamsFeaturesOutboundPayments as FinancialAccountModifyParamsFeaturesOutboundPayments, FinancialAccountModifyParamsFeaturesOutboundPaymentsAch as FinancialAccountModifyParamsFeaturesOutboundPaymentsAch, FinancialAccountModifyParamsFeaturesOutboundPaymentsUsDomesticWire as FinancialAccountModifyParamsFeaturesOutboundPaymentsUsDomesticWire, FinancialAccountModifyParamsFeaturesOutboundTransfers as FinancialAccountModifyParamsFeaturesOutboundTransfers, FinancialAccountModifyParamsFeaturesOutboundTransfersAch as FinancialAccountModifyParamsFeaturesOutboundTransfersAch, FinancialAccountModifyParamsFeaturesOutboundTransfersUsDomesticWire as FinancialAccountModifyParamsFeaturesOutboundTransfersUsDomesticWire, FinancialAccountModifyParamsForwardingSettings as FinancialAccountModifyParamsForwardingSettings, FinancialAccountModifyParamsPlatformRestrictions as FinancialAccountModifyParamsPlatformRestrictions, ) from stripe.params.treasury._financial_account_retrieve_features_params import ( FinancialAccountRetrieveFeaturesParams as FinancialAccountRetrieveFeaturesParams, ) from stripe.params.treasury._financial_account_retrieve_params import ( FinancialAccountRetrieveParams as FinancialAccountRetrieveParams, ) from stripe.params.treasury._financial_account_update_features_params import ( FinancialAccountUpdateFeaturesParams as FinancialAccountUpdateFeaturesParams, FinancialAccountUpdateFeaturesParamsCardIssuing as FinancialAccountUpdateFeaturesParamsCardIssuing, FinancialAccountUpdateFeaturesParamsDepositInsurance as FinancialAccountUpdateFeaturesParamsDepositInsurance, FinancialAccountUpdateFeaturesParamsFinancialAddresses as FinancialAccountUpdateFeaturesParamsFinancialAddresses, FinancialAccountUpdateFeaturesParamsFinancialAddressesAba as FinancialAccountUpdateFeaturesParamsFinancialAddressesAba, FinancialAccountUpdateFeaturesParamsInboundTransfers as FinancialAccountUpdateFeaturesParamsInboundTransfers, FinancialAccountUpdateFeaturesParamsInboundTransfersAch as FinancialAccountUpdateFeaturesParamsInboundTransfersAch, FinancialAccountUpdateFeaturesParamsIntraStripeFlows as FinancialAccountUpdateFeaturesParamsIntraStripeFlows, FinancialAccountUpdateFeaturesParamsOutboundPayments as FinancialAccountUpdateFeaturesParamsOutboundPayments, FinancialAccountUpdateFeaturesParamsOutboundPaymentsAch as FinancialAccountUpdateFeaturesParamsOutboundPaymentsAch, FinancialAccountUpdateFeaturesParamsOutboundPaymentsUsDomesticWire as FinancialAccountUpdateFeaturesParamsOutboundPaymentsUsDomesticWire, FinancialAccountUpdateFeaturesParamsOutboundTransfers as FinancialAccountUpdateFeaturesParamsOutboundTransfers, FinancialAccountUpdateFeaturesParamsOutboundTransfersAch as FinancialAccountUpdateFeaturesParamsOutboundTransfersAch, FinancialAccountUpdateFeaturesParamsOutboundTransfersUsDomesticWire as FinancialAccountUpdateFeaturesParamsOutboundTransfersUsDomesticWire, ) from stripe.params.treasury._financial_account_update_params import ( FinancialAccountUpdateParams as FinancialAccountUpdateParams, FinancialAccountUpdateParamsFeatures as FinancialAccountUpdateParamsFeatures, FinancialAccountUpdateParamsFeaturesCardIssuing as FinancialAccountUpdateParamsFeaturesCardIssuing, FinancialAccountUpdateParamsFeaturesDepositInsurance as FinancialAccountUpdateParamsFeaturesDepositInsurance, FinancialAccountUpdateParamsFeaturesFinancialAddresses as FinancialAccountUpdateParamsFeaturesFinancialAddresses, FinancialAccountUpdateParamsFeaturesFinancialAddressesAba as FinancialAccountUpdateParamsFeaturesFinancialAddressesAba, FinancialAccountUpdateParamsFeaturesInboundTransfers as FinancialAccountUpdateParamsFeaturesInboundTransfers, FinancialAccountUpdateParamsFeaturesInboundTransfersAch as FinancialAccountUpdateParamsFeaturesInboundTransfersAch, FinancialAccountUpdateParamsFeaturesIntraStripeFlows as FinancialAccountUpdateParamsFeaturesIntraStripeFlows, FinancialAccountUpdateParamsFeaturesOutboundPayments as FinancialAccountUpdateParamsFeaturesOutboundPayments, FinancialAccountUpdateParamsFeaturesOutboundPaymentsAch as FinancialAccountUpdateParamsFeaturesOutboundPaymentsAch, FinancialAccountUpdateParamsFeaturesOutboundPaymentsUsDomesticWire as FinancialAccountUpdateParamsFeaturesOutboundPaymentsUsDomesticWire, FinancialAccountUpdateParamsFeaturesOutboundTransfers as FinancialAccountUpdateParamsFeaturesOutboundTransfers, FinancialAccountUpdateParamsFeaturesOutboundTransfersAch as FinancialAccountUpdateParamsFeaturesOutboundTransfersAch, FinancialAccountUpdateParamsFeaturesOutboundTransfersUsDomesticWire as FinancialAccountUpdateParamsFeaturesOutboundTransfersUsDomesticWire, FinancialAccountUpdateParamsForwardingSettings as FinancialAccountUpdateParamsForwardingSettings, FinancialAccountUpdateParamsPlatformRestrictions as FinancialAccountUpdateParamsPlatformRestrictions, ) from stripe.params.treasury._inbound_transfer_cancel_params import ( InboundTransferCancelParams as InboundTransferCancelParams, ) from stripe.params.treasury._inbound_transfer_create_params import ( InboundTransferCreateParams as InboundTransferCreateParams, ) from stripe.params.treasury._inbound_transfer_fail_params import ( InboundTransferFailParams as InboundTransferFailParams, InboundTransferFailParamsFailureDetails as InboundTransferFailParamsFailureDetails, ) from stripe.params.treasury._inbound_transfer_list_params import ( InboundTransferListParams as InboundTransferListParams, ) from stripe.params.treasury._inbound_transfer_retrieve_params import ( InboundTransferRetrieveParams as InboundTransferRetrieveParams, ) from stripe.params.treasury._inbound_transfer_return_inbound_transfer_params import ( InboundTransferReturnInboundTransferParams as InboundTransferReturnInboundTransferParams, ) from stripe.params.treasury._inbound_transfer_succeed_params import ( InboundTransferSucceedParams as InboundTransferSucceedParams, ) from stripe.params.treasury._outbound_payment_cancel_params import ( OutboundPaymentCancelParams as OutboundPaymentCancelParams, ) from stripe.params.treasury._outbound_payment_create_params import ( OutboundPaymentCreateParams as OutboundPaymentCreateParams, OutboundPaymentCreateParamsDestinationPaymentMethodData as OutboundPaymentCreateParamsDestinationPaymentMethodData, OutboundPaymentCreateParamsDestinationPaymentMethodDataBillingDetails as OutboundPaymentCreateParamsDestinationPaymentMethodDataBillingDetails, OutboundPaymentCreateParamsDestinationPaymentMethodDataBillingDetailsAddress as OutboundPaymentCreateParamsDestinationPaymentMethodDataBillingDetailsAddress, OutboundPaymentCreateParamsDestinationPaymentMethodDataUsBankAccount as OutboundPaymentCreateParamsDestinationPaymentMethodDataUsBankAccount, OutboundPaymentCreateParamsDestinationPaymentMethodOptions as OutboundPaymentCreateParamsDestinationPaymentMethodOptions, OutboundPaymentCreateParamsDestinationPaymentMethodOptionsUsBankAccount as OutboundPaymentCreateParamsDestinationPaymentMethodOptionsUsBankAccount, OutboundPaymentCreateParamsEndUserDetails as OutboundPaymentCreateParamsEndUserDetails, ) from stripe.params.treasury._outbound_payment_fail_params import ( OutboundPaymentFailParams as OutboundPaymentFailParams, ) from stripe.params.treasury._outbound_payment_list_params import ( OutboundPaymentListParams as OutboundPaymentListParams, OutboundPaymentListParamsCreated as OutboundPaymentListParamsCreated, ) from stripe.params.treasury._outbound_payment_post_params import ( OutboundPaymentPostParams as OutboundPaymentPostParams, ) from stripe.params.treasury._outbound_payment_retrieve_params import ( OutboundPaymentRetrieveParams as OutboundPaymentRetrieveParams, ) from stripe.params.treasury._outbound_payment_return_outbound_payment_params import ( OutboundPaymentReturnOutboundPaymentParams as OutboundPaymentReturnOutboundPaymentParams, OutboundPaymentReturnOutboundPaymentParamsReturnedDetails as OutboundPaymentReturnOutboundPaymentParamsReturnedDetails, ) from stripe.params.treasury._outbound_payment_update_params import ( OutboundPaymentUpdateParams as OutboundPaymentUpdateParams, OutboundPaymentUpdateParamsTrackingDetails as OutboundPaymentUpdateParamsTrackingDetails, OutboundPaymentUpdateParamsTrackingDetailsAch as OutboundPaymentUpdateParamsTrackingDetailsAch, OutboundPaymentUpdateParamsTrackingDetailsUsDomesticWire as OutboundPaymentUpdateParamsTrackingDetailsUsDomesticWire, ) from stripe.params.treasury._outbound_transfer_cancel_params import ( OutboundTransferCancelParams as OutboundTransferCancelParams, ) from stripe.params.treasury._outbound_transfer_create_params import ( OutboundTransferCreateParams as OutboundTransferCreateParams, OutboundTransferCreateParamsDestinationPaymentMethodData as OutboundTransferCreateParamsDestinationPaymentMethodData, OutboundTransferCreateParamsDestinationPaymentMethodOptions as OutboundTransferCreateParamsDestinationPaymentMethodOptions, OutboundTransferCreateParamsDestinationPaymentMethodOptionsUsBankAccount as OutboundTransferCreateParamsDestinationPaymentMethodOptionsUsBankAccount, ) from stripe.params.treasury._outbound_transfer_fail_params import ( OutboundTransferFailParams as OutboundTransferFailParams, ) from stripe.params.treasury._outbound_transfer_list_params import ( OutboundTransferListParams as OutboundTransferListParams, ) from stripe.params.treasury._outbound_transfer_post_params import ( OutboundTransferPostParams as OutboundTransferPostParams, ) from stripe.params.treasury._outbound_transfer_retrieve_params import ( OutboundTransferRetrieveParams as OutboundTransferRetrieveParams, ) from stripe.params.treasury._outbound_transfer_return_outbound_transfer_params import ( OutboundTransferReturnOutboundTransferParams as OutboundTransferReturnOutboundTransferParams, OutboundTransferReturnOutboundTransferParamsReturnedDetails as OutboundTransferReturnOutboundTransferParamsReturnedDetails, ) from stripe.params.treasury._outbound_transfer_update_params import ( OutboundTransferUpdateParams as OutboundTransferUpdateParams, OutboundTransferUpdateParamsTrackingDetails as OutboundTransferUpdateParamsTrackingDetails, OutboundTransferUpdateParamsTrackingDetailsAch as OutboundTransferUpdateParamsTrackingDetailsAch, OutboundTransferUpdateParamsTrackingDetailsUsDomesticWire as OutboundTransferUpdateParamsTrackingDetailsUsDomesticWire, ) from stripe.params.treasury._received_credit_create_params import ( ReceivedCreditCreateParams as ReceivedCreditCreateParams, ReceivedCreditCreateParamsInitiatingPaymentMethodDetails as ReceivedCreditCreateParamsInitiatingPaymentMethodDetails, ReceivedCreditCreateParamsInitiatingPaymentMethodDetailsUsBankAccount as ReceivedCreditCreateParamsInitiatingPaymentMethodDetailsUsBankAccount, ) from stripe.params.treasury._received_credit_list_params import ( ReceivedCreditListParams as ReceivedCreditListParams, ReceivedCreditListParamsLinkedFlows as ReceivedCreditListParamsLinkedFlows, ) from stripe.params.treasury._received_credit_retrieve_params import ( ReceivedCreditRetrieveParams as ReceivedCreditRetrieveParams, ) from stripe.params.treasury._received_debit_create_params import ( ReceivedDebitCreateParams as ReceivedDebitCreateParams, ReceivedDebitCreateParamsInitiatingPaymentMethodDetails as ReceivedDebitCreateParamsInitiatingPaymentMethodDetails, ReceivedDebitCreateParamsInitiatingPaymentMethodDetailsUsBankAccount as ReceivedDebitCreateParamsInitiatingPaymentMethodDetailsUsBankAccount, ) from stripe.params.treasury._received_debit_list_params import ( ReceivedDebitListParams as ReceivedDebitListParams, ) from stripe.params.treasury._received_debit_retrieve_params import ( ReceivedDebitRetrieveParams as ReceivedDebitRetrieveParams, ) from stripe.params.treasury._transaction_entry_list_params import ( TransactionEntryListParams as TransactionEntryListParams, TransactionEntryListParamsCreated as TransactionEntryListParamsCreated, TransactionEntryListParamsEffectiveAt as TransactionEntryListParamsEffectiveAt, ) from stripe.params.treasury._transaction_entry_retrieve_params import ( TransactionEntryRetrieveParams as TransactionEntryRetrieveParams, ) from stripe.params.treasury._transaction_list_params import ( TransactionListParams as TransactionListParams, TransactionListParamsCreated as TransactionListParamsCreated, TransactionListParamsStatusTransitions as TransactionListParamsStatusTransitions, TransactionListParamsStatusTransitionsPostedAt as TransactionListParamsStatusTransitionsPostedAt, ) from stripe.params.treasury._transaction_retrieve_params import ( TransactionRetrieveParams as TransactionRetrieveParams, ) # name -> (import_target, is_submodule) _import_map = { "CreditReversalCreateParams": ( "stripe.params.treasury._credit_reversal_create_params", False, ), "CreditReversalListParams": ( "stripe.params.treasury._credit_reversal_list_params", False, ), "CreditReversalRetrieveParams": ( "stripe.params.treasury._credit_reversal_retrieve_params", False, ), "DebitReversalCreateParams": ( "stripe.params.treasury._debit_reversal_create_params", False, ), "DebitReversalListParams": ( "stripe.params.treasury._debit_reversal_list_params", False, ), "DebitReversalRetrieveParams": ( "stripe.params.treasury._debit_reversal_retrieve_params", False, ), "FinancialAccountCloseParams": ( "stripe.params.treasury._financial_account_close_params", False, ), "FinancialAccountCloseParamsForwardingSettings": ( "stripe.params.treasury._financial_account_close_params", False, ), "FinancialAccountCreateParams": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountCreateParamsFeatures": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountCreateParamsFeaturesCardIssuing": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountCreateParamsFeaturesDepositInsurance": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountCreateParamsFeaturesFinancialAddresses": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountCreateParamsFeaturesFinancialAddressesAba": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountCreateParamsFeaturesInboundTransfers": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountCreateParamsFeaturesInboundTransfersAch": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountCreateParamsFeaturesIntraStripeFlows": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountCreateParamsFeaturesOutboundPayments": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountCreateParamsFeaturesOutboundPaymentsAch": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountCreateParamsFeaturesOutboundPaymentsUsDomesticWire": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountCreateParamsFeaturesOutboundTransfers": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountCreateParamsFeaturesOutboundTransfersAch": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountCreateParamsFeaturesOutboundTransfersUsDomesticWire": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountCreateParamsPlatformRestrictions": ( "stripe.params.treasury._financial_account_create_params", False, ), "FinancialAccountFeaturesRetrieveParams": ( "stripe.params.treasury._financial_account_features_retrieve_params", False, ), "FinancialAccountFeaturesUpdateParams": ( "stripe.params.treasury._financial_account_features_update_params", False, ), "FinancialAccountFeaturesUpdateParamsCardIssuing": ( "stripe.params.treasury._financial_account_features_update_params", False, ), "FinancialAccountFeaturesUpdateParamsDepositInsurance": ( "stripe.params.treasury._financial_account_features_update_params", False, ), "FinancialAccountFeaturesUpdateParamsFinancialAddresses": ( "stripe.params.treasury._financial_account_features_update_params", False, ), "FinancialAccountFeaturesUpdateParamsFinancialAddressesAba": ( "stripe.params.treasury._financial_account_features_update_params", False, ), "FinancialAccountFeaturesUpdateParamsInboundTransfers": ( "stripe.params.treasury._financial_account_features_update_params", False, ), "FinancialAccountFeaturesUpdateParamsInboundTransfersAch": ( "stripe.params.treasury._financial_account_features_update_params", False, ), "FinancialAccountFeaturesUpdateParamsIntraStripeFlows": ( "stripe.params.treasury._financial_account_features_update_params", False, ), "FinancialAccountFeaturesUpdateParamsOutboundPayments": ( "stripe.params.treasury._financial_account_features_update_params", False, ), "FinancialAccountFeaturesUpdateParamsOutboundPaymentsAch": ( "stripe.params.treasury._financial_account_features_update_params", False, ), "FinancialAccountFeaturesUpdateParamsOutboundPaymentsUsDomesticWire": ( "stripe.params.treasury._financial_account_features_update_params", False, ), "FinancialAccountFeaturesUpdateParamsOutboundTransfers": ( "stripe.params.treasury._financial_account_features_update_params", False, ), "FinancialAccountFeaturesUpdateParamsOutboundTransfersAch": ( "stripe.params.treasury._financial_account_features_update_params", False, ), "FinancialAccountFeaturesUpdateParamsOutboundTransfersUsDomesticWire": ( "stripe.params.treasury._financial_account_features_update_params", False, ), "FinancialAccountListParams": ( "stripe.params.treasury._financial_account_list_params", False, ), "FinancialAccountListParamsCreated": ( "stripe.params.treasury._financial_account_list_params", False, ), "FinancialAccountModifyParams": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsFeatures": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsFeaturesCardIssuing": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsFeaturesDepositInsurance": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsFeaturesFinancialAddresses": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsFeaturesFinancialAddressesAba": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsFeaturesInboundTransfers": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsFeaturesInboundTransfersAch": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsFeaturesIntraStripeFlows": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsFeaturesOutboundPayments": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsFeaturesOutboundPaymentsAch": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsFeaturesOutboundPaymentsUsDomesticWire": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsFeaturesOutboundTransfers": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsFeaturesOutboundTransfersAch": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsFeaturesOutboundTransfersUsDomesticWire": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsForwardingSettings": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountModifyParamsPlatformRestrictions": ( "stripe.params.treasury._financial_account_modify_params", False, ), "FinancialAccountRetrieveFeaturesParams": ( "stripe.params.treasury._financial_account_retrieve_features_params", False, ), "FinancialAccountRetrieveParams": ( "stripe.params.treasury._financial_account_retrieve_params", False, ), "FinancialAccountUpdateFeaturesParams": ( "stripe.params.treasury._financial_account_update_features_params", False, ), "FinancialAccountUpdateFeaturesParamsCardIssuing": ( "stripe.params.treasury._financial_account_update_features_params", False, ), "FinancialAccountUpdateFeaturesParamsDepositInsurance": ( "stripe.params.treasury._financial_account_update_features_params", False, ), "FinancialAccountUpdateFeaturesParamsFinancialAddresses": ( "stripe.params.treasury._financial_account_update_features_params", False, ), "FinancialAccountUpdateFeaturesParamsFinancialAddressesAba": ( "stripe.params.treasury._financial_account_update_features_params", False, ), "FinancialAccountUpdateFeaturesParamsInboundTransfers": ( "stripe.params.treasury._financial_account_update_features_params", False, ), "FinancialAccountUpdateFeaturesParamsInboundTransfersAch": ( "stripe.params.treasury._financial_account_update_features_params", False, ), "FinancialAccountUpdateFeaturesParamsIntraStripeFlows": ( "stripe.params.treasury._financial_account_update_features_params", False, ), "FinancialAccountUpdateFeaturesParamsOutboundPayments": ( "stripe.params.treasury._financial_account_update_features_params", False, ), "FinancialAccountUpdateFeaturesParamsOutboundPaymentsAch": ( "stripe.params.treasury._financial_account_update_features_params", False, ), "FinancialAccountUpdateFeaturesParamsOutboundPaymentsUsDomesticWire": ( "stripe.params.treasury._financial_account_update_features_params", False, ), "FinancialAccountUpdateFeaturesParamsOutboundTransfers": ( "stripe.params.treasury._financial_account_update_features_params", False, ), "FinancialAccountUpdateFeaturesParamsOutboundTransfersAch": ( "stripe.params.treasury._financial_account_update_features_params", False, ), "FinancialAccountUpdateFeaturesParamsOutboundTransfersUsDomesticWire": ( "stripe.params.treasury._financial_account_update_features_params", False, ), "FinancialAccountUpdateParams": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsFeatures": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsFeaturesCardIssuing": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsFeaturesDepositInsurance": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsFeaturesFinancialAddresses": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsFeaturesFinancialAddressesAba": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsFeaturesInboundTransfers": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsFeaturesInboundTransfersAch": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsFeaturesIntraStripeFlows": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsFeaturesOutboundPayments": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsFeaturesOutboundPaymentsAch": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsFeaturesOutboundPaymentsUsDomesticWire": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsFeaturesOutboundTransfers": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsFeaturesOutboundTransfersAch": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsFeaturesOutboundTransfersUsDomesticWire": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsForwardingSettings": ( "stripe.params.treasury._financial_account_update_params", False, ), "FinancialAccountUpdateParamsPlatformRestrictions": ( "stripe.params.treasury._financial_account_update_params", False, ), "InboundTransferCancelParams": ( "stripe.params.treasury._inbound_transfer_cancel_params", False, ), "InboundTransferCreateParams": ( "stripe.params.treasury._inbound_transfer_create_params", False, ), "InboundTransferFailParams": ( "stripe.params.treasury._inbound_transfer_fail_params", False, ), "InboundTransferFailParamsFailureDetails": ( "stripe.params.treasury._inbound_transfer_fail_params", False, ), "InboundTransferListParams": ( "stripe.params.treasury._inbound_transfer_list_params", False, ), "InboundTransferRetrieveParams": ( "stripe.params.treasury._inbound_transfer_retrieve_params", False, ), "InboundTransferReturnInboundTransferParams": ( "stripe.params.treasury._inbound_transfer_return_inbound_transfer_params", False, ), "InboundTransferSucceedParams": ( "stripe.params.treasury._inbound_transfer_succeed_params", False, ), "OutboundPaymentCancelParams": ( "stripe.params.treasury._outbound_payment_cancel_params", False, ), "OutboundPaymentCreateParams": ( "stripe.params.treasury._outbound_payment_create_params", False, ), "OutboundPaymentCreateParamsDestinationPaymentMethodData": ( "stripe.params.treasury._outbound_payment_create_params", False, ), "OutboundPaymentCreateParamsDestinationPaymentMethodDataBillingDetails": ( "stripe.params.treasury._outbound_payment_create_params", False, ), "OutboundPaymentCreateParamsDestinationPaymentMethodDataBillingDetailsAddress": ( "stripe.params.treasury._outbound_payment_create_params", False, ), "OutboundPaymentCreateParamsDestinationPaymentMethodDataUsBankAccount": ( "stripe.params.treasury._outbound_payment_create_params", False, ), "OutboundPaymentCreateParamsDestinationPaymentMethodOptions": ( "stripe.params.treasury._outbound_payment_create_params", False, ), "OutboundPaymentCreateParamsDestinationPaymentMethodOptionsUsBankAccount": ( "stripe.params.treasury._outbound_payment_create_params", False, ), "OutboundPaymentCreateParamsEndUserDetails": ( "stripe.params.treasury._outbound_payment_create_params", False, ), "OutboundPaymentFailParams": ( "stripe.params.treasury._outbound_payment_fail_params", False, ), "OutboundPaymentListParams": ( "stripe.params.treasury._outbound_payment_list_params", False, ), "OutboundPaymentListParamsCreated": ( "stripe.params.treasury._outbound_payment_list_params", False, ), "OutboundPaymentPostParams": ( "stripe.params.treasury._outbound_payment_post_params", False, ), "OutboundPaymentRetrieveParams": ( "stripe.params.treasury._outbound_payment_retrieve_params", False, ), "OutboundPaymentReturnOutboundPaymentParams": ( "stripe.params.treasury._outbound_payment_return_outbound_payment_params", False, ), "OutboundPaymentReturnOutboundPaymentParamsReturnedDetails": ( "stripe.params.treasury._outbound_payment_return_outbound_payment_params", False, ), "OutboundPaymentUpdateParams": ( "stripe.params.treasury._outbound_payment_update_params", False, ), "OutboundPaymentUpdateParamsTrackingDetails": ( "stripe.params.treasury._outbound_payment_update_params", False, ), "OutboundPaymentUpdateParamsTrackingDetailsAch": ( "stripe.params.treasury._outbound_payment_update_params", False, ), "OutboundPaymentUpdateParamsTrackingDetailsUsDomesticWire": ( "stripe.params.treasury._outbound_payment_update_params", False, ), "OutboundTransferCancelParams": ( "stripe.params.treasury._outbound_transfer_cancel_params", False, ), "OutboundTransferCreateParams": ( "stripe.params.treasury._outbound_transfer_create_params", False, ), "OutboundTransferCreateParamsDestinationPaymentMethodData": ( "stripe.params.treasury._outbound_transfer_create_params", False, ), "OutboundTransferCreateParamsDestinationPaymentMethodOptions": ( "stripe.params.treasury._outbound_transfer_create_params", False, ), "OutboundTransferCreateParamsDestinationPaymentMethodOptionsUsBankAccount": ( "stripe.params.treasury._outbound_transfer_create_params", False, ), "OutboundTransferFailParams": ( "stripe.params.treasury._outbound_transfer_fail_params", False, ), "OutboundTransferListParams": ( "stripe.params.treasury._outbound_transfer_list_params", False, ), "OutboundTransferPostParams": ( "stripe.params.treasury._outbound_transfer_post_params", False, ), "OutboundTransferRetrieveParams": ( "stripe.params.treasury._outbound_transfer_retrieve_params", False, ), "OutboundTransferReturnOutboundTransferParams": ( "stripe.params.treasury._outbound_transfer_return_outbound_transfer_params", False, ), "OutboundTransferReturnOutboundTransferParamsReturnedDetails": ( "stripe.params.treasury._outbound_transfer_return_outbound_transfer_params", False, ), "OutboundTransferUpdateParams": ( "stripe.params.treasury._outbound_transfer_update_params", False, ), "OutboundTransferUpdateParamsTrackingDetails": ( "stripe.params.treasury._outbound_transfer_update_params", False, ), "OutboundTransferUpdateParamsTrackingDetailsAch": ( "stripe.params.treasury._outbound_transfer_update_params", False, ), "OutboundTransferUpdateParamsTrackingDetailsUsDomesticWire": ( "stripe.params.treasury._outbound_transfer_update_params", False, ), "ReceivedCreditCreateParams": ( "stripe.params.treasury._received_credit_create_params", False, ), "ReceivedCreditCreateParamsInitiatingPaymentMethodDetails": ( "stripe.params.treasury._received_credit_create_params", False, ), "ReceivedCreditCreateParamsInitiatingPaymentMethodDetailsUsBankAccount": ( "stripe.params.treasury._received_credit_create_params", False, ), "ReceivedCreditListParams": ( "stripe.params.treasury._received_credit_list_params", False, ), "ReceivedCreditListParamsLinkedFlows": ( "stripe.params.treasury._received_credit_list_params", False, ), "ReceivedCreditRetrieveParams": ( "stripe.params.treasury._received_credit_retrieve_params", False, ), "ReceivedDebitCreateParams": ( "stripe.params.treasury._received_debit_create_params", False, ), "ReceivedDebitCreateParamsInitiatingPaymentMethodDetails": ( "stripe.params.treasury._received_debit_create_params", False, ), "ReceivedDebitCreateParamsInitiatingPaymentMethodDetailsUsBankAccount": ( "stripe.params.treasury._received_debit_create_params", False, ), "ReceivedDebitListParams": ( "stripe.params.treasury._received_debit_list_params", False, ), "ReceivedDebitRetrieveParams": ( "stripe.params.treasury._received_debit_retrieve_params", False, ), "TransactionEntryListParams": ( "stripe.params.treasury._transaction_entry_list_params", False, ), "TransactionEntryListParamsCreated": ( "stripe.params.treasury._transaction_entry_list_params", False, ), "TransactionEntryListParamsEffectiveAt": ( "stripe.params.treasury._transaction_entry_list_params", False, ), "TransactionEntryRetrieveParams": ( "stripe.params.treasury._transaction_entry_retrieve_params", False, ), "TransactionListParams": ( "stripe.params.treasury._transaction_list_params", False, ), "TransactionListParamsCreated": ( "stripe.params.treasury._transaction_list_params", False, ), "TransactionListParamsStatusTransitions": ( "stripe.params.treasury._transaction_list_params", False, ), "TransactionListParamsStatusTransitionsPostedAt": ( "stripe.params.treasury._transaction_list_params", False, ), "TransactionRetrieveParams": ( "stripe.params.treasury._transaction_retrieve_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_credit_reversal_create_params.py0000644000000000000000000000145115102753431023256 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import NotRequired class CreditReversalCreateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ received_credit: str """ The ReceivedCredit to reverse. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_credit_reversal_list_params.py0000644000000000000000000000303515102753431022766 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class CreditReversalListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ Returns objects associated with this FinancialAccount. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ received_credit: NotRequired[str] """ Only return CreditReversals for the ReceivedCredit ID. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["canceled", "posted", "processing"]] """ Only return CreditReversals for a given status. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_credit_reversal_retrieve_params.py0000644000000000000000000000053415102753431023641 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class CreditReversalRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_debit_reversal_create_params.py0000644000000000000000000000144615102753431023077 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import NotRequired class DebitReversalCreateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ received_debit: str """ The ReceivedDebit to reverse. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_debit_reversal_list_params.py0000644000000000000000000000322615102753431022605 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class DebitReversalListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ Returns objects associated with this FinancialAccount. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ received_debit: NotRequired[str] """ Only return DebitReversals for the ReceivedDebit ID. """ resolution: NotRequired[Literal["lost", "won"]] """ Only return DebitReversals for a given resolution. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["canceled", "completed", "processing"]] """ Only return DebitReversals for a given status. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_debit_reversal_retrieve_params.py0000644000000000000000000000053315102753431023455 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class DebitReversalRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_financial_account_close_params.py0000644000000000000000000000204415102753431023402 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class FinancialAccountCloseParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ forwarding_settings: NotRequired[ "FinancialAccountCloseParamsForwardingSettings" ] """ A different bank account where funds can be deposited/debited in order to get the closing FA's balance to $0 """ class FinancialAccountCloseParamsForwardingSettings(TypedDict): financial_account: NotRequired[str] """ The financial_account id """ payment_method: NotRequired[str] """ The payment_method or bank account id. This needs to be a verified bank account. """ type: Literal["financial_account", "payment_method"] """ The type of the bank account provided. This can be either "financial_account" or "payment_method" """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_financial_account_create_params.py0000644000000000000000000001440515102753431023544 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class FinancialAccountCreateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ features: NotRequired["FinancialAccountCreateParamsFeatures"] """ Encodes whether a FinancialAccount has access to a particular feature. Stripe or the platform can control features via the requested field. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ nickname: NotRequired["Literal['']|str"] """ The nickname for the FinancialAccount. """ platform_restrictions: NotRequired[ "FinancialAccountCreateParamsPlatformRestrictions" ] """ The set of functionalities that the platform can restrict on the FinancialAccount. """ supported_currencies: List[str] """ The currencies the FinancialAccount can hold a balance in. """ class FinancialAccountCreateParamsFeatures(TypedDict): card_issuing: NotRequired[ "FinancialAccountCreateParamsFeaturesCardIssuing" ] """ Encodes the FinancialAccount's ability to be used with the Issuing product, including attaching cards to and drawing funds from the FinancialAccount. """ deposit_insurance: NotRequired[ "FinancialAccountCreateParamsFeaturesDepositInsurance" ] """ Represents whether this FinancialAccount is eligible for deposit insurance. Various factors determine the insurance amount. """ financial_addresses: NotRequired[ "FinancialAccountCreateParamsFeaturesFinancialAddresses" ] """ Contains Features that add FinancialAddresses to the FinancialAccount. """ inbound_transfers: NotRequired[ "FinancialAccountCreateParamsFeaturesInboundTransfers" ] """ Contains settings related to adding funds to a FinancialAccount from another Account with the same owner. """ intra_stripe_flows: NotRequired[ "FinancialAccountCreateParamsFeaturesIntraStripeFlows" ] """ Represents the ability for the FinancialAccount to send money to, or receive money from other FinancialAccounts (for example, via OutboundPayment). """ outbound_payments: NotRequired[ "FinancialAccountCreateParamsFeaturesOutboundPayments" ] """ Includes Features related to initiating money movement out of the FinancialAccount to someone else's bucket of money. """ outbound_transfers: NotRequired[ "FinancialAccountCreateParamsFeaturesOutboundTransfers" ] """ Contains a Feature and settings related to moving money out of the FinancialAccount into another Account with the same owner. """ class FinancialAccountCreateParamsFeaturesCardIssuing(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountCreateParamsFeaturesDepositInsurance(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountCreateParamsFeaturesFinancialAddresses(TypedDict): aba: NotRequired[ "FinancialAccountCreateParamsFeaturesFinancialAddressesAba" ] """ Adds an ABA FinancialAddress to the FinancialAccount. """ class FinancialAccountCreateParamsFeaturesFinancialAddressesAba(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountCreateParamsFeaturesInboundTransfers(TypedDict): ach: NotRequired["FinancialAccountCreateParamsFeaturesInboundTransfersAch"] """ Enables ACH Debits via the InboundTransfers API. """ class FinancialAccountCreateParamsFeaturesInboundTransfersAch(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountCreateParamsFeaturesIntraStripeFlows(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountCreateParamsFeaturesOutboundPayments(TypedDict): ach: NotRequired["FinancialAccountCreateParamsFeaturesOutboundPaymentsAch"] """ Enables ACH transfers via the OutboundPayments API. """ us_domestic_wire: NotRequired[ "FinancialAccountCreateParamsFeaturesOutboundPaymentsUsDomesticWire" ] """ Enables US domestic wire transfers via the OutboundPayments API. """ class FinancialAccountCreateParamsFeaturesOutboundPaymentsAch(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountCreateParamsFeaturesOutboundPaymentsUsDomesticWire( TypedDict, ): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountCreateParamsFeaturesOutboundTransfers(TypedDict): ach: NotRequired[ "FinancialAccountCreateParamsFeaturesOutboundTransfersAch" ] """ Enables ACH transfers via the OutboundTransfers API. """ us_domestic_wire: NotRequired[ "FinancialAccountCreateParamsFeaturesOutboundTransfersUsDomesticWire" ] """ Enables US domestic wire transfers via the OutboundTransfers API. """ class FinancialAccountCreateParamsFeaturesOutboundTransfersAch(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountCreateParamsFeaturesOutboundTransfersUsDomesticWire( TypedDict, ): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountCreateParamsPlatformRestrictions(TypedDict): inbound_flows: NotRequired[Literal["restricted", "unrestricted"]] """ Restricts all inbound money movement. """ outbound_flows: NotRequired[Literal["restricted", "unrestricted"]] """ Restricts all outbound money movement. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_financial_account_features_retrieve_params.py0000644000000000000000000000047115102753431026022 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class FinancialAccountFeaturesRetrieveParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_financial_account_features_update_params.py0000644000000000000000000001147415102753431025464 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class FinancialAccountFeaturesUpdateParams(TypedDict): card_issuing: NotRequired[ "FinancialAccountFeaturesUpdateParamsCardIssuing" ] """ Encodes the FinancialAccount's ability to be used with the Issuing product, including attaching cards to and drawing funds from the FinancialAccount. """ deposit_insurance: NotRequired[ "FinancialAccountFeaturesUpdateParamsDepositInsurance" ] """ Represents whether this FinancialAccount is eligible for deposit insurance. Various factors determine the insurance amount. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_addresses: NotRequired[ "FinancialAccountFeaturesUpdateParamsFinancialAddresses" ] """ Contains Features that add FinancialAddresses to the FinancialAccount. """ inbound_transfers: NotRequired[ "FinancialAccountFeaturesUpdateParamsInboundTransfers" ] """ Contains settings related to adding funds to a FinancialAccount from another Account with the same owner. """ intra_stripe_flows: NotRequired[ "FinancialAccountFeaturesUpdateParamsIntraStripeFlows" ] """ Represents the ability for the FinancialAccount to send money to, or receive money from other FinancialAccounts (for example, via OutboundPayment). """ outbound_payments: NotRequired[ "FinancialAccountFeaturesUpdateParamsOutboundPayments" ] """ Includes Features related to initiating money movement out of the FinancialAccount to someone else's bucket of money. """ outbound_transfers: NotRequired[ "FinancialAccountFeaturesUpdateParamsOutboundTransfers" ] """ Contains a Feature and settings related to moving money out of the FinancialAccount into another Account with the same owner. """ class FinancialAccountFeaturesUpdateParamsCardIssuing(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountFeaturesUpdateParamsDepositInsurance(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountFeaturesUpdateParamsFinancialAddresses(TypedDict): aba: NotRequired[ "FinancialAccountFeaturesUpdateParamsFinancialAddressesAba" ] """ Adds an ABA FinancialAddress to the FinancialAccount. """ class FinancialAccountFeaturesUpdateParamsFinancialAddressesAba(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountFeaturesUpdateParamsInboundTransfers(TypedDict): ach: NotRequired["FinancialAccountFeaturesUpdateParamsInboundTransfersAch"] """ Enables ACH Debits via the InboundTransfers API. """ class FinancialAccountFeaturesUpdateParamsInboundTransfersAch(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountFeaturesUpdateParamsIntraStripeFlows(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountFeaturesUpdateParamsOutboundPayments(TypedDict): ach: NotRequired["FinancialAccountFeaturesUpdateParamsOutboundPaymentsAch"] """ Enables ACH transfers via the OutboundPayments API. """ us_domestic_wire: NotRequired[ "FinancialAccountFeaturesUpdateParamsOutboundPaymentsUsDomesticWire" ] """ Enables US domestic wire transfers via the OutboundPayments API. """ class FinancialAccountFeaturesUpdateParamsOutboundPaymentsAch(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountFeaturesUpdateParamsOutboundPaymentsUsDomesticWire( TypedDict, ): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountFeaturesUpdateParamsOutboundTransfers(TypedDict): ach: NotRequired[ "FinancialAccountFeaturesUpdateParamsOutboundTransfersAch" ] """ Enables ACH transfers via the OutboundTransfers API. """ us_domestic_wire: NotRequired[ "FinancialAccountFeaturesUpdateParamsOutboundTransfersUsDomesticWire" ] """ Enables US domestic wire transfers via the OutboundTransfers API. """ class FinancialAccountFeaturesUpdateParamsOutboundTransfersAch(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountFeaturesUpdateParamsOutboundTransfersUsDomesticWire( TypedDict, ): requested: bool """ Whether the FinancialAccount should have the Feature. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_financial_account_list_params.py0000644000000000000000000000252715102753431023256 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class FinancialAccountListParams(RequestOptions): created: NotRequired["FinancialAccountListParamsCreated|int"] """ Only return FinancialAccounts that were created during the given date interval. """ ending_before: NotRequired[str] """ An object ID cursor for use in pagination. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ limit: NotRequired[int] """ A limit ranging from 1 to 100 (defaults to 10). """ starting_after: NotRequired[str] """ An object ID cursor for use in pagination. """ status: NotRequired[Literal["closed", "open"]] """ Only return FinancialAccounts that have the given status: `open` or `closed` """ class FinancialAccountListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_financial_account_modify_params.py0000644000000000000000000001557515102753431023601 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class FinancialAccountModifyParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ features: NotRequired["FinancialAccountModifyParamsFeatures"] """ Encodes whether a FinancialAccount has access to a particular feature, with a status enum and associated `status_details`. Stripe or the platform may control features via the requested field. """ forwarding_settings: NotRequired[ "FinancialAccountModifyParamsForwardingSettings" ] """ A different bank account where funds can be deposited/debited in order to get the closing FA's balance to $0 """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ nickname: NotRequired["Literal['']|str"] """ The nickname for the FinancialAccount. """ platform_restrictions: NotRequired[ "FinancialAccountModifyParamsPlatformRestrictions" ] """ The set of functionalities that the platform can restrict on the FinancialAccount. """ class FinancialAccountModifyParamsFeatures(TypedDict): card_issuing: NotRequired[ "FinancialAccountModifyParamsFeaturesCardIssuing" ] """ Encodes the FinancialAccount's ability to be used with the Issuing product, including attaching cards to and drawing funds from the FinancialAccount. """ deposit_insurance: NotRequired[ "FinancialAccountModifyParamsFeaturesDepositInsurance" ] """ Represents whether this FinancialAccount is eligible for deposit insurance. Various factors determine the insurance amount. """ financial_addresses: NotRequired[ "FinancialAccountModifyParamsFeaturesFinancialAddresses" ] """ Contains Features that add FinancialAddresses to the FinancialAccount. """ inbound_transfers: NotRequired[ "FinancialAccountModifyParamsFeaturesInboundTransfers" ] """ Contains settings related to adding funds to a FinancialAccount from another Account with the same owner. """ intra_stripe_flows: NotRequired[ "FinancialAccountModifyParamsFeaturesIntraStripeFlows" ] """ Represents the ability for the FinancialAccount to send money to, or receive money from other FinancialAccounts (for example, via OutboundPayment). """ outbound_payments: NotRequired[ "FinancialAccountModifyParamsFeaturesOutboundPayments" ] """ Includes Features related to initiating money movement out of the FinancialAccount to someone else's bucket of money. """ outbound_transfers: NotRequired[ "FinancialAccountModifyParamsFeaturesOutboundTransfers" ] """ Contains a Feature and settings related to moving money out of the FinancialAccount into another Account with the same owner. """ class FinancialAccountModifyParamsFeaturesCardIssuing(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountModifyParamsFeaturesDepositInsurance(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountModifyParamsFeaturesFinancialAddresses(TypedDict): aba: NotRequired[ "FinancialAccountModifyParamsFeaturesFinancialAddressesAba" ] """ Adds an ABA FinancialAddress to the FinancialAccount. """ class FinancialAccountModifyParamsFeaturesFinancialAddressesAba(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountModifyParamsFeaturesInboundTransfers(TypedDict): ach: NotRequired["FinancialAccountModifyParamsFeaturesInboundTransfersAch"] """ Enables ACH Debits via the InboundTransfers API. """ class FinancialAccountModifyParamsFeaturesInboundTransfersAch(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountModifyParamsFeaturesIntraStripeFlows(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountModifyParamsFeaturesOutboundPayments(TypedDict): ach: NotRequired["FinancialAccountModifyParamsFeaturesOutboundPaymentsAch"] """ Enables ACH transfers via the OutboundPayments API. """ us_domestic_wire: NotRequired[ "FinancialAccountModifyParamsFeaturesOutboundPaymentsUsDomesticWire" ] """ Enables US domestic wire transfers via the OutboundPayments API. """ class FinancialAccountModifyParamsFeaturesOutboundPaymentsAch(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountModifyParamsFeaturesOutboundPaymentsUsDomesticWire( TypedDict, ): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountModifyParamsFeaturesOutboundTransfers(TypedDict): ach: NotRequired[ "FinancialAccountModifyParamsFeaturesOutboundTransfersAch" ] """ Enables ACH transfers via the OutboundTransfers API. """ us_domestic_wire: NotRequired[ "FinancialAccountModifyParamsFeaturesOutboundTransfersUsDomesticWire" ] """ Enables US domestic wire transfers via the OutboundTransfers API. """ class FinancialAccountModifyParamsFeaturesOutboundTransfersAch(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountModifyParamsFeaturesOutboundTransfersUsDomesticWire( TypedDict, ): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountModifyParamsForwardingSettings(TypedDict): financial_account: NotRequired[str] """ The financial_account id """ payment_method: NotRequired[str] """ The payment_method or bank account id. This needs to be a verified bank account. """ type: Literal["financial_account", "payment_method"] """ The type of the bank account provided. This can be either "financial_account" or "payment_method" """ class FinancialAccountModifyParamsPlatformRestrictions(TypedDict): inbound_flows: NotRequired[Literal["restricted", "unrestricted"]] """ Restricts all inbound money movement. """ outbound_flows: NotRequired[Literal["restricted", "unrestricted"]] """ Restricts all outbound money movement. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_financial_account_retrieve_features_params.py0000644000000000000000000000054615102753431026025 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class FinancialAccountRetrieveFeaturesParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_financial_account_retrieve_params.py0000644000000000000000000000053615102753431024126 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class FinancialAccountRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_financial_account_update_features_params.py0000644000000000000000000001156415102753431025464 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired, TypedDict class FinancialAccountUpdateFeaturesParams(RequestOptions): card_issuing: NotRequired[ "FinancialAccountUpdateFeaturesParamsCardIssuing" ] """ Encodes the FinancialAccount's ability to be used with the Issuing product, including attaching cards to and drawing funds from the FinancialAccount. """ deposit_insurance: NotRequired[ "FinancialAccountUpdateFeaturesParamsDepositInsurance" ] """ Represents whether this FinancialAccount is eligible for deposit insurance. Various factors determine the insurance amount. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_addresses: NotRequired[ "FinancialAccountUpdateFeaturesParamsFinancialAddresses" ] """ Contains Features that add FinancialAddresses to the FinancialAccount. """ inbound_transfers: NotRequired[ "FinancialAccountUpdateFeaturesParamsInboundTransfers" ] """ Contains settings related to adding funds to a FinancialAccount from another Account with the same owner. """ intra_stripe_flows: NotRequired[ "FinancialAccountUpdateFeaturesParamsIntraStripeFlows" ] """ Represents the ability for the FinancialAccount to send money to, or receive money from other FinancialAccounts (for example, via OutboundPayment). """ outbound_payments: NotRequired[ "FinancialAccountUpdateFeaturesParamsOutboundPayments" ] """ Includes Features related to initiating money movement out of the FinancialAccount to someone else's bucket of money. """ outbound_transfers: NotRequired[ "FinancialAccountUpdateFeaturesParamsOutboundTransfers" ] """ Contains a Feature and settings related to moving money out of the FinancialAccount into another Account with the same owner. """ class FinancialAccountUpdateFeaturesParamsCardIssuing(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateFeaturesParamsDepositInsurance(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateFeaturesParamsFinancialAddresses(TypedDict): aba: NotRequired[ "FinancialAccountUpdateFeaturesParamsFinancialAddressesAba" ] """ Adds an ABA FinancialAddress to the FinancialAccount. """ class FinancialAccountUpdateFeaturesParamsFinancialAddressesAba(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateFeaturesParamsInboundTransfers(TypedDict): ach: NotRequired["FinancialAccountUpdateFeaturesParamsInboundTransfersAch"] """ Enables ACH Debits via the InboundTransfers API. """ class FinancialAccountUpdateFeaturesParamsInboundTransfersAch(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateFeaturesParamsIntraStripeFlows(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateFeaturesParamsOutboundPayments(TypedDict): ach: NotRequired["FinancialAccountUpdateFeaturesParamsOutboundPaymentsAch"] """ Enables ACH transfers via the OutboundPayments API. """ us_domestic_wire: NotRequired[ "FinancialAccountUpdateFeaturesParamsOutboundPaymentsUsDomesticWire" ] """ Enables US domestic wire transfers via the OutboundPayments API. """ class FinancialAccountUpdateFeaturesParamsOutboundPaymentsAch(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateFeaturesParamsOutboundPaymentsUsDomesticWire( TypedDict, ): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateFeaturesParamsOutboundTransfers(TypedDict): ach: NotRequired[ "FinancialAccountUpdateFeaturesParamsOutboundTransfersAch" ] """ Enables ACH transfers via the OutboundTransfers API. """ us_domestic_wire: NotRequired[ "FinancialAccountUpdateFeaturesParamsOutboundTransfersUsDomesticWire" ] """ Enables US domestic wire transfers via the OutboundTransfers API. """ class FinancialAccountUpdateFeaturesParamsOutboundTransfersAch(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateFeaturesParamsOutboundTransfersUsDomesticWire( TypedDict, ): requested: bool """ Whether the FinancialAccount should have the Feature. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_financial_account_update_params.py0000644000000000000000000001550515102753431023565 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class FinancialAccountUpdateParams(TypedDict): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ features: NotRequired["FinancialAccountUpdateParamsFeatures"] """ Encodes whether a FinancialAccount has access to a particular feature, with a status enum and associated `status_details`. Stripe or the platform may control features via the requested field. """ forwarding_settings: NotRequired[ "FinancialAccountUpdateParamsForwardingSettings" ] """ A different bank account where funds can be deposited/debited in order to get the closing FA's balance to $0 """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ nickname: NotRequired["Literal['']|str"] """ The nickname for the FinancialAccount. """ platform_restrictions: NotRequired[ "FinancialAccountUpdateParamsPlatformRestrictions" ] """ The set of functionalities that the platform can restrict on the FinancialAccount. """ class FinancialAccountUpdateParamsFeatures(TypedDict): card_issuing: NotRequired[ "FinancialAccountUpdateParamsFeaturesCardIssuing" ] """ Encodes the FinancialAccount's ability to be used with the Issuing product, including attaching cards to and drawing funds from the FinancialAccount. """ deposit_insurance: NotRequired[ "FinancialAccountUpdateParamsFeaturesDepositInsurance" ] """ Represents whether this FinancialAccount is eligible for deposit insurance. Various factors determine the insurance amount. """ financial_addresses: NotRequired[ "FinancialAccountUpdateParamsFeaturesFinancialAddresses" ] """ Contains Features that add FinancialAddresses to the FinancialAccount. """ inbound_transfers: NotRequired[ "FinancialAccountUpdateParamsFeaturesInboundTransfers" ] """ Contains settings related to adding funds to a FinancialAccount from another Account with the same owner. """ intra_stripe_flows: NotRequired[ "FinancialAccountUpdateParamsFeaturesIntraStripeFlows" ] """ Represents the ability for the FinancialAccount to send money to, or receive money from other FinancialAccounts (for example, via OutboundPayment). """ outbound_payments: NotRequired[ "FinancialAccountUpdateParamsFeaturesOutboundPayments" ] """ Includes Features related to initiating money movement out of the FinancialAccount to someone else's bucket of money. """ outbound_transfers: NotRequired[ "FinancialAccountUpdateParamsFeaturesOutboundTransfers" ] """ Contains a Feature and settings related to moving money out of the FinancialAccount into another Account with the same owner. """ class FinancialAccountUpdateParamsFeaturesCardIssuing(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateParamsFeaturesDepositInsurance(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateParamsFeaturesFinancialAddresses(TypedDict): aba: NotRequired[ "FinancialAccountUpdateParamsFeaturesFinancialAddressesAba" ] """ Adds an ABA FinancialAddress to the FinancialAccount. """ class FinancialAccountUpdateParamsFeaturesFinancialAddressesAba(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateParamsFeaturesInboundTransfers(TypedDict): ach: NotRequired["FinancialAccountUpdateParamsFeaturesInboundTransfersAch"] """ Enables ACH Debits via the InboundTransfers API. """ class FinancialAccountUpdateParamsFeaturesInboundTransfersAch(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateParamsFeaturesIntraStripeFlows(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateParamsFeaturesOutboundPayments(TypedDict): ach: NotRequired["FinancialAccountUpdateParamsFeaturesOutboundPaymentsAch"] """ Enables ACH transfers via the OutboundPayments API. """ us_domestic_wire: NotRequired[ "FinancialAccountUpdateParamsFeaturesOutboundPaymentsUsDomesticWire" ] """ Enables US domestic wire transfers via the OutboundPayments API. """ class FinancialAccountUpdateParamsFeaturesOutboundPaymentsAch(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateParamsFeaturesOutboundPaymentsUsDomesticWire( TypedDict, ): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateParamsFeaturesOutboundTransfers(TypedDict): ach: NotRequired[ "FinancialAccountUpdateParamsFeaturesOutboundTransfersAch" ] """ Enables ACH transfers via the OutboundTransfers API. """ us_domestic_wire: NotRequired[ "FinancialAccountUpdateParamsFeaturesOutboundTransfersUsDomesticWire" ] """ Enables US domestic wire transfers via the OutboundTransfers API. """ class FinancialAccountUpdateParamsFeaturesOutboundTransfersAch(TypedDict): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateParamsFeaturesOutboundTransfersUsDomesticWire( TypedDict, ): requested: bool """ Whether the FinancialAccount should have the Feature. """ class FinancialAccountUpdateParamsForwardingSettings(TypedDict): financial_account: NotRequired[str] """ The financial_account id """ payment_method: NotRequired[str] """ The payment_method or bank account id. This needs to be a verified bank account. """ type: Literal["financial_account", "payment_method"] """ The type of the bank account provided. This can be either "financial_account" or "payment_method" """ class FinancialAccountUpdateParamsPlatformRestrictions(TypedDict): inbound_flows: NotRequired[Literal["restricted", "unrestricted"]] """ Restricts all inbound money movement. """ outbound_flows: NotRequired[Literal["restricted", "unrestricted"]] """ Restricts all outbound money movement. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_inbound_transfer_cancel_params.py0000644000000000000000000000053315102753431023425 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InboundTransferCancelParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_inbound_transfer_create_params.py0000644000000000000000000000274015102753431023445 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import NotRequired class InboundTransferCreateParams(RequestOptions): amount: int """ Amount (in cents) to be transferred. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ The FinancialAccount to send funds to. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ origin_payment_method: str """ The origin payment method to be debited for the InboundTransfer. """ statement_descriptor: NotRequired[str] """ The complete description that appears on your customers' statements. Maximum 10 characters. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_inbound_transfer_fail_params.py0000644000000000000000000000214515102753431023114 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class InboundTransferFailParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ failure_details: NotRequired["InboundTransferFailParamsFailureDetails"] """ Details about a failed InboundTransfer. """ class InboundTransferFailParamsFailureDetails(TypedDict): code: NotRequired[ Literal[ "account_closed", "account_frozen", "bank_account_restricted", "bank_ownership_changed", "debit_not_authorized", "incorrect_account_holder_address", "incorrect_account_holder_name", "incorrect_account_holder_tax_id", "insufficient_funds", "invalid_account_number", "invalid_currency", "no_account", "other", ] ] """ Reason for the failure. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_inbound_transfer_list_params.py0000644000000000000000000000300415102753431023147 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class InboundTransferListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ Returns objects associated with this FinancialAccount. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[ Literal["canceled", "failed", "processing", "succeeded"] ] """ Only return InboundTransfers that have the given status: `processing`, `succeeded`, `failed` or `canceled`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_inbound_transfer_retrieve_params.py0000644000000000000000000000053515102753431024027 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InboundTransferRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_inbound_transfer_return_inbound_transfer_params.py0000644000000000000000000000055215102753431027142 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InboundTransferReturnInboundTransferParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_inbound_transfer_succeed_params.py0000644000000000000000000000053415102753431023614 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class InboundTransferSucceedParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_outbound_payment_cancel_params.py0000644000000000000000000000053315102753431023457 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class OutboundPaymentCancelParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_outbound_payment_create_params.py0000644000000000000000000001545015102753431023501 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class OutboundPaymentCreateParams(RequestOptions): amount: int """ Amount (in cents) to be transferred. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: NotRequired[str] """ ID of the customer to whom the OutboundPayment is sent. Must match the Customer attached to the `destination_payment_method` passed in. """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ destination_payment_method: NotRequired[str] """ The PaymentMethod to use as the payment instrument for the OutboundPayment. Exclusive with `destination_payment_method_data`. """ destination_payment_method_data: NotRequired[ "OutboundPaymentCreateParamsDestinationPaymentMethodData" ] """ Hash used to generate the PaymentMethod to be used for this OutboundPayment. Exclusive with `destination_payment_method`. """ destination_payment_method_options: NotRequired[ "OutboundPaymentCreateParamsDestinationPaymentMethodOptions" ] """ Payment method-specific configuration for this OutboundPayment. """ end_user_details: NotRequired["OutboundPaymentCreateParamsEndUserDetails"] """ End user details. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ The FinancialAccount to pull funds from. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ statement_descriptor: NotRequired[str] """ The description that appears on the receiving end for this OutboundPayment (for example, bank statement for external bank transfer). Maximum 10 characters for `ach` payments, 140 characters for `us_domestic_wire` payments, or 500 characters for `stripe` network transfers. The default value is "payment". """ class OutboundPaymentCreateParamsDestinationPaymentMethodData(TypedDict): billing_details: NotRequired[ "OutboundPaymentCreateParamsDestinationPaymentMethodDataBillingDetails" ] """ Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. """ financial_account: NotRequired[str] """ Required if type is set to `financial_account`. The FinancialAccount ID to send funds to. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ type: Literal["financial_account", "us_bank_account"] """ 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. """ us_bank_account: NotRequired[ "OutboundPaymentCreateParamsDestinationPaymentMethodDataUsBankAccount" ] """ Required hash if type is set to `us_bank_account`. """ class OutboundPaymentCreateParamsDestinationPaymentMethodDataBillingDetails( TypedDict, ): address: NotRequired[ "Literal['']|OutboundPaymentCreateParamsDestinationPaymentMethodDataBillingDetailsAddress" ] """ Billing address. """ email: NotRequired["Literal['']|str"] """ Email address. """ name: NotRequired["Literal['']|str"] """ Full name. """ phone: NotRequired["Literal['']|str"] """ Billing phone number (including extension). """ class OutboundPaymentCreateParamsDestinationPaymentMethodDataBillingDetailsAddress( TypedDict, ): city: NotRequired[str] """ City, district, suburb, town, or village. """ country: NotRequired[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: NotRequired[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: NotRequired[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: NotRequired[str] """ ZIP or postal code. """ state: NotRequired[str] """ State, county, province, or region. """ class OutboundPaymentCreateParamsDestinationPaymentMethodDataUsBankAccount( TypedDict, ): account_holder_type: NotRequired[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_number: NotRequired[str] """ Account number of the bank account. """ account_type: NotRequired[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ financial_connections_account: NotRequired[str] """ The ID of a Financial Connections Account to use as a payment method. """ routing_number: NotRequired[str] """ Routing number of the bank account. """ class OutboundPaymentCreateParamsDestinationPaymentMethodOptions(TypedDict): us_bank_account: NotRequired[ "Literal['']|OutboundPaymentCreateParamsDestinationPaymentMethodOptionsUsBankAccount" ] """ Optional fields for `us_bank_account`. """ class OutboundPaymentCreateParamsDestinationPaymentMethodOptionsUsBankAccount( TypedDict, ): network: NotRequired[Literal["ach", "us_domestic_wire"]] """ Specifies the network rails to be used. If not set, will default to the PaymentMethod's preferred network. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type. """ class OutboundPaymentCreateParamsEndUserDetails(TypedDict): ip_address: NotRequired[str] """ IP address of the user initiating the OutboundPayment. Must be supplied if `present` is set to `true`. """ present: bool """ `True` if the OutboundPayment creation request is being made on behalf of an end user by a platform. Otherwise, `false`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_outbound_payment_fail_params.py0000644000000000000000000000053115102753431023143 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class OutboundPaymentFailParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_outbound_payment_list_params.py0000644000000000000000000000426415102753431023212 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class OutboundPaymentListParams(RequestOptions): created: NotRequired["OutboundPaymentListParamsCreated|int"] """ Only return OutboundPayments that were created during the given date interval. """ customer: NotRequired[str] """ Only return OutboundPayments sent to this customer. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ Returns objects associated with this FinancialAccount. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[ Literal["canceled", "failed", "posted", "processing", "returned"] ] """ Only return OutboundPayments that have the given status: `processing`, `failed`, `posted`, `returned`, or `canceled`. """ class OutboundPaymentListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_outbound_payment_post_params.py0000644000000000000000000000053115102753431023215 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class OutboundPaymentPostParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_outbound_payment_retrieve_params.py0000644000000000000000000000053515102753431024061 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class OutboundPaymentRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_outbound_payment_return_outbound_payment_params.py0000644000000000000000000000207315102753431027226 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class OutboundPaymentReturnOutboundPaymentParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ returned_details: NotRequired[ "OutboundPaymentReturnOutboundPaymentParamsReturnedDetails" ] """ Optional hash to set the return code. """ class OutboundPaymentReturnOutboundPaymentParamsReturnedDetails(TypedDict): code: NotRequired[ Literal[ "account_closed", "account_frozen", "bank_account_restricted", "bank_ownership_changed", "declined", "incorrect_account_holder_name", "invalid_account_number", "invalid_currency", "no_account", "other", ] ] """ The return code to be set on the OutboundPayment object. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_outbound_payment_update_params.py0000644000000000000000000000301615102753431023513 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class OutboundPaymentUpdateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ tracking_details: "OutboundPaymentUpdateParamsTrackingDetails" """ Details about network-specific tracking information. """ class OutboundPaymentUpdateParamsTrackingDetails(TypedDict): ach: NotRequired["OutboundPaymentUpdateParamsTrackingDetailsAch"] """ ACH network tracking details. """ type: Literal["ach", "us_domestic_wire"] """ The US bank account network used to send funds. """ us_domestic_wire: NotRequired[ "OutboundPaymentUpdateParamsTrackingDetailsUsDomesticWire" ] """ US domestic wire network tracking details. """ class OutboundPaymentUpdateParamsTrackingDetailsAch(TypedDict): trace_id: str """ ACH trace ID for funds sent over the `ach` network. """ class OutboundPaymentUpdateParamsTrackingDetailsUsDomesticWire(TypedDict): chips: NotRequired[str] """ CHIPS System Sequence Number (SSN) for funds sent over the `us_domestic_wire` network. """ imad: NotRequired[str] """ IMAD for funds sent over the `us_domestic_wire` network. """ omad: NotRequired[str] """ OMAD for funds sent over the `us_domestic_wire` network. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_outbound_transfer_cancel_params.py0000644000000000000000000000053415102753431023627 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class OutboundTransferCancelParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_outbound_transfer_create_params.py0000644000000000000000000000612615102753431023650 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class OutboundTransferCreateParams(RequestOptions): amount: int """ Amount (in cents) to be transferred. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ destination_payment_method: NotRequired[str] """ The PaymentMethod to use as the payment instrument for the OutboundTransfer. """ destination_payment_method_data: NotRequired[ "OutboundTransferCreateParamsDestinationPaymentMethodData" ] """ Hash used to generate the PaymentMethod to be used for this OutboundTransfer. Exclusive with `destination_payment_method`. """ destination_payment_method_options: NotRequired[ "OutboundTransferCreateParamsDestinationPaymentMethodOptions" ] """ Hash describing payment method configuration details. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ The FinancialAccount to pull funds from. """ metadata: NotRequired[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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. """ statement_descriptor: NotRequired[str] """ Statement descriptor to be shown on the receiving end of an OutboundTransfer. Maximum 10 characters for `ach` transfers or 140 characters for `us_domestic_wire` transfers. The default value is "transfer". """ class OutboundTransferCreateParamsDestinationPaymentMethodData(TypedDict): financial_account: NotRequired[str] """ Required if type is set to `financial_account`. The FinancialAccount ID to send funds to. """ type: Literal["financial_account"] """ The type of the destination. """ class OutboundTransferCreateParamsDestinationPaymentMethodOptions(TypedDict): us_bank_account: NotRequired[ "Literal['']|OutboundTransferCreateParamsDestinationPaymentMethodOptionsUsBankAccount" ] """ Optional fields for `us_bank_account`. """ class OutboundTransferCreateParamsDestinationPaymentMethodOptionsUsBankAccount( TypedDict, ): network: NotRequired[Literal["ach", "us_domestic_wire"]] """ Specifies the network rails to be used. If not set, will default to the PaymentMethod's preferred network. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_outbound_transfer_fail_params.py0000644000000000000000000000053215102753431023313 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class OutboundTransferFailParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_outbound_transfer_list_params.py0000644000000000000000000000303115102753431023350 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class OutboundTransferListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ Returns objects associated with this FinancialAccount. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[ Literal["canceled", "failed", "posted", "processing", "returned"] ] """ Only return OutboundTransfers that have the given status: `processing`, `canceled`, `failed`, `posted`, or `returned`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3740623 stripe-13.2.0/stripe/params/treasury/_outbound_transfer_post_params.py0000644000000000000000000000053215102753431023365 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class OutboundTransferPostParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/treasury/_outbound_transfer_retrieve_params.py0000644000000000000000000000053615102753431024231 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class OutboundTransferRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/treasury/_outbound_transfer_return_outbound_transfer_params.py0000644000000000000000000000204415102753431027542 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class OutboundTransferReturnOutboundTransferParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ returned_details: NotRequired[ "OutboundTransferReturnOutboundTransferParamsReturnedDetails" ] """ Details about a returned OutboundTransfer. """ class OutboundTransferReturnOutboundTransferParamsReturnedDetails(TypedDict): code: NotRequired[ Literal[ "account_closed", "account_frozen", "bank_account_restricted", "bank_ownership_changed", "declined", "incorrect_account_holder_name", "invalid_account_number", "invalid_currency", "no_account", "other", ] ] """ Reason for the return. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/treasury/_outbound_transfer_update_params.py0000644000000000000000000000302515102753431023662 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class OutboundTransferUpdateParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ tracking_details: "OutboundTransferUpdateParamsTrackingDetails" """ Details about network-specific tracking information. """ class OutboundTransferUpdateParamsTrackingDetails(TypedDict): ach: NotRequired["OutboundTransferUpdateParamsTrackingDetailsAch"] """ ACH network tracking details. """ type: Literal["ach", "us_domestic_wire"] """ The US bank account network used to send funds. """ us_domestic_wire: NotRequired[ "OutboundTransferUpdateParamsTrackingDetailsUsDomesticWire" ] """ US domestic wire network tracking details. """ class OutboundTransferUpdateParamsTrackingDetailsAch(TypedDict): trace_id: str """ ACH trace ID for funds sent over the `ach` network. """ class OutboundTransferUpdateParamsTrackingDetailsUsDomesticWire(TypedDict): chips: NotRequired[str] """ CHIPS System Sequence Number (SSN) for funds sent over the `us_domestic_wire` network. """ imad: NotRequired[str] """ IMAD for funds sent over the `us_domestic_wire` network. """ omad: NotRequired[str] """ OMAD for funds sent over the `us_domestic_wire` network. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/treasury/_received_credit_create_params.py0000644000000000000000000000403015102753431023215 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ReceivedCreditCreateParams(RequestOptions): amount: int """ Amount (in cents) to be transferred. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ The FinancialAccount to send funds to. """ initiating_payment_method_details: NotRequired[ "ReceivedCreditCreateParamsInitiatingPaymentMethodDetails" ] """ Initiating payment method details for the object. """ network: Literal["ach", "us_domestic_wire"] """ Specifies the network rails to be used. If not set, will default to the PaymentMethod's preferred network. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type. """ class ReceivedCreditCreateParamsInitiatingPaymentMethodDetails(TypedDict): type: Literal["us_bank_account"] """ The source type. """ us_bank_account: NotRequired[ "ReceivedCreditCreateParamsInitiatingPaymentMethodDetailsUsBankAccount" ] """ Optional fields for `us_bank_account`. """ class ReceivedCreditCreateParamsInitiatingPaymentMethodDetailsUsBankAccount( TypedDict, ): account_holder_name: NotRequired[str] """ The bank account holder's name. """ account_number: NotRequired[str] """ The bank account number. """ routing_number: NotRequired[str] """ The bank account's routing number. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/treasury/_received_credit_list_params.py0000644000000000000000000000351415102753431022733 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ReceivedCreditListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ The FinancialAccount that received the funds. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ linked_flows: NotRequired["ReceivedCreditListParamsLinkedFlows"] """ Only return ReceivedCredits described by the flow. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["failed", "succeeded"]] """ Only return ReceivedCredits that have the given status: `succeeded` or `failed`. """ class ReceivedCreditListParamsLinkedFlows(TypedDict): source_flow_type: Literal[ "credit_reversal", "other", "outbound_payment", "outbound_transfer", "payout", ] """ The source flow type. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/treasury/_received_credit_retrieve_params.py0000644000000000000000000000053415102753431023604 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ReceivedCreditRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/treasury/_received_debit_create_params.py0000644000000000000000000000400115102753431023030 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class ReceivedDebitCreateParams(RequestOptions): amount: int """ Amount (in cents) to be transferred. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: NotRequired[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ The FinancialAccount to pull funds from. """ initiating_payment_method_details: NotRequired[ "ReceivedDebitCreateParamsInitiatingPaymentMethodDetails" ] """ Initiating payment method details for the object. """ network: Literal["ach"] """ Specifies the network rails to be used. If not set, will default to the PaymentMethod's preferred network. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type. """ class ReceivedDebitCreateParamsInitiatingPaymentMethodDetails(TypedDict): type: Literal["us_bank_account"] """ The source type. """ us_bank_account: NotRequired[ "ReceivedDebitCreateParamsInitiatingPaymentMethodDetailsUsBankAccount" ] """ Optional fields for `us_bank_account`. """ class ReceivedDebitCreateParamsInitiatingPaymentMethodDetailsUsBankAccount( TypedDict, ): account_holder_name: NotRequired[str] """ The bank account holder's name. """ account_number: NotRequired[str] """ The bank account number. """ routing_number: NotRequired[str] """ The bank account's routing number. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/treasury/_received_debit_list_params.py0000644000000000000000000000267115102753431022553 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired class ReceivedDebitListParams(RequestOptions): ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ The FinancialAccount that funds were pulled from. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["failed", "succeeded"]] """ Only return ReceivedDebits that have the given status: `succeeded` or `failed`. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/treasury/_received_debit_retrieve_params.py0000644000000000000000000000053315102753431023420 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class ReceivedDebitRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/treasury/_transaction_entry_list_params.py0000644000000000000000000000515015102753431023357 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class TransactionEntryListParams(RequestOptions): created: NotRequired["TransactionEntryListParamsCreated|int"] """ Only return TransactionEntries that were created during the given date interval. """ effective_at: NotRequired["TransactionEntryListParamsEffectiveAt|int"] ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ Returns objects associated with this FinancialAccount. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ order_by: NotRequired[Literal["created", "effective_at"]] """ The results are in reverse chronological order by `created` or `effective_at`. The default is `created`. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ transaction: NotRequired[str] """ Only return TransactionEntries associated with this Transaction. """ class TransactionEntryListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ class TransactionEntryListParamsEffectiveAt(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/treasury/_transaction_entry_retrieve_params.py0000644000000000000000000000053615102753431024234 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TransactionEntryRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/treasury/_transaction_list_params.py0000644000000000000000000000603315102753431022137 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import Literal, NotRequired, TypedDict class TransactionListParams(RequestOptions): created: NotRequired["TransactionListParamsCreated|int"] """ Only return Transactions that were created during the given date interval. """ ending_before: NotRequired[str] """ A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. """ expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ financial_account: str """ Returns objects associated with this FinancialAccount. """ limit: NotRequired[int] """ A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. """ order_by: NotRequired[Literal["created", "posted_at"]] """ The results are in reverse chronological order by `created` or `posted_at`. The default is `created`. """ starting_after: NotRequired[str] """ A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. """ status: NotRequired[Literal["open", "posted", "void"]] """ Only return Transactions that have the given status: `open`, `posted`, or `void`. """ status_transitions: NotRequired["TransactionListParamsStatusTransitions"] """ A filter for the `status_transitions.posted_at` timestamp. When using this filter, `status=posted` and `order_by=posted_at` must also be specified. """ class TransactionListParamsCreated(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ class TransactionListParamsStatusTransitions(TypedDict): posted_at: NotRequired[ "TransactionListParamsStatusTransitionsPostedAt|int" ] """ Returns Transactions with `posted_at` within the specified range. """ class TransactionListParamsStatusTransitionsPostedAt(TypedDict): gt: NotRequired[int] """ Minimum value to filter by (exclusive) """ gte: NotRequired[int] """ Minimum value to filter by (inclusive) """ lt: NotRequired[int] """ Maximum value to filter by (exclusive) """ lte: NotRequired[int] """ Maximum value to filter by (inclusive) """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/treasury/_transaction_retrieve_params.py0000644000000000000000000000053115102753431023006 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._request_options import RequestOptions from typing import List from typing_extensions import NotRequired class TransactionRetrieveParams(RequestOptions): expand: NotRequired[List[str]] """ Specifies which fields in the response should be expanded. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/v2/__init__.py0000644000000000000000000000135615102753431015270 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.v2 import billing as billing, core as core # name -> (import_target, is_submodule) _import_map = { "billing": ("stripe.params.v2.billing", True), "core": ("stripe.params.v2.core", True), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/v2/billing/__init__.py0000644000000000000000000000416215102753431016706 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.v2.billing._meter_event_adjustment_create_params import ( MeterEventAdjustmentCreateParams as MeterEventAdjustmentCreateParams, MeterEventAdjustmentCreateParamsCancel as MeterEventAdjustmentCreateParamsCancel, ) from stripe.params.v2.billing._meter_event_create_params import ( MeterEventCreateParams as MeterEventCreateParams, ) from stripe.params.v2.billing._meter_event_session_create_params import ( MeterEventSessionCreateParams as MeterEventSessionCreateParams, ) from stripe.params.v2.billing._meter_event_stream_create_params import ( MeterEventStreamCreateParams as MeterEventStreamCreateParams, MeterEventStreamCreateParamsEvent as MeterEventStreamCreateParamsEvent, ) # name -> (import_target, is_submodule) _import_map = { "MeterEventAdjustmentCreateParams": ( "stripe.params.v2.billing._meter_event_adjustment_create_params", False, ), "MeterEventAdjustmentCreateParamsCancel": ( "stripe.params.v2.billing._meter_event_adjustment_create_params", False, ), "MeterEventCreateParams": ( "stripe.params.v2.billing._meter_event_create_params", False, ), "MeterEventSessionCreateParams": ( "stripe.params.v2.billing._meter_event_session_create_params", False, ), "MeterEventStreamCreateParams": ( "stripe.params.v2.billing._meter_event_stream_create_params", False, ), "MeterEventStreamCreateParamsEvent": ( "stripe.params.v2.billing._meter_event_stream_create_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/v2/billing/_meter_event_adjustment_create_params.py0000644000000000000000000000140315102753431024742 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing_extensions import Literal, TypedDict class MeterEventAdjustmentCreateParams(TypedDict): cancel: "MeterEventAdjustmentCreateParamsCancel" """ Specifies which event to cancel. """ event_name: str """ The name of the meter event. Corresponds with the `event_name` field on a meter. """ type: Literal["cancel"] """ Specifies whether to cancel a single event or a range of events for a time period. Time period cancellation is not supported yet. """ class MeterEventAdjustmentCreateParamsCancel(TypedDict): identifier: str """ Unique identifier for the event. You can only cancel events within 24 hours of Stripe receiving them. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/v2/billing/_meter_event_create_params.py0000644000000000000000000000221415102753431022505 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict from typing_extensions import NotRequired, TypedDict class MeterEventCreateParams(TypedDict): event_name: str """ The name of the meter event. Corresponds with the `event_name` field on a meter. """ identifier: NotRequired[str] """ A unique identifier for the event. If not provided, one will be generated. We recommend using a globally unique identifier for this. We'll enforce uniqueness within a rolling 24 hour period. """ payload: Dict[str, str] """ 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](https://docs.stripe.com/billing/subscriptions/usage-based/recording-usage#payload-key-overrides). """ timestamp: NotRequired[str] """ The time of the event. Must be within the past 35 calendar days or up to 5 minutes in the future. Defaults to current timestamp if not specified. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/v2/billing/_meter_event_session_create_params.py0000644000000000000000000000024215102753431024247 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing_extensions import TypedDict class MeterEventSessionCreateParams(TypedDict): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/v2/billing/_meter_event_stream_create_params.py0000644000000000000000000000255715102753431024072 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import NotRequired, TypedDict class MeterEventStreamCreateParams(TypedDict): events: List["MeterEventStreamCreateParamsEvent"] """ List of meter events to include in the request. Supports up to 100 events per request. """ class MeterEventStreamCreateParamsEvent(TypedDict): event_name: str """ The name of the meter event. Corresponds with the `event_name` field on a meter. """ identifier: NotRequired[str] """ A unique identifier for the event. If not provided, one will be generated. We recommend using a globally unique identifier for this. We'll enforce uniqueness within a rolling 24 hour period. """ payload: Dict[str, str] """ 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](https://docs.stripe.com/billing/subscriptions/usage-based/recording-usage#payload-key-overrides). """ timestamp: NotRequired[str] """ The time of the event. Must be within the past 35 calendar days or up to 5 minutes in the future. Defaults to current timestamp if not specified. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/v2/core/__init__.py0000644000000000000000000000752515102753431016224 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.params.v2.core._event_destination_create_params import ( EventDestinationCreateParams as EventDestinationCreateParams, EventDestinationCreateParamsAmazonEventbridge as EventDestinationCreateParamsAmazonEventbridge, EventDestinationCreateParamsWebhookEndpoint as EventDestinationCreateParamsWebhookEndpoint, ) from stripe.params.v2.core._event_destination_delete_params import ( EventDestinationDeleteParams as EventDestinationDeleteParams, ) from stripe.params.v2.core._event_destination_disable_params import ( EventDestinationDisableParams as EventDestinationDisableParams, ) from stripe.params.v2.core._event_destination_enable_params import ( EventDestinationEnableParams as EventDestinationEnableParams, ) from stripe.params.v2.core._event_destination_list_params import ( EventDestinationListParams as EventDestinationListParams, ) from stripe.params.v2.core._event_destination_ping_params import ( EventDestinationPingParams as EventDestinationPingParams, ) from stripe.params.v2.core._event_destination_retrieve_params import ( EventDestinationRetrieveParams as EventDestinationRetrieveParams, ) from stripe.params.v2.core._event_destination_update_params import ( EventDestinationUpdateParams as EventDestinationUpdateParams, EventDestinationUpdateParamsWebhookEndpoint as EventDestinationUpdateParamsWebhookEndpoint, ) from stripe.params.v2.core._event_list_params import ( EventListParams as EventListParams, ) from stripe.params.v2.core._event_retrieve_params import ( EventRetrieveParams as EventRetrieveParams, ) # name -> (import_target, is_submodule) _import_map = { "EventDestinationCreateParams": ( "stripe.params.v2.core._event_destination_create_params", False, ), "EventDestinationCreateParamsAmazonEventbridge": ( "stripe.params.v2.core._event_destination_create_params", False, ), "EventDestinationCreateParamsWebhookEndpoint": ( "stripe.params.v2.core._event_destination_create_params", False, ), "EventDestinationDeleteParams": ( "stripe.params.v2.core._event_destination_delete_params", False, ), "EventDestinationDisableParams": ( "stripe.params.v2.core._event_destination_disable_params", False, ), "EventDestinationEnableParams": ( "stripe.params.v2.core._event_destination_enable_params", False, ), "EventDestinationListParams": ( "stripe.params.v2.core._event_destination_list_params", False, ), "EventDestinationPingParams": ( "stripe.params.v2.core._event_destination_ping_params", False, ), "EventDestinationRetrieveParams": ( "stripe.params.v2.core._event_destination_retrieve_params", False, ), "EventDestinationUpdateParams": ( "stripe.params.v2.core._event_destination_update_params", False, ), "EventDestinationUpdateParamsWebhookEndpoint": ( "stripe.params.v2.core._event_destination_update_params", False, ), "EventListParams": ("stripe.params.v2.core._event_list_params", False), "EventRetrieveParams": ( "stripe.params.v2.core._event_retrieve_params", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/v2/core/_event_destination_create_params.py0000644000000000000000000000351715102753431023231 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List from typing_extensions import Literal, NotRequired, TypedDict class EventDestinationCreateParams(TypedDict): description: NotRequired[str] """ An optional description of what the event destination is used for. """ enabled_events: List[str] """ The list of events to enable for this endpoint. """ event_payload: Literal["snapshot", "thin"] """ Payload type of events being subscribed to. """ events_from: NotRequired[List[Literal["other_accounts", "self"]]] """ Where events should be routed from. """ include: NotRequired[ List[ Literal["webhook_endpoint.signing_secret", "webhook_endpoint.url"] ] ] """ Additional fields to include in the response. """ metadata: NotRequired[Dict[str, str]] """ Metadata. """ name: str """ Event destination name. """ snapshot_api_version: NotRequired[str] """ If using the snapshot event payload, the API version events are rendered as. """ type: Literal["amazon_eventbridge", "webhook_endpoint"] """ Event destination type. """ amazon_eventbridge: NotRequired[ "EventDestinationCreateParamsAmazonEventbridge" ] """ Amazon EventBridge configuration. """ webhook_endpoint: NotRequired[ "EventDestinationCreateParamsWebhookEndpoint" ] """ Webhook endpoint configuration. """ class EventDestinationCreateParamsAmazonEventbridge(TypedDict): aws_account_id: str """ The AWS account ID. """ aws_region: str """ The region of the AWS event source. """ class EventDestinationCreateParamsWebhookEndpoint(TypedDict): url: str """ The URL of the webhook endpoint. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/v2/core/_event_destination_delete_params.py0000644000000000000000000000024115102753431023217 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing_extensions import TypedDict class EventDestinationDeleteParams(TypedDict): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/v2/core/_event_destination_disable_params.py0000644000000000000000000000024215102753431023361 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing_extensions import TypedDict class EventDestinationDisableParams(TypedDict): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/v2/core/_event_destination_enable_params.py0000644000000000000000000000024115102753431023203 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing_extensions import TypedDict class EventDestinationEnableParams(TypedDict): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/v2/core/_event_destination_list_params.py0000644000000000000000000000066015102753431022735 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class EventDestinationListParams(TypedDict): include: NotRequired[List[Literal["webhook_endpoint.url"]]] """ Additional fields to include in the response. Currently supports `webhook_endpoint.url`. """ limit: NotRequired[int] """ The page size. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/v2/core/_event_destination_ping_params.py0000644000000000000000000000023715102753431022717 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing_extensions import TypedDict class EventDestinationPingParams(TypedDict): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/v2/core/_event_destination_retrieve_params.py0000644000000000000000000000051215102753431023603 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import Literal, NotRequired, TypedDict class EventDestinationRetrieveParams(TypedDict): include: NotRequired[List[Literal["webhook_endpoint.url"]]] """ Additional fields to include in the response. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3750622 stripe-13.2.0/stripe/params/v2/core/_event_destination_update_params.py0000644000000000000000000000203115102753431023236 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import Dict, List, Optional from typing_extensions import Literal, NotRequired, TypedDict class EventDestinationUpdateParams(TypedDict): description: NotRequired[str] """ An optional description of what the event destination is used for. """ enabled_events: NotRequired[List[str]] """ The list of events to enable for this endpoint. """ include: NotRequired[List[Literal["webhook_endpoint.url"]]] """ Additional fields to include in the response. Currently supports `webhook_endpoint.url`. """ metadata: NotRequired[Dict[str, Optional[str]]] """ Metadata. """ name: NotRequired[str] """ Event destination name. """ webhook_endpoint: NotRequired[ "EventDestinationUpdateParamsWebhookEndpoint" ] """ Webhook endpoint configuration. """ class EventDestinationUpdateParamsWebhookEndpoint(TypedDict): url: str """ The URL of the webhook endpoint. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/params/v2/core/_event_list_params.py0000644000000000000000000000156215102753431020336 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing import List from typing_extensions import NotRequired, TypedDict class EventListParams(TypedDict): gt: NotRequired[str] """ Filter for events created after the specified timestamp. """ gte: NotRequired[str] """ Filter for events created at or after the specified timestamp. """ limit: NotRequired[int] """ The page size. """ lt: NotRequired[str] """ Filter for events created before the specified timestamp. """ lte: NotRequired[str] """ Filter for events created at or before the specified timestamp. """ object_id: NotRequired[str] """ Primary object ID used to retrieve related events. """ types: NotRequired[List[str]] """ An array of up to 20 strings containing specific event names. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/params/v2/core/_event_retrieve_params.py0000644000000000000000000000023015102753431021177 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from typing_extensions import TypedDict class EventRetrieveParams(TypedDict): pass ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/py.typed0000644000000000000000000000000015102753431013025 0ustar00././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/radar/__init__.py0000644000000000000000000000313215102753431014541 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.radar._early_fraud_warning import ( EarlyFraudWarning as EarlyFraudWarning, ) from stripe.radar._early_fraud_warning_service import ( EarlyFraudWarningService as EarlyFraudWarningService, ) from stripe.radar._value_list import ValueList as ValueList from stripe.radar._value_list_item import ValueListItem as ValueListItem from stripe.radar._value_list_item_service import ( ValueListItemService as ValueListItemService, ) from stripe.radar._value_list_service import ( ValueListService as ValueListService, ) # name -> (import_target, is_submodule) _import_map = { "EarlyFraudWarning": ("stripe.radar._early_fraud_warning", False), "EarlyFraudWarningService": ( "stripe.radar._early_fraud_warning_service", False, ), "ValueList": ("stripe.radar._value_list", False), "ValueListItem": ("stripe.radar._value_list_item", False), "ValueListItemService": ("stripe.radar._value_list_item_service", False), "ValueListService": ("stripe.radar._value_list_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/radar/_early_fraud_warning.py0000644000000000000000000001054615102753431017172 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from typing import ClassVar, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._charge import Charge from stripe._payment_intent import PaymentIntent from stripe.params.radar._early_fraud_warning_list_params import ( EarlyFraudWarningListParams, ) from stripe.params.radar._early_fraud_warning_retrieve_params import ( EarlyFraudWarningRetrieveParams, ) class EarlyFraudWarning(ListableAPIResource["EarlyFraudWarning"]): """ An early fraud warning indicates that the card issuer has notified us that a charge may be fraudulent. Related guide: [Early fraud warnings](https://stripe.com/docs/disputes/measuring#early-fraud-warnings) """ OBJECT_NAME: ClassVar[Literal["radar.early_fraud_warning"]] = ( "radar.early_fraud_warning" ) actionable: bool """ An EFW is actionable if it has not received a dispute and has not been fully refunded. You may wish to proactively refund a charge that receives an EFW, in order to avoid receiving a dispute later. """ charge: ExpandableField["Charge"] """ ID of the charge this early fraud warning is for, optionally expanded. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ fraud_type: str """ The type of fraud labelled by the issuer. One of `card_never_received`, `fraudulent_card_application`, `made_with_counterfeit_card`, `made_with_lost_card`, `made_with_stolen_card`, `misc`, `unauthorized_use_of_card`. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["radar.early_fraud_warning"] """ String representing the object's type. Objects of the same type share the same value. """ payment_intent: Optional[ExpandableField["PaymentIntent"]] """ ID of the Payment Intent this early fraud warning is for, optionally expanded. """ @classmethod def list( cls, **params: Unpack["EarlyFraudWarningListParams"] ) -> ListObject["EarlyFraudWarning"]: """ Returns a list of early fraud warnings. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["EarlyFraudWarningListParams"] ) -> ListObject["EarlyFraudWarning"]: """ Returns a list of early fraud warnings. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["EarlyFraudWarningRetrieveParams"] ) -> "EarlyFraudWarning": """ Retrieves the details of an early fraud warning that has previously been created. Please refer to the [early fraud warning](https://docs.stripe.com/api#early_fraud_warning_object) object reference for more details. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["EarlyFraudWarningRetrieveParams"] ) -> "EarlyFraudWarning": """ Retrieves the details of an early fraud warning that has previously been created. Please refer to the [early fraud warning](https://docs.stripe.com/api#early_fraud_warning_object) object reference for more details. """ instance = cls(id, **params) await instance.refresh_async() return instance ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/radar/_early_fraud_warning_service.py0000644000000000000000000000701415102753431020706 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.radar._early_fraud_warning_list_params import ( EarlyFraudWarningListParams, ) from stripe.params.radar._early_fraud_warning_retrieve_params import ( EarlyFraudWarningRetrieveParams, ) from stripe.radar._early_fraud_warning import EarlyFraudWarning class EarlyFraudWarningService(StripeService): def list( self, params: Optional["EarlyFraudWarningListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[EarlyFraudWarning]": """ Returns a list of early fraud warnings. """ return cast( "ListObject[EarlyFraudWarning]", self._request( "get", "/v1/radar/early_fraud_warnings", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["EarlyFraudWarningListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[EarlyFraudWarning]": """ Returns a list of early fraud warnings. """ return cast( "ListObject[EarlyFraudWarning]", await self._request_async( "get", "/v1/radar/early_fraud_warnings", base_address="api", params=params, options=options, ), ) def retrieve( self, early_fraud_warning: str, params: Optional["EarlyFraudWarningRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "EarlyFraudWarning": """ Retrieves the details of an early fraud warning that has previously been created. Please refer to the [early fraud warning](https://docs.stripe.com/api#early_fraud_warning_object) object reference for more details. """ return cast( "EarlyFraudWarning", self._request( "get", "/v1/radar/early_fraud_warnings/{early_fraud_warning}".format( early_fraud_warning=sanitize_id(early_fraud_warning), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, early_fraud_warning: str, params: Optional["EarlyFraudWarningRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "EarlyFraudWarning": """ Retrieves the details of an early fraud warning that has previously been created. Please refer to the [early fraud warning](https://docs.stripe.com/api#early_fraud_warning_object) object reference for more details. """ return cast( "EarlyFraudWarning", await self._request_async( "get", "/v1/radar/early_fraud_warnings/{early_fraud_warning}".format( early_fraud_warning=sanitize_id(early_fraud_warning), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/radar/_value_list.py0000644000000000000000000002440515102753431015316 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.radar._value_list_create_params import ( ValueListCreateParams, ) from stripe.params.radar._value_list_delete_params import ( ValueListDeleteParams, ) from stripe.params.radar._value_list_list_params import ValueListListParams from stripe.params.radar._value_list_modify_params import ( ValueListModifyParams, ) from stripe.params.radar._value_list_retrieve_params import ( ValueListRetrieveParams, ) from stripe.radar._value_list_item import ValueListItem class ValueList( CreateableAPIResource["ValueList"], DeletableAPIResource["ValueList"], ListableAPIResource["ValueList"], UpdateableAPIResource["ValueList"], ): """ Value lists allow you to group values together which can then be referenced in rules. Related guide: [Default Stripe lists](https://stripe.com/docs/radar/lists#managing-list-items) """ OBJECT_NAME: ClassVar[Literal["radar.value_list"]] = "radar.value_list" alias: str """ The name of the value list for use in rules. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ created_by: str """ The name or email address of the user who created this value list. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ id: str """ Unique identifier for the object. """ item_type: Literal[ "card_bin", "card_fingerprint", "case_sensitive_string", "country", "customer_id", "email", "ip_address", "sepa_debit_fingerprint", "string", "us_bank_account_fingerprint", ] """ The type of items in the value list. One of `card_fingerprint`, `card_bin`, `email`, `ip_address`, `country`, `string`, `case_sensitive_string`, `customer_id`, `sepa_debit_fingerprint`, or `us_bank_account_fingerprint`. """ list_items: ListObject["ValueListItem"] """ List of items contained within this value list. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ name: str """ The name of the value list. """ object: Literal["radar.value_list"] """ String representing the object's type. Objects of the same type share the same value. """ @classmethod def create(cls, **params: Unpack["ValueListCreateParams"]) -> "ValueList": """ Creates a new ValueList object, which can then be referenced in rules. """ return cast( "ValueList", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["ValueListCreateParams"] ) -> "ValueList": """ Creates a new ValueList object, which can then be referenced in rules. """ return cast( "ValueList", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["ValueListDeleteParams"] ) -> "ValueList": """ Deletes a ValueList object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "ValueList", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete( sid: str, **params: Unpack["ValueListDeleteParams"] ) -> "ValueList": """ Deletes a ValueList object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules. """ ... @overload def delete(self, **params: Unpack["ValueListDeleteParams"]) -> "ValueList": """ Deletes a ValueList object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ValueListDeleteParams"] ) -> "ValueList": """ Deletes a ValueList object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["ValueListDeleteParams"] ) -> "ValueList": """ Deletes a ValueList object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "ValueList", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["ValueListDeleteParams"] ) -> "ValueList": """ Deletes a ValueList object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules. """ ... @overload async def delete_async( self, **params: Unpack["ValueListDeleteParams"] ) -> "ValueList": """ Deletes a ValueList object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ValueListDeleteParams"] ) -> "ValueList": """ Deletes a ValueList object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def list( cls, **params: Unpack["ValueListListParams"] ) -> ListObject["ValueList"]: """ Returns a list of ValueList objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ValueListListParams"] ) -> ListObject["ValueList"]: """ Returns a list of ValueList objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["ValueListModifyParams"] ) -> "ValueList": """ Updates a ValueList object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Note that item_type is immutable. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "ValueList", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["ValueListModifyParams"] ) -> "ValueList": """ Updates a ValueList object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Note that item_type is immutable. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "ValueList", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["ValueListRetrieveParams"] ) -> "ValueList": """ Retrieves a ValueList object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ValueListRetrieveParams"] ) -> "ValueList": """ Retrieves a ValueList object. """ instance = cls(id, **params) await instance.refresh_async() return instance ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/radar/_value_list_item.py0000644000000000000000000001741615102753431016340 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.radar._value_list_item_create_params import ( ValueListItemCreateParams, ) from stripe.params.radar._value_list_item_delete_params import ( ValueListItemDeleteParams, ) from stripe.params.radar._value_list_item_list_params import ( ValueListItemListParams, ) from stripe.params.radar._value_list_item_retrieve_params import ( ValueListItemRetrieveParams, ) class ValueListItem( CreateableAPIResource["ValueListItem"], DeletableAPIResource["ValueListItem"], ListableAPIResource["ValueListItem"], ): """ Value list items allow you to add specific values to a given Radar value list, which can then be used in rules. Related guide: [Managing list items](https://stripe.com/docs/radar/lists#managing-list-items) """ OBJECT_NAME: ClassVar[Literal["radar.value_list_item"]] = ( "radar.value_list_item" ) created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ created_by: str """ The name or email address of the user who added this item to the value list. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["radar.value_list_item"] """ String representing the object's type. Objects of the same type share the same value. """ value: str """ The value of the item. """ value_list: str """ The identifier of the value list this item belongs to. """ @classmethod def create( cls, **params: Unpack["ValueListItemCreateParams"] ) -> "ValueListItem": """ Creates a new ValueListItem object, which is added to the specified parent value list. """ return cast( "ValueListItem", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["ValueListItemCreateParams"] ) -> "ValueListItem": """ Creates a new ValueListItem object, which is added to the specified parent value list. """ return cast( "ValueListItem", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["ValueListItemDeleteParams"] ) -> "ValueListItem": """ Deletes a ValueListItem object, removing it from its parent value list. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "ValueListItem", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete( sid: str, **params: Unpack["ValueListItemDeleteParams"] ) -> "ValueListItem": """ Deletes a ValueListItem object, removing it from its parent value list. """ ... @overload def delete( self, **params: Unpack["ValueListItemDeleteParams"] ) -> "ValueListItem": """ Deletes a ValueListItem object, removing it from its parent value list. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ValueListItemDeleteParams"] ) -> "ValueListItem": """ Deletes a ValueListItem object, removing it from its parent value list. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["ValueListItemDeleteParams"] ) -> "ValueListItem": """ Deletes a ValueListItem object, removing it from its parent value list. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "ValueListItem", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["ValueListItemDeleteParams"] ) -> "ValueListItem": """ Deletes a ValueListItem object, removing it from its parent value list. """ ... @overload async def delete_async( self, **params: Unpack["ValueListItemDeleteParams"] ) -> "ValueListItem": """ Deletes a ValueListItem object, removing it from its parent value list. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ValueListItemDeleteParams"] ) -> "ValueListItem": """ Deletes a ValueListItem object, removing it from its parent value list. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def list( cls, **params: Unpack["ValueListItemListParams"] ) -> ListObject["ValueListItem"]: """ Returns a list of ValueListItem objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ValueListItemListParams"] ) -> ListObject["ValueListItem"]: """ Returns a list of ValueListItem objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["ValueListItemRetrieveParams"] ) -> "ValueListItem": """ Retrieves a ValueListItem object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ValueListItemRetrieveParams"] ) -> "ValueListItem": """ Retrieves a ValueListItem object. """ instance = cls(id, **params) await instance.refresh_async() return instance ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/radar/_value_list_item_service.py0000644000000000000000000001333415102753431020053 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.radar._value_list_item_create_params import ( ValueListItemCreateParams, ) from stripe.params.radar._value_list_item_delete_params import ( ValueListItemDeleteParams, ) from stripe.params.radar._value_list_item_list_params import ( ValueListItemListParams, ) from stripe.params.radar._value_list_item_retrieve_params import ( ValueListItemRetrieveParams, ) from stripe.radar._value_list_item import ValueListItem class ValueListItemService(StripeService): def delete( self, item: str, params: Optional["ValueListItemDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ValueListItem": """ Deletes a ValueListItem object, removing it from its parent value list. """ return cast( "ValueListItem", self._request( "delete", "/v1/radar/value_list_items/{item}".format( item=sanitize_id(item), ), base_address="api", params=params, options=options, ), ) async def delete_async( self, item: str, params: Optional["ValueListItemDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ValueListItem": """ Deletes a ValueListItem object, removing it from its parent value list. """ return cast( "ValueListItem", await self._request_async( "delete", "/v1/radar/value_list_items/{item}".format( item=sanitize_id(item), ), base_address="api", params=params, options=options, ), ) def retrieve( self, item: str, params: Optional["ValueListItemRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ValueListItem": """ Retrieves a ValueListItem object. """ return cast( "ValueListItem", self._request( "get", "/v1/radar/value_list_items/{item}".format( item=sanitize_id(item), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, item: str, params: Optional["ValueListItemRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ValueListItem": """ Retrieves a ValueListItem object. """ return cast( "ValueListItem", await self._request_async( "get", "/v1/radar/value_list_items/{item}".format( item=sanitize_id(item), ), base_address="api", params=params, options=options, ), ) def list( self, params: "ValueListItemListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[ValueListItem]": """ Returns a list of ValueListItem objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[ValueListItem]", self._request( "get", "/v1/radar/value_list_items", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "ValueListItemListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[ValueListItem]": """ Returns a list of ValueListItem objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[ValueListItem]", await self._request_async( "get", "/v1/radar/value_list_items", base_address="api", params=params, options=options, ), ) def create( self, params: "ValueListItemCreateParams", options: Optional["RequestOptions"] = None, ) -> "ValueListItem": """ Creates a new ValueListItem object, which is added to the specified parent value list. """ return cast( "ValueListItem", self._request( "post", "/v1/radar/value_list_items", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "ValueListItemCreateParams", options: Optional["RequestOptions"] = None, ) -> "ValueListItem": """ Creates a new ValueListItem object, which is added to the specified parent value list. """ return cast( "ValueListItem", await self._request_async( "post", "/v1/radar/value_list_items", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/radar/_value_list_service.py0000644000000000000000000001650315102753431017036 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.radar._value_list_create_params import ( ValueListCreateParams, ) from stripe.params.radar._value_list_delete_params import ( ValueListDeleteParams, ) from stripe.params.radar._value_list_list_params import ValueListListParams from stripe.params.radar._value_list_retrieve_params import ( ValueListRetrieveParams, ) from stripe.params.radar._value_list_update_params import ( ValueListUpdateParams, ) from stripe.radar._value_list import ValueList class ValueListService(StripeService): def delete( self, value_list: str, params: Optional["ValueListDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ValueList": """ Deletes a ValueList object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules. """ return cast( "ValueList", self._request( "delete", "/v1/radar/value_lists/{value_list}".format( value_list=sanitize_id(value_list), ), base_address="api", params=params, options=options, ), ) async def delete_async( self, value_list: str, params: Optional["ValueListDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ValueList": """ Deletes a ValueList object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules. """ return cast( "ValueList", await self._request_async( "delete", "/v1/radar/value_lists/{value_list}".format( value_list=sanitize_id(value_list), ), base_address="api", params=params, options=options, ), ) def retrieve( self, value_list: str, params: Optional["ValueListRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ValueList": """ Retrieves a ValueList object. """ return cast( "ValueList", self._request( "get", "/v1/radar/value_lists/{value_list}".format( value_list=sanitize_id(value_list), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, value_list: str, params: Optional["ValueListRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ValueList": """ Retrieves a ValueList object. """ return cast( "ValueList", await self._request_async( "get", "/v1/radar/value_lists/{value_list}".format( value_list=sanitize_id(value_list), ), base_address="api", params=params, options=options, ), ) def update( self, value_list: str, params: Optional["ValueListUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ValueList": """ Updates a ValueList object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Note that item_type is immutable. """ return cast( "ValueList", self._request( "post", "/v1/radar/value_lists/{value_list}".format( value_list=sanitize_id(value_list), ), base_address="api", params=params, options=options, ), ) async def update_async( self, value_list: str, params: Optional["ValueListUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ValueList": """ Updates a ValueList object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Note that item_type is immutable. """ return cast( "ValueList", await self._request_async( "post", "/v1/radar/value_lists/{value_list}".format( value_list=sanitize_id(value_list), ), base_address="api", params=params, options=options, ), ) def list( self, params: Optional["ValueListListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ValueList]": """ Returns a list of ValueList objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[ValueList]", self._request( "get", "/v1/radar/value_lists", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["ValueListListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ValueList]": """ Returns a list of ValueList objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first. """ return cast( "ListObject[ValueList]", await self._request_async( "get", "/v1/radar/value_lists", base_address="api", params=params, options=options, ), ) def create( self, params: "ValueListCreateParams", options: Optional["RequestOptions"] = None, ) -> "ValueList": """ Creates a new ValueList object, which can then be referenced in rules. """ return cast( "ValueList", self._request( "post", "/v1/radar/value_lists", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "ValueListCreateParams", options: Optional["RequestOptions"] = None, ) -> "ValueList": """ Creates a new ValueList object, which can then be referenced in rules. """ return cast( "ValueList", await self._request_async( "post", "/v1/radar/value_lists", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/reporting/__init__.py0000644000000000000000000000227215102753431015465 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.reporting._report_run import ReportRun as ReportRun from stripe.reporting._report_run_service import ( ReportRunService as ReportRunService, ) from stripe.reporting._report_type import ReportType as ReportType from stripe.reporting._report_type_service import ( ReportTypeService as ReportTypeService, ) # name -> (import_target, is_submodule) _import_map = { "ReportRun": ("stripe.reporting._report_run", False), "ReportRunService": ("stripe.reporting._report_run_service", False), "ReportType": ("stripe.reporting._report_type", False), "ReportTypeService": ("stripe.reporting._report_type_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/reporting/_report_run.py0000644000000000000000000001632615102753431016271 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, List, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._file import File from stripe.params.reporting._report_run_create_params import ( ReportRunCreateParams, ) from stripe.params.reporting._report_run_list_params import ( ReportRunListParams, ) from stripe.params.reporting._report_run_retrieve_params import ( ReportRunRetrieveParams, ) class ReportRun( CreateableAPIResource["ReportRun"], ListableAPIResource["ReportRun"], ): """ The Report Run object represents an instance of a report type generated with specific run parameters. Once the object is created, Stripe begins processing the report. When the report has finished running, it will give you a reference to a file where you can retrieve your results. For an overview, see [API Access to Reports](https://stripe.com/docs/reporting/statements/api). Note that certain report types can only be run based on your live-mode data (not test-mode data), and will error when queried without a [live-mode API key](https://stripe.com/docs/keys#test-live-modes). """ OBJECT_NAME: ClassVar[Literal["reporting.report_run"]] = ( "reporting.report_run" ) class Parameters(StripeObject): columns: Optional[List[str]] """ The set of output columns requested for inclusion in the report run. """ connected_account: Optional[str] """ Connected account ID by which to filter the report run. """ currency: Optional[str] """ Currency of objects to be included in the report run. """ interval_end: Optional[int] """ Ending timestamp of data to be included in the report run. Can be any UTC timestamp between 1 second after the user specified `interval_start` and 1 second before this report's last `data_available_end` value. """ interval_start: Optional[int] """ Starting timestamp of data to be included in the report run. Can be any UTC timestamp between 1 second after this report's `data_available_start` and 1 second before the user specified `interval_end` value. """ payout: Optional[str] """ Payout ID by which to filter the report run. """ reporting_category: Optional[str] """ Category of balance transactions to be included in the report run. """ timezone: Optional[str] """ Defaults to `Etc/UTC`. The output timezone for all timestamps in the report. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones). Has no effect on `interval_start` or `interval_end`. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ error: Optional[str] """ If something should go wrong during the run, a message about the failure (populated when `status=failed`). """ id: str """ Unique identifier for the object. """ livemode: bool """ `true` if the report is run on live mode data and `false` if it is run on test mode data. """ object: Literal["reporting.report_run"] """ String representing the object's type. Objects of the same type share the same value. """ parameters: Parameters report_type: str """ The ID of the [report type](https://stripe.com/docs/reports/report-types) to run, such as `"balance.summary.1"`. """ result: Optional["File"] """ The file object representing the result of the report run (populated when `status=succeeded`). """ status: str """ Status of this report run. This will be `pending` when the run is initially created. When the run finishes, this will be set to `succeeded` and the `result` field will be populated. Rarely, we may encounter an error, at which point this will be set to `failed` and the `error` field will be populated. """ succeeded_at: Optional[int] """ Timestamp at which this run successfully finished (populated when `status=succeeded`). Measured in seconds since the Unix epoch. """ @classmethod def create(cls, **params: Unpack["ReportRunCreateParams"]) -> "ReportRun": """ Creates a new object and begin running the report. (Certain report types require a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).) """ return cast( "ReportRun", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["ReportRunCreateParams"] ) -> "ReportRun": """ Creates a new object and begin running the report. (Certain report types require a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).) """ return cast( "ReportRun", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["ReportRunListParams"] ) -> ListObject["ReportRun"]: """ Returns a list of Report Runs, with the most recent appearing first. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ReportRunListParams"] ) -> ListObject["ReportRun"]: """ Returns a list of Report Runs, with the most recent appearing first. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["ReportRunRetrieveParams"] ) -> "ReportRun": """ Retrieves the details of an existing Report Run. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ReportRunRetrieveParams"] ) -> "ReportRun": """ Retrieves the details of an existing Report Run. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"parameters": Parameters} ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/reporting/_report_run_service.py0000644000000000000000000001044615102753431020006 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.reporting._report_run_create_params import ( ReportRunCreateParams, ) from stripe.params.reporting._report_run_list_params import ( ReportRunListParams, ) from stripe.params.reporting._report_run_retrieve_params import ( ReportRunRetrieveParams, ) from stripe.reporting._report_run import ReportRun class ReportRunService(StripeService): def list( self, params: Optional["ReportRunListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ReportRun]": """ Returns a list of Report Runs, with the most recent appearing first. """ return cast( "ListObject[ReportRun]", self._request( "get", "/v1/reporting/report_runs", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["ReportRunListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ReportRun]": """ Returns a list of Report Runs, with the most recent appearing first. """ return cast( "ListObject[ReportRun]", await self._request_async( "get", "/v1/reporting/report_runs", base_address="api", params=params, options=options, ), ) def create( self, params: "ReportRunCreateParams", options: Optional["RequestOptions"] = None, ) -> "ReportRun": """ Creates a new object and begin running the report. (Certain report types require a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).) """ return cast( "ReportRun", self._request( "post", "/v1/reporting/report_runs", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "ReportRunCreateParams", options: Optional["RequestOptions"] = None, ) -> "ReportRun": """ Creates a new object and begin running the report. (Certain report types require a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).) """ return cast( "ReportRun", await self._request_async( "post", "/v1/reporting/report_runs", base_address="api", params=params, options=options, ), ) def retrieve( self, report_run: str, params: Optional["ReportRunRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ReportRun": """ Retrieves the details of an existing Report Run. """ return cast( "ReportRun", self._request( "get", "/v1/reporting/report_runs/{report_run}".format( report_run=sanitize_id(report_run), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, report_run: str, params: Optional["ReportRunRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ReportRun": """ Retrieves the details of an existing Report Run. """ return cast( "ReportRun", await self._request_async( "get", "/v1/reporting/report_runs/{report_run}".format( report_run=sanitize_id(report_run), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/reporting/_report_type.py0000644000000000000000000001067315102753431016445 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from typing import ClassVar, List, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.reporting._report_type_list_params import ( ReportTypeListParams, ) from stripe.params.reporting._report_type_retrieve_params import ( ReportTypeRetrieveParams, ) class ReportType(ListableAPIResource["ReportType"]): """ The Report Type resource corresponds to a particular type of report, such as the "Activity summary" or "Itemized payouts" reports. These objects are identified by an ID belonging to a set of enumerated values. See [API Access to Reports documentation](https://stripe.com/docs/reporting/statements/api) for those Report Type IDs, along with required and optional parameters. Note that certain report types can only be run based on your live-mode data (not test-mode data), and will error when queried without a [live-mode API key](https://stripe.com/docs/keys#test-live-modes). """ OBJECT_NAME: ClassVar[Literal["reporting.report_type"]] = ( "reporting.report_type" ) data_available_end: int """ Most recent time for which this Report Type is available. Measured in seconds since the Unix epoch. """ data_available_start: int """ Earliest time for which this Report Type is available. Measured in seconds since the Unix epoch. """ default_columns: Optional[List[str]] """ List of column names that are included by default when this Report Type gets run. (If the Report Type doesn't support the `columns` parameter, this will be null.) """ id: str """ The [ID of the Report Type](https://stripe.com/docs/reporting/statements/api#available-report-types), such as `balance.summary.1`. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ name: str """ Human-readable name of the Report Type """ object: Literal["reporting.report_type"] """ String representing the object's type. Objects of the same type share the same value. """ updated: int """ When this Report Type was latest updated. Measured in seconds since the Unix epoch. """ version: int """ Version of the Report Type. Different versions report with the same ID will have the same purpose, but may take different run parameters or have different result schemas. """ @classmethod def list( cls, **params: Unpack["ReportTypeListParams"] ) -> ListObject["ReportType"]: """ Returns a full list of Report Types. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ReportTypeListParams"] ) -> ListObject["ReportType"]: """ Returns a full list of Report Types. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["ReportTypeRetrieveParams"] ) -> "ReportType": """ Retrieves the details of a Report Type. (Certain report types require a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).) """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ReportTypeRetrieveParams"] ) -> "ReportType": """ Retrieves the details of a Report Type. (Certain report types require a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).) """ instance = cls(id, **params) await instance.refresh_async() return instance ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/reporting/_report_type_service.py0000644000000000000000000000622215102753431020160 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.reporting._report_type_list_params import ( ReportTypeListParams, ) from stripe.params.reporting._report_type_retrieve_params import ( ReportTypeRetrieveParams, ) from stripe.reporting._report_type import ReportType class ReportTypeService(StripeService): def list( self, params: Optional["ReportTypeListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ReportType]": """ Returns a full list of Report Types. """ return cast( "ListObject[ReportType]", self._request( "get", "/v1/reporting/report_types", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["ReportTypeListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ReportType]": """ Returns a full list of Report Types. """ return cast( "ListObject[ReportType]", await self._request_async( "get", "/v1/reporting/report_types", base_address="api", params=params, options=options, ), ) def retrieve( self, report_type: str, params: Optional["ReportTypeRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ReportType": """ Retrieves the details of a Report Type. (Certain report types require a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).) """ return cast( "ReportType", self._request( "get", "/v1/reporting/report_types/{report_type}".format( report_type=sanitize_id(report_type), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, report_type: str, params: Optional["ReportTypeRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ReportType": """ Retrieves the details of a Report Type. (Certain report types require a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).) """ return cast( "ReportType", await self._request_async( "get", "/v1/reporting/report_types/{report_type}".format( report_type=sanitize_id(report_type), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/sigma/__init__.py0000644000000000000000000000175215102753431014556 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.sigma._scheduled_query_run import ( ScheduledQueryRun as ScheduledQueryRun, ) from stripe.sigma._scheduled_query_run_service import ( ScheduledQueryRunService as ScheduledQueryRunService, ) # name -> (import_target, is_submodule) _import_map = { "ScheduledQueryRun": ("stripe.sigma._scheduled_query_run", False), "ScheduledQueryRunService": ( "stripe.sigma._scheduled_query_run_service", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3760622 stripe-13.2.0/stripe/sigma/_scheduled_query_run.py0000644000000000000000000001017215102753431017223 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._file import File from stripe.params.sigma._scheduled_query_run_list_params import ( ScheduledQueryRunListParams, ) from stripe.params.sigma._scheduled_query_run_retrieve_params import ( ScheduledQueryRunRetrieveParams, ) class ScheduledQueryRun(ListableAPIResource["ScheduledQueryRun"]): """ If you have [scheduled a Sigma query](https://stripe.com/docs/sigma/scheduled-queries), you'll receive a `sigma.scheduled_query_run.created` webhook each time the query runs. The webhook contains a `ScheduledQueryRun` object, which you can use to retrieve the query results. """ OBJECT_NAME: ClassVar[Literal["scheduled_query_run"]] = ( "scheduled_query_run" ) class Error(StripeObject): message: str """ Information about the run failure. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ data_load_time: int """ When the query was run, Sigma contained a snapshot of your Stripe data at this time. """ error: Optional[Error] file: Optional["File"] """ The file object representing the results of the query. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["scheduled_query_run"] """ String representing the object's type. Objects of the same type share the same value. """ result_available_until: int """ Time at which the result expires and is no longer available for download. """ sql: str """ SQL for the query. """ status: str """ The query's execution status, which will be `completed` for successful runs, and `canceled`, `failed`, or `timed_out` otherwise. """ title: str """ Title of the query. """ @classmethod def list( cls, **params: Unpack["ScheduledQueryRunListParams"] ) -> ListObject["ScheduledQueryRun"]: """ Returns a list of scheduled query runs. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ScheduledQueryRunListParams"] ) -> ListObject["ScheduledQueryRun"]: """ Returns a list of scheduled query runs. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["ScheduledQueryRunRetrieveParams"] ) -> "ScheduledQueryRun": """ Retrieves the details of an scheduled query run. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ScheduledQueryRunRetrieveParams"] ) -> "ScheduledQueryRun": """ Retrieves the details of an scheduled query run. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def class_url(cls): return "/v1/sigma/scheduled_query_runs" _inner_class_types = {"error": Error} ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3770623 stripe-13.2.0/stripe/sigma/_scheduled_query_run_service.py0000644000000000000000000000625615102753431020753 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.sigma._scheduled_query_run_list_params import ( ScheduledQueryRunListParams, ) from stripe.params.sigma._scheduled_query_run_retrieve_params import ( ScheduledQueryRunRetrieveParams, ) from stripe.sigma._scheduled_query_run import ScheduledQueryRun class ScheduledQueryRunService(StripeService): def list( self, params: Optional["ScheduledQueryRunListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ScheduledQueryRun]": """ Returns a list of scheduled query runs. """ return cast( "ListObject[ScheduledQueryRun]", self._request( "get", "/v1/sigma/scheduled_query_runs", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["ScheduledQueryRunListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[ScheduledQueryRun]": """ Returns a list of scheduled query runs. """ return cast( "ListObject[ScheduledQueryRun]", await self._request_async( "get", "/v1/sigma/scheduled_query_runs", base_address="api", params=params, options=options, ), ) def retrieve( self, scheduled_query_run: str, params: Optional["ScheduledQueryRunRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ScheduledQueryRun": """ Retrieves the details of an scheduled query run. """ return cast( "ScheduledQueryRun", self._request( "get", "/v1/sigma/scheduled_query_runs/{scheduled_query_run}".format( scheduled_query_run=sanitize_id(scheduled_query_run), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, scheduled_query_run: str, params: Optional["ScheduledQueryRunRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ScheduledQueryRun": """ Retrieves the details of an scheduled query run. """ return cast( "ScheduledQueryRun", await self._request_async( "get", "/v1/sigma/scheduled_query_runs/{scheduled_query_run}".format( scheduled_query_run=sanitize_id(scheduled_query_run), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3770623 stripe-13.2.0/stripe/tax/__init__.py0000644000000000000000000000504315102753431014247 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.tax._calculation import Calculation as Calculation from stripe.tax._calculation_line_item import ( CalculationLineItem as CalculationLineItem, ) from stripe.tax._calculation_line_item_service import ( CalculationLineItemService as CalculationLineItemService, ) from stripe.tax._calculation_service import ( CalculationService as CalculationService, ) from stripe.tax._registration import Registration as Registration from stripe.tax._registration_service import ( RegistrationService as RegistrationService, ) from stripe.tax._settings import Settings as Settings from stripe.tax._settings_service import SettingsService as SettingsService from stripe.tax._transaction import Transaction as Transaction from stripe.tax._transaction_line_item import ( TransactionLineItem as TransactionLineItem, ) from stripe.tax._transaction_line_item_service import ( TransactionLineItemService as TransactionLineItemService, ) from stripe.tax._transaction_service import ( TransactionService as TransactionService, ) # name -> (import_target, is_submodule) _import_map = { "Calculation": ("stripe.tax._calculation", False), "CalculationLineItem": ("stripe.tax._calculation_line_item", False), "CalculationLineItemService": ( "stripe.tax._calculation_line_item_service", False, ), "CalculationService": ("stripe.tax._calculation_service", False), "Registration": ("stripe.tax._registration", False), "RegistrationService": ("stripe.tax._registration_service", False), "Settings": ("stripe.tax._settings", False), "SettingsService": ("stripe.tax._settings_service", False), "Transaction": ("stripe.tax._transaction", False), "TransactionLineItem": ("stripe.tax._transaction_line_item", False), "TransactionLineItemService": ( "stripe.tax._transaction_line_item_service", False, ), "TransactionService": ("stripe.tax._transaction_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3770623 stripe-13.2.0/stripe/tax/_calculation.py0000644000000000000000000005754615102753431015164 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._list_object import ListObject from stripe._stripe_object import StripeObject from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.tax._calculation_create_params import ( CalculationCreateParams, ) from stripe.params.tax._calculation_list_line_items_params import ( CalculationListLineItemsParams, ) from stripe.params.tax._calculation_retrieve_params import ( CalculationRetrieveParams, ) from stripe.tax._calculation_line_item import CalculationLineItem class Calculation(CreateableAPIResource["Calculation"]): """ A Tax Calculation allows you to calculate the tax to collect from your customer. Related guide: [Calculate tax in your custom payment flow](https://stripe.com/docs/tax/custom) """ OBJECT_NAME: ClassVar[Literal["tax.calculation"]] = "tax.calculation" class CustomerDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State/province as an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) subdivision code, without country prefix, such as "NY" or "TX". """ class TaxId(StripeObject): type: Literal[ "ad_nrt", "ae_trn", "al_tin", "am_tin", "ao_tin", "ar_cuit", "au_abn", "au_arn", "aw_tin", "az_tin", "ba_tin", "bb_tin", "bd_bin", "bf_ifu", "bg_uic", "bh_vat", "bj_ifu", "bo_tin", "br_cnpj", "br_cpf", "bs_tin", "by_tin", "ca_bn", "ca_gst_hst", "ca_pst_bc", "ca_pst_mb", "ca_pst_sk", "ca_qst", "cd_nif", "ch_uid", "ch_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", "de_stn", "do_rcn", "ec_ruc", "eg_tin", "es_cif", "et_tin", "eu_oss_vat", "eu_vat", "gb_vat", "ge_vat", "gn_nif", "hk_br", "hr_oib", "hu_tin", "id_npwp", "il_vat", "in_gst", "is_vat", "jp_cn", "jp_rn", "jp_trn", "ke_pin", "kg_tin", "kh_tin", "kr_brn", "kz_bin", "la_tin", "li_uid", "li_vat", "ma_vat", "md_vat", "me_pib", "mk_vat", "mr_nif", "mx_rfc", "my_frp", "my_itn", "my_sst", "ng_tin", "no_vat", "no_voec", "np_pan", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "ro_tin", "rs_pib", "ru_inn", "ru_kpp", "sa_vat", "sg_gst", "sg_uen", "si_tin", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", "tw_vat", "tz_vat", "ua_vat", "ug_tin", "unknown", "us_ein", "uy_ruc", "uz_tin", "uz_vat", "ve_rif", "vn_tin", "za_vat", "zm_tin", "zw_tin", ] """ The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `hr_oib`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `no_voec`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, `al_tin`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, `tz_vat`, `uz_vat`, `uz_tin`, `md_vat`, `ma_vat`, `by_tin`, `ao_tin`, `bs_tin`, `bb_tin`, `cd_nif`, `mr_nif`, `me_pib`, `zw_tin`, `ba_tin`, `gn_nif`, `mk_vat`, `sr_fin`, `sn_ninea`, `am_tin`, `np_pan`, `tj_tin`, `ug_tin`, `zm_tin`, `kh_tin`, `aw_tin`, `az_tin`, `bd_bin`, `bj_ifu`, `et_tin`, `kg_tin`, `la_tin`, `cm_niu`, `cv_nif`, `bf_ifu`, or `unknown` """ value: str """ The value of the tax ID. """ address: Optional[Address] """ The customer's postal address (for example, home or business location). """ address_source: Optional[Literal["billing", "shipping"]] """ The type of customer address provided. """ ip_address: Optional[str] """ The customer's IP address (IPv4 or IPv6). """ tax_ids: List[TaxId] """ The customer's tax IDs (for example, EU VAT numbers). """ taxability_override: Literal[ "customer_exempt", "none", "reverse_charge" ] """ The taxability override used for taxation. """ _inner_class_types = {"address": Address, "tax_ids": TaxId} class ShipFromDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State/province as an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) subdivision code, without country prefix, such as "NY" or "TX". """ address: Address _inner_class_types = {"address": Address} class ShippingCost(StripeObject): class TaxBreakdown(StripeObject): class Jurisdiction(StripeObject): country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ display_name: str """ A human-readable name for the jurisdiction imposing the tax. """ level: Literal[ "city", "country", "county", "district", "state" ] """ Indicates the level of the jurisdiction imposing the tax. """ state: Optional[str] """ [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2), without country prefix. For example, "NY" for New York, United States. """ class TaxRateDetails(StripeObject): display_name: str """ A localized display name for tax type, intended to be human-readable. For example, "Local Sales and Use Tax", "Value-added tax (VAT)", or "Umsatzsteuer (USt.)". """ percentage_decimal: str """ The tax rate percentage as a string. For example, 8.5% is represented as "8.5". """ tax_type: Literal[ "amusement_tax", "communications_tax", "gst", "hst", "igst", "jct", "lease_tax", "pst", "qst", "retail_delivery_fee", "rst", "sales_tax", "service_tax", "vat", ] """ The tax type, such as `vat` or `sales_tax`. """ amount: int """ The amount of tax, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ jurisdiction: Jurisdiction sourcing: Literal["destination", "origin"] """ Indicates whether the jurisdiction was determined by the origin (merchant's address) or destination (customer's address). """ tax_rate_details: Optional[TaxRateDetails] """ Details regarding the rate for this tax. This field will be `null` when the tax is not imposed, for example if the product is exempt from tax. """ taxability_reason: Literal[ "customer_exempt", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] """ The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. """ taxable_amount: int """ The amount on which tax is calculated, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ _inner_class_types = { "jurisdiction": Jurisdiction, "tax_rate_details": TaxRateDetails, } amount: int """ The shipping amount in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. """ amount_tax: int """ The amount of tax calculated for shipping, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ shipping_rate: Optional[str] """ The ID of an existing [ShippingRate](https://stripe.com/docs/api/shipping_rates/object). """ tax_behavior: Literal["exclusive", "inclusive"] """ Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. """ tax_breakdown: Optional[List[TaxBreakdown]] """ Detailed account of taxes relevant to shipping cost. """ tax_code: str """ The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for shipping. """ _inner_class_types = {"tax_breakdown": TaxBreakdown} class TaxBreakdown(StripeObject): class TaxRateDetails(StripeObject): class FlatAmount(StripeObject): amount: int """ Amount of the tax when the `rate_type` is `flat_amount`. This positive integer represents how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99). """ currency: str """ Three-letter ISO currency code, in lowercase. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ flat_amount: Optional[FlatAmount] """ The amount of the tax rate when the `rate_type` is `flat_amount`. Tax rates with `rate_type` `percentage` can vary based on the transaction, resulting in this field being `null`. This field exposes the amount and currency of the flat tax rate. """ percentage_decimal: str """ The tax rate percentage as a string. For example, 8.5% is represented as `"8.5"`. """ rate_type: Optional[Literal["flat_amount", "percentage"]] """ Indicates the type of tax rate applied to the taxable amount. This value can be `null` when no tax applies to the location. This field is only present for TaxRates created by Stripe Tax. """ state: Optional[str] """ State, county, province, or region. """ tax_type: Optional[ Literal[ "amusement_tax", "communications_tax", "gst", "hst", "igst", "jct", "lease_tax", "pst", "qst", "retail_delivery_fee", "rst", "sales_tax", "service_tax", "vat", ] ] """ The tax type, such as `vat` or `sales_tax`. """ _inner_class_types = {"flat_amount": FlatAmount} amount: int """ The amount of tax, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ inclusive: bool """ Specifies whether the tax amount is included in the line item amount. """ tax_rate_details: TaxRateDetails taxability_reason: Literal[ "customer_exempt", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] """ The reasoning behind this tax, for example, if the product is tax exempt. We might extend the possible values for this field to support new tax rules. """ taxable_amount: int """ The amount on which tax is calculated, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ _inner_class_types = {"tax_rate_details": TaxRateDetails} amount_total: int """ Total amount after taxes in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: Optional[str] """ The ID of an existing [Customer](https://stripe.com/docs/api/customers/object) used for the resource. """ customer_details: CustomerDetails expires_at: Optional[int] """ Timestamp of date at which the tax calculation will expire. """ id: Optional[str] """ Unique identifier for the calculation. """ line_items: Optional[ListObject["CalculationLineItem"]] """ The list of items the customer is purchasing. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["tax.calculation"] """ String representing the object's type. Objects of the same type share the same value. """ ship_from_details: Optional[ShipFromDetails] """ The details of the ship from location, such as the address. """ shipping_cost: Optional[ShippingCost] """ The shipping cost details for the calculation. """ tax_amount_exclusive: int """ The amount of tax to be collected on top of the line item prices. """ tax_amount_inclusive: int """ The amount of tax already included in the line item prices. """ tax_breakdown: List[TaxBreakdown] """ Breakdown of individual tax amounts that add up to the total. """ tax_date: int """ Timestamp of date at which the tax rules and rates in effect applies for the calculation. """ @classmethod def create( cls, **params: Unpack["CalculationCreateParams"] ) -> "Calculation": """ Calculates tax based on the input and returns a Tax Calculation object. """ return cast( "Calculation", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["CalculationCreateParams"] ) -> "Calculation": """ Calculates tax based on the input and returns a Tax Calculation object. """ return cast( "Calculation", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_list_line_items( cls, calculation: str, **params: Unpack["CalculationListLineItemsParams"], ) -> ListObject["CalculationLineItem"]: """ Retrieves the line items of a tax calculation as a collection, if the calculation hasn't expired. """ return cast( ListObject["CalculationLineItem"], cls._static_request( "get", "/v1/tax/calculations/{calculation}/line_items".format( calculation=sanitize_id(calculation) ), params=params, ), ) @overload @staticmethod def list_line_items( calculation: str, **params: Unpack["CalculationListLineItemsParams"] ) -> ListObject["CalculationLineItem"]: """ Retrieves the line items of a tax calculation as a collection, if the calculation hasn't expired. """ ... @overload def list_line_items( self, **params: Unpack["CalculationListLineItemsParams"] ) -> ListObject["CalculationLineItem"]: """ Retrieves the line items of a tax calculation as a collection, if the calculation hasn't expired. """ ... @class_method_variant("_cls_list_line_items") def list_line_items( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CalculationListLineItemsParams"] ) -> ListObject["CalculationLineItem"]: """ Retrieves the line items of a tax calculation as a collection, if the calculation hasn't expired. """ return cast( ListObject["CalculationLineItem"], self._request( "get", "/v1/tax/calculations/{calculation}/line_items".format( calculation=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_list_line_items_async( cls, calculation: str, **params: Unpack["CalculationListLineItemsParams"], ) -> ListObject["CalculationLineItem"]: """ Retrieves the line items of a tax calculation as a collection, if the calculation hasn't expired. """ return cast( ListObject["CalculationLineItem"], await cls._static_request_async( "get", "/v1/tax/calculations/{calculation}/line_items".format( calculation=sanitize_id(calculation) ), params=params, ), ) @overload @staticmethod async def list_line_items_async( calculation: str, **params: Unpack["CalculationListLineItemsParams"] ) -> ListObject["CalculationLineItem"]: """ Retrieves the line items of a tax calculation as a collection, if the calculation hasn't expired. """ ... @overload async def list_line_items_async( self, **params: Unpack["CalculationListLineItemsParams"] ) -> ListObject["CalculationLineItem"]: """ Retrieves the line items of a tax calculation as a collection, if the calculation hasn't expired. """ ... @class_method_variant("_cls_list_line_items_async") async def list_line_items_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["CalculationListLineItemsParams"] ) -> ListObject["CalculationLineItem"]: """ Retrieves the line items of a tax calculation as a collection, if the calculation hasn't expired. """ return cast( ListObject["CalculationLineItem"], await self._request_async( "get", "/v1/tax/calculations/{calculation}/line_items".format( calculation=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["CalculationRetrieveParams"] ) -> "Calculation": """ Retrieves a Tax Calculation object, if the calculation hasn't expired. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["CalculationRetrieveParams"] ) -> "Calculation": """ Retrieves a Tax Calculation object, if the calculation hasn't expired. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "customer_details": CustomerDetails, "ship_from_details": ShipFromDetails, "shipping_cost": ShippingCost, "tax_breakdown": TaxBreakdown, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3770623 stripe-13.2.0/stripe/tax/_calculation_line_item.py0000644000000000000000000001276615102753431017204 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar, Dict, List, Optional from typing_extensions import Literal class CalculationLineItem(StripeObject): OBJECT_NAME: ClassVar[Literal["tax.calculation_line_item"]] = ( "tax.calculation_line_item" ) class TaxBreakdown(StripeObject): class Jurisdiction(StripeObject): country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ display_name: str """ A human-readable name for the jurisdiction imposing the tax. """ level: Literal["city", "country", "county", "district", "state"] """ Indicates the level of the jurisdiction imposing the tax. """ state: Optional[str] """ [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2), without country prefix. For example, "NY" for New York, United States. """ class TaxRateDetails(StripeObject): display_name: str """ A localized display name for tax type, intended to be human-readable. For example, "Local Sales and Use Tax", "Value-added tax (VAT)", or "Umsatzsteuer (USt.)". """ percentage_decimal: str """ The tax rate percentage as a string. For example, 8.5% is represented as "8.5". """ tax_type: Literal[ "amusement_tax", "communications_tax", "gst", "hst", "igst", "jct", "lease_tax", "pst", "qst", "retail_delivery_fee", "rst", "sales_tax", "service_tax", "vat", ] """ The tax type, such as `vat` or `sales_tax`. """ amount: int """ The amount of tax, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ jurisdiction: Jurisdiction sourcing: Literal["destination", "origin"] """ Indicates whether the jurisdiction was determined by the origin (merchant's address) or destination (customer's address). """ tax_rate_details: Optional[TaxRateDetails] """ Details regarding the rate for this tax. This field will be `null` when the tax is not imposed, for example if the product is exempt from tax. """ taxability_reason: Literal[ "customer_exempt", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] """ The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. """ taxable_amount: int """ The amount on which tax is calculated, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ _inner_class_types = { "jurisdiction": Jurisdiction, "tax_rate_details": TaxRateDetails, } amount: int """ The line item amount in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. """ amount_tax: int """ The amount of tax calculated for this line item, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["tax.calculation_line_item"] """ String representing the object's type. Objects of the same type share the same value. """ product: Optional[str] """ The ID of an existing [Product](https://stripe.com/docs/api/products/object). """ quantity: int """ The number of units of the item being purchased. For reversals, this is the quantity reversed. """ reference: str """ A custom identifier for this line item. """ tax_behavior: Literal["exclusive", "inclusive"] """ Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. """ tax_breakdown: Optional[List[TaxBreakdown]] """ Detailed account of taxes relevant to this line item. """ tax_code: str """ The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for this resource. """ _inner_class_types = {"tax_breakdown": TaxBreakdown} ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3770623 stripe-13.2.0/stripe/tax/_calculation_line_item_service.py0000644000000000000000000000404615102753431020714 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.tax._calculation_line_item_list_params import ( CalculationLineItemListParams, ) from stripe.tax._calculation_line_item import CalculationLineItem class CalculationLineItemService(StripeService): def list( self, calculation: str, params: Optional["CalculationLineItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[CalculationLineItem]": """ Retrieves the line items of a tax calculation as a collection, if the calculation hasn't expired. """ return cast( "ListObject[CalculationLineItem]", self._request( "get", "/v1/tax/calculations/{calculation}/line_items".format( calculation=sanitize_id(calculation), ), base_address="api", params=params, options=options, ), ) async def list_async( self, calculation: str, params: Optional["CalculationLineItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[CalculationLineItem]": """ Retrieves the line items of a tax calculation as a collection, if the calculation hasn't expired. """ return cast( "ListObject[CalculationLineItem]", await self._request_async( "get", "/v1/tax/calculations/{calculation}/line_items".format( calculation=sanitize_id(calculation), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3770623 stripe-13.2.0/stripe/tax/_calculation_service.py0000644000000000000000000000741215102753431016667 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.tax._calculation_create_params import ( CalculationCreateParams, ) from stripe.params.tax._calculation_retrieve_params import ( CalculationRetrieveParams, ) from stripe.tax._calculation import Calculation from stripe.tax._calculation_line_item_service import ( CalculationLineItemService, ) _subservices = { "line_items": [ "stripe.tax._calculation_line_item_service", "CalculationLineItemService", ], } class CalculationService(StripeService): line_items: "CalculationLineItemService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def retrieve( self, calculation: str, params: Optional["CalculationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Calculation": """ Retrieves a Tax Calculation object, if the calculation hasn't expired. """ return cast( "Calculation", self._request( "get", "/v1/tax/calculations/{calculation}".format( calculation=sanitize_id(calculation), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, calculation: str, params: Optional["CalculationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Calculation": """ Retrieves a Tax Calculation object, if the calculation hasn't expired. """ return cast( "Calculation", await self._request_async( "get", "/v1/tax/calculations/{calculation}".format( calculation=sanitize_id(calculation), ), base_address="api", params=params, options=options, ), ) def create( self, params: "CalculationCreateParams", options: Optional["RequestOptions"] = None, ) -> "Calculation": """ Calculates tax based on the input and returns a Tax Calculation object. """ return cast( "Calculation", self._request( "post", "/v1/tax/calculations", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "CalculationCreateParams", options: Optional["RequestOptions"] = None, ) -> "Calculation": """ Calculates tax based on the input and returns a Tax Calculation object. """ return cast( "Calculation", await self._request_async( "post", "/v1/tax/calculations", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3770623 stripe-13.2.0/stripe/tax/_registration.py0000644000000000000000000012446215102753431015370 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import sanitize_id from typing import ClassVar, List, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.tax._registration_create_params import ( RegistrationCreateParams, ) from stripe.params.tax._registration_list_params import ( RegistrationListParams, ) from stripe.params.tax._registration_modify_params import ( RegistrationModifyParams, ) from stripe.params.tax._registration_retrieve_params import ( RegistrationRetrieveParams, ) class Registration( CreateableAPIResource["Registration"], ListableAPIResource["Registration"], UpdateableAPIResource["Registration"], ): """ A Tax `Registration` lets us know that your business is registered to collect tax on payments within a region, enabling you to [automatically collect tax](https://stripe.com/docs/tax). Stripe doesn't register on your behalf with the relevant authorities when you create a Tax `Registration` object. For more information on how to register to collect tax, see [our guide](https://stripe.com/docs/tax/registering). Related guide: [Using the Registrations API](https://stripe.com/docs/tax/registrations-api) """ OBJECT_NAME: ClassVar[Literal["tax.registration"]] = "tax.registration" class CountryOptions(StripeObject): class Ae(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal["inbound_goods", "standard"] """ Place of supply scheme used in an Default standard registration. """ standard: Optional[Standard] type: Literal["standard"] """ Type of registration in `country`. """ _inner_class_types = {"standard": Standard} class Al(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Am(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Ao(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class At(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Au(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal["inbound_goods", "standard"] """ Place of supply scheme used in an Default standard registration. """ standard: Optional[Standard] type: Literal["standard"] """ Type of registration in `country`. """ _inner_class_types = {"standard": Standard} class Aw(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Az(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Ba(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Bb(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Bd(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Be(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Bf(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Bg(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Bh(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Bj(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Bs(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class By(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Ca(StripeObject): class ProvinceStandard(StripeObject): province: str """ Two-letter CA province code ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). """ province_standard: Optional[ProvinceStandard] type: Literal["province_standard", "simplified", "standard"] """ Type of registration in Canada. """ _inner_class_types = {"province_standard": ProvinceStandard} class Cd(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Ch(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal["inbound_goods", "standard"] """ Place of supply scheme used in an Default standard registration. """ standard: Optional[Standard] type: Literal["standard"] """ Type of registration in `country`. """ _inner_class_types = {"standard": Standard} class Cl(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Cm(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Co(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Cr(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Cv(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Cy(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Cz(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class De(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Dk(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Ec(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Ee(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Eg(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Es(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Et(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Fi(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Fr(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Gb(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal["inbound_goods", "standard"] """ Place of supply scheme used in an Default standard registration. """ standard: Optional[Standard] type: Literal["standard"] """ Type of registration in `country`. """ _inner_class_types = {"standard": Standard} class Ge(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Gn(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Gr(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Hr(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Hu(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Id(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Ie(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class In(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Is(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class It(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Jp(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal["inbound_goods", "standard"] """ Place of supply scheme used in an Default standard registration. """ standard: Optional[Standard] type: Literal["standard"] """ Type of registration in `country`. """ _inner_class_types = {"standard": Standard} class Ke(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Kg(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Kh(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Kr(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Kz(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class La(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Lt(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Lu(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Lv(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Ma(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Md(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Me(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Mk(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Mr(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Mt(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Mx(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class My(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Ng(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Nl(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class No(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal["inbound_goods", "standard"] """ Place of supply scheme used in an Default standard registration. """ standard: Optional[Standard] type: Literal["standard"] """ Type of registration in `country`. """ _inner_class_types = {"standard": Standard} class Np(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Nz(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal["inbound_goods", "standard"] """ Place of supply scheme used in an Default standard registration. """ standard: Optional[Standard] type: Literal["standard"] """ Type of registration in `country`. """ _inner_class_types = {"standard": Standard} class Om(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Pe(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Ph(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Pl(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Pt(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Ro(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Rs(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Ru(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Sa(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Se(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Sg(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal["inbound_goods", "standard"] """ Place of supply scheme used in an Default standard registration. """ standard: Optional[Standard] type: Literal["standard"] """ Type of registration in `country`. """ _inner_class_types = {"standard": Standard} class Si(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Sk(StripeObject): class Standard(StripeObject): place_of_supply_scheme: Literal[ "inbound_goods", "small_seller", "standard" ] """ Place of supply scheme used in an EU standard registration. """ standard: Optional[Standard] type: Literal["ioss", "oss_non_union", "oss_union", "standard"] """ Type of registration in an EU country. """ _inner_class_types = {"standard": Standard} class Sn(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Sr(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Th(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Tj(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Tr(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Tw(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Tz(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Ua(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Ug(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Us(StripeObject): class LocalAmusementTax(StripeObject): jurisdiction: str """ A [FIPS code](https://www.census.gov/library/reference/code-lists/ansi.html) representing the local jurisdiction. """ class LocalLeaseTax(StripeObject): jurisdiction: str """ A [FIPS code](https://www.census.gov/library/reference/code-lists/ansi.html) representing the local jurisdiction. """ class StateSalesTax(StripeObject): class Election(StripeObject): jurisdiction: Optional[str] """ A [FIPS code](https://www.census.gov/library/reference/code-lists/ansi.html) representing the local jurisdiction. """ type: Literal[ "local_use_tax", "simplified_sellers_use_tax", "single_local_use_tax", ] """ The type of the election for the state sales tax registration. """ elections: Optional[List[Election]] """ Elections for the state sales tax registration. """ _inner_class_types = {"elections": Election} local_amusement_tax: Optional[LocalAmusementTax] local_lease_tax: Optional[LocalLeaseTax] state: str """ Two-letter US state code ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)). """ state_sales_tax: Optional[StateSalesTax] type: Literal[ "local_amusement_tax", "local_lease_tax", "state_communications_tax", "state_retail_delivery_fee", "state_sales_tax", ] """ Type of registration in the US. """ _inner_class_types = { "local_amusement_tax": LocalAmusementTax, "local_lease_tax": LocalLeaseTax, "state_sales_tax": StateSalesTax, } class Uy(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Uz(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Vn(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Za(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ class Zm(StripeObject): type: Literal["simplified"] """ Type of registration in `country`. """ class Zw(StripeObject): type: Literal["standard"] """ Type of registration in `country`. """ ae: Optional[Ae] al: Optional[Al] am: Optional[Am] ao: Optional[Ao] at: Optional[At] au: Optional[Au] aw: Optional[Aw] az: Optional[Az] ba: Optional[Ba] bb: Optional[Bb] bd: Optional[Bd] be: Optional[Be] bf: Optional[Bf] bg: Optional[Bg] bh: Optional[Bh] bj: Optional[Bj] bs: Optional[Bs] by: Optional[By] ca: Optional[Ca] cd: Optional[Cd] ch: Optional[Ch] cl: Optional[Cl] cm: Optional[Cm] co: Optional[Co] cr: Optional[Cr] cv: Optional[Cv] cy: Optional[Cy] cz: Optional[Cz] de: Optional[De] dk: Optional[Dk] ec: Optional[Ec] ee: Optional[Ee] eg: Optional[Eg] es: Optional[Es] et: Optional[Et] fi: Optional[Fi] fr: Optional[Fr] gb: Optional[Gb] ge: Optional[Ge] gn: Optional[Gn] gr: Optional[Gr] hr: Optional[Hr] hu: Optional[Hu] id: Optional[Id] ie: Optional[Ie] in_: Optional[In] is_: Optional[Is] it: Optional[It] jp: Optional[Jp] ke: Optional[Ke] kg: Optional[Kg] kh: Optional[Kh] kr: Optional[Kr] kz: Optional[Kz] la: Optional[La] lt: Optional[Lt] lu: Optional[Lu] lv: Optional[Lv] ma: Optional[Ma] md: Optional[Md] me: Optional[Me] mk: Optional[Mk] mr: Optional[Mr] mt: Optional[Mt] mx: Optional[Mx] my: Optional[My] ng: Optional[Ng] nl: Optional[Nl] no: Optional[No] np: Optional[Np] nz: Optional[Nz] om: Optional[Om] pe: Optional[Pe] ph: Optional[Ph] pl: Optional[Pl] pt: Optional[Pt] ro: Optional[Ro] rs: Optional[Rs] ru: Optional[Ru] sa: Optional[Sa] se: Optional[Se] sg: Optional[Sg] si: Optional[Si] sk: Optional[Sk] sn: Optional[Sn] sr: Optional[Sr] th: Optional[Th] tj: Optional[Tj] tr: Optional[Tr] tw: Optional[Tw] tz: Optional[Tz] ua: Optional[Ua] ug: Optional[Ug] us: Optional[Us] uy: Optional[Uy] uz: Optional[Uz] vn: Optional[Vn] za: Optional[Za] zm: Optional[Zm] zw: Optional[Zw] _inner_class_types = { "ae": Ae, "al": Al, "am": Am, "ao": Ao, "at": At, "au": Au, "aw": Aw, "az": Az, "ba": Ba, "bb": Bb, "bd": Bd, "be": Be, "bf": Bf, "bg": Bg, "bh": Bh, "bj": Bj, "bs": Bs, "by": By, "ca": Ca, "cd": Cd, "ch": Ch, "cl": Cl, "cm": Cm, "co": Co, "cr": Cr, "cv": Cv, "cy": Cy, "cz": Cz, "de": De, "dk": Dk, "ec": Ec, "ee": Ee, "eg": Eg, "es": Es, "et": Et, "fi": Fi, "fr": Fr, "gb": Gb, "ge": Ge, "gn": Gn, "gr": Gr, "hr": Hr, "hu": Hu, "id": Id, "ie": Ie, "in": In, "is": Is, "it": It, "jp": Jp, "ke": Ke, "kg": Kg, "kh": Kh, "kr": Kr, "kz": Kz, "la": La, "lt": Lt, "lu": Lu, "lv": Lv, "ma": Ma, "md": Md, "me": Me, "mk": Mk, "mr": Mr, "mt": Mt, "mx": Mx, "my": My, "ng": Ng, "nl": Nl, "no": No, "np": Np, "nz": Nz, "om": Om, "pe": Pe, "ph": Ph, "pl": Pl, "pt": Pt, "ro": Ro, "rs": Rs, "ru": Ru, "sa": Sa, "se": Se, "sg": Sg, "si": Si, "sk": Sk, "sn": Sn, "sr": Sr, "th": Th, "tj": Tj, "tr": Tr, "tw": Tw, "tz": Tz, "ua": Ua, "ug": Ug, "us": Us, "uy": Uy, "uz": Uz, "vn": Vn, "za": Za, "zm": Zm, "zw": Zw, } _field_remappings = {"in_": "in", "is_": "is"} active_from: int """ Time at which the registration becomes active. Measured in seconds since the Unix epoch. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ country_options: CountryOptions created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ expires_at: Optional[int] """ If set, the registration stops being active at this time. If not set, the registration will be active indefinitely. Measured in seconds since the Unix epoch. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["tax.registration"] """ String representing the object's type. Objects of the same type share the same value. """ status: Literal["active", "expired", "scheduled"] """ The status of the registration. This field is present for convenience and can be deduced from `active_from` and `expires_at`. """ @classmethod def create( cls, **params: Unpack["RegistrationCreateParams"] ) -> "Registration": """ Creates a new Tax Registration object. """ return cast( "Registration", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["RegistrationCreateParams"] ) -> "Registration": """ Creates a new Tax Registration object. """ return cast( "Registration", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["RegistrationListParams"] ) -> ListObject["Registration"]: """ Returns a list of Tax Registration objects. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["RegistrationListParams"] ) -> ListObject["Registration"]: """ Returns a list of Tax Registration objects. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["RegistrationModifyParams"] ) -> "Registration": """ Updates an existing Tax Registration object. A registration cannot be deleted after it has been created. If you wish to end a registration you may do so by setting expires_at. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Registration", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["RegistrationModifyParams"] ) -> "Registration": """ Updates an existing Tax Registration object. A registration cannot be deleted after it has been created. If you wish to end a registration you may do so by setting expires_at. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Registration", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["RegistrationRetrieveParams"] ) -> "Registration": """ Returns a Tax Registration object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["RegistrationRetrieveParams"] ) -> "Registration": """ Returns a Tax Registration object. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"country_options": CountryOptions} ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3770623 stripe-13.2.0/stripe/tax/_registration_service.py0000644000000000000000000001260115102753431017077 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.tax._registration_create_params import ( RegistrationCreateParams, ) from stripe.params.tax._registration_list_params import ( RegistrationListParams, ) from stripe.params.tax._registration_retrieve_params import ( RegistrationRetrieveParams, ) from stripe.params.tax._registration_update_params import ( RegistrationUpdateParams, ) from stripe.tax._registration import Registration class RegistrationService(StripeService): def list( self, params: Optional["RegistrationListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Registration]": """ Returns a list of Tax Registration objects. """ return cast( "ListObject[Registration]", self._request( "get", "/v1/tax/registrations", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["RegistrationListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Registration]": """ Returns a list of Tax Registration objects. """ return cast( "ListObject[Registration]", await self._request_async( "get", "/v1/tax/registrations", base_address="api", params=params, options=options, ), ) def create( self, params: "RegistrationCreateParams", options: Optional["RequestOptions"] = None, ) -> "Registration": """ Creates a new Tax Registration object. """ return cast( "Registration", self._request( "post", "/v1/tax/registrations", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "RegistrationCreateParams", options: Optional["RequestOptions"] = None, ) -> "Registration": """ Creates a new Tax Registration object. """ return cast( "Registration", await self._request_async( "post", "/v1/tax/registrations", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["RegistrationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Registration": """ Returns a Tax Registration object. """ return cast( "Registration", self._request( "get", "/v1/tax/registrations/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["RegistrationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Registration": """ Returns a Tax Registration object. """ return cast( "Registration", await self._request_async( "get", "/v1/tax/registrations/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def update( self, id: str, params: Optional["RegistrationUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Registration": """ Updates an existing Tax Registration object. A registration cannot be deleted after it has been created. If you wish to end a registration you may do so by setting expires_at. """ return cast( "Registration", self._request( "post", "/v1/tax/registrations/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def update_async( self, id: str, params: Optional["RegistrationUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Registration": """ Updates an existing Tax Registration object. A registration cannot be deleted after it has been created. If you wish to end a registration you may do so by setting expires_at. """ return cast( "Registration", await self._request_async( "post", "/v1/tax/registrations/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3770623 stripe-13.2.0/stripe/tax/_settings.py0000644000000000000000000001306215102753431014507 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._singleton_api_resource import SingletonAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from typing import ClassVar, List, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.tax._settings_modify_params import SettingsModifyParams from stripe.params.tax._settings_retrieve_params import ( SettingsRetrieveParams, ) class Settings( SingletonAPIResource["Settings"], UpdateableAPIResource["Settings"], ): """ You can use Tax `Settings` to manage configurations used by Stripe Tax calculations. Related guide: [Using the Settings API](https://stripe.com/docs/tax/settings-api) """ OBJECT_NAME: ClassVar[Literal["tax.settings"]] = "tax.settings" class Defaults(StripeObject): provider: Literal["anrok", "avalara", "sphere", "stripe"] """ The tax calculation provider this account uses. Defaults to `stripe` when not using a [third-party provider](https://docs.stripe.com/tax/third-party-apps). """ tax_behavior: Optional[ Literal["exclusive", "inclusive", "inferred_by_currency"] ] """ Default [tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#tax-behavior) used to specify whether the price is considered inclusive of taxes or exclusive of taxes. If the item's price has a tax behavior set, it will take precedence over the default tax behavior. """ tax_code: Optional[str] """ Default [tax code](https://stripe.com/docs/tax/tax-categories) used to classify your products and prices. """ class HeadOffice(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Address _inner_class_types = {"address": Address} class StatusDetails(StripeObject): class Active(StripeObject): pass class Pending(StripeObject): missing_fields: Optional[List[str]] """ The list of missing fields that are required to perform calculations. It includes the entry `head_office` when the status is `pending`. It is recommended to set the optional values even if they aren't listed as required for calculating taxes. Calculations can fail if missing fields aren't explicitly provided on every call. """ active: Optional[Active] pending: Optional[Pending] _inner_class_types = {"active": Active, "pending": Pending} defaults: Defaults head_office: Optional[HeadOffice] """ The place where your business is located. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["tax.settings"] """ String representing the object's type. Objects of the same type share the same value. """ status: Literal["active", "pending"] """ The status of the Tax `Settings`. """ status_details: StatusDetails @classmethod def modify(cls, **params: Unpack["SettingsModifyParams"]) -> "Settings": """ Updates Tax Settings parameters used in tax calculations. All parameters are editable but none can be removed once set. """ return cast( "Settings", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def modify_async( cls, **params: Unpack["SettingsModifyParams"] ) -> "Settings": """ Updates Tax Settings parameters used in tax calculations. All parameters are editable but none can be removed once set. """ return cast( "Settings", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def retrieve( cls, **params: Unpack["SettingsRetrieveParams"] ) -> "Settings": """ Retrieves Tax Settings for a merchant. """ instance = cls(None, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, **params: Unpack["SettingsRetrieveParams"] ) -> "Settings": """ Retrieves Tax Settings for a merchant. """ instance = cls(None, **params) await instance.refresh_async() return instance @classmethod def class_url(cls): return "/v1/tax/settings" _inner_class_types = { "defaults": Defaults, "head_office": HeadOffice, "status_details": StatusDetails, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3770623 stripe-13.2.0/stripe/tax/_settings_service.py0000644000000000000000000000521415102753431016227 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.tax._settings_retrieve_params import ( SettingsRetrieveParams, ) from stripe.params.tax._settings_update_params import SettingsUpdateParams from stripe.tax._settings import Settings class SettingsService(StripeService): def retrieve( self, params: Optional["SettingsRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Settings": """ Retrieves Tax Settings for a merchant. """ return cast( "Settings", self._request( "get", "/v1/tax/settings", base_address="api", params=params, options=options, ), ) async def retrieve_async( self, params: Optional["SettingsRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Settings": """ Retrieves Tax Settings for a merchant. """ return cast( "Settings", await self._request_async( "get", "/v1/tax/settings", base_address="api", params=params, options=options, ), ) def update( self, params: Optional["SettingsUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Settings": """ Updates Tax Settings parameters used in tax calculations. All parameters are editable but none can be removed once set. """ return cast( "Settings", self._request( "post", "/v1/tax/settings", base_address="api", params=params, options=options, ), ) async def update_async( self, params: Optional["SettingsUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Settings": """ Updates Tax Settings parameters used in tax calculations. All parameters are editable but none can be removed once set. """ return cast( "Settings", await self._request_async( "post", "/v1/tax/settings", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3770623 stripe-13.2.0/stripe/tax/_transaction.py0000644000000000000000000005327715102753431015210 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._api_resource import APIResource from stripe._list_object import ListObject from stripe._stripe_object import StripeObject from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.tax._transaction_create_from_calculation_params import ( TransactionCreateFromCalculationParams, ) from stripe.params.tax._transaction_create_reversal_params import ( TransactionCreateReversalParams, ) from stripe.params.tax._transaction_list_line_items_params import ( TransactionListLineItemsParams, ) from stripe.params.tax._transaction_retrieve_params import ( TransactionRetrieveParams, ) from stripe.tax._transaction_line_item import TransactionLineItem class Transaction(APIResource["Transaction"]): """ A Tax Transaction records the tax collected from or refunded to your customer. Related guide: [Calculate tax in your custom payment flow](https://stripe.com/docs/tax/custom#tax-transaction) """ OBJECT_NAME: ClassVar[Literal["tax.transaction"]] = "tax.transaction" class CustomerDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State/province as an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) subdivision code, without country prefix, such as "NY" or "TX". """ class TaxId(StripeObject): type: Literal[ "ad_nrt", "ae_trn", "al_tin", "am_tin", "ao_tin", "ar_cuit", "au_abn", "au_arn", "aw_tin", "az_tin", "ba_tin", "bb_tin", "bd_bin", "bf_ifu", "bg_uic", "bh_vat", "bj_ifu", "bo_tin", "br_cnpj", "br_cpf", "bs_tin", "by_tin", "ca_bn", "ca_gst_hst", "ca_pst_bc", "ca_pst_mb", "ca_pst_sk", "ca_qst", "cd_nif", "ch_uid", "ch_vat", "cl_tin", "cm_niu", "cn_tin", "co_nit", "cr_tin", "cv_nif", "de_stn", "do_rcn", "ec_ruc", "eg_tin", "es_cif", "et_tin", "eu_oss_vat", "eu_vat", "gb_vat", "ge_vat", "gn_nif", "hk_br", "hr_oib", "hu_tin", "id_npwp", "il_vat", "in_gst", "is_vat", "jp_cn", "jp_rn", "jp_trn", "ke_pin", "kg_tin", "kh_tin", "kr_brn", "kz_bin", "la_tin", "li_uid", "li_vat", "ma_vat", "md_vat", "me_pib", "mk_vat", "mr_nif", "mx_rfc", "my_frp", "my_itn", "my_sst", "ng_tin", "no_vat", "no_voec", "np_pan", "nz_gst", "om_vat", "pe_ruc", "ph_tin", "ro_tin", "rs_pib", "ru_inn", "ru_kpp", "sa_vat", "sg_gst", "sg_uen", "si_tin", "sn_ninea", "sr_fin", "sv_nit", "th_vat", "tj_tin", "tr_tin", "tw_vat", "tz_vat", "ua_vat", "ug_tin", "unknown", "us_ein", "uy_ruc", "uz_tin", "uz_vat", "ve_rif", "vn_tin", "za_vat", "zm_tin", "zw_tin", ] """ The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `hr_oib`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `no_voec`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, `al_tin`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, `tz_vat`, `uz_vat`, `uz_tin`, `md_vat`, `ma_vat`, `by_tin`, `ao_tin`, `bs_tin`, `bb_tin`, `cd_nif`, `mr_nif`, `me_pib`, `zw_tin`, `ba_tin`, `gn_nif`, `mk_vat`, `sr_fin`, `sn_ninea`, `am_tin`, `np_pan`, `tj_tin`, `ug_tin`, `zm_tin`, `kh_tin`, `aw_tin`, `az_tin`, `bd_bin`, `bj_ifu`, `et_tin`, `kg_tin`, `la_tin`, `cm_niu`, `cv_nif`, `bf_ifu`, or `unknown` """ value: str """ The value of the tax ID. """ address: Optional[Address] """ The customer's postal address (for example, home or business location). """ address_source: Optional[Literal["billing", "shipping"]] """ The type of customer address provided. """ ip_address: Optional[str] """ The customer's IP address (IPv4 or IPv6). """ tax_ids: List[TaxId] """ The customer's tax IDs (for example, EU VAT numbers). """ taxability_override: Literal[ "customer_exempt", "none", "reverse_charge" ] """ The taxability override used for taxation. """ _inner_class_types = {"address": Address, "tax_ids": TaxId} class Reversal(StripeObject): original_transaction: Optional[str] """ The `id` of the reversed `Transaction` object. """ class ShipFromDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State/province as an [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2) subdivision code, without country prefix, such as "NY" or "TX". """ address: Address _inner_class_types = {"address": Address} class ShippingCost(StripeObject): class TaxBreakdown(StripeObject): class Jurisdiction(StripeObject): country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ display_name: str """ A human-readable name for the jurisdiction imposing the tax. """ level: Literal[ "city", "country", "county", "district", "state" ] """ Indicates the level of the jurisdiction imposing the tax. """ state: Optional[str] """ [ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2), without country prefix. For example, "NY" for New York, United States. """ class TaxRateDetails(StripeObject): display_name: str """ A localized display name for tax type, intended to be human-readable. For example, "Local Sales and Use Tax", "Value-added tax (VAT)", or "Umsatzsteuer (USt.)". """ percentage_decimal: str """ The tax rate percentage as a string. For example, 8.5% is represented as "8.5". """ tax_type: Literal[ "amusement_tax", "communications_tax", "gst", "hst", "igst", "jct", "lease_tax", "pst", "qst", "retail_delivery_fee", "rst", "sales_tax", "service_tax", "vat", ] """ The tax type, such as `vat` or `sales_tax`. """ amount: int """ The amount of tax, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ jurisdiction: Jurisdiction sourcing: Literal["destination", "origin"] """ Indicates whether the jurisdiction was determined by the origin (merchant's address) or destination (customer's address). """ tax_rate_details: Optional[TaxRateDetails] """ Details regarding the rate for this tax. This field will be `null` when the tax is not imposed, for example if the product is exempt from tax. """ taxability_reason: Literal[ "customer_exempt", "not_collecting", "not_subject_to_tax", "not_supported", "portion_product_exempt", "portion_reduced_rated", "portion_standard_rated", "product_exempt", "product_exempt_holiday", "proportionally_rated", "reduced_rated", "reverse_charge", "standard_rated", "taxable_basis_reduced", "zero_rated", ] """ The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported. """ taxable_amount: int """ The amount on which tax is calculated, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ _inner_class_types = { "jurisdiction": Jurisdiction, "tax_rate_details": TaxRateDetails, } amount: int """ The shipping amount in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. """ amount_tax: int """ The amount of tax calculated for shipping, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ shipping_rate: Optional[str] """ The ID of an existing [ShippingRate](https://stripe.com/docs/api/shipping_rates/object). """ tax_behavior: Literal["exclusive", "inclusive"] """ Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. """ tax_breakdown: Optional[List[TaxBreakdown]] """ Detailed account of taxes relevant to shipping cost. (It is not populated for the transaction resource object and will be removed in the next API version.) """ tax_code: str """ The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for shipping. """ _inner_class_types = {"tax_breakdown": TaxBreakdown} created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: Optional[str] """ The ID of an existing [Customer](https://stripe.com/docs/api/customers/object) used for the resource. """ customer_details: CustomerDetails id: str """ Unique identifier for the transaction. """ line_items: Optional[ListObject["TransactionLineItem"]] """ The tax collected or refunded, by line item. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["tax.transaction"] """ String representing the object's type. Objects of the same type share the same value. """ posted_at: int """ The Unix timestamp representing when the tax liability is assumed or reduced. """ reference: str """ A custom unique identifier, such as 'myOrder_123'. """ reversal: Optional[Reversal] """ If `type=reversal`, contains information about what was reversed. """ ship_from_details: Optional[ShipFromDetails] """ The details of the ship from location, such as the address. """ shipping_cost: Optional[ShippingCost] """ The shipping cost details for the transaction. """ tax_date: int """ Timestamp of date at which the tax rules and rates in effect applies for the calculation. """ type: Literal["reversal", "transaction"] """ If `reversal`, this transaction reverses an earlier transaction. """ @classmethod def create_from_calculation( cls, **params: Unpack["TransactionCreateFromCalculationParams"] ) -> "Transaction": """ Creates a Tax Transaction from a calculation, if that calculation hasn't expired. Calculations expire after 90 days. """ return cast( "Transaction", cls._static_request( "post", "/v1/tax/transactions/create_from_calculation", params=params, ), ) @classmethod async def create_from_calculation_async( cls, **params: Unpack["TransactionCreateFromCalculationParams"] ) -> "Transaction": """ Creates a Tax Transaction from a calculation, if that calculation hasn't expired. Calculations expire after 90 days. """ return cast( "Transaction", await cls._static_request_async( "post", "/v1/tax/transactions/create_from_calculation", params=params, ), ) @classmethod def create_reversal( cls, **params: Unpack["TransactionCreateReversalParams"] ) -> "Transaction": """ Partially or fully reverses a previously created Transaction. """ return cast( "Transaction", cls._static_request( "post", "/v1/tax/transactions/create_reversal", params=params, ), ) @classmethod async def create_reversal_async( cls, **params: Unpack["TransactionCreateReversalParams"] ) -> "Transaction": """ Partially or fully reverses a previously created Transaction. """ return cast( "Transaction", await cls._static_request_async( "post", "/v1/tax/transactions/create_reversal", params=params, ), ) @classmethod def _cls_list_line_items( cls, transaction: str, **params: Unpack["TransactionListLineItemsParams"], ) -> ListObject["TransactionLineItem"]: """ Retrieves the line items of a committed standalone transaction as a collection. """ return cast( ListObject["TransactionLineItem"], cls._static_request( "get", "/v1/tax/transactions/{transaction}/line_items".format( transaction=sanitize_id(transaction) ), params=params, ), ) @overload @staticmethod def list_line_items( transaction: str, **params: Unpack["TransactionListLineItemsParams"] ) -> ListObject["TransactionLineItem"]: """ Retrieves the line items of a committed standalone transaction as a collection. """ ... @overload def list_line_items( self, **params: Unpack["TransactionListLineItemsParams"] ) -> ListObject["TransactionLineItem"]: """ Retrieves the line items of a committed standalone transaction as a collection. """ ... @class_method_variant("_cls_list_line_items") def list_line_items( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["TransactionListLineItemsParams"] ) -> ListObject["TransactionLineItem"]: """ Retrieves the line items of a committed standalone transaction as a collection. """ return cast( ListObject["TransactionLineItem"], self._request( "get", "/v1/tax/transactions/{transaction}/line_items".format( transaction=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_list_line_items_async( cls, transaction: str, **params: Unpack["TransactionListLineItemsParams"], ) -> ListObject["TransactionLineItem"]: """ Retrieves the line items of a committed standalone transaction as a collection. """ return cast( ListObject["TransactionLineItem"], await cls._static_request_async( "get", "/v1/tax/transactions/{transaction}/line_items".format( transaction=sanitize_id(transaction) ), params=params, ), ) @overload @staticmethod async def list_line_items_async( transaction: str, **params: Unpack["TransactionListLineItemsParams"] ) -> ListObject["TransactionLineItem"]: """ Retrieves the line items of a committed standalone transaction as a collection. """ ... @overload async def list_line_items_async( self, **params: Unpack["TransactionListLineItemsParams"] ) -> ListObject["TransactionLineItem"]: """ Retrieves the line items of a committed standalone transaction as a collection. """ ... @class_method_variant("_cls_list_line_items_async") async def list_line_items_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["TransactionListLineItemsParams"] ) -> ListObject["TransactionLineItem"]: """ Retrieves the line items of a committed standalone transaction as a collection. """ return cast( ListObject["TransactionLineItem"], await self._request_async( "get", "/v1/tax/transactions/{transaction}/line_items".format( transaction=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["TransactionRetrieveParams"] ) -> "Transaction": """ Retrieves a Tax Transaction object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["TransactionRetrieveParams"] ) -> "Transaction": """ Retrieves a Tax Transaction object. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "customer_details": CustomerDetails, "reversal": Reversal, "ship_from_details": ShipFromDetails, "shipping_cost": ShippingCost, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3770623 stripe-13.2.0/stripe/tax/_transaction_line_item.py0000644000000000000000000000472415102753431017226 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar, Dict, Optional from typing_extensions import Literal class TransactionLineItem(StripeObject): OBJECT_NAME: ClassVar[Literal["tax.transaction_line_item"]] = ( "tax.transaction_line_item" ) class Reversal(StripeObject): original_line_item: str """ The `id` of the line item to reverse in the original transaction. """ amount: int """ The line item amount in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). If `tax_behavior=inclusive`, then this amount includes taxes. Otherwise, taxes were calculated on top of this amount. """ amount_tax: int """ The amount of tax calculated for this line item, in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["tax.transaction_line_item"] """ String representing the object's type. Objects of the same type share the same value. """ product: Optional[str] """ The ID of an existing [Product](https://stripe.com/docs/api/products/object). """ quantity: int """ The number of units of the item being purchased. For reversals, this is the quantity reversed. """ reference: str """ A custom identifier for this line item in the transaction. """ reversal: Optional[Reversal] """ If `type=reversal`, contains information about what was reversed. """ tax_behavior: Literal["exclusive", "inclusive"] """ Specifies whether the `amount` includes taxes. If `tax_behavior=inclusive`, then the amount includes taxes. """ tax_code: str """ The [tax code](https://stripe.com/docs/tax/tax-categories) ID used for this resource. """ type: Literal["reversal", "transaction"] """ If `reversal`, this line item reverses an earlier transaction. """ _inner_class_types = {"reversal": Reversal} ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3770623 stripe-13.2.0/stripe/tax/_transaction_line_item_service.py0000644000000000000000000000400215102753431020733 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.tax._transaction_line_item_list_params import ( TransactionLineItemListParams, ) from stripe.tax._transaction_line_item import TransactionLineItem class TransactionLineItemService(StripeService): def list( self, transaction: str, params: Optional["TransactionLineItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[TransactionLineItem]": """ Retrieves the line items of a committed standalone transaction as a collection. """ return cast( "ListObject[TransactionLineItem]", self._request( "get", "/v1/tax/transactions/{transaction}/line_items".format( transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) async def list_async( self, transaction: str, params: Optional["TransactionLineItemListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[TransactionLineItem]": """ Retrieves the line items of a committed standalone transaction as a collection. """ return cast( "ListObject[TransactionLineItem]", await self._request_async( "get", "/v1/tax/transactions/{transaction}/line_items".format( transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3770623 stripe-13.2.0/stripe/tax/_transaction_service.py0000644000000000000000000001216715102753431016721 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.tax._transaction_create_from_calculation_params import ( TransactionCreateFromCalculationParams, ) from stripe.params.tax._transaction_create_reversal_params import ( TransactionCreateReversalParams, ) from stripe.params.tax._transaction_retrieve_params import ( TransactionRetrieveParams, ) from stripe.tax._transaction import Transaction from stripe.tax._transaction_line_item_service import ( TransactionLineItemService, ) _subservices = { "line_items": [ "stripe.tax._transaction_line_item_service", "TransactionLineItemService", ], } class TransactionService(StripeService): line_items: "TransactionLineItemService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def retrieve( self, transaction: str, params: Optional["TransactionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Retrieves a Tax Transaction object. """ return cast( "Transaction", self._request( "get", "/v1/tax/transactions/{transaction}".format( transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, transaction: str, params: Optional["TransactionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Retrieves a Tax Transaction object. """ return cast( "Transaction", await self._request_async( "get", "/v1/tax/transactions/{transaction}".format( transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) def create_from_calculation( self, params: "TransactionCreateFromCalculationParams", options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Creates a Tax Transaction from a calculation, if that calculation hasn't expired. Calculations expire after 90 days. """ return cast( "Transaction", self._request( "post", "/v1/tax/transactions/create_from_calculation", base_address="api", params=params, options=options, ), ) async def create_from_calculation_async( self, params: "TransactionCreateFromCalculationParams", options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Creates a Tax Transaction from a calculation, if that calculation hasn't expired. Calculations expire after 90 days. """ return cast( "Transaction", await self._request_async( "post", "/v1/tax/transactions/create_from_calculation", base_address="api", params=params, options=options, ), ) def create_reversal( self, params: "TransactionCreateReversalParams", options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Partially or fully reverses a previously created Transaction. """ return cast( "Transaction", self._request( "post", "/v1/tax/transactions/create_reversal", base_address="api", params=params, options=options, ), ) async def create_reversal_async( self, params: "TransactionCreateReversalParams", options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Partially or fully reverses a previously created Transaction. """ return cast( "Transaction", await self._request_async( "post", "/v1/tax/transactions/create_reversal", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3770623 stripe-13.2.0/stripe/terminal/__init__.py0000644000000000000000000000351315102753431015266 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.terminal._configuration import Configuration as Configuration from stripe.terminal._configuration_service import ( ConfigurationService as ConfigurationService, ) from stripe.terminal._connection_token import ( ConnectionToken as ConnectionToken, ) from stripe.terminal._connection_token_service import ( ConnectionTokenService as ConnectionTokenService, ) from stripe.terminal._location import Location as Location from stripe.terminal._location_service import ( LocationService as LocationService, ) from stripe.terminal._reader import Reader as Reader from stripe.terminal._reader_service import ReaderService as ReaderService # name -> (import_target, is_submodule) _import_map = { "Configuration": ("stripe.terminal._configuration", False), "ConfigurationService": ("stripe.terminal._configuration_service", False), "ConnectionToken": ("stripe.terminal._connection_token", False), "ConnectionTokenService": ( "stripe.terminal._connection_token_service", False, ), "Location": ("stripe.terminal._location", False), "LocationService": ("stripe.terminal._location_service", False), "Reader": ("stripe.terminal._reader", False), "ReaderService": ("stripe.terminal._reader_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/terminal/_configuration.py0000644000000000000000000005751515102753431016550 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._file import File from stripe.params.terminal._configuration_create_params import ( ConfigurationCreateParams, ) from stripe.params.terminal._configuration_delete_params import ( ConfigurationDeleteParams, ) from stripe.params.terminal._configuration_list_params import ( ConfigurationListParams, ) from stripe.params.terminal._configuration_modify_params import ( ConfigurationModifyParams, ) from stripe.params.terminal._configuration_retrieve_params import ( ConfigurationRetrieveParams, ) class Configuration( CreateableAPIResource["Configuration"], DeletableAPIResource["Configuration"], ListableAPIResource["Configuration"], UpdateableAPIResource["Configuration"], ): """ A Configurations object represents how features should be configured for terminal readers. For information about how to use it, see the [Terminal configurations documentation](https://docs.stripe.com/terminal/fleet/configurations-overview). """ OBJECT_NAME: ClassVar[Literal["terminal.configuration"]] = ( "terminal.configuration" ) class BbposWisepad3(StripeObject): splashscreen: Optional[ExpandableField["File"]] """ A File ID representing an image to display on the reader """ class BbposWiseposE(StripeObject): splashscreen: Optional[ExpandableField["File"]] """ A File ID representing an image to display on the reader """ class Offline(StripeObject): enabled: Optional[bool] """ Determines whether to allow transactions to be collected while reader is offline. Defaults to false. """ class RebootWindow(StripeObject): end_hour: int """ Integer between 0 to 23 that represents the end hour of the reboot time window. The value must be different than the start_hour. """ start_hour: int """ Integer between 0 to 23 that represents the start hour of the reboot time window. """ class StripeS700(StripeObject): splashscreen: Optional[ExpandableField["File"]] """ A File ID representing an image to display on the reader """ class Tipping(StripeObject): class Aed(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Aud(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Bgn(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Cad(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Chf(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Czk(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Dkk(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Eur(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Gbp(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Gip(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Hkd(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Huf(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Jpy(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Mxn(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Myr(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Nok(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Nzd(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Pln(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Ron(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Sek(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Sgd(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ class Usd(StripeObject): fixed_amounts: Optional[List[int]] """ Fixed amounts displayed when collecting a tip """ percentages: Optional[List[int]] """ Percentages displayed when collecting a tip """ smart_tip_threshold: Optional[int] """ Below this amount, fixed amounts will be displayed; above it, percentages will be displayed """ aed: Optional[Aed] aud: Optional[Aud] bgn: Optional[Bgn] cad: Optional[Cad] chf: Optional[Chf] czk: Optional[Czk] dkk: Optional[Dkk] eur: Optional[Eur] gbp: Optional[Gbp] gip: Optional[Gip] hkd: Optional[Hkd] huf: Optional[Huf] jpy: Optional[Jpy] mxn: Optional[Mxn] myr: Optional[Myr] nok: Optional[Nok] nzd: Optional[Nzd] pln: Optional[Pln] ron: Optional[Ron] sek: Optional[Sek] sgd: Optional[Sgd] usd: Optional[Usd] _inner_class_types = { "aed": Aed, "aud": Aud, "bgn": Bgn, "cad": Cad, "chf": Chf, "czk": Czk, "dkk": Dkk, "eur": Eur, "gbp": Gbp, "gip": Gip, "hkd": Hkd, "huf": Huf, "jpy": Jpy, "mxn": Mxn, "myr": Myr, "nok": Nok, "nzd": Nzd, "pln": Pln, "ron": Ron, "sek": Sek, "sgd": Sgd, "usd": Usd, } class VerifoneP400(StripeObject): splashscreen: Optional[ExpandableField["File"]] """ A File ID representing an image to display on the reader """ class Wifi(StripeObject): class EnterpriseEapPeap(StripeObject): ca_certificate_file: Optional[str] """ A File ID representing a PEM file containing the server certificate """ password: str """ Password for connecting to the WiFi network """ ssid: str """ Name of the WiFi network """ username: str """ Username for connecting to the WiFi network """ class EnterpriseEapTls(StripeObject): ca_certificate_file: Optional[str] """ A File ID representing a PEM file containing the server certificate """ client_certificate_file: str """ A File ID representing a PEM file containing the client certificate """ private_key_file: str """ A File ID representing a PEM file containing the client RSA private key """ private_key_file_password: Optional[str] """ Password for the private key file """ ssid: str """ Name of the WiFi network """ class PersonalPsk(StripeObject): password: str """ Password for connecting to the WiFi network """ ssid: str """ Name of the WiFi network """ enterprise_eap_peap: Optional[EnterpriseEapPeap] enterprise_eap_tls: Optional[EnterpriseEapTls] personal_psk: Optional[PersonalPsk] type: Literal[ "enterprise_eap_peap", "enterprise_eap_tls", "personal_psk" ] """ Security type of the WiFi network. The hash with the corresponding name contains the credentials for this security type. """ _inner_class_types = { "enterprise_eap_peap": EnterpriseEapPeap, "enterprise_eap_tls": EnterpriseEapTls, "personal_psk": PersonalPsk, } bbpos_wisepad3: Optional[BbposWisepad3] bbpos_wisepos_e: Optional[BbposWiseposE] deleted: Optional[Literal[True]] """ Always true for a deleted object """ id: str """ Unique identifier for the object. """ is_account_default: Optional[bool] """ Whether this Configuration is the default for your account """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ name: Optional[str] """ String indicating the name of the Configuration object, set by the user """ object: Literal["terminal.configuration"] """ String representing the object's type. Objects of the same type share the same value. """ offline: Optional[Offline] reboot_window: Optional[RebootWindow] stripe_s700: Optional[StripeS700] tipping: Optional[Tipping] verifone_p400: Optional[VerifoneP400] wifi: Optional[Wifi] @classmethod def create( cls, **params: Unpack["ConfigurationCreateParams"] ) -> "Configuration": """ Creates a new Configuration object. """ return cast( "Configuration", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["ConfigurationCreateParams"] ) -> "Configuration": """ Creates a new Configuration object. """ return cast( "Configuration", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["ConfigurationDeleteParams"] ) -> "Configuration": """ Deletes a Configuration object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Configuration", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete( sid: str, **params: Unpack["ConfigurationDeleteParams"] ) -> "Configuration": """ Deletes a Configuration object. """ ... @overload def delete( self, **params: Unpack["ConfigurationDeleteParams"] ) -> "Configuration": """ Deletes a Configuration object. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ConfigurationDeleteParams"] ) -> "Configuration": """ Deletes a Configuration object. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["ConfigurationDeleteParams"] ) -> "Configuration": """ Deletes a Configuration object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Configuration", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["ConfigurationDeleteParams"] ) -> "Configuration": """ Deletes a Configuration object. """ ... @overload async def delete_async( self, **params: Unpack["ConfigurationDeleteParams"] ) -> "Configuration": """ Deletes a Configuration object. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ConfigurationDeleteParams"] ) -> "Configuration": """ Deletes a Configuration object. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def list( cls, **params: Unpack["ConfigurationListParams"] ) -> ListObject["Configuration"]: """ Returns a list of Configuration objects. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ConfigurationListParams"] ) -> ListObject["Configuration"]: """ Returns a list of Configuration objects. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["ConfigurationModifyParams"] ) -> "Configuration": """ Updates a new Configuration object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Configuration", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["ConfigurationModifyParams"] ) -> "Configuration": """ Updates a new Configuration object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Configuration", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["ConfigurationRetrieveParams"] ) -> "Configuration": """ Retrieves a Configuration object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ConfigurationRetrieveParams"] ) -> "Configuration": """ Retrieves a Configuration object. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "bbpos_wisepad3": BbposWisepad3, "bbpos_wisepos_e": BbposWiseposE, "offline": Offline, "reboot_window": RebootWindow, "stripe_s700": StripeS700, "tipping": Tipping, "verifone_p400": VerifoneP400, "wifi": Wifi, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/terminal/_configuration_service.py0000644000000000000000000001565615102753431020270 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.terminal._configuration_create_params import ( ConfigurationCreateParams, ) from stripe.params.terminal._configuration_delete_params import ( ConfigurationDeleteParams, ) from stripe.params.terminal._configuration_list_params import ( ConfigurationListParams, ) from stripe.params.terminal._configuration_retrieve_params import ( ConfigurationRetrieveParams, ) from stripe.params.terminal._configuration_update_params import ( ConfigurationUpdateParams, ) from stripe.terminal._configuration import Configuration class ConfigurationService(StripeService): def delete( self, configuration: str, params: Optional["ConfigurationDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Configuration": """ Deletes a Configuration object. """ return cast( "Configuration", self._request( "delete", "/v1/terminal/configurations/{configuration}".format( configuration=sanitize_id(configuration), ), base_address="api", params=params, options=options, ), ) async def delete_async( self, configuration: str, params: Optional["ConfigurationDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Configuration": """ Deletes a Configuration object. """ return cast( "Configuration", await self._request_async( "delete", "/v1/terminal/configurations/{configuration}".format( configuration=sanitize_id(configuration), ), base_address="api", params=params, options=options, ), ) def retrieve( self, configuration: str, params: Optional["ConfigurationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Configuration": """ Retrieves a Configuration object. """ return cast( "Configuration", self._request( "get", "/v1/terminal/configurations/{configuration}".format( configuration=sanitize_id(configuration), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, configuration: str, params: Optional["ConfigurationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Configuration": """ Retrieves a Configuration object. """ return cast( "Configuration", await self._request_async( "get", "/v1/terminal/configurations/{configuration}".format( configuration=sanitize_id(configuration), ), base_address="api", params=params, options=options, ), ) def update( self, configuration: str, params: Optional["ConfigurationUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Configuration": """ Updates a new Configuration object. """ return cast( "Configuration", self._request( "post", "/v1/terminal/configurations/{configuration}".format( configuration=sanitize_id(configuration), ), base_address="api", params=params, options=options, ), ) async def update_async( self, configuration: str, params: Optional["ConfigurationUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Configuration": """ Updates a new Configuration object. """ return cast( "Configuration", await self._request_async( "post", "/v1/terminal/configurations/{configuration}".format( configuration=sanitize_id(configuration), ), base_address="api", params=params, options=options, ), ) def list( self, params: Optional["ConfigurationListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Configuration]": """ Returns a list of Configuration objects. """ return cast( "ListObject[Configuration]", self._request( "get", "/v1/terminal/configurations", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["ConfigurationListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Configuration]": """ Returns a list of Configuration objects. """ return cast( "ListObject[Configuration]", await self._request_async( "get", "/v1/terminal/configurations", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["ConfigurationCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Configuration": """ Creates a new Configuration object. """ return cast( "Configuration", self._request( "post", "/v1/terminal/configurations", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["ConfigurationCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Configuration": """ Creates a new Configuration object. """ return cast( "Configuration", await self._request_async( "post", "/v1/terminal/configurations", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/terminal/_connection_token.py0000644000000000000000000000470415102753431017230 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from typing import ClassVar, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.terminal._connection_token_create_params import ( ConnectionTokenCreateParams, ) class ConnectionToken(CreateableAPIResource["ConnectionToken"]): """ A Connection Token is used by the Stripe Terminal SDK to connect to a reader. Related guide: [Fleet management](https://stripe.com/docs/terminal/fleet/locations) """ OBJECT_NAME: ClassVar[Literal["terminal.connection_token"]] = ( "terminal.connection_token" ) location: Optional[str] """ The id of the location that this connection token is scoped to. Note that location scoping only applies to internet-connected readers. For more details, see [the docs on scoping connection tokens](https://docs.stripe.com/terminal/fleet/locations-and-zones?dashboard-or-api=api#connection-tokens). """ object: Literal["terminal.connection_token"] """ String representing the object's type. Objects of the same type share the same value. """ secret: str """ Your application should pass this token to the Stripe Terminal SDK. """ @classmethod def create( cls, **params: Unpack["ConnectionTokenCreateParams"] ) -> "ConnectionToken": """ To connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived connection token from Stripe, proxied through your server. On your backend, add an endpoint that creates and returns a connection token. """ return cast( "ConnectionToken", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["ConnectionTokenCreateParams"] ) -> "ConnectionToken": """ To connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived connection token from Stripe, proxied through your server. On your backend, add an endpoint that creates and returns a connection token. """ return cast( "ConnectionToken", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/terminal/_connection_token_service.py0000644000000000000000000000357615102753431020756 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.terminal._connection_token_create_params import ( ConnectionTokenCreateParams, ) from stripe.terminal._connection_token import ConnectionToken class ConnectionTokenService(StripeService): def create( self, params: Optional["ConnectionTokenCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ConnectionToken": """ To connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived connection token from Stripe, proxied through your server. On your backend, add an endpoint that creates and returns a connection token. """ return cast( "ConnectionToken", self._request( "post", "/v1/terminal/connection_tokens", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["ConnectionTokenCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ConnectionToken": """ To connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived connection token from Stripe, proxied through your server. On your backend, add an endpoint that creates and returns a connection token. """ return cast( "ConnectionToken", await self._request_async( "post", "/v1/terminal/connection_tokens", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/terminal/_location.py0000644000000000000000000002572415102753431015506 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.terminal._location_create_params import ( LocationCreateParams, ) from stripe.params.terminal._location_delete_params import ( LocationDeleteParams, ) from stripe.params.terminal._location_list_params import LocationListParams from stripe.params.terminal._location_modify_params import ( LocationModifyParams, ) from stripe.params.terminal._location_retrieve_params import ( LocationRetrieveParams, ) class Location( CreateableAPIResource["Location"], DeletableAPIResource["Location"], ListableAPIResource["Location"], UpdateableAPIResource["Location"], ): """ A Location represents a grouping of readers. Related guide: [Fleet management](https://stripe.com/docs/terminal/fleet/locations) """ OBJECT_NAME: ClassVar[Literal["terminal.location"]] = "terminal.location" class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ class AddressKana(StripeObject): city: Optional[str] """ City/Ward. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Block/Building number. """ line2: Optional[str] """ Building details. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ Prefecture. """ town: Optional[str] """ Town/cho-me. """ class AddressKanji(StripeObject): city: Optional[str] """ City/Ward. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Block/Building number. """ line2: Optional[str] """ Building details. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ Prefecture. """ town: Optional[str] """ Town/cho-me. """ address: Address address_kana: Optional[AddressKana] address_kanji: Optional[AddressKanji] configuration_overrides: Optional[str] """ The ID of a configuration that will be used to customize all readers in this location. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ display_name: str """ The display name of the location. """ display_name_kana: Optional[str] """ The Kana variation of the display name of the location. """ display_name_kanji: Optional[str] """ The Kanji variation of the display name of the location. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["terminal.location"] """ String representing the object's type. Objects of the same type share the same value. """ phone: Optional[str] """ The phone number of the location. """ @classmethod def create(cls, **params: Unpack["LocationCreateParams"]) -> "Location": """ Creates a new Location object. For further details, including which address fields are required in each country, see the [Manage locations](https://docs.stripe.com/docs/terminal/fleet/locations) guide. """ return cast( "Location", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["LocationCreateParams"] ) -> "Location": """ Creates a new Location object. For further details, including which address fields are required in each country, see the [Manage locations](https://docs.stripe.com/docs/terminal/fleet/locations) guide. """ return cast( "Location", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["LocationDeleteParams"] ) -> "Location": """ Deletes a Location object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Location", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete( sid: str, **params: Unpack["LocationDeleteParams"] ) -> "Location": """ Deletes a Location object. """ ... @overload def delete(self, **params: Unpack["LocationDeleteParams"]) -> "Location": """ Deletes a Location object. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["LocationDeleteParams"] ) -> "Location": """ Deletes a Location object. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["LocationDeleteParams"] ) -> "Location": """ Deletes a Location object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Location", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["LocationDeleteParams"] ) -> "Location": """ Deletes a Location object. """ ... @overload async def delete_async( self, **params: Unpack["LocationDeleteParams"] ) -> "Location": """ Deletes a Location object. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["LocationDeleteParams"] ) -> "Location": """ Deletes a Location object. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def list( cls, **params: Unpack["LocationListParams"] ) -> ListObject["Location"]: """ Returns a list of Location objects. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["LocationListParams"] ) -> ListObject["Location"]: """ Returns a list of Location objects. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["LocationModifyParams"] ) -> "Location": """ Updates a Location object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Location", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["LocationModifyParams"] ) -> "Location": """ Updates a Location object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Location", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["LocationRetrieveParams"] ) -> "Location": """ Retrieves a Location object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["LocationRetrieveParams"] ) -> "Location": """ Retrieves a Location object. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "address": Address, "address_kana": AddressKana, "address_kanji": AddressKanji, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/terminal/_location_service.py0000644000000000000000000001601615102753431017220 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.terminal._location_create_params import ( LocationCreateParams, ) from stripe.params.terminal._location_delete_params import ( LocationDeleteParams, ) from stripe.params.terminal._location_list_params import LocationListParams from stripe.params.terminal._location_retrieve_params import ( LocationRetrieveParams, ) from stripe.params.terminal._location_update_params import ( LocationUpdateParams, ) from stripe.terminal._location import Location class LocationService(StripeService): def delete( self, location: str, params: Optional["LocationDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Location": """ Deletes a Location object. """ return cast( "Location", self._request( "delete", "/v1/terminal/locations/{location}".format( location=sanitize_id(location), ), base_address="api", params=params, options=options, ), ) async def delete_async( self, location: str, params: Optional["LocationDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Location": """ Deletes a Location object. """ return cast( "Location", await self._request_async( "delete", "/v1/terminal/locations/{location}".format( location=sanitize_id(location), ), base_address="api", params=params, options=options, ), ) def retrieve( self, location: str, params: Optional["LocationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Location": """ Retrieves a Location object. """ return cast( "Location", self._request( "get", "/v1/terminal/locations/{location}".format( location=sanitize_id(location), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, location: str, params: Optional["LocationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Location": """ Retrieves a Location object. """ return cast( "Location", await self._request_async( "get", "/v1/terminal/locations/{location}".format( location=sanitize_id(location), ), base_address="api", params=params, options=options, ), ) def update( self, location: str, params: Optional["LocationUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Location": """ Updates a Location object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Location", self._request( "post", "/v1/terminal/locations/{location}".format( location=sanitize_id(location), ), base_address="api", params=params, options=options, ), ) async def update_async( self, location: str, params: Optional["LocationUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Location": """ Updates a Location object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Location", await self._request_async( "post", "/v1/terminal/locations/{location}".format( location=sanitize_id(location), ), base_address="api", params=params, options=options, ), ) def list( self, params: Optional["LocationListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Location]": """ Returns a list of Location objects. """ return cast( "ListObject[Location]", self._request( "get", "/v1/terminal/locations", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["LocationListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Location]": """ Returns a list of Location objects. """ return cast( "ListObject[Location]", await self._request_async( "get", "/v1/terminal/locations", base_address="api", params=params, options=options, ), ) def create( self, params: Optional["LocationCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Location": """ Creates a new Location object. For further details, including which address fields are required in each country, see the [Manage locations](https://docs.stripe.com/docs/terminal/fleet/locations) guide. """ return cast( "Location", self._request( "post", "/v1/terminal/locations", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["LocationCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Location": """ Creates a new Location object. For further details, including which address fields are required in each country, see the [Manage locations](https://docs.stripe.com/docs/terminal/fleet/locations) guide. """ return cast( "Location", await self._request_async( "post", "/v1/terminal/locations", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/terminal/_reader.py0000644000000000000000000023013415102753431015131 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._test_helpers import APIResourceTestHelpers from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Type, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._charge import Charge from stripe._payment_intent import PaymentIntent from stripe._payment_method import PaymentMethod from stripe._refund import Refund from stripe._setup_intent import SetupIntent from stripe.params.terminal._reader_cancel_action_params import ( ReaderCancelActionParams, ) from stripe.params.terminal._reader_collect_inputs_params import ( ReaderCollectInputsParams, ) from stripe.params.terminal._reader_collect_payment_method_params import ( ReaderCollectPaymentMethodParams, ) from stripe.params.terminal._reader_confirm_payment_intent_params import ( ReaderConfirmPaymentIntentParams, ) from stripe.params.terminal._reader_create_params import ReaderCreateParams from stripe.params.terminal._reader_delete_params import ReaderDeleteParams from stripe.params.terminal._reader_list_params import ReaderListParams from stripe.params.terminal._reader_modify_params import ReaderModifyParams from stripe.params.terminal._reader_present_payment_method_params import ( ReaderPresentPaymentMethodParams, ) from stripe.params.terminal._reader_process_payment_intent_params import ( ReaderProcessPaymentIntentParams, ) from stripe.params.terminal._reader_process_setup_intent_params import ( ReaderProcessSetupIntentParams, ) from stripe.params.terminal._reader_refund_payment_params import ( ReaderRefundPaymentParams, ) from stripe.params.terminal._reader_retrieve_params import ( ReaderRetrieveParams, ) from stripe.params.terminal._reader_set_reader_display_params import ( ReaderSetReaderDisplayParams, ) from stripe.params.terminal._reader_succeed_input_collection_params import ( ReaderSucceedInputCollectionParams, ) from stripe.params.terminal._reader_timeout_input_collection_params import ( ReaderTimeoutInputCollectionParams, ) from stripe.terminal._location import Location class Reader( CreateableAPIResource["Reader"], DeletableAPIResource["Reader"], ListableAPIResource["Reader"], UpdateableAPIResource["Reader"], ): """ A Reader represents a physical device for accepting payment details. Related guide: [Connecting to a reader](https://stripe.com/docs/terminal/payments/connect-reader) """ OBJECT_NAME: ClassVar[Literal["terminal.reader"]] = "terminal.reader" class Action(StripeObject): class CollectInputs(StripeObject): class Input(StripeObject): class CustomText(StripeObject): description: Optional[str] """ Customize the default description for this input """ skip_button: Optional[str] """ Customize the default label for this input's skip button """ submit_button: Optional[str] """ Customize the default label for this input's submit button """ title: Optional[str] """ Customize the default title for this input """ class Email(StripeObject): value: Optional[str] """ The collected email address """ class Numeric(StripeObject): value: Optional[str] """ The collected number """ class Phone(StripeObject): value: Optional[str] """ The collected phone number """ class Selection(StripeObject): class Choice(StripeObject): id: Optional[str] """ The identifier for the selected choice. Maximum 50 characters. """ style: Optional[Literal["primary", "secondary"]] """ The button style for the choice. Can be `primary` or `secondary`. """ text: str """ The text to be selected. Maximum 30 characters. """ choices: List[Choice] """ List of possible choices to be selected """ id: Optional[str] """ The id of the selected choice """ text: Optional[str] """ The text of the selected choice """ _inner_class_types = {"choices": Choice} class Signature(StripeObject): value: Optional[str] """ The File ID of a collected signature image """ class Text(StripeObject): value: Optional[str] """ The collected text value """ class Toggle(StripeObject): default_value: Optional[Literal["disabled", "enabled"]] """ The toggle's default value. Can be `enabled` or `disabled`. """ description: Optional[str] """ The toggle's description text. Maximum 50 characters. """ title: Optional[str] """ The toggle's title text. Maximum 50 characters. """ value: Optional[Literal["disabled", "enabled"]] """ The toggle's collected value. Can be `enabled` or `disabled`. """ custom_text: Optional[CustomText] """ Default text of input being collected. """ email: Optional[Email] """ Information about a email being collected using a reader """ numeric: Optional[Numeric] """ Information about a number being collected using a reader """ phone: Optional[Phone] """ Information about a phone number being collected using a reader """ required: Optional[bool] """ Indicate that this input is required, disabling the skip button. """ selection: Optional[Selection] """ Information about a selection being collected using a reader """ signature: Optional[Signature] """ Information about a signature being collected using a reader """ skipped: Optional[bool] """ Indicate that this input was skipped by the user. """ text: Optional[Text] """ Information about text being collected using a reader """ toggles: Optional[List[Toggle]] """ List of toggles being collected. Values are present if collection is complete. """ type: Literal[ "email", "numeric", "phone", "selection", "signature", "text", ] """ Type of input being collected. """ _inner_class_types = { "custom_text": CustomText, "email": Email, "numeric": Numeric, "phone": Phone, "selection": Selection, "signature": Signature, "text": Text, "toggles": Toggle, } inputs: List[Input] """ List of inputs to be collected. """ 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. """ _inner_class_types = {"inputs": Input} class CollectPaymentMethod(StripeObject): class CollectConfig(StripeObject): class Tipping(StripeObject): amount_eligible: Optional[int] """ Amount used to calculate tip suggestions on tipping selection screen for this transaction. Must be a positive integer in the smallest currency unit (e.g., 100 cents to represent $1.00 or 100 to represent ¥100, a zero-decimal currency). """ enable_customer_cancellation: Optional[bool] """ Enable customer-initiated cancellation when processing this payment. """ skip_tipping: Optional[bool] """ Override showing a tipping selection screen on this transaction. """ tipping: Optional[Tipping] """ Represents a per-transaction tipping configuration """ _inner_class_types = {"tipping": Tipping} collect_config: Optional[CollectConfig] """ Represents a per-transaction override of a reader configuration """ payment_intent: ExpandableField["PaymentIntent"] """ Most recent PaymentIntent processed by the reader. """ payment_method: Optional["PaymentMethod"] """ PaymentMethod objects represent your customer's payment instruments. You can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to Customer objects to store instrument details for future payments. Related guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios). """ _inner_class_types = {"collect_config": CollectConfig} class ConfirmPaymentIntent(StripeObject): class ConfirmConfig(StripeObject): return_url: Optional[str] """ If the customer doesn't abandon authenticating the payment, they're redirected to this URL after completion. """ confirm_config: Optional[ConfirmConfig] """ Represents a per-transaction override of a reader configuration """ payment_intent: ExpandableField["PaymentIntent"] """ Most recent PaymentIntent processed by the reader. """ _inner_class_types = {"confirm_config": ConfirmConfig} class ProcessPaymentIntent(StripeObject): class ProcessConfig(StripeObject): class Tipping(StripeObject): amount_eligible: Optional[int] """ Amount used to calculate tip suggestions on tipping selection screen for this transaction. Must be a positive integer in the smallest currency unit (e.g., 100 cents to represent $1.00 or 100 to represent ¥100, a zero-decimal currency). """ enable_customer_cancellation: Optional[bool] """ Enable customer-initiated cancellation when processing this payment. """ return_url: Optional[str] """ If the customer doesn't abandon authenticating the payment, they're redirected to this URL after completion. """ skip_tipping: Optional[bool] """ Override showing a tipping selection screen on this transaction. """ tipping: Optional[Tipping] """ Represents a per-transaction tipping configuration """ _inner_class_types = {"tipping": Tipping} payment_intent: ExpandableField["PaymentIntent"] """ Most recent PaymentIntent processed by the reader. """ process_config: Optional[ProcessConfig] """ Represents a per-transaction override of a reader configuration """ _inner_class_types = {"process_config": ProcessConfig} class ProcessSetupIntent(StripeObject): class ProcessConfig(StripeObject): enable_customer_cancellation: Optional[bool] """ Enable customer-initiated cancellation when processing this SetupIntent. """ generated_card: Optional[str] """ ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. """ process_config: Optional[ProcessConfig] """ Represents a per-setup override of a reader configuration """ setup_intent: ExpandableField["SetupIntent"] """ Most recent SetupIntent processed by the reader. """ _inner_class_types = {"process_config": ProcessConfig} class RefundPayment(StripeObject): class RefundPaymentConfig(StripeObject): enable_customer_cancellation: Optional[bool] """ Enable customer-initiated cancellation when refunding this payment. """ amount: Optional[int] """ The amount being refunded. """ charge: Optional[ExpandableField["Charge"]] """ Charge that is being refunded. """ 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. """ payment_intent: Optional[ExpandableField["PaymentIntent"]] """ Payment intent that is being refunded. """ reason: Optional[ Literal["duplicate", "fraudulent", "requested_by_customer"] ] """ The reason for the refund. """ refund: Optional[ExpandableField["Refund"]] """ Unique identifier for the refund object. """ refund_application_fee: Optional[bool] """ Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge. """ refund_payment_config: Optional[RefundPaymentConfig] """ Represents a per-transaction override of a reader configuration """ reverse_transfer: Optional[bool] """ Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount). A transfer can be reversed only by the application that created the charge. """ _inner_class_types = {"refund_payment_config": RefundPaymentConfig} class SetReaderDisplay(StripeObject): class Cart(StripeObject): class LineItem(StripeObject): amount: int """ The amount of the line item. A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ description: str """ Description of the line item. """ quantity: int """ The quantity of the line item. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ line_items: List[LineItem] """ List of line items in the cart. """ tax: Optional[int] """ Tax amount for the entire cart. A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ total: int """ Total amount for the entire cart, including tax. A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). """ _inner_class_types = {"line_items": LineItem} cart: Optional[Cart] """ Cart object to be displayed by the reader, including line items, amounts, and currency. """ type: Literal["cart"] """ Type of information to be displayed by the reader. Only `cart` is currently supported. """ _inner_class_types = {"cart": Cart} collect_inputs: Optional[CollectInputs] """ Represents a reader action to collect customer inputs """ collect_payment_method: Optional[CollectPaymentMethod] """ Represents a reader action to collect a payment method """ confirm_payment_intent: Optional[ConfirmPaymentIntent] """ Represents a reader action to confirm a payment """ failure_code: Optional[str] """ Failure code, only set if status is `failed`. """ failure_message: Optional[str] """ Detailed failure message, only set if status is `failed`. """ process_payment_intent: Optional[ProcessPaymentIntent] """ Represents a reader action to process a payment intent """ process_setup_intent: Optional[ProcessSetupIntent] """ Represents a reader action to process a setup intent """ refund_payment: Optional[RefundPayment] """ Represents a reader action to refund a payment """ set_reader_display: Optional[SetReaderDisplay] """ Represents a reader action to set the reader display """ status: Literal["failed", "in_progress", "succeeded"] """ Status of the action performed by the reader. """ type: Literal[ "collect_inputs", "collect_payment_method", "confirm_payment_intent", "process_payment_intent", "process_setup_intent", "refund_payment", "set_reader_display", ] """ Type of action performed by the reader. """ _inner_class_types = { "collect_inputs": CollectInputs, "collect_payment_method": CollectPaymentMethod, "confirm_payment_intent": ConfirmPaymentIntent, "process_payment_intent": ProcessPaymentIntent, "process_setup_intent": ProcessSetupIntent, "refund_payment": RefundPayment, "set_reader_display": SetReaderDisplay, } action: Optional[Action] """ The most recent action performed by the reader. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ device_sw_version: Optional[str] """ The current software version of the reader. """ device_type: Literal[ "bbpos_chipper2x", "bbpos_wisepad3", "bbpos_wisepos_e", "mobile_phone_reader", "simulated_stripe_s700", "simulated_wisepos_e", "stripe_m2", "stripe_s700", "verifone_P400", ] """ Device type of the reader. """ id: str """ Unique identifier for the object. """ ip_address: Optional[str] """ The local IP address of the reader. """ label: str """ Custom label given to the reader for easier identification. """ last_seen_at: Optional[int] """ The last time this reader reported to Stripe backend. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ location: Optional[ExpandableField["Location"]] """ The location identifier of the reader. """ 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. """ object: Literal["terminal.reader"] """ String representing the object's type. Objects of the same type share the same value. """ serial_number: str """ Serial number of the reader. """ status: Optional[Literal["offline", "online"]] """ The networking status of the reader. We do not recommend using this field in flows that may block taking payments. """ @classmethod def _cls_cancel_action( cls, reader: str, **params: Unpack["ReaderCancelActionParams"] ) -> "Reader": """ Cancels the current reader action. See [Programmatic Cancellation](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven#programmatic-cancellation) for more details. """ return cast( "Reader", cls._static_request( "post", "/v1/terminal/readers/{reader}/cancel_action".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod def cancel_action( reader: str, **params: Unpack["ReaderCancelActionParams"] ) -> "Reader": """ Cancels the current reader action. See [Programmatic Cancellation](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven#programmatic-cancellation) for more details. """ ... @overload def cancel_action( self, **params: Unpack["ReaderCancelActionParams"] ) -> "Reader": """ Cancels the current reader action. See [Programmatic Cancellation](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven#programmatic-cancellation) for more details. """ ... @class_method_variant("_cls_cancel_action") def cancel_action( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderCancelActionParams"] ) -> "Reader": """ Cancels the current reader action. See [Programmatic Cancellation](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven#programmatic-cancellation) for more details. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/cancel_action".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_cancel_action_async( cls, reader: str, **params: Unpack["ReaderCancelActionParams"] ) -> "Reader": """ Cancels the current reader action. See [Programmatic Cancellation](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven#programmatic-cancellation) for more details. """ return cast( "Reader", await cls._static_request_async( "post", "/v1/terminal/readers/{reader}/cancel_action".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod async def cancel_action_async( reader: str, **params: Unpack["ReaderCancelActionParams"] ) -> "Reader": """ Cancels the current reader action. See [Programmatic Cancellation](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven#programmatic-cancellation) for more details. """ ... @overload async def cancel_action_async( self, **params: Unpack["ReaderCancelActionParams"] ) -> "Reader": """ Cancels the current reader action. See [Programmatic Cancellation](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven#programmatic-cancellation) for more details. """ ... @class_method_variant("_cls_cancel_action_async") async def cancel_action_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderCancelActionParams"] ) -> "Reader": """ Cancels the current reader action. See [Programmatic Cancellation](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven#programmatic-cancellation) for more details. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/cancel_action".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_collect_inputs( cls, reader: str, **params: Unpack["ReaderCollectInputsParams"] ) -> "Reader": """ Initiates an [input collection flow](https://docs.stripe.com/docs/terminal/features/collect-inputs) on a Reader to display input forms and collect information from your customers. """ return cast( "Reader", cls._static_request( "post", "/v1/terminal/readers/{reader}/collect_inputs".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod def collect_inputs( reader: str, **params: Unpack["ReaderCollectInputsParams"] ) -> "Reader": """ Initiates an [input collection flow](https://docs.stripe.com/docs/terminal/features/collect-inputs) on a Reader to display input forms and collect information from your customers. """ ... @overload def collect_inputs( self, **params: Unpack["ReaderCollectInputsParams"] ) -> "Reader": """ Initiates an [input collection flow](https://docs.stripe.com/docs/terminal/features/collect-inputs) on a Reader to display input forms and collect information from your customers. """ ... @class_method_variant("_cls_collect_inputs") def collect_inputs( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderCollectInputsParams"] ) -> "Reader": """ Initiates an [input collection flow](https://docs.stripe.com/docs/terminal/features/collect-inputs) on a Reader to display input forms and collect information from your customers. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/collect_inputs".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_collect_inputs_async( cls, reader: str, **params: Unpack["ReaderCollectInputsParams"] ) -> "Reader": """ Initiates an [input collection flow](https://docs.stripe.com/docs/terminal/features/collect-inputs) on a Reader to display input forms and collect information from your customers. """ return cast( "Reader", await cls._static_request_async( "post", "/v1/terminal/readers/{reader}/collect_inputs".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod async def collect_inputs_async( reader: str, **params: Unpack["ReaderCollectInputsParams"] ) -> "Reader": """ Initiates an [input collection flow](https://docs.stripe.com/docs/terminal/features/collect-inputs) on a Reader to display input forms and collect information from your customers. """ ... @overload async def collect_inputs_async( self, **params: Unpack["ReaderCollectInputsParams"] ) -> "Reader": """ Initiates an [input collection flow](https://docs.stripe.com/docs/terminal/features/collect-inputs) on a Reader to display input forms and collect information from your customers. """ ... @class_method_variant("_cls_collect_inputs_async") async def collect_inputs_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderCollectInputsParams"] ) -> "Reader": """ Initiates an [input collection flow](https://docs.stripe.com/docs/terminal/features/collect-inputs) on a Reader to display input forms and collect information from your customers. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/collect_inputs".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_collect_payment_method( cls, reader: str, **params: Unpack["ReaderCollectPaymentMethodParams"] ) -> "Reader": """ Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation. See [Collecting a Payment method](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#collect-a-paymentmethod) for more details. """ return cast( "Reader", cls._static_request( "post", "/v1/terminal/readers/{reader}/collect_payment_method".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod def collect_payment_method( reader: str, **params: Unpack["ReaderCollectPaymentMethodParams"] ) -> "Reader": """ Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation. See [Collecting a Payment method](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#collect-a-paymentmethod) for more details. """ ... @overload def collect_payment_method( self, **params: Unpack["ReaderCollectPaymentMethodParams"] ) -> "Reader": """ Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation. See [Collecting a Payment method](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#collect-a-paymentmethod) for more details. """ ... @class_method_variant("_cls_collect_payment_method") def collect_payment_method( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderCollectPaymentMethodParams"] ) -> "Reader": """ Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation. See [Collecting a Payment method](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#collect-a-paymentmethod) for more details. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/collect_payment_method".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_collect_payment_method_async( cls, reader: str, **params: Unpack["ReaderCollectPaymentMethodParams"] ) -> "Reader": """ Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation. See [Collecting a Payment method](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#collect-a-paymentmethod) for more details. """ return cast( "Reader", await cls._static_request_async( "post", "/v1/terminal/readers/{reader}/collect_payment_method".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod async def collect_payment_method_async( reader: str, **params: Unpack["ReaderCollectPaymentMethodParams"] ) -> "Reader": """ Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation. See [Collecting a Payment method](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#collect-a-paymentmethod) for more details. """ ... @overload async def collect_payment_method_async( self, **params: Unpack["ReaderCollectPaymentMethodParams"] ) -> "Reader": """ Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation. See [Collecting a Payment method](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#collect-a-paymentmethod) for more details. """ ... @class_method_variant("_cls_collect_payment_method_async") async def collect_payment_method_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderCollectPaymentMethodParams"] ) -> "Reader": """ Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation. See [Collecting a Payment method](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#collect-a-paymentmethod) for more details. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/collect_payment_method".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_confirm_payment_intent( cls, reader: str, **params: Unpack["ReaderConfirmPaymentIntentParams"] ) -> "Reader": """ Finalizes a payment on a Reader. See [Confirming a Payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#confirm-the-paymentintent) for more details. """ return cast( "Reader", cls._static_request( "post", "/v1/terminal/readers/{reader}/confirm_payment_intent".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod def confirm_payment_intent( reader: str, **params: Unpack["ReaderConfirmPaymentIntentParams"] ) -> "Reader": """ Finalizes a payment on a Reader. See [Confirming a Payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#confirm-the-paymentintent) for more details. """ ... @overload def confirm_payment_intent( self, **params: Unpack["ReaderConfirmPaymentIntentParams"] ) -> "Reader": """ Finalizes a payment on a Reader. See [Confirming a Payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#confirm-the-paymentintent) for more details. """ ... @class_method_variant("_cls_confirm_payment_intent") def confirm_payment_intent( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderConfirmPaymentIntentParams"] ) -> "Reader": """ Finalizes a payment on a Reader. See [Confirming a Payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#confirm-the-paymentintent) for more details. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/confirm_payment_intent".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_confirm_payment_intent_async( cls, reader: str, **params: Unpack["ReaderConfirmPaymentIntentParams"] ) -> "Reader": """ Finalizes a payment on a Reader. See [Confirming a Payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#confirm-the-paymentintent) for more details. """ return cast( "Reader", await cls._static_request_async( "post", "/v1/terminal/readers/{reader}/confirm_payment_intent".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod async def confirm_payment_intent_async( reader: str, **params: Unpack["ReaderConfirmPaymentIntentParams"] ) -> "Reader": """ Finalizes a payment on a Reader. See [Confirming a Payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#confirm-the-paymentintent) for more details. """ ... @overload async def confirm_payment_intent_async( self, **params: Unpack["ReaderConfirmPaymentIntentParams"] ) -> "Reader": """ Finalizes a payment on a Reader. See [Confirming a Payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#confirm-the-paymentintent) for more details. """ ... @class_method_variant("_cls_confirm_payment_intent_async") async def confirm_payment_intent_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderConfirmPaymentIntentParams"] ) -> "Reader": """ Finalizes a payment on a Reader. See [Confirming a Payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#confirm-the-paymentintent) for more details. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/confirm_payment_intent".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create(cls, **params: Unpack["ReaderCreateParams"]) -> "Reader": """ Creates a new Reader object. """ return cast( "Reader", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["ReaderCreateParams"] ) -> "Reader": """ Creates a new Reader object. """ return cast( "Reader", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["ReaderDeleteParams"] ) -> "Reader": """ Deletes a Reader object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Reader", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete(sid: str, **params: Unpack["ReaderDeleteParams"]) -> "Reader": """ Deletes a Reader object. """ ... @overload def delete(self, **params: Unpack["ReaderDeleteParams"]) -> "Reader": """ Deletes a Reader object. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderDeleteParams"] ) -> "Reader": """ Deletes a Reader object. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["ReaderDeleteParams"] ) -> "Reader": """ Deletes a Reader object. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "Reader", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["ReaderDeleteParams"] ) -> "Reader": """ Deletes a Reader object. """ ... @overload async def delete_async( self, **params: Unpack["ReaderDeleteParams"] ) -> "Reader": """ Deletes a Reader object. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderDeleteParams"] ) -> "Reader": """ Deletes a Reader object. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def list( cls, **params: Unpack["ReaderListParams"] ) -> ListObject["Reader"]: """ Returns a list of Reader objects. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ReaderListParams"] ) -> ListObject["Reader"]: """ Returns a list of Reader objects. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["ReaderModifyParams"] ) -> "Reader": """ Updates a Reader object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Reader", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["ReaderModifyParams"] ) -> "Reader": """ Updates a Reader object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "Reader", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def _cls_process_payment_intent( cls, reader: str, **params: Unpack["ReaderProcessPaymentIntentParams"] ) -> "Reader": """ Initiates a payment flow on a Reader. See [process the payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=immediately#process-payment) for more details. """ return cast( "Reader", cls._static_request( "post", "/v1/terminal/readers/{reader}/process_payment_intent".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod def process_payment_intent( reader: str, **params: Unpack["ReaderProcessPaymentIntentParams"] ) -> "Reader": """ Initiates a payment flow on a Reader. See [process the payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=immediately#process-payment) for more details. """ ... @overload def process_payment_intent( self, **params: Unpack["ReaderProcessPaymentIntentParams"] ) -> "Reader": """ Initiates a payment flow on a Reader. See [process the payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=immediately#process-payment) for more details. """ ... @class_method_variant("_cls_process_payment_intent") def process_payment_intent( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderProcessPaymentIntentParams"] ) -> "Reader": """ Initiates a payment flow on a Reader. See [process the payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=immediately#process-payment) for more details. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/process_payment_intent".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_process_payment_intent_async( cls, reader: str, **params: Unpack["ReaderProcessPaymentIntentParams"] ) -> "Reader": """ Initiates a payment flow on a Reader. See [process the payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=immediately#process-payment) for more details. """ return cast( "Reader", await cls._static_request_async( "post", "/v1/terminal/readers/{reader}/process_payment_intent".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod async def process_payment_intent_async( reader: str, **params: Unpack["ReaderProcessPaymentIntentParams"] ) -> "Reader": """ Initiates a payment flow on a Reader. See [process the payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=immediately#process-payment) for more details. """ ... @overload async def process_payment_intent_async( self, **params: Unpack["ReaderProcessPaymentIntentParams"] ) -> "Reader": """ Initiates a payment flow on a Reader. See [process the payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=immediately#process-payment) for more details. """ ... @class_method_variant("_cls_process_payment_intent_async") async def process_payment_intent_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderProcessPaymentIntentParams"] ) -> "Reader": """ Initiates a payment flow on a Reader. See [process the payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=immediately#process-payment) for more details. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/process_payment_intent".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_process_setup_intent( cls, reader: str, **params: Unpack["ReaderProcessSetupIntentParams"] ) -> "Reader": """ Initiates a SetupIntent flow on a Reader. See [Save directly without charging](https://docs.stripe.com/docs/terminal/features/saving-payment-details/save-directly) for more details. """ return cast( "Reader", cls._static_request( "post", "/v1/terminal/readers/{reader}/process_setup_intent".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod def process_setup_intent( reader: str, **params: Unpack["ReaderProcessSetupIntentParams"] ) -> "Reader": """ Initiates a SetupIntent flow on a Reader. See [Save directly without charging](https://docs.stripe.com/docs/terminal/features/saving-payment-details/save-directly) for more details. """ ... @overload def process_setup_intent( self, **params: Unpack["ReaderProcessSetupIntentParams"] ) -> "Reader": """ Initiates a SetupIntent flow on a Reader. See [Save directly without charging](https://docs.stripe.com/docs/terminal/features/saving-payment-details/save-directly) for more details. """ ... @class_method_variant("_cls_process_setup_intent") def process_setup_intent( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderProcessSetupIntentParams"] ) -> "Reader": """ Initiates a SetupIntent flow on a Reader. See [Save directly without charging](https://docs.stripe.com/docs/terminal/features/saving-payment-details/save-directly) for more details. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/process_setup_intent".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_process_setup_intent_async( cls, reader: str, **params: Unpack["ReaderProcessSetupIntentParams"] ) -> "Reader": """ Initiates a SetupIntent flow on a Reader. See [Save directly without charging](https://docs.stripe.com/docs/terminal/features/saving-payment-details/save-directly) for more details. """ return cast( "Reader", await cls._static_request_async( "post", "/v1/terminal/readers/{reader}/process_setup_intent".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod async def process_setup_intent_async( reader: str, **params: Unpack["ReaderProcessSetupIntentParams"] ) -> "Reader": """ Initiates a SetupIntent flow on a Reader. See [Save directly without charging](https://docs.stripe.com/docs/terminal/features/saving-payment-details/save-directly) for more details. """ ... @overload async def process_setup_intent_async( self, **params: Unpack["ReaderProcessSetupIntentParams"] ) -> "Reader": """ Initiates a SetupIntent flow on a Reader. See [Save directly without charging](https://docs.stripe.com/docs/terminal/features/saving-payment-details/save-directly) for more details. """ ... @class_method_variant("_cls_process_setup_intent_async") async def process_setup_intent_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderProcessSetupIntentParams"] ) -> "Reader": """ Initiates a SetupIntent flow on a Reader. See [Save directly without charging](https://docs.stripe.com/docs/terminal/features/saving-payment-details/save-directly) for more details. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/process_setup_intent".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_refund_payment( cls, reader: str, **params: Unpack["ReaderRefundPaymentParams"] ) -> "Reader": """ Initiates an in-person refund on a Reader. See [Refund an Interac Payment](https://docs.stripe.com/docs/terminal/payments/regional?integration-country=CA#refund-an-interac-payment) for more details. """ return cast( "Reader", cls._static_request( "post", "/v1/terminal/readers/{reader}/refund_payment".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod def refund_payment( reader: str, **params: Unpack["ReaderRefundPaymentParams"] ) -> "Reader": """ Initiates an in-person refund on a Reader. See [Refund an Interac Payment](https://docs.stripe.com/docs/terminal/payments/regional?integration-country=CA#refund-an-interac-payment) for more details. """ ... @overload def refund_payment( self, **params: Unpack["ReaderRefundPaymentParams"] ) -> "Reader": """ Initiates an in-person refund on a Reader. See [Refund an Interac Payment](https://docs.stripe.com/docs/terminal/payments/regional?integration-country=CA#refund-an-interac-payment) for more details. """ ... @class_method_variant("_cls_refund_payment") def refund_payment( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderRefundPaymentParams"] ) -> "Reader": """ Initiates an in-person refund on a Reader. See [Refund an Interac Payment](https://docs.stripe.com/docs/terminal/payments/regional?integration-country=CA#refund-an-interac-payment) for more details. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/refund_payment".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_refund_payment_async( cls, reader: str, **params: Unpack["ReaderRefundPaymentParams"] ) -> "Reader": """ Initiates an in-person refund on a Reader. See [Refund an Interac Payment](https://docs.stripe.com/docs/terminal/payments/regional?integration-country=CA#refund-an-interac-payment) for more details. """ return cast( "Reader", await cls._static_request_async( "post", "/v1/terminal/readers/{reader}/refund_payment".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod async def refund_payment_async( reader: str, **params: Unpack["ReaderRefundPaymentParams"] ) -> "Reader": """ Initiates an in-person refund on a Reader. See [Refund an Interac Payment](https://docs.stripe.com/docs/terminal/payments/regional?integration-country=CA#refund-an-interac-payment) for more details. """ ... @overload async def refund_payment_async( self, **params: Unpack["ReaderRefundPaymentParams"] ) -> "Reader": """ Initiates an in-person refund on a Reader. See [Refund an Interac Payment](https://docs.stripe.com/docs/terminal/payments/regional?integration-country=CA#refund-an-interac-payment) for more details. """ ... @class_method_variant("_cls_refund_payment_async") async def refund_payment_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderRefundPaymentParams"] ) -> "Reader": """ Initiates an in-person refund on a Reader. See [Refund an Interac Payment](https://docs.stripe.com/docs/terminal/payments/regional?integration-country=CA#refund-an-interac-payment) for more details. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/refund_payment".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["ReaderRetrieveParams"] ) -> "Reader": """ Retrieves a Reader object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ReaderRetrieveParams"] ) -> "Reader": """ Retrieves a Reader object. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def _cls_set_reader_display( cls, reader: str, **params: Unpack["ReaderSetReaderDisplayParams"] ) -> "Reader": """ Sets the reader display to show [cart details](https://docs.stripe.com/docs/terminal/features/display). """ return cast( "Reader", cls._static_request( "post", "/v1/terminal/readers/{reader}/set_reader_display".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod def set_reader_display( reader: str, **params: Unpack["ReaderSetReaderDisplayParams"] ) -> "Reader": """ Sets the reader display to show [cart details](https://docs.stripe.com/docs/terminal/features/display). """ ... @overload def set_reader_display( self, **params: Unpack["ReaderSetReaderDisplayParams"] ) -> "Reader": """ Sets the reader display to show [cart details](https://docs.stripe.com/docs/terminal/features/display). """ ... @class_method_variant("_cls_set_reader_display") def set_reader_display( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderSetReaderDisplayParams"] ) -> "Reader": """ Sets the reader display to show [cart details](https://docs.stripe.com/docs/terminal/features/display). """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/set_reader_display".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_set_reader_display_async( cls, reader: str, **params: Unpack["ReaderSetReaderDisplayParams"] ) -> "Reader": """ Sets the reader display to show [cart details](https://docs.stripe.com/docs/terminal/features/display). """ return cast( "Reader", await cls._static_request_async( "post", "/v1/terminal/readers/{reader}/set_reader_display".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod async def set_reader_display_async( reader: str, **params: Unpack["ReaderSetReaderDisplayParams"] ) -> "Reader": """ Sets the reader display to show [cart details](https://docs.stripe.com/docs/terminal/features/display). """ ... @overload async def set_reader_display_async( self, **params: Unpack["ReaderSetReaderDisplayParams"] ) -> "Reader": """ Sets the reader display to show [cart details](https://docs.stripe.com/docs/terminal/features/display). """ ... @class_method_variant("_cls_set_reader_display_async") async def set_reader_display_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderSetReaderDisplayParams"] ) -> "Reader": """ Sets the reader display to show [cart details](https://docs.stripe.com/docs/terminal/features/display). """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/set_reader_display".format( reader=sanitize_id(self.get("id")) ), params=params, ), ) class TestHelpers(APIResourceTestHelpers["Reader"]): _resource_cls: Type["Reader"] @classmethod def _cls_present_payment_method( cls, reader: str, **params: Unpack["ReaderPresentPaymentMethodParams"], ) -> "Reader": """ Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction. """ return cast( "Reader", cls._static_request( "post", "/v1/test_helpers/terminal/readers/{reader}/present_payment_method".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod def present_payment_method( reader: str, **params: Unpack["ReaderPresentPaymentMethodParams"] ) -> "Reader": """ Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction. """ ... @overload def present_payment_method( self, **params: Unpack["ReaderPresentPaymentMethodParams"] ) -> "Reader": """ Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction. """ ... @class_method_variant("_cls_present_payment_method") def present_payment_method( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderPresentPaymentMethodParams"] ) -> "Reader": """ Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction. """ return cast( "Reader", self.resource._request( "post", "/v1/test_helpers/terminal/readers/{reader}/present_payment_method".format( reader=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_present_payment_method_async( cls, reader: str, **params: Unpack["ReaderPresentPaymentMethodParams"], ) -> "Reader": """ Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction. """ return cast( "Reader", await cls._static_request_async( "post", "/v1/test_helpers/terminal/readers/{reader}/present_payment_method".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod async def present_payment_method_async( reader: str, **params: Unpack["ReaderPresentPaymentMethodParams"] ) -> "Reader": """ Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction. """ ... @overload async def present_payment_method_async( self, **params: Unpack["ReaderPresentPaymentMethodParams"] ) -> "Reader": """ Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction. """ ... @class_method_variant("_cls_present_payment_method_async") async def present_payment_method_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderPresentPaymentMethodParams"] ) -> "Reader": """ Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction. """ return cast( "Reader", await self.resource._request_async( "post", "/v1/test_helpers/terminal/readers/{reader}/present_payment_method".format( reader=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_succeed_input_collection( cls, reader: str, **params: Unpack["ReaderSucceedInputCollectionParams"], ) -> "Reader": """ Use this endpoint to trigger a successful input collection on a simulated reader. """ return cast( "Reader", cls._static_request( "post", "/v1/test_helpers/terminal/readers/{reader}/succeed_input_collection".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod def succeed_input_collection( reader: str, **params: Unpack["ReaderSucceedInputCollectionParams"] ) -> "Reader": """ Use this endpoint to trigger a successful input collection on a simulated reader. """ ... @overload def succeed_input_collection( self, **params: Unpack["ReaderSucceedInputCollectionParams"] ) -> "Reader": """ Use this endpoint to trigger a successful input collection on a simulated reader. """ ... @class_method_variant("_cls_succeed_input_collection") def succeed_input_collection( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderSucceedInputCollectionParams"] ) -> "Reader": """ Use this endpoint to trigger a successful input collection on a simulated reader. """ return cast( "Reader", self.resource._request( "post", "/v1/test_helpers/terminal/readers/{reader}/succeed_input_collection".format( reader=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_succeed_input_collection_async( cls, reader: str, **params: Unpack["ReaderSucceedInputCollectionParams"], ) -> "Reader": """ Use this endpoint to trigger a successful input collection on a simulated reader. """ return cast( "Reader", await cls._static_request_async( "post", "/v1/test_helpers/terminal/readers/{reader}/succeed_input_collection".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod async def succeed_input_collection_async( reader: str, **params: Unpack["ReaderSucceedInputCollectionParams"] ) -> "Reader": """ Use this endpoint to trigger a successful input collection on a simulated reader. """ ... @overload async def succeed_input_collection_async( self, **params: Unpack["ReaderSucceedInputCollectionParams"] ) -> "Reader": """ Use this endpoint to trigger a successful input collection on a simulated reader. """ ... @class_method_variant("_cls_succeed_input_collection_async") async def succeed_input_collection_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderSucceedInputCollectionParams"] ) -> "Reader": """ Use this endpoint to trigger a successful input collection on a simulated reader. """ return cast( "Reader", await self.resource._request_async( "post", "/v1/test_helpers/terminal/readers/{reader}/succeed_input_collection".format( reader=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_timeout_input_collection( cls, reader: str, **params: Unpack["ReaderTimeoutInputCollectionParams"], ) -> "Reader": """ Use this endpoint to complete an input collection with a timeout error on a simulated reader. """ return cast( "Reader", cls._static_request( "post", "/v1/test_helpers/terminal/readers/{reader}/timeout_input_collection".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod def timeout_input_collection( reader: str, **params: Unpack["ReaderTimeoutInputCollectionParams"] ) -> "Reader": """ Use this endpoint to complete an input collection with a timeout error on a simulated reader. """ ... @overload def timeout_input_collection( self, **params: Unpack["ReaderTimeoutInputCollectionParams"] ) -> "Reader": """ Use this endpoint to complete an input collection with a timeout error on a simulated reader. """ ... @class_method_variant("_cls_timeout_input_collection") def timeout_input_collection( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderTimeoutInputCollectionParams"] ) -> "Reader": """ Use this endpoint to complete an input collection with a timeout error on a simulated reader. """ return cast( "Reader", self.resource._request( "post", "/v1/test_helpers/terminal/readers/{reader}/timeout_input_collection".format( reader=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_timeout_input_collection_async( cls, reader: str, **params: Unpack["ReaderTimeoutInputCollectionParams"], ) -> "Reader": """ Use this endpoint to complete an input collection with a timeout error on a simulated reader. """ return cast( "Reader", await cls._static_request_async( "post", "/v1/test_helpers/terminal/readers/{reader}/timeout_input_collection".format( reader=sanitize_id(reader) ), params=params, ), ) @overload @staticmethod async def timeout_input_collection_async( reader: str, **params: Unpack["ReaderTimeoutInputCollectionParams"] ) -> "Reader": """ Use this endpoint to complete an input collection with a timeout error on a simulated reader. """ ... @overload async def timeout_input_collection_async( self, **params: Unpack["ReaderTimeoutInputCollectionParams"] ) -> "Reader": """ Use this endpoint to complete an input collection with a timeout error on a simulated reader. """ ... @class_method_variant("_cls_timeout_input_collection_async") async def timeout_input_collection_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["ReaderTimeoutInputCollectionParams"] ) -> "Reader": """ Use this endpoint to complete an input collection with a timeout error on a simulated reader. """ return cast( "Reader", await self.resource._request_async( "post", "/v1/test_helpers/terminal/readers/{reader}/timeout_input_collection".format( reader=sanitize_id(self.resource.get("id")) ), params=params, ), ) @property def test_helpers(self): return self.TestHelpers(self) _inner_class_types = {"action": Action} Reader.TestHelpers._resource_cls = Reader ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/terminal/_reader_service.py0000644000000000000000000004750015102753431016654 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.terminal._reader_cancel_action_params import ( ReaderCancelActionParams, ) from stripe.params.terminal._reader_collect_inputs_params import ( ReaderCollectInputsParams, ) from stripe.params.terminal._reader_collect_payment_method_params import ( ReaderCollectPaymentMethodParams, ) from stripe.params.terminal._reader_confirm_payment_intent_params import ( ReaderConfirmPaymentIntentParams, ) from stripe.params.terminal._reader_create_params import ReaderCreateParams from stripe.params.terminal._reader_delete_params import ReaderDeleteParams from stripe.params.terminal._reader_list_params import ReaderListParams from stripe.params.terminal._reader_process_payment_intent_params import ( ReaderProcessPaymentIntentParams, ) from stripe.params.terminal._reader_process_setup_intent_params import ( ReaderProcessSetupIntentParams, ) from stripe.params.terminal._reader_refund_payment_params import ( ReaderRefundPaymentParams, ) from stripe.params.terminal._reader_retrieve_params import ( ReaderRetrieveParams, ) from stripe.params.terminal._reader_set_reader_display_params import ( ReaderSetReaderDisplayParams, ) from stripe.params.terminal._reader_update_params import ReaderUpdateParams from stripe.terminal._reader import Reader class ReaderService(StripeService): def delete( self, reader: str, params: Optional["ReaderDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Deletes a Reader object. """ return cast( "Reader", self._request( "delete", "/v1/terminal/readers/{reader}".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) async def delete_async( self, reader: str, params: Optional["ReaderDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Deletes a Reader object. """ return cast( "Reader", await self._request_async( "delete", "/v1/terminal/readers/{reader}".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) def retrieve( self, reader: str, params: Optional["ReaderRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Retrieves a Reader object. """ return cast( "Reader", self._request( "get", "/v1/terminal/readers/{reader}".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, reader: str, params: Optional["ReaderRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Retrieves a Reader object. """ return cast( "Reader", await self._request_async( "get", "/v1/terminal/readers/{reader}".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) def update( self, reader: str, params: Optional["ReaderUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Updates a Reader object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) async def update_async( self, reader: str, params: Optional["ReaderUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Updates a Reader object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) def list( self, params: Optional["ReaderListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Reader]": """ Returns a list of Reader objects. """ return cast( "ListObject[Reader]", self._request( "get", "/v1/terminal/readers", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["ReaderListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Reader]": """ Returns a list of Reader objects. """ return cast( "ListObject[Reader]", await self._request_async( "get", "/v1/terminal/readers", base_address="api", params=params, options=options, ), ) def create( self, params: "ReaderCreateParams", options: Optional["RequestOptions"] = None, ) -> "Reader": """ Creates a new Reader object. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "ReaderCreateParams", options: Optional["RequestOptions"] = None, ) -> "Reader": """ Creates a new Reader object. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers", base_address="api", params=params, options=options, ), ) def cancel_action( self, reader: str, params: Optional["ReaderCancelActionParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Cancels the current reader action. See [Programmatic Cancellation](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven#programmatic-cancellation) for more details. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/cancel_action".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) async def cancel_action_async( self, reader: str, params: Optional["ReaderCancelActionParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Cancels the current reader action. See [Programmatic Cancellation](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven#programmatic-cancellation) for more details. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/cancel_action".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) def collect_inputs( self, reader: str, params: "ReaderCollectInputsParams", options: Optional["RequestOptions"] = None, ) -> "Reader": """ Initiates an [input collection flow](https://docs.stripe.com/docs/terminal/features/collect-inputs) on a Reader to display input forms and collect information from your customers. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/collect_inputs".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) async def collect_inputs_async( self, reader: str, params: "ReaderCollectInputsParams", options: Optional["RequestOptions"] = None, ) -> "Reader": """ Initiates an [input collection flow](https://docs.stripe.com/docs/terminal/features/collect-inputs) on a Reader to display input forms and collect information from your customers. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/collect_inputs".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) def collect_payment_method( self, reader: str, params: "ReaderCollectPaymentMethodParams", options: Optional["RequestOptions"] = None, ) -> "Reader": """ Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation. See [Collecting a Payment method](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#collect-a-paymentmethod) for more details. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/collect_payment_method".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) async def collect_payment_method_async( self, reader: str, params: "ReaderCollectPaymentMethodParams", options: Optional["RequestOptions"] = None, ) -> "Reader": """ Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation. See [Collecting a Payment method](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#collect-a-paymentmethod) for more details. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/collect_payment_method".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) def confirm_payment_intent( self, reader: str, params: "ReaderConfirmPaymentIntentParams", options: Optional["RequestOptions"] = None, ) -> "Reader": """ Finalizes a payment on a Reader. See [Confirming a Payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#confirm-the-paymentintent) for more details. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/confirm_payment_intent".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) async def confirm_payment_intent_async( self, reader: str, params: "ReaderConfirmPaymentIntentParams", options: Optional["RequestOptions"] = None, ) -> "Reader": """ Finalizes a payment on a Reader. See [Confirming a Payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#confirm-the-paymentintent) for more details. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/confirm_payment_intent".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) def process_payment_intent( self, reader: str, params: "ReaderProcessPaymentIntentParams", options: Optional["RequestOptions"] = None, ) -> "Reader": """ Initiates a payment flow on a Reader. See [process the payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=immediately#process-payment) for more details. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/process_payment_intent".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) async def process_payment_intent_async( self, reader: str, params: "ReaderProcessPaymentIntentParams", options: Optional["RequestOptions"] = None, ) -> "Reader": """ Initiates a payment flow on a Reader. See [process the payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=immediately#process-payment) for more details. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/process_payment_intent".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) def process_setup_intent( self, reader: str, params: "ReaderProcessSetupIntentParams", options: Optional["RequestOptions"] = None, ) -> "Reader": """ Initiates a SetupIntent flow on a Reader. See [Save directly without charging](https://docs.stripe.com/docs/terminal/features/saving-payment-details/save-directly) for more details. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/process_setup_intent".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) async def process_setup_intent_async( self, reader: str, params: "ReaderProcessSetupIntentParams", options: Optional["RequestOptions"] = None, ) -> "Reader": """ Initiates a SetupIntent flow on a Reader. See [Save directly without charging](https://docs.stripe.com/docs/terminal/features/saving-payment-details/save-directly) for more details. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/process_setup_intent".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) def refund_payment( self, reader: str, params: Optional["ReaderRefundPaymentParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Initiates an in-person refund on a Reader. See [Refund an Interac Payment](https://docs.stripe.com/docs/terminal/payments/regional?integration-country=CA#refund-an-interac-payment) for more details. """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/refund_payment".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) async def refund_payment_async( self, reader: str, params: Optional["ReaderRefundPaymentParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Initiates an in-person refund on a Reader. See [Refund an Interac Payment](https://docs.stripe.com/docs/terminal/payments/regional?integration-country=CA#refund-an-interac-payment) for more details. """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/refund_payment".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) def set_reader_display( self, reader: str, params: "ReaderSetReaderDisplayParams", options: Optional["RequestOptions"] = None, ) -> "Reader": """ Sets the reader display to show [cart details](https://docs.stripe.com/docs/terminal/features/display). """ return cast( "Reader", self._request( "post", "/v1/terminal/readers/{reader}/set_reader_display".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) async def set_reader_display_async( self, reader: str, params: "ReaderSetReaderDisplayParams", options: Optional["RequestOptions"] = None, ) -> "Reader": """ Sets the reader display to show [cart details](https://docs.stripe.com/docs/terminal/features/display). """ return cast( "Reader", await self._request_async( "post", "/v1/terminal/readers/{reader}/set_reader_display".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/test_helpers/__init__.py0000644000000000000000000000443515102753431016160 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.test_helpers import ( issuing as issuing, terminal as terminal, treasury as treasury, ) from stripe.test_helpers._confirmation_token_service import ( ConfirmationTokenService as ConfirmationTokenService, ) from stripe.test_helpers._customer_service import ( CustomerService as CustomerService, ) from stripe.test_helpers._issuing_service import ( IssuingService as IssuingService, ) from stripe.test_helpers._refund_service import ( RefundService as RefundService, ) from stripe.test_helpers._terminal_service import ( TerminalService as TerminalService, ) from stripe.test_helpers._test_clock import TestClock as TestClock from stripe.test_helpers._test_clock_service import ( TestClockService as TestClockService, ) from stripe.test_helpers._treasury_service import ( TreasuryService as TreasuryService, ) # name -> (import_target, is_submodule) _import_map = { "issuing": ("stripe.test_helpers.issuing", True), "terminal": ("stripe.test_helpers.terminal", True), "treasury": ("stripe.test_helpers.treasury", True), "ConfirmationTokenService": ( "stripe.test_helpers._confirmation_token_service", False, ), "CustomerService": ("stripe.test_helpers._customer_service", False), "IssuingService": ("stripe.test_helpers._issuing_service", False), "RefundService": ("stripe.test_helpers._refund_service", False), "TerminalService": ("stripe.test_helpers._terminal_service", False), "TestClock": ("stripe.test_helpers._test_clock", False), "TestClockService": ("stripe.test_helpers._test_clock_service", False), "TreasuryService": ("stripe.test_helpers._treasury_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/test_helpers/_confirmation_token_service.py0000644000000000000000000000321115102753431022157 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._confirmation_token import ConfirmationToken from stripe._request_options import RequestOptions from stripe.params.test_helpers._confirmation_token_create_params import ( ConfirmationTokenCreateParams, ) class ConfirmationTokenService(StripeService): def create( self, params: Optional["ConfirmationTokenCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ConfirmationToken": """ Creates a test mode Confirmation Token server side for your integration tests. """ return cast( "ConfirmationToken", self._request( "post", "/v1/test_helpers/confirmation_tokens", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["ConfirmationTokenCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ConfirmationToken": """ Creates a test mode Confirmation Token server side for your integration tests. """ return cast( "ConfirmationToken", await self._request_async( "post", "/v1/test_helpers/confirmation_tokens", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/test_helpers/_customer_service.py0000644000000000000000000000364115102753431020137 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._customer_cash_balance_transaction import ( CustomerCashBalanceTransaction, ) from stripe._request_options import RequestOptions from stripe.params.test_helpers._customer_fund_cash_balance_params import ( CustomerFundCashBalanceParams, ) class CustomerService(StripeService): def fund_cash_balance( self, customer: str, params: "CustomerFundCashBalanceParams", options: Optional["RequestOptions"] = None, ) -> "CustomerCashBalanceTransaction": """ Create an incoming testmode bank transfer """ return cast( "CustomerCashBalanceTransaction", self._request( "post", "/v1/test_helpers/customers/{customer}/fund_cash_balance".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) async def fund_cash_balance_async( self, customer: str, params: "CustomerFundCashBalanceParams", options: Optional["RequestOptions"] = None, ) -> "CustomerCashBalanceTransaction": """ Create an incoming testmode bank transfer """ return cast( "CustomerCashBalanceTransaction", await self._request_async( "post", "/v1/test_helpers/customers/{customer}/fund_cash_balance".format( customer=sanitize_id(customer), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/test_helpers/_issuing_service.py0000644000000000000000000000344015102753431017754 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.test_helpers.issuing._authorization_service import ( AuthorizationService, ) from stripe.test_helpers.issuing._card_service import CardService from stripe.test_helpers.issuing._personalization_design_service import ( PersonalizationDesignService, ) from stripe.test_helpers.issuing._transaction_service import ( TransactionService, ) _subservices = { "authorizations": [ "stripe.test_helpers.issuing._authorization_service", "AuthorizationService", ], "cards": ["stripe.test_helpers.issuing._card_service", "CardService"], "personalization_designs": [ "stripe.test_helpers.issuing._personalization_design_service", "PersonalizationDesignService", ], "transactions": [ "stripe.test_helpers.issuing._transaction_service", "TransactionService", ], } class IssuingService(StripeService): authorizations: "AuthorizationService" cards: "CardService" personalization_designs: "PersonalizationDesignService" transactions: "TransactionService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/test_helpers/_refund_service.py0000644000000000000000000000327715102753431017566 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._refund import Refund from stripe._request_options import RequestOptions from stripe.params.test_helpers._refund_expire_params import ( RefundExpireParams, ) class RefundService(StripeService): def expire( self, refund: str, params: Optional["RefundExpireParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Refund": """ Expire a refund with a status of requires_action. """ return cast( "Refund", self._request( "post", "/v1/test_helpers/refunds/{refund}/expire".format( refund=sanitize_id(refund), ), base_address="api", params=params, options=options, ), ) async def expire_async( self, refund: str, params: Optional["RefundExpireParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Refund": """ Expire a refund with a status of requires_action. """ return cast( "Refund", await self._request_async( "post", "/v1/test_helpers/refunds/{refund}/expire".format( refund=sanitize_id(refund), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/test_helpers/_terminal_service.py0000644000000000000000000000174715102753431020116 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.test_helpers.terminal._reader_service import ReaderService _subservices = { "readers": [ "stripe.test_helpers.terminal._reader_service", "ReaderService", ], } class TerminalService(StripeService): readers: "ReaderService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/test_helpers/_test_clock.py0000644000000000000000000002666615102753431016724 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._deletable_api_resource import DeletableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.test_helpers._test_clock_advance_params import ( TestClockAdvanceParams, ) from stripe.params.test_helpers._test_clock_create_params import ( TestClockCreateParams, ) from stripe.params.test_helpers._test_clock_delete_params import ( TestClockDeleteParams, ) from stripe.params.test_helpers._test_clock_list_params import ( TestClockListParams, ) from stripe.params.test_helpers._test_clock_retrieve_params import ( TestClockRetrieveParams, ) class TestClock( CreateableAPIResource["TestClock"], DeletableAPIResource["TestClock"], ListableAPIResource["TestClock"], ): """ A test clock enables deterministic control over objects in testmode. With a test clock, you can create objects at a frozen time in the past or future, and advance to a specific future time to observe webhooks and state changes. After the clock advances, you can either validate the current state of your scenario (and test your assumptions), change the current state of your scenario (and test more complex scenarios), or keep advancing forward in time. """ OBJECT_NAME: ClassVar[Literal["test_helpers.test_clock"]] = ( "test_helpers.test_clock" ) class StatusDetails(StripeObject): class Advancing(StripeObject): target_frozen_time: int """ The `frozen_time` that the Test Clock is advancing towards. """ advancing: Optional[Advancing] _inner_class_types = {"advancing": Advancing} created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ deleted: Optional[Literal[True]] """ Always true for a deleted object """ deletes_after: int """ Time at which this clock is scheduled to auto delete. """ frozen_time: int """ Time at which all objects belonging to this clock are frozen. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ name: Optional[str] """ The custom name supplied at creation. """ object: Literal["test_helpers.test_clock"] """ String representing the object's type. Objects of the same type share the same value. """ status: Literal["advancing", "internal_failure", "ready"] """ The status of the Test Clock. """ status_details: StatusDetails @classmethod def _cls_advance( cls, test_clock: str, **params: Unpack["TestClockAdvanceParams"] ) -> "TestClock": """ Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready. """ return cast( "TestClock", cls._static_request( "post", "/v1/test_helpers/test_clocks/{test_clock}/advance".format( test_clock=sanitize_id(test_clock) ), params=params, ), ) @overload @staticmethod def advance( test_clock: str, **params: Unpack["TestClockAdvanceParams"] ) -> "TestClock": """ Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready. """ ... @overload def advance( self, **params: Unpack["TestClockAdvanceParams"] ) -> "TestClock": """ Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready. """ ... @class_method_variant("_cls_advance") def advance( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["TestClockAdvanceParams"] ) -> "TestClock": """ Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready. """ return cast( "TestClock", self._request( "post", "/v1/test_helpers/test_clocks/{test_clock}/advance".format( test_clock=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_advance_async( cls, test_clock: str, **params: Unpack["TestClockAdvanceParams"] ) -> "TestClock": """ Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready. """ return cast( "TestClock", await cls._static_request_async( "post", "/v1/test_helpers/test_clocks/{test_clock}/advance".format( test_clock=sanitize_id(test_clock) ), params=params, ), ) @overload @staticmethod async def advance_async( test_clock: str, **params: Unpack["TestClockAdvanceParams"] ) -> "TestClock": """ Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready. """ ... @overload async def advance_async( self, **params: Unpack["TestClockAdvanceParams"] ) -> "TestClock": """ Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready. """ ... @class_method_variant("_cls_advance_async") async def advance_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["TestClockAdvanceParams"] ) -> "TestClock": """ Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready. """ return cast( "TestClock", await self._request_async( "post", "/v1/test_helpers/test_clocks/{test_clock}/advance".format( test_clock=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create(cls, **params: Unpack["TestClockCreateParams"]) -> "TestClock": """ Creates a new test clock that can be attached to new customers and quotes. """ return cast( "TestClock", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["TestClockCreateParams"] ) -> "TestClock": """ Creates a new test clock that can be attached to new customers and quotes. """ return cast( "TestClock", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def _cls_delete( cls, sid: str, **params: Unpack["TestClockDeleteParams"] ) -> "TestClock": """ Deletes a test clock. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "TestClock", cls._static_request( "delete", url, params=params, ), ) @overload @staticmethod def delete( sid: str, **params: Unpack["TestClockDeleteParams"] ) -> "TestClock": """ Deletes a test clock. """ ... @overload def delete(self, **params: Unpack["TestClockDeleteParams"]) -> "TestClock": """ Deletes a test clock. """ ... @class_method_variant("_cls_delete") def delete( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["TestClockDeleteParams"] ) -> "TestClock": """ Deletes a test clock. """ return self._request_and_refresh( "delete", self.instance_url(), params=params, ) @classmethod async def _cls_delete_async( cls, sid: str, **params: Unpack["TestClockDeleteParams"] ) -> "TestClock": """ Deletes a test clock. """ url = "%s/%s" % (cls.class_url(), sanitize_id(sid)) return cast( "TestClock", await cls._static_request_async( "delete", url, params=params, ), ) @overload @staticmethod async def delete_async( sid: str, **params: Unpack["TestClockDeleteParams"] ) -> "TestClock": """ Deletes a test clock. """ ... @overload async def delete_async( self, **params: Unpack["TestClockDeleteParams"] ) -> "TestClock": """ Deletes a test clock. """ ... @class_method_variant("_cls_delete_async") async def delete_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["TestClockDeleteParams"] ) -> "TestClock": """ Deletes a test clock. """ return await self._request_and_refresh_async( "delete", self.instance_url(), params=params, ) @classmethod def list( cls, **params: Unpack["TestClockListParams"] ) -> ListObject["TestClock"]: """ Returns a list of your test clocks. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["TestClockListParams"] ) -> ListObject["TestClock"]: """ Returns a list of your test clocks. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["TestClockRetrieveParams"] ) -> "TestClock": """ Retrieves a test clock. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["TestClockRetrieveParams"] ) -> "TestClock": """ Retrieves a test clock. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"status_details": StatusDetails} ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/test_helpers/_test_clock_service.py0000644000000000000000000001555615102753431020440 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.test_helpers._test_clock_advance_params import ( TestClockAdvanceParams, ) from stripe.params.test_helpers._test_clock_create_params import ( TestClockCreateParams, ) from stripe.params.test_helpers._test_clock_delete_params import ( TestClockDeleteParams, ) from stripe.params.test_helpers._test_clock_list_params import ( TestClockListParams, ) from stripe.params.test_helpers._test_clock_retrieve_params import ( TestClockRetrieveParams, ) from stripe.test_helpers._test_clock import TestClock class TestClockService(StripeService): def delete( self, test_clock: str, params: Optional["TestClockDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TestClock": """ Deletes a test clock. """ return cast( "TestClock", self._request( "delete", "/v1/test_helpers/test_clocks/{test_clock}".format( test_clock=sanitize_id(test_clock), ), base_address="api", params=params, options=options, ), ) async def delete_async( self, test_clock: str, params: Optional["TestClockDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TestClock": """ Deletes a test clock. """ return cast( "TestClock", await self._request_async( "delete", "/v1/test_helpers/test_clocks/{test_clock}".format( test_clock=sanitize_id(test_clock), ), base_address="api", params=params, options=options, ), ) def retrieve( self, test_clock: str, params: Optional["TestClockRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TestClock": """ Retrieves a test clock. """ return cast( "TestClock", self._request( "get", "/v1/test_helpers/test_clocks/{test_clock}".format( test_clock=sanitize_id(test_clock), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, test_clock: str, params: Optional["TestClockRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TestClock": """ Retrieves a test clock. """ return cast( "TestClock", await self._request_async( "get", "/v1/test_helpers/test_clocks/{test_clock}".format( test_clock=sanitize_id(test_clock), ), base_address="api", params=params, options=options, ), ) def list( self, params: Optional["TestClockListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[TestClock]": """ Returns a list of your test clocks. """ return cast( "ListObject[TestClock]", self._request( "get", "/v1/test_helpers/test_clocks", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["TestClockListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[TestClock]": """ Returns a list of your test clocks. """ return cast( "ListObject[TestClock]", await self._request_async( "get", "/v1/test_helpers/test_clocks", base_address="api", params=params, options=options, ), ) def create( self, params: "TestClockCreateParams", options: Optional["RequestOptions"] = None, ) -> "TestClock": """ Creates a new test clock that can be attached to new customers and quotes. """ return cast( "TestClock", self._request( "post", "/v1/test_helpers/test_clocks", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "TestClockCreateParams", options: Optional["RequestOptions"] = None, ) -> "TestClock": """ Creates a new test clock that can be attached to new customers and quotes. """ return cast( "TestClock", await self._request_async( "post", "/v1/test_helpers/test_clocks", base_address="api", params=params, options=options, ), ) def advance( self, test_clock: str, params: "TestClockAdvanceParams", options: Optional["RequestOptions"] = None, ) -> "TestClock": """ Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready. """ return cast( "TestClock", self._request( "post", "/v1/test_helpers/test_clocks/{test_clock}/advance".format( test_clock=sanitize_id(test_clock), ), base_address="api", params=params, options=options, ), ) async def advance_async( self, test_clock: str, params: "TestClockAdvanceParams", options: Optional["RequestOptions"] = None, ) -> "TestClock": """ Starts advancing a test clock to a specified time in the future. Advancement is done when status changes to Ready. """ return cast( "TestClock", await self._request_async( "post", "/v1/test_helpers/test_clocks/{test_clock}/advance".format( test_clock=sanitize_id(test_clock), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/test_helpers/_treasury_service.py0000644000000000000000000000430115102753431020146 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.test_helpers.treasury._inbound_transfer_service import ( InboundTransferService, ) from stripe.test_helpers.treasury._outbound_payment_service import ( OutboundPaymentService, ) from stripe.test_helpers.treasury._outbound_transfer_service import ( OutboundTransferService, ) from stripe.test_helpers.treasury._received_credit_service import ( ReceivedCreditService, ) from stripe.test_helpers.treasury._received_debit_service import ( ReceivedDebitService, ) _subservices = { "inbound_transfers": [ "stripe.test_helpers.treasury._inbound_transfer_service", "InboundTransferService", ], "outbound_payments": [ "stripe.test_helpers.treasury._outbound_payment_service", "OutboundPaymentService", ], "outbound_transfers": [ "stripe.test_helpers.treasury._outbound_transfer_service", "OutboundTransferService", ], "received_credits": [ "stripe.test_helpers.treasury._received_credit_service", "ReceivedCreditService", ], "received_debits": [ "stripe.test_helpers.treasury._received_debit_service", "ReceivedDebitService", ], } class TreasuryService(StripeService): inbound_transfers: "InboundTransferService" outbound_payments: "OutboundPaymentService" outbound_transfers: "OutboundTransferService" received_credits: "ReceivedCreditService" received_debits: "ReceivedDebitService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/test_helpers/issuing/__init__.py0000644000000000000000000000276415102753431017644 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.test_helpers.issuing._authorization_service import ( AuthorizationService as AuthorizationService, ) from stripe.test_helpers.issuing._card_service import ( CardService as CardService, ) from stripe.test_helpers.issuing._personalization_design_service import ( PersonalizationDesignService as PersonalizationDesignService, ) from stripe.test_helpers.issuing._transaction_service import ( TransactionService as TransactionService, ) # name -> (import_target, is_submodule) _import_map = { "AuthorizationService": ( "stripe.test_helpers.issuing._authorization_service", False, ), "CardService": ("stripe.test_helpers.issuing._card_service", False), "PersonalizationDesignService": ( "stripe.test_helpers.issuing._personalization_design_service", False, ), "TransactionService": ( "stripe.test_helpers.issuing._transaction_service", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/test_helpers/issuing/_authorization_service.py0000644000000000000000000002507515102753431022664 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.issuing._authorization import Authorization from stripe.params.test_helpers.issuing._authorization_capture_params import ( AuthorizationCaptureParams, ) from stripe.params.test_helpers.issuing._authorization_create_params import ( AuthorizationCreateParams, ) from stripe.params.test_helpers.issuing._authorization_expire_params import ( AuthorizationExpireParams, ) from stripe.params.test_helpers.issuing._authorization_finalize_amount_params import ( AuthorizationFinalizeAmountParams, ) from stripe.params.test_helpers.issuing._authorization_increment_params import ( AuthorizationIncrementParams, ) from stripe.params.test_helpers.issuing._authorization_respond_params import ( AuthorizationRespondParams, ) from stripe.params.test_helpers.issuing._authorization_reverse_params import ( AuthorizationReverseParams, ) class AuthorizationService(StripeService): def create( self, params: "AuthorizationCreateParams", options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Create a test-mode authorization. """ return cast( "Authorization", self._request( "post", "/v1/test_helpers/issuing/authorizations", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "AuthorizationCreateParams", options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Create a test-mode authorization. """ return cast( "Authorization", await self._request_async( "post", "/v1/test_helpers/issuing/authorizations", base_address="api", params=params, options=options, ), ) def capture( self, authorization: str, params: Optional["AuthorizationCaptureParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Capture a test-mode authorization. """ return cast( "Authorization", self._request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/capture".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) async def capture_async( self, authorization: str, params: Optional["AuthorizationCaptureParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Capture a test-mode authorization. """ return cast( "Authorization", await self._request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/capture".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) def expire( self, authorization: str, params: Optional["AuthorizationExpireParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Expire a test-mode Authorization. """ return cast( "Authorization", self._request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/expire".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) async def expire_async( self, authorization: str, params: Optional["AuthorizationExpireParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Expire a test-mode Authorization. """ return cast( "Authorization", await self._request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/expire".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) def finalize_amount( self, authorization: str, params: "AuthorizationFinalizeAmountParams", options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated amount. """ return cast( "Authorization", self._request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/finalize_amount".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) async def finalize_amount_async( self, authorization: str, params: "AuthorizationFinalizeAmountParams", options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated amount. """ return cast( "Authorization", await self._request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/finalize_amount".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) def respond( self, authorization: str, params: "AuthorizationRespondParams", options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Respond to a fraud challenge on a testmode Issuing authorization, simulating either a confirmation of fraud or a correction of legitimacy. """ return cast( "Authorization", self._request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/fraud_challenges/respond".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) async def respond_async( self, authorization: str, params: "AuthorizationRespondParams", options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Respond to a fraud challenge on a testmode Issuing authorization, simulating either a confirmation of fraud or a correction of legitimacy. """ return cast( "Authorization", await self._request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/fraud_challenges/respond".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) def increment( self, authorization: str, params: "AuthorizationIncrementParams", options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Increment a test-mode Authorization. """ return cast( "Authorization", self._request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/increment".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) async def increment_async( self, authorization: str, params: "AuthorizationIncrementParams", options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Increment a test-mode Authorization. """ return cast( "Authorization", await self._request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/increment".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) def reverse( self, authorization: str, params: Optional["AuthorizationReverseParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Reverse a test-mode Authorization. """ return cast( "Authorization", self._request( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/reverse".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) async def reverse_async( self, authorization: str, params: Optional["AuthorizationReverseParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Authorization": """ Reverse a test-mode Authorization. """ return cast( "Authorization", await self._request_async( "post", "/v1/test_helpers/issuing/authorizations/{authorization}/reverse".format( authorization=sanitize_id(authorization), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3780622 stripe-13.2.0/stripe/test_helpers/issuing/_card_service.py0000644000000000000000000001701215102753431020665 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.issuing._card import Card from stripe.params.test_helpers.issuing._card_deliver_card_params import ( CardDeliverCardParams, ) from stripe.params.test_helpers.issuing._card_fail_card_params import ( CardFailCardParams, ) from stripe.params.test_helpers.issuing._card_return_card_params import ( CardReturnCardParams, ) from stripe.params.test_helpers.issuing._card_ship_card_params import ( CardShipCardParams, ) from stripe.params.test_helpers.issuing._card_submit_card_params import ( CardSubmitCardParams, ) class CardService(StripeService): def deliver_card( self, card: str, params: Optional["CardDeliverCardParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to delivered. """ return cast( "Card", self._request( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/deliver".format( card=sanitize_id(card), ), base_address="api", params=params, options=options, ), ) async def deliver_card_async( self, card: str, params: Optional["CardDeliverCardParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to delivered. """ return cast( "Card", await self._request_async( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/deliver".format( card=sanitize_id(card), ), base_address="api", params=params, options=options, ), ) def fail_card( self, card: str, params: Optional["CardFailCardParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to failure. """ return cast( "Card", self._request( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/fail".format( card=sanitize_id(card), ), base_address="api", params=params, options=options, ), ) async def fail_card_async( self, card: str, params: Optional["CardFailCardParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to failure. """ return cast( "Card", await self._request_async( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/fail".format( card=sanitize_id(card), ), base_address="api", params=params, options=options, ), ) def return_card( self, card: str, params: Optional["CardReturnCardParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to returned. """ return cast( "Card", self._request( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/return".format( card=sanitize_id(card), ), base_address="api", params=params, options=options, ), ) async def return_card_async( self, card: str, params: Optional["CardReturnCardParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to returned. """ return cast( "Card", await self._request_async( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/return".format( card=sanitize_id(card), ), base_address="api", params=params, options=options, ), ) def ship_card( self, card: str, params: Optional["CardShipCardParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to shipped. """ return cast( "Card", self._request( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/ship".format( card=sanitize_id(card), ), base_address="api", params=params, options=options, ), ) async def ship_card_async( self, card: str, params: Optional["CardShipCardParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to shipped. """ return cast( "Card", await self._request_async( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/ship".format( card=sanitize_id(card), ), base_address="api", params=params, options=options, ), ) def submit_card( self, card: str, params: Optional["CardSubmitCardParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to submitted. This method requires Stripe Version ‘2024-09-30.acacia' or later. """ return cast( "Card", self._request( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/submit".format( card=sanitize_id(card), ), base_address="api", params=params, options=options, ), ) async def submit_card_async( self, card: str, params: Optional["CardSubmitCardParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Card": """ Updates the shipping status of the specified Issuing Card object to submitted. This method requires Stripe Version ‘2024-09-30.acacia' or later. """ return cast( "Card", await self._request_async( "post", "/v1/test_helpers/issuing/cards/{card}/shipping/submit".format( card=sanitize_id(card), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/test_helpers/issuing/_personalization_design_service.py0000644000000000000000000001300415102753431024523 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.issuing._personalization_design import PersonalizationDesign from stripe.params.test_helpers.issuing._personalization_design_activate_params import ( PersonalizationDesignActivateParams, ) from stripe.params.test_helpers.issuing._personalization_design_deactivate_params import ( PersonalizationDesignDeactivateParams, ) from stripe.params.test_helpers.issuing._personalization_design_reject_params import ( PersonalizationDesignRejectParams, ) class PersonalizationDesignService(StripeService): def activate( self, personalization_design: str, params: Optional["PersonalizationDesignActivateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to active. """ return cast( "PersonalizationDesign", self._request( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/activate".format( personalization_design=sanitize_id(personalization_design), ), base_address="api", params=params, options=options, ), ) async def activate_async( self, personalization_design: str, params: Optional["PersonalizationDesignActivateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to active. """ return cast( "PersonalizationDesign", await self._request_async( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/activate".format( personalization_design=sanitize_id(personalization_design), ), base_address="api", params=params, options=options, ), ) def deactivate( self, personalization_design: str, params: Optional["PersonalizationDesignDeactivateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to inactive. """ return cast( "PersonalizationDesign", self._request( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/deactivate".format( personalization_design=sanitize_id(personalization_design), ), base_address="api", params=params, options=options, ), ) async def deactivate_async( self, personalization_design: str, params: Optional["PersonalizationDesignDeactivateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to inactive. """ return cast( "PersonalizationDesign", await self._request_async( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/deactivate".format( personalization_design=sanitize_id(personalization_design), ), base_address="api", params=params, options=options, ), ) def reject( self, personalization_design: str, params: "PersonalizationDesignRejectParams", options: Optional["RequestOptions"] = None, ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to rejected. """ return cast( "PersonalizationDesign", self._request( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/reject".format( personalization_design=sanitize_id(personalization_design), ), base_address="api", params=params, options=options, ), ) async def reject_async( self, personalization_design: str, params: "PersonalizationDesignRejectParams", options: Optional["RequestOptions"] = None, ) -> "PersonalizationDesign": """ Updates the status of the specified testmode personalization design object to rejected. """ return cast( "PersonalizationDesign", await self._request_async( "post", "/v1/test_helpers/issuing/personalization_designs/{personalization_design}/reject".format( personalization_design=sanitize_id(personalization_design), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/test_helpers/issuing/_transaction_service.py0000644000000000000000000001067615102753431022312 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.issuing._transaction import Transaction from stripe.params.test_helpers.issuing._transaction_create_force_capture_params import ( TransactionCreateForceCaptureParams, ) from stripe.params.test_helpers.issuing._transaction_create_unlinked_refund_params import ( TransactionCreateUnlinkedRefundParams, ) from stripe.params.test_helpers.issuing._transaction_refund_params import ( TransactionRefundParams, ) class TransactionService(StripeService): def refund( self, transaction: str, params: Optional["TransactionRefundParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Refund a test-mode Transaction. """ return cast( "Transaction", self._request( "post", "/v1/test_helpers/issuing/transactions/{transaction}/refund".format( transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) async def refund_async( self, transaction: str, params: Optional["TransactionRefundParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Refund a test-mode Transaction. """ return cast( "Transaction", await self._request_async( "post", "/v1/test_helpers/issuing/transactions/{transaction}/refund".format( transaction=sanitize_id(transaction), ), base_address="api", params=params, options=options, ), ) def create_force_capture( self, params: "TransactionCreateForceCaptureParams", options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Allows the user to capture an arbitrary amount, also known as a forced capture. """ return cast( "Transaction", self._request( "post", "/v1/test_helpers/issuing/transactions/create_force_capture", base_address="api", params=params, options=options, ), ) async def create_force_capture_async( self, params: "TransactionCreateForceCaptureParams", options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Allows the user to capture an arbitrary amount, also known as a forced capture. """ return cast( "Transaction", await self._request_async( "post", "/v1/test_helpers/issuing/transactions/create_force_capture", base_address="api", params=params, options=options, ), ) def create_unlinked_refund( self, params: "TransactionCreateUnlinkedRefundParams", options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Allows the user to refund an arbitrary amount, also known as a unlinked refund. """ return cast( "Transaction", self._request( "post", "/v1/test_helpers/issuing/transactions/create_unlinked_refund", base_address="api", params=params, options=options, ), ) async def create_unlinked_refund_async( self, params: "TransactionCreateUnlinkedRefundParams", options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Allows the user to refund an arbitrary amount, also known as a unlinked refund. """ return cast( "Transaction", await self._request_async( "post", "/v1/test_helpers/issuing/transactions/create_unlinked_refund", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/test_helpers/terminal/__init__.py0000644000000000000000000000140715102753431017767 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.test_helpers.terminal._reader_service import ( ReaderService as ReaderService, ) # name -> (import_target, is_submodule) _import_map = { "ReaderService": ("stripe.test_helpers.terminal._reader_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/test_helpers/terminal/_reader_service.py0000644000000000000000000001217115102753431021351 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.test_helpers.terminal._reader_present_payment_method_params import ( ReaderPresentPaymentMethodParams, ) from stripe.params.test_helpers.terminal._reader_succeed_input_collection_params import ( ReaderSucceedInputCollectionParams, ) from stripe.params.test_helpers.terminal._reader_timeout_input_collection_params import ( ReaderTimeoutInputCollectionParams, ) from stripe.terminal._reader import Reader class ReaderService(StripeService): def present_payment_method( self, reader: str, params: Optional["ReaderPresentPaymentMethodParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction. """ return cast( "Reader", self._request( "post", "/v1/test_helpers/terminal/readers/{reader}/present_payment_method".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) async def present_payment_method_async( self, reader: str, params: Optional["ReaderPresentPaymentMethodParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction. """ return cast( "Reader", await self._request_async( "post", "/v1/test_helpers/terminal/readers/{reader}/present_payment_method".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) def succeed_input_collection( self, reader: str, params: Optional["ReaderSucceedInputCollectionParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Use this endpoint to trigger a successful input collection on a simulated reader. """ return cast( "Reader", self._request( "post", "/v1/test_helpers/terminal/readers/{reader}/succeed_input_collection".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) async def succeed_input_collection_async( self, reader: str, params: Optional["ReaderSucceedInputCollectionParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Use this endpoint to trigger a successful input collection on a simulated reader. """ return cast( "Reader", await self._request_async( "post", "/v1/test_helpers/terminal/readers/{reader}/succeed_input_collection".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) def timeout_input_collection( self, reader: str, params: Optional["ReaderTimeoutInputCollectionParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Use this endpoint to complete an input collection with a timeout error on a simulated reader. """ return cast( "Reader", self._request( "post", "/v1/test_helpers/terminal/readers/{reader}/timeout_input_collection".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) async def timeout_input_collection_async( self, reader: str, params: Optional["ReaderTimeoutInputCollectionParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Reader": """ Use this endpoint to complete an input collection with a timeout error on a simulated reader. """ return cast( "Reader", await self._request_async( "post", "/v1/test_helpers/terminal/readers/{reader}/timeout_input_collection".format( reader=sanitize_id(reader), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/test_helpers/treasury/__init__.py0000644000000000000000000000350715102753431020035 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.test_helpers.treasury._inbound_transfer_service import ( InboundTransferService as InboundTransferService, ) from stripe.test_helpers.treasury._outbound_payment_service import ( OutboundPaymentService as OutboundPaymentService, ) from stripe.test_helpers.treasury._outbound_transfer_service import ( OutboundTransferService as OutboundTransferService, ) from stripe.test_helpers.treasury._received_credit_service import ( ReceivedCreditService as ReceivedCreditService, ) from stripe.test_helpers.treasury._received_debit_service import ( ReceivedDebitService as ReceivedDebitService, ) # name -> (import_target, is_submodule) _import_map = { "InboundTransferService": ( "stripe.test_helpers.treasury._inbound_transfer_service", False, ), "OutboundPaymentService": ( "stripe.test_helpers.treasury._outbound_payment_service", False, ), "OutboundTransferService": ( "stripe.test_helpers.treasury._outbound_transfer_service", False, ), "ReceivedCreditService": ( "stripe.test_helpers.treasury._received_credit_service", False, ), "ReceivedDebitService": ( "stripe.test_helpers.treasury._received_debit_service", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/test_helpers/treasury/_inbound_transfer_service.py0000644000000000000000000001240215102753431023511 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.test_helpers.treasury._inbound_transfer_fail_params import ( InboundTransferFailParams, ) from stripe.params.test_helpers.treasury._inbound_transfer_return_inbound_transfer_params import ( InboundTransferReturnInboundTransferParams, ) from stripe.params.test_helpers.treasury._inbound_transfer_succeed_params import ( InboundTransferSucceedParams, ) from stripe.treasury._inbound_transfer import InboundTransfer class InboundTransferService(StripeService): def fail( self, id: str, params: Optional["InboundTransferFailParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state. """ return cast( "InboundTransfer", self._request( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/fail".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def fail_async( self, id: str, params: Optional["InboundTransferFailParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state. """ return cast( "InboundTransfer", await self._request_async( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/fail".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def return_inbound_transfer( self, id: str, params: Optional["InboundTransferReturnInboundTransferParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InboundTransfer": """ Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state. """ return cast( "InboundTransfer", self._request( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/return".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def return_inbound_transfer_async( self, id: str, params: Optional["InboundTransferReturnInboundTransferParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InboundTransfer": """ Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state. """ return cast( "InboundTransfer", await self._request_async( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/return".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def succeed( self, id: str, params: Optional["InboundTransferSucceedParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must already be in the processing state. """ return cast( "InboundTransfer", self._request( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/succeed".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def succeed_async( self, id: str, params: Optional["InboundTransferSucceedParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must already be in the processing state. """ return cast( "InboundTransfer", await self._request_async( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/succeed".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/test_helpers/treasury/_outbound_payment_service.py0000644000000000000000000001535515102753431023555 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.test_helpers.treasury._outbound_payment_fail_params import ( OutboundPaymentFailParams, ) from stripe.params.test_helpers.treasury._outbound_payment_post_params import ( OutboundPaymentPostParams, ) from stripe.params.test_helpers.treasury._outbound_payment_return_outbound_payment_params import ( OutboundPaymentReturnOutboundPaymentParams, ) from stripe.params.test_helpers.treasury._outbound_payment_update_params import ( OutboundPaymentUpdateParams, ) from stripe.treasury._outbound_payment import OutboundPayment class OutboundPaymentService(StripeService): def update( self, id: str, params: "OutboundPaymentUpdateParams", options: Optional["RequestOptions"] = None, ) -> "OutboundPayment": """ Updates a test mode created OutboundPayment with tracking details. The OutboundPayment must not be cancelable, and cannot be in the canceled or failed states. """ return cast( "OutboundPayment", self._request( "post", "/v1/test_helpers/treasury/outbound_payments/{id}".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def update_async( self, id: str, params: "OutboundPaymentUpdateParams", options: Optional["RequestOptions"] = None, ) -> "OutboundPayment": """ Updates a test mode created OutboundPayment with tracking details. The OutboundPayment must not be cancelable, and cannot be in the canceled or failed states. """ return cast( "OutboundPayment", await self._request_async( "post", "/v1/test_helpers/treasury/outbound_payments/{id}".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def fail( self, id: str, params: Optional["OutboundPaymentFailParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the failed status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", self._request( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/fail".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def fail_async( self, id: str, params: Optional["OutboundPaymentFailParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the failed status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", await self._request_async( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/fail".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def post( self, id: str, params: Optional["OutboundPaymentPostParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the posted status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", self._request( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/post".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def post_async( self, id: str, params: Optional["OutboundPaymentPostParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the posted status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", await self._request_async( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/post".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def return_outbound_payment( self, id: str, params: Optional["OutboundPaymentReturnOutboundPaymentParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the returned status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", self._request( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/return".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def return_outbound_payment_async( self, id: str, params: Optional["OutboundPaymentReturnOutboundPaymentParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the returned status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", await self._request_async( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/return".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/test_helpers/treasury/_outbound_transfer_service.py0000644000000000000000000001647215102753431023725 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.test_helpers.treasury._outbound_transfer_fail_params import ( OutboundTransferFailParams, ) from stripe.params.test_helpers.treasury._outbound_transfer_post_params import ( OutboundTransferPostParams, ) from stripe.params.test_helpers.treasury._outbound_transfer_return_outbound_transfer_params import ( OutboundTransferReturnOutboundTransferParams, ) from stripe.params.test_helpers.treasury._outbound_transfer_update_params import ( OutboundTransferUpdateParams, ) from stripe.treasury._outbound_transfer import OutboundTransfer class OutboundTransferService(StripeService): def update( self, outbound_transfer: str, params: "OutboundTransferUpdateParams", options: Optional["RequestOptions"] = None, ) -> "OutboundTransfer": """ Updates a test mode created OutboundTransfer with tracking details. The OutboundTransfer must not be cancelable, and cannot be in the canceled or failed states. """ return cast( "OutboundTransfer", self._request( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}".format( outbound_transfer=sanitize_id(outbound_transfer), ), base_address="api", params=params, options=options, ), ) async def update_async( self, outbound_transfer: str, params: "OutboundTransferUpdateParams", options: Optional["RequestOptions"] = None, ) -> "OutboundTransfer": """ Updates a test mode created OutboundTransfer with tracking details. The OutboundTransfer must not be cancelable, and cannot be in the canceled or failed states. """ return cast( "OutboundTransfer", await self._request_async( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}".format( outbound_transfer=sanitize_id(outbound_transfer), ), base_address="api", params=params, options=options, ), ) def fail( self, outbound_transfer: str, params: Optional["OutboundTransferFailParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the failed status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", self._request( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/fail".format( outbound_transfer=sanitize_id(outbound_transfer), ), base_address="api", params=params, options=options, ), ) async def fail_async( self, outbound_transfer: str, params: Optional["OutboundTransferFailParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the failed status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", await self._request_async( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/fail".format( outbound_transfer=sanitize_id(outbound_transfer), ), base_address="api", params=params, options=options, ), ) def post( self, outbound_transfer: str, params: Optional["OutboundTransferPostParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the posted status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", self._request( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/post".format( outbound_transfer=sanitize_id(outbound_transfer), ), base_address="api", params=params, options=options, ), ) async def post_async( self, outbound_transfer: str, params: Optional["OutboundTransferPostParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the posted status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", await self._request_async( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/post".format( outbound_transfer=sanitize_id(outbound_transfer), ), base_address="api", params=params, options=options, ), ) def return_outbound_transfer( self, outbound_transfer: str, params: Optional[ "OutboundTransferReturnOutboundTransferParams" ] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the returned status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", self._request( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/return".format( outbound_transfer=sanitize_id(outbound_transfer), ), base_address="api", params=params, options=options, ), ) async def return_outbound_transfer_async( self, outbound_transfer: str, params: Optional[ "OutboundTransferReturnOutboundTransferParams" ] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the returned status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", await self._request_async( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/return".format( outbound_transfer=sanitize_id(outbound_transfer), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/test_helpers/treasury/_received_credit_service.py0000644000000000000000000000343015102753431023270 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.test_helpers.treasury._received_credit_create_params import ( ReceivedCreditCreateParams, ) from stripe.treasury._received_credit import ReceivedCredit class ReceivedCreditService(StripeService): def create( self, params: "ReceivedCreditCreateParams", options: Optional["RequestOptions"] = None, ) -> "ReceivedCredit": """ Use this endpoint to simulate a test mode ReceivedCredit initiated by a third party. In live mode, you can't directly create ReceivedCredits initiated by third parties. """ return cast( "ReceivedCredit", self._request( "post", "/v1/test_helpers/treasury/received_credits", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "ReceivedCreditCreateParams", options: Optional["RequestOptions"] = None, ) -> "ReceivedCredit": """ Use this endpoint to simulate a test mode ReceivedCredit initiated by a third party. In live mode, you can't directly create ReceivedCredits initiated by third parties. """ return cast( "ReceivedCredit", await self._request_async( "post", "/v1/test_helpers/treasury/received_credits", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/test_helpers/treasury/_received_debit_service.py0000644000000000000000000000340715102753431023111 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.test_helpers.treasury._received_debit_create_params import ( ReceivedDebitCreateParams, ) from stripe.treasury._received_debit import ReceivedDebit class ReceivedDebitService(StripeService): def create( self, params: "ReceivedDebitCreateParams", options: Optional["RequestOptions"] = None, ) -> "ReceivedDebit": """ Use this endpoint to simulate a test mode ReceivedDebit initiated by a third party. In live mode, you can't directly create ReceivedDebits initiated by third parties. """ return cast( "ReceivedDebit", self._request( "post", "/v1/test_helpers/treasury/received_debits", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "ReceivedDebitCreateParams", options: Optional["RequestOptions"] = None, ) -> "ReceivedDebit": """ Use this endpoint to simulate a test mode ReceivedDebit initiated by a third party. In live mode, you can't directly create ReceivedDebits initiated by third parties. """ return cast( "ReceivedDebit", await self._request_async( "post", "/v1/test_helpers/treasury/received_debits", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/treasury/__init__.py0000644000000000000000000001150515102753431015331 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.treasury._credit_reversal import ( CreditReversal as CreditReversal, ) from stripe.treasury._credit_reversal_service import ( CreditReversalService as CreditReversalService, ) from stripe.treasury._debit_reversal import DebitReversal as DebitReversal from stripe.treasury._debit_reversal_service import ( DebitReversalService as DebitReversalService, ) from stripe.treasury._financial_account import ( FinancialAccount as FinancialAccount, ) from stripe.treasury._financial_account_features import ( FinancialAccountFeatures as FinancialAccountFeatures, ) from stripe.treasury._financial_account_features_service import ( FinancialAccountFeaturesService as FinancialAccountFeaturesService, ) from stripe.treasury._financial_account_service import ( FinancialAccountService as FinancialAccountService, ) from stripe.treasury._inbound_transfer import ( InboundTransfer as InboundTransfer, ) from stripe.treasury._inbound_transfer_service import ( InboundTransferService as InboundTransferService, ) from stripe.treasury._outbound_payment import ( OutboundPayment as OutboundPayment, ) from stripe.treasury._outbound_payment_service import ( OutboundPaymentService as OutboundPaymentService, ) from stripe.treasury._outbound_transfer import ( OutboundTransfer as OutboundTransfer, ) from stripe.treasury._outbound_transfer_service import ( OutboundTransferService as OutboundTransferService, ) from stripe.treasury._received_credit import ( ReceivedCredit as ReceivedCredit, ) from stripe.treasury._received_credit_service import ( ReceivedCreditService as ReceivedCreditService, ) from stripe.treasury._received_debit import ReceivedDebit as ReceivedDebit from stripe.treasury._received_debit_service import ( ReceivedDebitService as ReceivedDebitService, ) from stripe.treasury._transaction import Transaction as Transaction from stripe.treasury._transaction_entry import ( TransactionEntry as TransactionEntry, ) from stripe.treasury._transaction_entry_service import ( TransactionEntryService as TransactionEntryService, ) from stripe.treasury._transaction_service import ( TransactionService as TransactionService, ) # name -> (import_target, is_submodule) _import_map = { "CreditReversal": ("stripe.treasury._credit_reversal", False), "CreditReversalService": ( "stripe.treasury._credit_reversal_service", False, ), "DebitReversal": ("stripe.treasury._debit_reversal", False), "DebitReversalService": ("stripe.treasury._debit_reversal_service", False), "FinancialAccount": ("stripe.treasury._financial_account", False), "FinancialAccountFeatures": ( "stripe.treasury._financial_account_features", False, ), "FinancialAccountFeaturesService": ( "stripe.treasury._financial_account_features_service", False, ), "FinancialAccountService": ( "stripe.treasury._financial_account_service", False, ), "InboundTransfer": ("stripe.treasury._inbound_transfer", False), "InboundTransferService": ( "stripe.treasury._inbound_transfer_service", False, ), "OutboundPayment": ("stripe.treasury._outbound_payment", False), "OutboundPaymentService": ( "stripe.treasury._outbound_payment_service", False, ), "OutboundTransfer": ("stripe.treasury._outbound_transfer", False), "OutboundTransferService": ( "stripe.treasury._outbound_transfer_service", False, ), "ReceivedCredit": ("stripe.treasury._received_credit", False), "ReceivedCreditService": ( "stripe.treasury._received_credit_service", False, ), "ReceivedDebit": ("stripe.treasury._received_debit", False), "ReceivedDebitService": ("stripe.treasury._received_debit_service", False), "Transaction": ("stripe.treasury._transaction", False), "TransactionEntry": ("stripe.treasury._transaction_entry", False), "TransactionEntryService": ( "stripe.treasury._transaction_entry_service", False, ), "TransactionService": ("stripe.treasury._transaction_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/treasury/_credit_reversal.py0000644000000000000000000001404515102753431017110 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, Dict, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.treasury._credit_reversal_create_params import ( CreditReversalCreateParams, ) from stripe.params.treasury._credit_reversal_list_params import ( CreditReversalListParams, ) from stripe.params.treasury._credit_reversal_retrieve_params import ( CreditReversalRetrieveParams, ) from stripe.treasury._transaction import Transaction class CreditReversal( CreateableAPIResource["CreditReversal"], ListableAPIResource["CreditReversal"], ): """ You can reverse some [ReceivedCredits](https://stripe.com/docs/api#received_credits) depending on their network and source flow. Reversing a ReceivedCredit leads to the creation of a new object known as a CreditReversal. """ OBJECT_NAME: ClassVar[Literal["treasury.credit_reversal"]] = ( "treasury.credit_reversal" ) class StatusTransitions(StripeObject): posted_at: Optional[int] """ Timestamp describing when the CreditReversal changed status to `posted` """ amount: int """ Amount (in cents) transferred. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ financial_account: str """ The FinancialAccount to reverse funds from. """ 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. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ network: Literal["ach", "stripe"] """ The rails used to reverse the funds. """ object: Literal["treasury.credit_reversal"] """ String representing the object's type. Objects of the same type share the same value. """ received_credit: str """ The ReceivedCredit being reversed. """ status: Literal["canceled", "posted", "processing"] """ Status of the CreditReversal """ status_transitions: StatusTransitions transaction: Optional[ExpandableField["Transaction"]] """ The Transaction associated with this object. """ @classmethod def create( cls, **params: Unpack["CreditReversalCreateParams"] ) -> "CreditReversal": """ Reverses a ReceivedCredit and creates a CreditReversal object. """ return cast( "CreditReversal", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["CreditReversalCreateParams"] ) -> "CreditReversal": """ Reverses a ReceivedCredit and creates a CreditReversal object. """ return cast( "CreditReversal", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["CreditReversalListParams"] ) -> ListObject["CreditReversal"]: """ Returns a list of CreditReversals. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["CreditReversalListParams"] ) -> ListObject["CreditReversal"]: """ Returns a list of CreditReversals. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["CreditReversalRetrieveParams"] ) -> "CreditReversal": """ Retrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the CreditReversal creation request or CreditReversal list """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["CreditReversalRetrieveParams"] ) -> "CreditReversal": """ Retrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the CreditReversal creation request or CreditReversal list """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = {"status_transitions": StatusTransitions} ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/treasury/_credit_reversal_service.py0000644000000000000000000001066715102753431020636 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.treasury._credit_reversal_create_params import ( CreditReversalCreateParams, ) from stripe.params.treasury._credit_reversal_list_params import ( CreditReversalListParams, ) from stripe.params.treasury._credit_reversal_retrieve_params import ( CreditReversalRetrieveParams, ) from stripe.treasury._credit_reversal import CreditReversal class CreditReversalService(StripeService): def list( self, params: "CreditReversalListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[CreditReversal]": """ Returns a list of CreditReversals. """ return cast( "ListObject[CreditReversal]", self._request( "get", "/v1/treasury/credit_reversals", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "CreditReversalListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[CreditReversal]": """ Returns a list of CreditReversals. """ return cast( "ListObject[CreditReversal]", await self._request_async( "get", "/v1/treasury/credit_reversals", base_address="api", params=params, options=options, ), ) def create( self, params: "CreditReversalCreateParams", options: Optional["RequestOptions"] = None, ) -> "CreditReversal": """ Reverses a ReceivedCredit and creates a CreditReversal object. """ return cast( "CreditReversal", self._request( "post", "/v1/treasury/credit_reversals", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "CreditReversalCreateParams", options: Optional["RequestOptions"] = None, ) -> "CreditReversal": """ Reverses a ReceivedCredit and creates a CreditReversal object. """ return cast( "CreditReversal", await self._request_async( "post", "/v1/treasury/credit_reversals", base_address="api", params=params, options=options, ), ) def retrieve( self, credit_reversal: str, params: Optional["CreditReversalRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditReversal": """ Retrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the CreditReversal creation request or CreditReversal list """ return cast( "CreditReversal", self._request( "get", "/v1/treasury/credit_reversals/{credit_reversal}".format( credit_reversal=sanitize_id(credit_reversal), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, credit_reversal: str, params: Optional["CreditReversalRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "CreditReversal": """ Retrieves the details of an existing CreditReversal by passing the unique CreditReversal ID from either the CreditReversal creation request or CreditReversal list """ return cast( "CreditReversal", await self._request_async( "get", "/v1/treasury/credit_reversals/{credit_reversal}".format( credit_reversal=sanitize_id(credit_reversal), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/treasury/_debit_reversal.py0000644000000000000000000001412515102753431016724 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, Dict, Optional, cast from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.treasury._debit_reversal_create_params import ( DebitReversalCreateParams, ) from stripe.params.treasury._debit_reversal_list_params import ( DebitReversalListParams, ) from stripe.params.treasury._debit_reversal_retrieve_params import ( DebitReversalRetrieveParams, ) from stripe.treasury._transaction import Transaction class DebitReversal( CreateableAPIResource["DebitReversal"], ListableAPIResource["DebitReversal"], ): """ You can reverse some [ReceivedDebits](https://stripe.com/docs/api#received_debits) depending on their network and source flow. Reversing a ReceivedDebit leads to the creation of a new object known as a DebitReversal. """ OBJECT_NAME: ClassVar[Literal["treasury.debit_reversal"]] = ( "treasury.debit_reversal" ) class LinkedFlows(StripeObject): issuing_dispute: Optional[str] """ Set if there is an Issuing dispute associated with the DebitReversal. """ class StatusTransitions(StripeObject): completed_at: Optional[int] """ Timestamp describing when the DebitReversal changed status to `completed`. """ amount: int """ Amount (in cents) transferred. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ financial_account: Optional[str] """ The FinancialAccount to reverse funds from. """ 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. """ id: str """ Unique identifier for the object. """ linked_flows: Optional[LinkedFlows] """ Other flows linked to a DebitReversal. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ network: Literal["ach", "card"] """ The rails used to reverse the funds. """ object: Literal["treasury.debit_reversal"] """ String representing the object's type. Objects of the same type share the same value. """ received_debit: str """ The ReceivedDebit being reversed. """ status: Literal["failed", "processing", "succeeded"] """ Status of the DebitReversal """ status_transitions: StatusTransitions transaction: Optional[ExpandableField["Transaction"]] """ The Transaction associated with this object. """ @classmethod def create( cls, **params: Unpack["DebitReversalCreateParams"] ) -> "DebitReversal": """ Reverses a ReceivedDebit and creates a DebitReversal object. """ return cast( "DebitReversal", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["DebitReversalCreateParams"] ) -> "DebitReversal": """ Reverses a ReceivedDebit and creates a DebitReversal object. """ return cast( "DebitReversal", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["DebitReversalListParams"] ) -> ListObject["DebitReversal"]: """ Returns a list of DebitReversals. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["DebitReversalListParams"] ) -> ListObject["DebitReversal"]: """ Returns a list of DebitReversals. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["DebitReversalRetrieveParams"] ) -> "DebitReversal": """ Retrieves a DebitReversal object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["DebitReversalRetrieveParams"] ) -> "DebitReversal": """ Retrieves a DebitReversal object. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "linked_flows": LinkedFlows, "status_transitions": StatusTransitions, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/treasury/_debit_reversal_service.py0000644000000000000000000001020615102753431020440 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.treasury._debit_reversal_create_params import ( DebitReversalCreateParams, ) from stripe.params.treasury._debit_reversal_list_params import ( DebitReversalListParams, ) from stripe.params.treasury._debit_reversal_retrieve_params import ( DebitReversalRetrieveParams, ) from stripe.treasury._debit_reversal import DebitReversal class DebitReversalService(StripeService): def list( self, params: "DebitReversalListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[DebitReversal]": """ Returns a list of DebitReversals. """ return cast( "ListObject[DebitReversal]", self._request( "get", "/v1/treasury/debit_reversals", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "DebitReversalListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[DebitReversal]": """ Returns a list of DebitReversals. """ return cast( "ListObject[DebitReversal]", await self._request_async( "get", "/v1/treasury/debit_reversals", base_address="api", params=params, options=options, ), ) def create( self, params: "DebitReversalCreateParams", options: Optional["RequestOptions"] = None, ) -> "DebitReversal": """ Reverses a ReceivedDebit and creates a DebitReversal object. """ return cast( "DebitReversal", self._request( "post", "/v1/treasury/debit_reversals", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "DebitReversalCreateParams", options: Optional["RequestOptions"] = None, ) -> "DebitReversal": """ Reverses a ReceivedDebit and creates a DebitReversal object. """ return cast( "DebitReversal", await self._request_async( "post", "/v1/treasury/debit_reversals", base_address="api", params=params, options=options, ), ) def retrieve( self, debit_reversal: str, params: Optional["DebitReversalRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "DebitReversal": """ Retrieves a DebitReversal object. """ return cast( "DebitReversal", self._request( "get", "/v1/treasury/debit_reversals/{debit_reversal}".format( debit_reversal=sanitize_id(debit_reversal), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, debit_reversal: str, params: Optional["DebitReversalRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "DebitReversal": """ Retrieves a DebitReversal object. """ return cast( "DebitReversal", await self._request_async( "get", "/v1/treasury/debit_reversals/{debit_reversal}".format( debit_reversal=sanitize_id(debit_reversal), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/treasury/_financial_account.py0000644000000000000000000005702015102753431017373 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._updateable_api_resource import UpdateableAPIResource from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, List, Optional, cast, overload from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.treasury._financial_account_close_params import ( FinancialAccountCloseParams, ) from stripe.params.treasury._financial_account_create_params import ( FinancialAccountCreateParams, ) from stripe.params.treasury._financial_account_list_params import ( FinancialAccountListParams, ) from stripe.params.treasury._financial_account_modify_params import ( FinancialAccountModifyParams, ) from stripe.params.treasury._financial_account_retrieve_features_params import ( FinancialAccountRetrieveFeaturesParams, ) from stripe.params.treasury._financial_account_retrieve_params import ( FinancialAccountRetrieveParams, ) from stripe.params.treasury._financial_account_update_features_params import ( FinancialAccountUpdateFeaturesParams, ) from stripe.treasury._financial_account_features import ( FinancialAccountFeatures, ) class FinancialAccount( CreateableAPIResource["FinancialAccount"], ListableAPIResource["FinancialAccount"], UpdateableAPIResource["FinancialAccount"], ): """ Stripe Treasury provides users with a container for money called a FinancialAccount that is separate from their Payments balance. FinancialAccounts serve as the source and destination of Treasury's money movement APIs. """ OBJECT_NAME: ClassVar[Literal["treasury.financial_account"]] = ( "treasury.financial_account" ) class Balance(StripeObject): cash: Dict[str, int] """ Funds the user can spend right now. """ inbound_pending: Dict[str, int] """ Funds not spendable yet, but will become available at a later time. """ outbound_pending: Dict[str, int] """ Funds in the account, but not spendable because they are being held for pending outbound flows. """ class FinancialAddress(StripeObject): class Aba(StripeObject): account_holder_name: str """ The name of the person or business that owns the bank account. """ account_number: Optional[str] """ The account number. """ account_number_last4: str """ The last four characters of the account number. """ bank_name: str """ Name of the bank. """ routing_number: str """ Routing number for the account. """ aba: Optional[Aba] """ ABA Records contain U.S. bank account details per the ABA format. """ supported_networks: Optional[List[Literal["ach", "us_domestic_wire"]]] """ The list of networks that the address supports """ type: Literal["aba"] """ The type of financial address """ _inner_class_types = {"aba": Aba} class PlatformRestrictions(StripeObject): inbound_flows: Optional[Literal["restricted", "unrestricted"]] """ Restricts all inbound money movement. """ outbound_flows: Optional[Literal["restricted", "unrestricted"]] """ Restricts all outbound money movement. """ class StatusDetails(StripeObject): class Closed(StripeObject): reasons: List[ Literal["account_rejected", "closed_by_platform", "other"] ] """ The array that contains reasons for a FinancialAccount closure. """ closed: Optional[Closed] """ Details related to the closure of this FinancialAccount """ _inner_class_types = {"closed": Closed} active_features: Optional[ List[ Literal[ "card_issuing", "deposit_insurance", "financial_addresses.aba", "financial_addresses.aba.forwarding", "inbound_transfers.ach", "intra_stripe_flows", "outbound_payments.ach", "outbound_payments.us_domestic_wire", "outbound_transfers.ach", "outbound_transfers.us_domestic_wire", "remote_deposit_capture", ] ] ] """ The array of paths to active Features in the Features hash. """ balance: Balance """ Balance information for the FinancialAccount """ country: str """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ features: Optional["FinancialAccountFeatures"] """ Encodes whether a FinancialAccount has access to a particular Feature, with a `status` enum and associated `status_details`. Stripe or the platform can control Features via the requested field. """ financial_addresses: List[FinancialAddress] """ The set of credentials that resolve to a FinancialAccount. """ id: str """ Unique identifier for the object. """ is_default: Optional[bool] livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ nickname: Optional[str] """ The nickname for the FinancialAccount. """ object: Literal["treasury.financial_account"] """ String representing the object's type. Objects of the same type share the same value. """ pending_features: Optional[ List[ Literal[ "card_issuing", "deposit_insurance", "financial_addresses.aba", "financial_addresses.aba.forwarding", "inbound_transfers.ach", "intra_stripe_flows", "outbound_payments.ach", "outbound_payments.us_domestic_wire", "outbound_transfers.ach", "outbound_transfers.us_domestic_wire", "remote_deposit_capture", ] ] ] """ The array of paths to pending Features in the Features hash. """ platform_restrictions: Optional[PlatformRestrictions] """ The set of functionalities that the platform can restrict on the FinancialAccount. """ restricted_features: Optional[ List[ Literal[ "card_issuing", "deposit_insurance", "financial_addresses.aba", "financial_addresses.aba.forwarding", "inbound_transfers.ach", "intra_stripe_flows", "outbound_payments.ach", "outbound_payments.us_domestic_wire", "outbound_transfers.ach", "outbound_transfers.us_domestic_wire", "remote_deposit_capture", ] ] ] """ The array of paths to restricted Features in the Features hash. """ status: Literal["closed", "open"] """ Status of this FinancialAccount. """ status_details: StatusDetails supported_currencies: List[str] """ The currencies the FinancialAccount can hold a balance in. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. """ @classmethod def _cls_close( cls, financial_account: str, **params: Unpack["FinancialAccountCloseParams"], ) -> "FinancialAccount": """ Closes a FinancialAccount. A FinancialAccount can only be closed if it has a zero balance, has no pending InboundTransfers, and has canceled all attached Issuing cards. """ return cast( "FinancialAccount", cls._static_request( "post", "/v1/treasury/financial_accounts/{financial_account}/close".format( financial_account=sanitize_id(financial_account) ), params=params, ), ) @overload @staticmethod def close( financial_account: str, **params: Unpack["FinancialAccountCloseParams"] ) -> "FinancialAccount": """ Closes a FinancialAccount. A FinancialAccount can only be closed if it has a zero balance, has no pending InboundTransfers, and has canceled all attached Issuing cards. """ ... @overload def close( self, **params: Unpack["FinancialAccountCloseParams"] ) -> "FinancialAccount": """ Closes a FinancialAccount. A FinancialAccount can only be closed if it has a zero balance, has no pending InboundTransfers, and has canceled all attached Issuing cards. """ ... @class_method_variant("_cls_close") def close( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["FinancialAccountCloseParams"] ) -> "FinancialAccount": """ Closes a FinancialAccount. A FinancialAccount can only be closed if it has a zero balance, has no pending InboundTransfers, and has canceled all attached Issuing cards. """ return cast( "FinancialAccount", self._request( "post", "/v1/treasury/financial_accounts/{financial_account}/close".format( financial_account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_close_async( cls, financial_account: str, **params: Unpack["FinancialAccountCloseParams"], ) -> "FinancialAccount": """ Closes a FinancialAccount. A FinancialAccount can only be closed if it has a zero balance, has no pending InboundTransfers, and has canceled all attached Issuing cards. """ return cast( "FinancialAccount", await cls._static_request_async( "post", "/v1/treasury/financial_accounts/{financial_account}/close".format( financial_account=sanitize_id(financial_account) ), params=params, ), ) @overload @staticmethod async def close_async( financial_account: str, **params: Unpack["FinancialAccountCloseParams"] ) -> "FinancialAccount": """ Closes a FinancialAccount. A FinancialAccount can only be closed if it has a zero balance, has no pending InboundTransfers, and has canceled all attached Issuing cards. """ ... @overload async def close_async( self, **params: Unpack["FinancialAccountCloseParams"] ) -> "FinancialAccount": """ Closes a FinancialAccount. A FinancialAccount can only be closed if it has a zero balance, has no pending InboundTransfers, and has canceled all attached Issuing cards. """ ... @class_method_variant("_cls_close_async") async def close_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["FinancialAccountCloseParams"] ) -> "FinancialAccount": """ Closes a FinancialAccount. A FinancialAccount can only be closed if it has a zero balance, has no pending InboundTransfers, and has canceled all attached Issuing cards. """ return cast( "FinancialAccount", await self._request_async( "post", "/v1/treasury/financial_accounts/{financial_account}/close".format( financial_account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create( cls, **params: Unpack["FinancialAccountCreateParams"] ) -> "FinancialAccount": """ Creates a new FinancialAccount. Each connected account can have up to three FinancialAccounts by default. """ return cast( "FinancialAccount", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["FinancialAccountCreateParams"] ) -> "FinancialAccount": """ Creates a new FinancialAccount. Each connected account can have up to three FinancialAccounts by default. """ return cast( "FinancialAccount", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["FinancialAccountListParams"] ) -> ListObject["FinancialAccount"]: """ Returns a list of FinancialAccounts. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["FinancialAccountListParams"] ) -> ListObject["FinancialAccount"]: """ Returns a list of FinancialAccounts. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def modify( cls, id: str, **params: Unpack["FinancialAccountModifyParams"] ) -> "FinancialAccount": """ Updates the details of a FinancialAccount. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "FinancialAccount", cls._static_request( "post", url, params=params, ), ) @classmethod async def modify_async( cls, id: str, **params: Unpack["FinancialAccountModifyParams"] ) -> "FinancialAccount": """ Updates the details of a FinancialAccount. """ url = "%s/%s" % (cls.class_url(), sanitize_id(id)) return cast( "FinancialAccount", await cls._static_request_async( "post", url, params=params, ), ) @classmethod def retrieve( cls, id: str, **params: Unpack["FinancialAccountRetrieveParams"] ) -> "FinancialAccount": """ Retrieves the details of a FinancialAccount. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["FinancialAccountRetrieveParams"] ) -> "FinancialAccount": """ Retrieves the details of a FinancialAccount. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def _cls_retrieve_features( cls, financial_account: str, **params: Unpack["FinancialAccountRetrieveFeaturesParams"], ) -> "FinancialAccountFeatures": """ Retrieves Features information associated with the FinancialAccount. """ return cast( "FinancialAccountFeatures", cls._static_request( "get", "/v1/treasury/financial_accounts/{financial_account}/features".format( financial_account=sanitize_id(financial_account) ), params=params, ), ) @overload @staticmethod def retrieve_features( financial_account: str, **params: Unpack["FinancialAccountRetrieveFeaturesParams"], ) -> "FinancialAccountFeatures": """ Retrieves Features information associated with the FinancialAccount. """ ... @overload def retrieve_features( self, **params: Unpack["FinancialAccountRetrieveFeaturesParams"] ) -> "FinancialAccountFeatures": """ Retrieves Features information associated with the FinancialAccount. """ ... @class_method_variant("_cls_retrieve_features") def retrieve_features( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["FinancialAccountRetrieveFeaturesParams"] ) -> "FinancialAccountFeatures": """ Retrieves Features information associated with the FinancialAccount. """ return cast( "FinancialAccountFeatures", self._request( "get", "/v1/treasury/financial_accounts/{financial_account}/features".format( financial_account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_retrieve_features_async( cls, financial_account: str, **params: Unpack["FinancialAccountRetrieveFeaturesParams"], ) -> "FinancialAccountFeatures": """ Retrieves Features information associated with the FinancialAccount. """ return cast( "FinancialAccountFeatures", await cls._static_request_async( "get", "/v1/treasury/financial_accounts/{financial_account}/features".format( financial_account=sanitize_id(financial_account) ), params=params, ), ) @overload @staticmethod async def retrieve_features_async( financial_account: str, **params: Unpack["FinancialAccountRetrieveFeaturesParams"], ) -> "FinancialAccountFeatures": """ Retrieves Features information associated with the FinancialAccount. """ ... @overload async def retrieve_features_async( self, **params: Unpack["FinancialAccountRetrieveFeaturesParams"] ) -> "FinancialAccountFeatures": """ Retrieves Features information associated with the FinancialAccount. """ ... @class_method_variant("_cls_retrieve_features_async") async def retrieve_features_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["FinancialAccountRetrieveFeaturesParams"] ) -> "FinancialAccountFeatures": """ Retrieves Features information associated with the FinancialAccount. """ return cast( "FinancialAccountFeatures", await self._request_async( "get", "/v1/treasury/financial_accounts/{financial_account}/features".format( financial_account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def _cls_update_features( cls, financial_account: str, **params: Unpack["FinancialAccountUpdateFeaturesParams"], ) -> "FinancialAccountFeatures": """ Updates the Features associated with a FinancialAccount. """ return cast( "FinancialAccountFeatures", cls._static_request( "post", "/v1/treasury/financial_accounts/{financial_account}/features".format( financial_account=sanitize_id(financial_account) ), params=params, ), ) @overload @staticmethod def update_features( financial_account: str, **params: Unpack["FinancialAccountUpdateFeaturesParams"], ) -> "FinancialAccountFeatures": """ Updates the Features associated with a FinancialAccount. """ ... @overload def update_features( self, **params: Unpack["FinancialAccountUpdateFeaturesParams"] ) -> "FinancialAccountFeatures": """ Updates the Features associated with a FinancialAccount. """ ... @class_method_variant("_cls_update_features") def update_features( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["FinancialAccountUpdateFeaturesParams"] ) -> "FinancialAccountFeatures": """ Updates the Features associated with a FinancialAccount. """ return cast( "FinancialAccountFeatures", self._request( "post", "/v1/treasury/financial_accounts/{financial_account}/features".format( financial_account=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_update_features_async( cls, financial_account: str, **params: Unpack["FinancialAccountUpdateFeaturesParams"], ) -> "FinancialAccountFeatures": """ Updates the Features associated with a FinancialAccount. """ return cast( "FinancialAccountFeatures", await cls._static_request_async( "post", "/v1/treasury/financial_accounts/{financial_account}/features".format( financial_account=sanitize_id(financial_account) ), params=params, ), ) @overload @staticmethod async def update_features_async( financial_account: str, **params: Unpack["FinancialAccountUpdateFeaturesParams"], ) -> "FinancialAccountFeatures": """ Updates the Features associated with a FinancialAccount. """ ... @overload async def update_features_async( self, **params: Unpack["FinancialAccountUpdateFeaturesParams"] ) -> "FinancialAccountFeatures": """ Updates the Features associated with a FinancialAccount. """ ... @class_method_variant("_cls_update_features_async") async def update_features_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["FinancialAccountUpdateFeaturesParams"] ) -> "FinancialAccountFeatures": """ Updates the Features associated with a FinancialAccount. """ return cast( "FinancialAccountFeatures", await self._request_async( "post", "/v1/treasury/financial_accounts/{financial_account}/features".format( financial_account=sanitize_id(self.get("id")) ), params=params, ), ) _inner_class_types = { "balance": Balance, "financial_addresses": FinancialAddress, "platform_restrictions": PlatformRestrictions, "status_details": StatusDetails, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/treasury/_financial_account_features.py0000644000000000000000000004437515102753431021302 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar, List, Optional from typing_extensions import Literal class FinancialAccountFeatures(StripeObject): """ Encodes whether a FinancialAccount has access to a particular Feature, with a `status` enum and associated `status_details`. Stripe or the platform can control Features via the requested field. """ OBJECT_NAME: ClassVar[Literal["treasury.financial_account_features"]] = ( "treasury.financial_account_features" ) class CardIssuing(StripeObject): class StatusDetail(StripeObject): code: Literal[ "activating", "capability_not_requested", "financial_account_closed", "rejected_other", "rejected_unsupported_business", "requirements_past_due", "requirements_pending_verification", "restricted_by_platform", "restricted_other", ] """ Represents the reason why the status is `pending` or `restricted`. """ resolution: Optional[ Literal[ "contact_stripe", "provide_information", "remove_restriction", ] ] """ Represents what the user should do, if anything, to activate the Feature. """ restriction: Optional[Literal["inbound_flows", "outbound_flows"]] """ The `platform_restrictions` that are restricting this Feature. """ requested: bool """ Whether the FinancialAccount should have the Feature. """ status: Literal["active", "pending", "restricted"] """ Whether the Feature is operational. """ status_details: List[StatusDetail] """ Additional details; includes at least one entry when the status is not `active`. """ _inner_class_types = {"status_details": StatusDetail} class DepositInsurance(StripeObject): class StatusDetail(StripeObject): code: Literal[ "activating", "capability_not_requested", "financial_account_closed", "rejected_other", "rejected_unsupported_business", "requirements_past_due", "requirements_pending_verification", "restricted_by_platform", "restricted_other", ] """ Represents the reason why the status is `pending` or `restricted`. """ resolution: Optional[ Literal[ "contact_stripe", "provide_information", "remove_restriction", ] ] """ Represents what the user should do, if anything, to activate the Feature. """ restriction: Optional[Literal["inbound_flows", "outbound_flows"]] """ The `platform_restrictions` that are restricting this Feature. """ requested: bool """ Whether the FinancialAccount should have the Feature. """ status: Literal["active", "pending", "restricted"] """ Whether the Feature is operational. """ status_details: List[StatusDetail] """ Additional details; includes at least one entry when the status is not `active`. """ _inner_class_types = {"status_details": StatusDetail} class FinancialAddresses(StripeObject): class Aba(StripeObject): class StatusDetail(StripeObject): code: Literal[ "activating", "capability_not_requested", "financial_account_closed", "rejected_other", "rejected_unsupported_business", "requirements_past_due", "requirements_pending_verification", "restricted_by_platform", "restricted_other", ] """ Represents the reason why the status is `pending` or `restricted`. """ resolution: Optional[ Literal[ "contact_stripe", "provide_information", "remove_restriction", ] ] """ Represents what the user should do, if anything, to activate the Feature. """ restriction: Optional[ Literal["inbound_flows", "outbound_flows"] ] """ The `platform_restrictions` that are restricting this Feature. """ requested: bool """ Whether the FinancialAccount should have the Feature. """ status: Literal["active", "pending", "restricted"] """ Whether the Feature is operational. """ status_details: List[StatusDetail] """ Additional details; includes at least one entry when the status is not `active`. """ _inner_class_types = {"status_details": StatusDetail} aba: Optional[Aba] """ Toggle settings for enabling/disabling the ABA address feature """ _inner_class_types = {"aba": Aba} class InboundTransfers(StripeObject): class Ach(StripeObject): class StatusDetail(StripeObject): code: Literal[ "activating", "capability_not_requested", "financial_account_closed", "rejected_other", "rejected_unsupported_business", "requirements_past_due", "requirements_pending_verification", "restricted_by_platform", "restricted_other", ] """ Represents the reason why the status is `pending` or `restricted`. """ resolution: Optional[ Literal[ "contact_stripe", "provide_information", "remove_restriction", ] ] """ Represents what the user should do, if anything, to activate the Feature. """ restriction: Optional[ Literal["inbound_flows", "outbound_flows"] ] """ The `platform_restrictions` that are restricting this Feature. """ requested: bool """ Whether the FinancialAccount should have the Feature. """ status: Literal["active", "pending", "restricted"] """ Whether the Feature is operational. """ status_details: List[StatusDetail] """ Additional details; includes at least one entry when the status is not `active`. """ _inner_class_types = {"status_details": StatusDetail} ach: Optional[Ach] """ Toggle settings for enabling/disabling an inbound ACH specific feature """ _inner_class_types = {"ach": Ach} class IntraStripeFlows(StripeObject): class StatusDetail(StripeObject): code: Literal[ "activating", "capability_not_requested", "financial_account_closed", "rejected_other", "rejected_unsupported_business", "requirements_past_due", "requirements_pending_verification", "restricted_by_platform", "restricted_other", ] """ Represents the reason why the status is `pending` or `restricted`. """ resolution: Optional[ Literal[ "contact_stripe", "provide_information", "remove_restriction", ] ] """ Represents what the user should do, if anything, to activate the Feature. """ restriction: Optional[Literal["inbound_flows", "outbound_flows"]] """ The `platform_restrictions` that are restricting this Feature. """ requested: bool """ Whether the FinancialAccount should have the Feature. """ status: Literal["active", "pending", "restricted"] """ Whether the Feature is operational. """ status_details: List[StatusDetail] """ Additional details; includes at least one entry when the status is not `active`. """ _inner_class_types = {"status_details": StatusDetail} class OutboundPayments(StripeObject): class Ach(StripeObject): class StatusDetail(StripeObject): code: Literal[ "activating", "capability_not_requested", "financial_account_closed", "rejected_other", "rejected_unsupported_business", "requirements_past_due", "requirements_pending_verification", "restricted_by_platform", "restricted_other", ] """ Represents the reason why the status is `pending` or `restricted`. """ resolution: Optional[ Literal[ "contact_stripe", "provide_information", "remove_restriction", ] ] """ Represents what the user should do, if anything, to activate the Feature. """ restriction: Optional[ Literal["inbound_flows", "outbound_flows"] ] """ The `platform_restrictions` that are restricting this Feature. """ requested: bool """ Whether the FinancialAccount should have the Feature. """ status: Literal["active", "pending", "restricted"] """ Whether the Feature is operational. """ status_details: List[StatusDetail] """ Additional details; includes at least one entry when the status is not `active`. """ _inner_class_types = {"status_details": StatusDetail} class UsDomesticWire(StripeObject): class StatusDetail(StripeObject): code: Literal[ "activating", "capability_not_requested", "financial_account_closed", "rejected_other", "rejected_unsupported_business", "requirements_past_due", "requirements_pending_verification", "restricted_by_platform", "restricted_other", ] """ Represents the reason why the status is `pending` or `restricted`. """ resolution: Optional[ Literal[ "contact_stripe", "provide_information", "remove_restriction", ] ] """ Represents what the user should do, if anything, to activate the Feature. """ restriction: Optional[ Literal["inbound_flows", "outbound_flows"] ] """ The `platform_restrictions` that are restricting this Feature. """ requested: bool """ Whether the FinancialAccount should have the Feature. """ status: Literal["active", "pending", "restricted"] """ Whether the Feature is operational. """ status_details: List[StatusDetail] """ Additional details; includes at least one entry when the status is not `active`. """ _inner_class_types = {"status_details": StatusDetail} ach: Optional[Ach] """ Toggle settings for enabling/disabling an outbound ACH specific feature """ us_domestic_wire: Optional[UsDomesticWire] """ Toggle settings for enabling/disabling a feature """ _inner_class_types = {"ach": Ach, "us_domestic_wire": UsDomesticWire} class OutboundTransfers(StripeObject): class Ach(StripeObject): class StatusDetail(StripeObject): code: Literal[ "activating", "capability_not_requested", "financial_account_closed", "rejected_other", "rejected_unsupported_business", "requirements_past_due", "requirements_pending_verification", "restricted_by_platform", "restricted_other", ] """ Represents the reason why the status is `pending` or `restricted`. """ resolution: Optional[ Literal[ "contact_stripe", "provide_information", "remove_restriction", ] ] """ Represents what the user should do, if anything, to activate the Feature. """ restriction: Optional[ Literal["inbound_flows", "outbound_flows"] ] """ The `platform_restrictions` that are restricting this Feature. """ requested: bool """ Whether the FinancialAccount should have the Feature. """ status: Literal["active", "pending", "restricted"] """ Whether the Feature is operational. """ status_details: List[StatusDetail] """ Additional details; includes at least one entry when the status is not `active`. """ _inner_class_types = {"status_details": StatusDetail} class UsDomesticWire(StripeObject): class StatusDetail(StripeObject): code: Literal[ "activating", "capability_not_requested", "financial_account_closed", "rejected_other", "rejected_unsupported_business", "requirements_past_due", "requirements_pending_verification", "restricted_by_platform", "restricted_other", ] """ Represents the reason why the status is `pending` or `restricted`. """ resolution: Optional[ Literal[ "contact_stripe", "provide_information", "remove_restriction", ] ] """ Represents what the user should do, if anything, to activate the Feature. """ restriction: Optional[ Literal["inbound_flows", "outbound_flows"] ] """ The `platform_restrictions` that are restricting this Feature. """ requested: bool """ Whether the FinancialAccount should have the Feature. """ status: Literal["active", "pending", "restricted"] """ Whether the Feature is operational. """ status_details: List[StatusDetail] """ Additional details; includes at least one entry when the status is not `active`. """ _inner_class_types = {"status_details": StatusDetail} ach: Optional[Ach] """ Toggle settings for enabling/disabling an outbound ACH specific feature """ us_domestic_wire: Optional[UsDomesticWire] """ Toggle settings for enabling/disabling a feature """ _inner_class_types = {"ach": Ach, "us_domestic_wire": UsDomesticWire} card_issuing: Optional[CardIssuing] """ Toggle settings for enabling/disabling a feature """ deposit_insurance: Optional[DepositInsurance] """ Toggle settings for enabling/disabling a feature """ financial_addresses: Optional[FinancialAddresses] """ Settings related to Financial Addresses features on a Financial Account """ inbound_transfers: Optional[InboundTransfers] """ InboundTransfers contains inbound transfers features for a FinancialAccount. """ intra_stripe_flows: Optional[IntraStripeFlows] """ Toggle settings for enabling/disabling a feature """ object: Literal["treasury.financial_account_features"] """ String representing the object's type. Objects of the same type share the same value. """ outbound_payments: Optional[OutboundPayments] """ Settings related to Outbound Payments features on a Financial Account """ outbound_transfers: Optional[OutboundTransfers] """ OutboundTransfers contains outbound transfers features for a FinancialAccount. """ _inner_class_types = { "card_issuing": CardIssuing, "deposit_insurance": DepositInsurance, "financial_addresses": FinancialAddresses, "inbound_transfers": InboundTransfers, "intra_stripe_flows": IntraStripeFlows, "outbound_payments": OutboundPayments, "outbound_transfers": OutboundTransfers, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3790622 stripe-13.2.0/stripe/treasury/_financial_account_features_service.py0000644000000000000000000000720615102753431023012 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.treasury._financial_account_features_retrieve_params import ( FinancialAccountFeaturesRetrieveParams, ) from stripe.params.treasury._financial_account_features_update_params import ( FinancialAccountFeaturesUpdateParams, ) from stripe.treasury._financial_account_features import ( FinancialAccountFeatures, ) class FinancialAccountFeaturesService(StripeService): def update( self, financial_account: str, params: Optional["FinancialAccountFeaturesUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "FinancialAccountFeatures": """ Updates the Features associated with a FinancialAccount. """ return cast( "FinancialAccountFeatures", self._request( "post", "/v1/treasury/financial_accounts/{financial_account}/features".format( financial_account=sanitize_id(financial_account), ), base_address="api", params=params, options=options, ), ) async def update_async( self, financial_account: str, params: Optional["FinancialAccountFeaturesUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "FinancialAccountFeatures": """ Updates the Features associated with a FinancialAccount. """ return cast( "FinancialAccountFeatures", await self._request_async( "post", "/v1/treasury/financial_accounts/{financial_account}/features".format( financial_account=sanitize_id(financial_account), ), base_address="api", params=params, options=options, ), ) def retrieve( self, financial_account: str, params: Optional["FinancialAccountFeaturesRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "FinancialAccountFeatures": """ Retrieves Features information associated with the FinancialAccount. """ return cast( "FinancialAccountFeatures", self._request( "get", "/v1/treasury/financial_accounts/{financial_account}/features".format( financial_account=sanitize_id(financial_account), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, financial_account: str, params: Optional["FinancialAccountFeaturesRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "FinancialAccountFeatures": """ Retrieves Features information associated with the FinancialAccount. """ return cast( "FinancialAccountFeatures", await self._request_async( "get", "/v1/treasury/financial_accounts/{financial_account}/features".format( financial_account=sanitize_id(financial_account), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/treasury/_financial_account_service.py0000644000000000000000000002067715102753431021123 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.treasury._financial_account_close_params import ( FinancialAccountCloseParams, ) from stripe.params.treasury._financial_account_create_params import ( FinancialAccountCreateParams, ) from stripe.params.treasury._financial_account_list_params import ( FinancialAccountListParams, ) from stripe.params.treasury._financial_account_retrieve_params import ( FinancialAccountRetrieveParams, ) from stripe.params.treasury._financial_account_update_params import ( FinancialAccountUpdateParams, ) from stripe.treasury._financial_account import FinancialAccount from stripe.treasury._financial_account_features_service import ( FinancialAccountFeaturesService, ) _subservices = { "features": [ "stripe.treasury._financial_account_features_service", "FinancialAccountFeaturesService", ], } class FinancialAccountService(StripeService): features: "FinancialAccountFeaturesService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() def list( self, params: Optional["FinancialAccountListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[FinancialAccount]": """ Returns a list of FinancialAccounts. """ return cast( "ListObject[FinancialAccount]", self._request( "get", "/v1/treasury/financial_accounts", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["FinancialAccountListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[FinancialAccount]": """ Returns a list of FinancialAccounts. """ return cast( "ListObject[FinancialAccount]", await self._request_async( "get", "/v1/treasury/financial_accounts", base_address="api", params=params, options=options, ), ) def create( self, params: "FinancialAccountCreateParams", options: Optional["RequestOptions"] = None, ) -> "FinancialAccount": """ Creates a new FinancialAccount. Each connected account can have up to three FinancialAccounts by default. """ return cast( "FinancialAccount", self._request( "post", "/v1/treasury/financial_accounts", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "FinancialAccountCreateParams", options: Optional["RequestOptions"] = None, ) -> "FinancialAccount": """ Creates a new FinancialAccount. Each connected account can have up to three FinancialAccounts by default. """ return cast( "FinancialAccount", await self._request_async( "post", "/v1/treasury/financial_accounts", base_address="api", params=params, options=options, ), ) def retrieve( self, financial_account: str, params: Optional["FinancialAccountRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "FinancialAccount": """ Retrieves the details of a FinancialAccount. """ return cast( "FinancialAccount", self._request( "get", "/v1/treasury/financial_accounts/{financial_account}".format( financial_account=sanitize_id(financial_account), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, financial_account: str, params: Optional["FinancialAccountRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "FinancialAccount": """ Retrieves the details of a FinancialAccount. """ return cast( "FinancialAccount", await self._request_async( "get", "/v1/treasury/financial_accounts/{financial_account}".format( financial_account=sanitize_id(financial_account), ), base_address="api", params=params, options=options, ), ) def update( self, financial_account: str, params: Optional["FinancialAccountUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "FinancialAccount": """ Updates the details of a FinancialAccount. """ return cast( "FinancialAccount", self._request( "post", "/v1/treasury/financial_accounts/{financial_account}".format( financial_account=sanitize_id(financial_account), ), base_address="api", params=params, options=options, ), ) async def update_async( self, financial_account: str, params: Optional["FinancialAccountUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "FinancialAccount": """ Updates the details of a FinancialAccount. """ return cast( "FinancialAccount", await self._request_async( "post", "/v1/treasury/financial_accounts/{financial_account}".format( financial_account=sanitize_id(financial_account), ), base_address="api", params=params, options=options, ), ) def close( self, financial_account: str, params: Optional["FinancialAccountCloseParams"] = None, options: Optional["RequestOptions"] = None, ) -> "FinancialAccount": """ Closes a FinancialAccount. A FinancialAccount can only be closed if it has a zero balance, has no pending InboundTransfers, and has canceled all attached Issuing cards. """ return cast( "FinancialAccount", self._request( "post", "/v1/treasury/financial_accounts/{financial_account}/close".format( financial_account=sanitize_id(financial_account), ), base_address="api", params=params, options=options, ), ) async def close_async( self, financial_account: str, params: Optional["FinancialAccountCloseParams"] = None, options: Optional["RequestOptions"] = None, ) -> "FinancialAccount": """ Closes a FinancialAccount. A FinancialAccount can only be closed if it has a zero balance, has no pending InboundTransfers, and has canceled all attached Issuing cards. """ return cast( "FinancialAccount", await self._request_async( "post", "/v1/treasury/financial_accounts/{financial_account}/close".format( financial_account=sanitize_id(financial_account), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/treasury/_inbound_transfer.py0000644000000000000000000007133015102753431017275 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._test_helpers import APIResourceTestHelpers from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, Optional, cast, overload from typing_extensions import Literal, Type, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._mandate import Mandate from stripe.params.treasury._inbound_transfer_cancel_params import ( InboundTransferCancelParams, ) from stripe.params.treasury._inbound_transfer_create_params import ( InboundTransferCreateParams, ) from stripe.params.treasury._inbound_transfer_fail_params import ( InboundTransferFailParams, ) from stripe.params.treasury._inbound_transfer_list_params import ( InboundTransferListParams, ) from stripe.params.treasury._inbound_transfer_retrieve_params import ( InboundTransferRetrieveParams, ) from stripe.params.treasury._inbound_transfer_return_inbound_transfer_params import ( InboundTransferReturnInboundTransferParams, ) from stripe.params.treasury._inbound_transfer_succeed_params import ( InboundTransferSucceedParams, ) from stripe.treasury._transaction import Transaction class InboundTransfer( CreateableAPIResource["InboundTransfer"], ListableAPIResource["InboundTransfer"], ): """ Use [InboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) to add funds to your [FinancialAccount](https://stripe.com/docs/api#financial_accounts) via a PaymentMethod that is owned by you. The funds will be transferred via an ACH debit. Related guide: [Moving money with Treasury using InboundTransfer objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) """ OBJECT_NAME: ClassVar[Literal["treasury.inbound_transfer"]] = ( "treasury.inbound_transfer" ) class FailureDetails(StripeObject): code: Literal[ "account_closed", "account_frozen", "bank_account_restricted", "bank_ownership_changed", "debit_not_authorized", "incorrect_account_holder_address", "incorrect_account_holder_name", "incorrect_account_holder_tax_id", "insufficient_funds", "invalid_account_number", "invalid_currency", "no_account", "other", ] """ Reason for the failure. """ class LinkedFlows(StripeObject): received_debit: Optional[str] """ If funds for this flow were returned after the flow went to the `succeeded` state, this field contains a reference to the ReceivedDebit return. """ class OriginPaymentMethodDetails(StripeObject): class BillingDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Address email: Optional[str] """ Email address. """ name: Optional[str] """ Full name. """ _inner_class_types = {"address": Address} class UsBankAccount(StripeObject): account_holder_type: Optional[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_type: Optional[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ mandate: Optional[ExpandableField["Mandate"]] """ ID of the mandate used to make this payment. """ network: Literal["ach"] """ The network rails used. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type. """ routing_number: Optional[str] """ Routing number of the bank account. """ billing_details: BillingDetails type: Literal["us_bank_account"] """ The type of the payment method used in the InboundTransfer. """ us_bank_account: Optional[UsBankAccount] _inner_class_types = { "billing_details": BillingDetails, "us_bank_account": UsBankAccount, } class StatusTransitions(StripeObject): canceled_at: Optional[int] """ Timestamp describing when an InboundTransfer changed status to `canceled`. """ failed_at: Optional[int] """ Timestamp describing when an InboundTransfer changed status to `failed`. """ succeeded_at: Optional[int] """ Timestamp describing when an InboundTransfer changed status to `succeeded`. """ amount: int """ Amount (in cents) transferred. """ cancelable: bool """ Returns `true` if the InboundTransfer is able to be canceled. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ failure_details: Optional[FailureDetails] """ Details about this InboundTransfer's failure. Only set when status is `failed`. """ financial_account: str """ The FinancialAccount that received the funds. """ 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. """ id: str """ Unique identifier for the object. """ linked_flows: LinkedFlows livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["treasury.inbound_transfer"] """ String representing the object's type. Objects of the same type share the same value. """ origin_payment_method: Optional[str] """ The origin payment method to be debited for an InboundTransfer. """ origin_payment_method_details: Optional[OriginPaymentMethodDetails] """ Details about the PaymentMethod for an InboundTransfer. """ returned: Optional[bool] """ Returns `true` if the funds for an InboundTransfer were returned after the InboundTransfer went to the `succeeded` state. """ statement_descriptor: str """ Statement descriptor shown when funds are debited from the source. Not all payment networks support `statement_descriptor`. """ status: Literal["canceled", "failed", "processing", "succeeded"] """ Status of the InboundTransfer: `processing`, `succeeded`, `failed`, and `canceled`. An InboundTransfer is `processing` if it is created and pending. The status changes to `succeeded` once the funds have been "confirmed" and a `transaction` is created and posted. The status changes to `failed` if the transfer fails. """ status_transitions: StatusTransitions transaction: Optional[ExpandableField["Transaction"]] """ The Transaction associated with this object. """ @classmethod def _cls_cancel( cls, inbound_transfer: str, **params: Unpack["InboundTransferCancelParams"], ) -> "InboundTransfer": """ Cancels an InboundTransfer. """ return cast( "InboundTransfer", cls._static_request( "post", "/v1/treasury/inbound_transfers/{inbound_transfer}/cancel".format( inbound_transfer=sanitize_id(inbound_transfer) ), params=params, ), ) @overload @staticmethod def cancel( inbound_transfer: str, **params: Unpack["InboundTransferCancelParams"] ) -> "InboundTransfer": """ Cancels an InboundTransfer. """ ... @overload def cancel( self, **params: Unpack["InboundTransferCancelParams"] ) -> "InboundTransfer": """ Cancels an InboundTransfer. """ ... @class_method_variant("_cls_cancel") def cancel( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InboundTransferCancelParams"] ) -> "InboundTransfer": """ Cancels an InboundTransfer. """ return cast( "InboundTransfer", self._request( "post", "/v1/treasury/inbound_transfers/{inbound_transfer}/cancel".format( inbound_transfer=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_cancel_async( cls, inbound_transfer: str, **params: Unpack["InboundTransferCancelParams"], ) -> "InboundTransfer": """ Cancels an InboundTransfer. """ return cast( "InboundTransfer", await cls._static_request_async( "post", "/v1/treasury/inbound_transfers/{inbound_transfer}/cancel".format( inbound_transfer=sanitize_id(inbound_transfer) ), params=params, ), ) @overload @staticmethod async def cancel_async( inbound_transfer: str, **params: Unpack["InboundTransferCancelParams"] ) -> "InboundTransfer": """ Cancels an InboundTransfer. """ ... @overload async def cancel_async( self, **params: Unpack["InboundTransferCancelParams"] ) -> "InboundTransfer": """ Cancels an InboundTransfer. """ ... @class_method_variant("_cls_cancel_async") async def cancel_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InboundTransferCancelParams"] ) -> "InboundTransfer": """ Cancels an InboundTransfer. """ return cast( "InboundTransfer", await self._request_async( "post", "/v1/treasury/inbound_transfers/{inbound_transfer}/cancel".format( inbound_transfer=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create( cls, **params: Unpack["InboundTransferCreateParams"] ) -> "InboundTransfer": """ Creates an InboundTransfer. """ return cast( "InboundTransfer", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["InboundTransferCreateParams"] ) -> "InboundTransfer": """ Creates an InboundTransfer. """ return cast( "InboundTransfer", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["InboundTransferListParams"] ) -> ListObject["InboundTransfer"]: """ Returns a list of InboundTransfers sent from the specified FinancialAccount. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["InboundTransferListParams"] ) -> ListObject["InboundTransfer"]: """ Returns a list of InboundTransfers sent from the specified FinancialAccount. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["InboundTransferRetrieveParams"] ) -> "InboundTransfer": """ Retrieves the details of an existing InboundTransfer. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["InboundTransferRetrieveParams"] ) -> "InboundTransfer": """ Retrieves the details of an existing InboundTransfer. """ instance = cls(id, **params) await instance.refresh_async() return instance class TestHelpers(APIResourceTestHelpers["InboundTransfer"]): _resource_cls: Type["InboundTransfer"] @classmethod def _cls_fail( cls, id: str, **params: Unpack["InboundTransferFailParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state. """ return cast( "InboundTransfer", cls._static_request( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/fail".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def fail( id: str, **params: Unpack["InboundTransferFailParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state. """ ... @overload def fail( self, **params: Unpack["InboundTransferFailParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state. """ ... @class_method_variant("_cls_fail") def fail( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InboundTransferFailParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state. """ return cast( "InboundTransfer", self.resource._request( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/fail".format( id=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_fail_async( cls, id: str, **params: Unpack["InboundTransferFailParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state. """ return cast( "InboundTransfer", await cls._static_request_async( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/fail".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def fail_async( id: str, **params: Unpack["InboundTransferFailParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state. """ ... @overload async def fail_async( self, **params: Unpack["InboundTransferFailParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state. """ ... @class_method_variant("_cls_fail_async") async def fail_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InboundTransferFailParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the failed status. The InboundTransfer must already be in the processing state. """ return cast( "InboundTransfer", await self.resource._request_async( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/fail".format( id=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_return_inbound_transfer( cls, id: str, **params: Unpack["InboundTransferReturnInboundTransferParams"], ) -> "InboundTransfer": """ Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state. """ return cast( "InboundTransfer", cls._static_request( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/return".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def return_inbound_transfer( id: str, **params: Unpack["InboundTransferReturnInboundTransferParams"], ) -> "InboundTransfer": """ Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state. """ ... @overload def return_inbound_transfer( self, **params: Unpack["InboundTransferReturnInboundTransferParams"], ) -> "InboundTransfer": """ Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state. """ ... @class_method_variant("_cls_return_inbound_transfer") def return_inbound_transfer( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InboundTransferReturnInboundTransferParams"], ) -> "InboundTransfer": """ Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state. """ return cast( "InboundTransfer", self.resource._request( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/return".format( id=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_return_inbound_transfer_async( cls, id: str, **params: Unpack["InboundTransferReturnInboundTransferParams"], ) -> "InboundTransfer": """ Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state. """ return cast( "InboundTransfer", await cls._static_request_async( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/return".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def return_inbound_transfer_async( id: str, **params: Unpack["InboundTransferReturnInboundTransferParams"], ) -> "InboundTransfer": """ Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state. """ ... @overload async def return_inbound_transfer_async( self, **params: Unpack["InboundTransferReturnInboundTransferParams"], ) -> "InboundTransfer": """ Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state. """ ... @class_method_variant("_cls_return_inbound_transfer_async") async def return_inbound_transfer_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InboundTransferReturnInboundTransferParams"], ) -> "InboundTransfer": """ Marks the test mode InboundTransfer object as returned and links the InboundTransfer to a ReceivedDebit. The InboundTransfer must already be in the succeeded state. """ return cast( "InboundTransfer", await self.resource._request_async( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/return".format( id=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_succeed( cls, id: str, **params: Unpack["InboundTransferSucceedParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must already be in the processing state. """ return cast( "InboundTransfer", cls._static_request( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/succeed".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def succeed( id: str, **params: Unpack["InboundTransferSucceedParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must already be in the processing state. """ ... @overload def succeed( self, **params: Unpack["InboundTransferSucceedParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must already be in the processing state. """ ... @class_method_variant("_cls_succeed") def succeed( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InboundTransferSucceedParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must already be in the processing state. """ return cast( "InboundTransfer", self.resource._request( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/succeed".format( id=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_succeed_async( cls, id: str, **params: Unpack["InboundTransferSucceedParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must already be in the processing state. """ return cast( "InboundTransfer", await cls._static_request_async( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/succeed".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def succeed_async( id: str, **params: Unpack["InboundTransferSucceedParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must already be in the processing state. """ ... @overload async def succeed_async( self, **params: Unpack["InboundTransferSucceedParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must already be in the processing state. """ ... @class_method_variant("_cls_succeed_async") async def succeed_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["InboundTransferSucceedParams"] ) -> "InboundTransfer": """ Transitions a test mode created InboundTransfer to the succeeded status. The InboundTransfer must already be in the processing state. """ return cast( "InboundTransfer", await self.resource._request_async( "post", "/v1/test_helpers/treasury/inbound_transfers/{id}/succeed".format( id=sanitize_id(self.resource.get("id")) ), params=params, ), ) @property def test_helpers(self): return self.TestHelpers(self) _inner_class_types = { "failure_details": FailureDetails, "linked_flows": LinkedFlows, "origin_payment_method_details": OriginPaymentMethodDetails, "status_transitions": StatusTransitions, } InboundTransfer.TestHelpers._resource_cls = InboundTransfer ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/treasury/_inbound_transfer_service.py0000644000000000000000000001314015102753431021010 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.treasury._inbound_transfer_cancel_params import ( InboundTransferCancelParams, ) from stripe.params.treasury._inbound_transfer_create_params import ( InboundTransferCreateParams, ) from stripe.params.treasury._inbound_transfer_list_params import ( InboundTransferListParams, ) from stripe.params.treasury._inbound_transfer_retrieve_params import ( InboundTransferRetrieveParams, ) from stripe.treasury._inbound_transfer import InboundTransfer class InboundTransferService(StripeService): def list( self, params: "InboundTransferListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[InboundTransfer]": """ Returns a list of InboundTransfers sent from the specified FinancialAccount. """ return cast( "ListObject[InboundTransfer]", self._request( "get", "/v1/treasury/inbound_transfers", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "InboundTransferListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[InboundTransfer]": """ Returns a list of InboundTransfers sent from the specified FinancialAccount. """ return cast( "ListObject[InboundTransfer]", await self._request_async( "get", "/v1/treasury/inbound_transfers", base_address="api", params=params, options=options, ), ) def create( self, params: "InboundTransferCreateParams", options: Optional["RequestOptions"] = None, ) -> "InboundTransfer": """ Creates an InboundTransfer. """ return cast( "InboundTransfer", self._request( "post", "/v1/treasury/inbound_transfers", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "InboundTransferCreateParams", options: Optional["RequestOptions"] = None, ) -> "InboundTransfer": """ Creates an InboundTransfer. """ return cast( "InboundTransfer", await self._request_async( "post", "/v1/treasury/inbound_transfers", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["InboundTransferRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InboundTransfer": """ Retrieves the details of an existing InboundTransfer. """ return cast( "InboundTransfer", self._request( "get", "/v1/treasury/inbound_transfers/{id}".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["InboundTransferRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InboundTransfer": """ Retrieves the details of an existing InboundTransfer. """ return cast( "InboundTransfer", await self._request_async( "get", "/v1/treasury/inbound_transfers/{id}".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def cancel( self, inbound_transfer: str, params: Optional["InboundTransferCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InboundTransfer": """ Cancels an InboundTransfer. """ return cast( "InboundTransfer", self._request( "post", "/v1/treasury/inbound_transfers/{inbound_transfer}/cancel".format( inbound_transfer=sanitize_id(inbound_transfer), ), base_address="api", params=params, options=options, ), ) async def cancel_async( self, inbound_transfer: str, params: Optional["InboundTransferCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "InboundTransfer": """ Cancels an InboundTransfer. """ return cast( "InboundTransfer", await self._request_async( "post", "/v1/treasury/inbound_transfers/{inbound_transfer}/cancel".format( inbound_transfer=sanitize_id(inbound_transfer), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/treasury/_outbound_payment.py0000644000000000000000000010700015102753431017321 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._test_helpers import APIResourceTestHelpers from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, Optional, cast, overload from typing_extensions import Literal, Type, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._mandate import Mandate from stripe.params.treasury._outbound_payment_cancel_params import ( OutboundPaymentCancelParams, ) from stripe.params.treasury._outbound_payment_create_params import ( OutboundPaymentCreateParams, ) from stripe.params.treasury._outbound_payment_fail_params import ( OutboundPaymentFailParams, ) from stripe.params.treasury._outbound_payment_list_params import ( OutboundPaymentListParams, ) from stripe.params.treasury._outbound_payment_post_params import ( OutboundPaymentPostParams, ) from stripe.params.treasury._outbound_payment_retrieve_params import ( OutboundPaymentRetrieveParams, ) from stripe.params.treasury._outbound_payment_return_outbound_payment_params import ( OutboundPaymentReturnOutboundPaymentParams, ) from stripe.params.treasury._outbound_payment_update_params import ( OutboundPaymentUpdateParams, ) from stripe.treasury._transaction import Transaction class OutboundPayment( CreateableAPIResource["OutboundPayment"], ListableAPIResource["OutboundPayment"], ): """ Use [OutboundPayments](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-payments) to send funds to another party's external bank account or [FinancialAccount](https://stripe.com/docs/api#financial_accounts). To send money to an account belonging to the same user, use an [OutboundTransfer](https://stripe.com/docs/api#outbound_transfers). Simulate OutboundPayment state changes with the `/v1/test_helpers/treasury/outbound_payments` endpoints. These methods can only be called on test mode objects. Related guide: [Moving money with Treasury using OutboundPayment objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-payments) """ OBJECT_NAME: ClassVar[Literal["treasury.outbound_payment"]] = ( "treasury.outbound_payment" ) class DestinationPaymentMethodDetails(StripeObject): class BillingDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Address email: Optional[str] """ Email address. """ name: Optional[str] """ Full name. """ _inner_class_types = {"address": Address} class FinancialAccount(StripeObject): id: str """ Token of the FinancialAccount. """ network: Literal["stripe"] """ The rails used to send funds. """ class UsBankAccount(StripeObject): account_holder_type: Optional[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_type: Optional[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ mandate: Optional[ExpandableField["Mandate"]] """ ID of the mandate used to make this payment. """ network: Literal["ach", "us_domestic_wire"] """ The network rails used. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type. """ routing_number: Optional[str] """ Routing number of the bank account. """ billing_details: BillingDetails financial_account: Optional[FinancialAccount] type: Literal["financial_account", "us_bank_account"] """ The type of the payment method used in the OutboundPayment. """ us_bank_account: Optional[UsBankAccount] _inner_class_types = { "billing_details": BillingDetails, "financial_account": FinancialAccount, "us_bank_account": UsBankAccount, } class EndUserDetails(StripeObject): ip_address: Optional[str] """ IP address of the user initiating the OutboundPayment. Set if `present` is set to `true`. IP address collection is required for risk and compliance reasons. This will be used to help determine if the OutboundPayment is authorized or should be blocked. """ present: bool """ `true` if the OutboundPayment creation request is being made on behalf of an end user by a platform. Otherwise, `false`. """ class ReturnedDetails(StripeObject): code: Literal[ "account_closed", "account_frozen", "bank_account_restricted", "bank_ownership_changed", "declined", "incorrect_account_holder_name", "invalid_account_number", "invalid_currency", "no_account", "other", ] """ Reason for the return. """ transaction: ExpandableField["Transaction"] """ The Transaction associated with this object. """ class StatusTransitions(StripeObject): canceled_at: Optional[int] """ Timestamp describing when an OutboundPayment changed status to `canceled`. """ failed_at: Optional[int] """ Timestamp describing when an OutboundPayment changed status to `failed`. """ posted_at: Optional[int] """ Timestamp describing when an OutboundPayment changed status to `posted`. """ returned_at: Optional[int] """ Timestamp describing when an OutboundPayment changed status to `returned`. """ class TrackingDetails(StripeObject): class Ach(StripeObject): trace_id: str """ ACH trace ID of the OutboundPayment for payments sent over the `ach` network. """ class UsDomesticWire(StripeObject): chips: Optional[str] """ CHIPS System Sequence Number (SSN) of the OutboundPayment for payments sent over the `us_domestic_wire` network. """ imad: Optional[str] """ IMAD of the OutboundPayment for payments sent over the `us_domestic_wire` network. """ omad: Optional[str] """ OMAD of the OutboundPayment for payments sent over the `us_domestic_wire` network. """ ach: Optional[Ach] type: Literal["ach", "us_domestic_wire"] """ The US bank account network used to send funds. """ us_domestic_wire: Optional[UsDomesticWire] _inner_class_types = {"ach": Ach, "us_domestic_wire": UsDomesticWire} amount: int """ Amount (in cents) transferred. """ cancelable: bool """ Returns `true` if the object can be canceled, and `false` otherwise. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ customer: Optional[str] """ ID of the [customer](https://stripe.com/docs/api/customers) to whom an OutboundPayment is sent. """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ destination_payment_method: Optional[str] """ The PaymentMethod via which an OutboundPayment is sent. This field can be empty if the OutboundPayment was created using `destination_payment_method_data`. """ destination_payment_method_details: Optional[ DestinationPaymentMethodDetails ] """ Details about the PaymentMethod for an OutboundPayment. """ end_user_details: Optional[EndUserDetails] """ Details about the end user. """ expected_arrival_date: int """ The date when funds are expected to arrive in the destination account. """ financial_account: str """ The FinancialAccount that funds were pulled from. """ 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. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["treasury.outbound_payment"] """ String representing the object's type. Objects of the same type share the same value. """ returned_details: Optional[ReturnedDetails] """ Details about a returned OutboundPayment. Only set when the status is `returned`. """ statement_descriptor: str """ The description that appears on the receiving end for an OutboundPayment (for example, bank statement for external bank transfer). """ status: Literal["canceled", "failed", "posted", "processing", "returned"] """ Current status of the OutboundPayment: `processing`, `failed`, `posted`, `returned`, `canceled`. An OutboundPayment is `processing` if it has been created and is pending. The status changes to `posted` once the OutboundPayment has been "confirmed" and funds have left the account, or to `failed` or `canceled`. If an OutboundPayment fails to arrive at its destination, its status will change to `returned`. """ status_transitions: StatusTransitions tracking_details: Optional[TrackingDetails] """ Details about network-specific tracking information if available. """ transaction: ExpandableField["Transaction"] """ The Transaction associated with this object. """ @classmethod def _cls_cancel( cls, id: str, **params: Unpack["OutboundPaymentCancelParams"] ) -> "OutboundPayment": """ Cancel an OutboundPayment. """ return cast( "OutboundPayment", cls._static_request( "post", "/v1/treasury/outbound_payments/{id}/cancel".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def cancel( id: str, **params: Unpack["OutboundPaymentCancelParams"] ) -> "OutboundPayment": """ Cancel an OutboundPayment. """ ... @overload def cancel( self, **params: Unpack["OutboundPaymentCancelParams"] ) -> "OutboundPayment": """ Cancel an OutboundPayment. """ ... @class_method_variant("_cls_cancel") def cancel( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundPaymentCancelParams"] ) -> "OutboundPayment": """ Cancel an OutboundPayment. """ return cast( "OutboundPayment", self._request( "post", "/v1/treasury/outbound_payments/{id}/cancel".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_cancel_async( cls, id: str, **params: Unpack["OutboundPaymentCancelParams"] ) -> "OutboundPayment": """ Cancel an OutboundPayment. """ return cast( "OutboundPayment", await cls._static_request_async( "post", "/v1/treasury/outbound_payments/{id}/cancel".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def cancel_async( id: str, **params: Unpack["OutboundPaymentCancelParams"] ) -> "OutboundPayment": """ Cancel an OutboundPayment. """ ... @overload async def cancel_async( self, **params: Unpack["OutboundPaymentCancelParams"] ) -> "OutboundPayment": """ Cancel an OutboundPayment. """ ... @class_method_variant("_cls_cancel_async") async def cancel_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundPaymentCancelParams"] ) -> "OutboundPayment": """ Cancel an OutboundPayment. """ return cast( "OutboundPayment", await self._request_async( "post", "/v1/treasury/outbound_payments/{id}/cancel".format( id=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create( cls, **params: Unpack["OutboundPaymentCreateParams"] ) -> "OutboundPayment": """ Creates an OutboundPayment. """ return cast( "OutboundPayment", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["OutboundPaymentCreateParams"] ) -> "OutboundPayment": """ Creates an OutboundPayment. """ return cast( "OutboundPayment", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["OutboundPaymentListParams"] ) -> ListObject["OutboundPayment"]: """ Returns a list of OutboundPayments sent from the specified FinancialAccount. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["OutboundPaymentListParams"] ) -> ListObject["OutboundPayment"]: """ Returns a list of OutboundPayments sent from the specified FinancialAccount. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["OutboundPaymentRetrieveParams"] ) -> "OutboundPayment": """ Retrieves the details of an existing OutboundPayment by passing the unique OutboundPayment ID from either the OutboundPayment creation request or OutboundPayment list. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["OutboundPaymentRetrieveParams"] ) -> "OutboundPayment": """ Retrieves the details of an existing OutboundPayment by passing the unique OutboundPayment ID from either the OutboundPayment creation request or OutboundPayment list. """ instance = cls(id, **params) await instance.refresh_async() return instance class TestHelpers(APIResourceTestHelpers["OutboundPayment"]): _resource_cls: Type["OutboundPayment"] @classmethod def _cls_fail( cls, id: str, **params: Unpack["OutboundPaymentFailParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the failed status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", cls._static_request( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/fail".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def fail( id: str, **params: Unpack["OutboundPaymentFailParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the failed status. The OutboundPayment must already be in the processing state. """ ... @overload def fail( self, **params: Unpack["OutboundPaymentFailParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the failed status. The OutboundPayment must already be in the processing state. """ ... @class_method_variant("_cls_fail") def fail( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundPaymentFailParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the failed status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", self.resource._request( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/fail".format( id=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_fail_async( cls, id: str, **params: Unpack["OutboundPaymentFailParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the failed status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", await cls._static_request_async( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/fail".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def fail_async( id: str, **params: Unpack["OutboundPaymentFailParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the failed status. The OutboundPayment must already be in the processing state. """ ... @overload async def fail_async( self, **params: Unpack["OutboundPaymentFailParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the failed status. The OutboundPayment must already be in the processing state. """ ... @class_method_variant("_cls_fail_async") async def fail_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundPaymentFailParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the failed status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", await self.resource._request_async( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/fail".format( id=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_post( cls, id: str, **params: Unpack["OutboundPaymentPostParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the posted status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", cls._static_request( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/post".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def post( id: str, **params: Unpack["OutboundPaymentPostParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the posted status. The OutboundPayment must already be in the processing state. """ ... @overload def post( self, **params: Unpack["OutboundPaymentPostParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the posted status. The OutboundPayment must already be in the processing state. """ ... @class_method_variant("_cls_post") def post( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundPaymentPostParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the posted status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", self.resource._request( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/post".format( id=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_post_async( cls, id: str, **params: Unpack["OutboundPaymentPostParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the posted status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", await cls._static_request_async( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/post".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def post_async( id: str, **params: Unpack["OutboundPaymentPostParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the posted status. The OutboundPayment must already be in the processing state. """ ... @overload async def post_async( self, **params: Unpack["OutboundPaymentPostParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the posted status. The OutboundPayment must already be in the processing state. """ ... @class_method_variant("_cls_post_async") async def post_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundPaymentPostParams"] ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the posted status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", await self.resource._request_async( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/post".format( id=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_return_outbound_payment( cls, id: str, **params: Unpack["OutboundPaymentReturnOutboundPaymentParams"], ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the returned status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", cls._static_request( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/return".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def return_outbound_payment( id: str, **params: Unpack["OutboundPaymentReturnOutboundPaymentParams"], ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the returned status. The OutboundPayment must already be in the processing state. """ ... @overload def return_outbound_payment( self, **params: Unpack["OutboundPaymentReturnOutboundPaymentParams"], ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the returned status. The OutboundPayment must already be in the processing state. """ ... @class_method_variant("_cls_return_outbound_payment") def return_outbound_payment( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundPaymentReturnOutboundPaymentParams"], ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the returned status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", self.resource._request( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/return".format( id=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_return_outbound_payment_async( cls, id: str, **params: Unpack["OutboundPaymentReturnOutboundPaymentParams"], ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the returned status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", await cls._static_request_async( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/return".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def return_outbound_payment_async( id: str, **params: Unpack["OutboundPaymentReturnOutboundPaymentParams"], ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the returned status. The OutboundPayment must already be in the processing state. """ ... @overload async def return_outbound_payment_async( self, **params: Unpack["OutboundPaymentReturnOutboundPaymentParams"], ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the returned status. The OutboundPayment must already be in the processing state. """ ... @class_method_variant("_cls_return_outbound_payment_async") async def return_outbound_payment_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundPaymentReturnOutboundPaymentParams"], ) -> "OutboundPayment": """ Transitions a test mode created OutboundPayment to the returned status. The OutboundPayment must already be in the processing state. """ return cast( "OutboundPayment", await self.resource._request_async( "post", "/v1/test_helpers/treasury/outbound_payments/{id}/return".format( id=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_update( cls, id: str, **params: Unpack["OutboundPaymentUpdateParams"] ) -> "OutboundPayment": """ Updates a test mode created OutboundPayment with tracking details. The OutboundPayment must not be cancelable, and cannot be in the canceled or failed states. """ return cast( "OutboundPayment", cls._static_request( "post", "/v1/test_helpers/treasury/outbound_payments/{id}".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod def update( id: str, **params: Unpack["OutboundPaymentUpdateParams"] ) -> "OutboundPayment": """ Updates a test mode created OutboundPayment with tracking details. The OutboundPayment must not be cancelable, and cannot be in the canceled or failed states. """ ... @overload def update( self, **params: Unpack["OutboundPaymentUpdateParams"] ) -> "OutboundPayment": """ Updates a test mode created OutboundPayment with tracking details. The OutboundPayment must not be cancelable, and cannot be in the canceled or failed states. """ ... @class_method_variant("_cls_update") def update( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundPaymentUpdateParams"] ) -> "OutboundPayment": """ Updates a test mode created OutboundPayment with tracking details. The OutboundPayment must not be cancelable, and cannot be in the canceled or failed states. """ return cast( "OutboundPayment", self.resource._request( "post", "/v1/test_helpers/treasury/outbound_payments/{id}".format( id=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_update_async( cls, id: str, **params: Unpack["OutboundPaymentUpdateParams"] ) -> "OutboundPayment": """ Updates a test mode created OutboundPayment with tracking details. The OutboundPayment must not be cancelable, and cannot be in the canceled or failed states. """ return cast( "OutboundPayment", await cls._static_request_async( "post", "/v1/test_helpers/treasury/outbound_payments/{id}".format( id=sanitize_id(id) ), params=params, ), ) @overload @staticmethod async def update_async( id: str, **params: Unpack["OutboundPaymentUpdateParams"] ) -> "OutboundPayment": """ Updates a test mode created OutboundPayment with tracking details. The OutboundPayment must not be cancelable, and cannot be in the canceled or failed states. """ ... @overload async def update_async( self, **params: Unpack["OutboundPaymentUpdateParams"] ) -> "OutboundPayment": """ Updates a test mode created OutboundPayment with tracking details. The OutboundPayment must not be cancelable, and cannot be in the canceled or failed states. """ ... @class_method_variant("_cls_update_async") async def update_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundPaymentUpdateParams"] ) -> "OutboundPayment": """ Updates a test mode created OutboundPayment with tracking details. The OutboundPayment must not be cancelable, and cannot be in the canceled or failed states. """ return cast( "OutboundPayment", await self.resource._request_async( "post", "/v1/test_helpers/treasury/outbound_payments/{id}".format( id=sanitize_id(self.resource.get("id")) ), params=params, ), ) @property def test_helpers(self): return self.TestHelpers(self) _inner_class_types = { "destination_payment_method_details": DestinationPaymentMethodDetails, "end_user_details": EndUserDetails, "returned_details": ReturnedDetails, "status_transitions": StatusTransitions, "tracking_details": TrackingDetails, } OutboundPayment.TestHelpers._resource_cls = OutboundPayment ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/treasury/_outbound_payment_service.py0000644000000000000000000001332215102753431021044 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.treasury._outbound_payment_cancel_params import ( OutboundPaymentCancelParams, ) from stripe.params.treasury._outbound_payment_create_params import ( OutboundPaymentCreateParams, ) from stripe.params.treasury._outbound_payment_list_params import ( OutboundPaymentListParams, ) from stripe.params.treasury._outbound_payment_retrieve_params import ( OutboundPaymentRetrieveParams, ) from stripe.treasury._outbound_payment import OutboundPayment class OutboundPaymentService(StripeService): def list( self, params: "OutboundPaymentListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[OutboundPayment]": """ Returns a list of OutboundPayments sent from the specified FinancialAccount. """ return cast( "ListObject[OutboundPayment]", self._request( "get", "/v1/treasury/outbound_payments", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "OutboundPaymentListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[OutboundPayment]": """ Returns a list of OutboundPayments sent from the specified FinancialAccount. """ return cast( "ListObject[OutboundPayment]", await self._request_async( "get", "/v1/treasury/outbound_payments", base_address="api", params=params, options=options, ), ) def create( self, params: "OutboundPaymentCreateParams", options: Optional["RequestOptions"] = None, ) -> "OutboundPayment": """ Creates an OutboundPayment. """ return cast( "OutboundPayment", self._request( "post", "/v1/treasury/outbound_payments", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "OutboundPaymentCreateParams", options: Optional["RequestOptions"] = None, ) -> "OutboundPayment": """ Creates an OutboundPayment. """ return cast( "OutboundPayment", await self._request_async( "post", "/v1/treasury/outbound_payments", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["OutboundPaymentRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundPayment": """ Retrieves the details of an existing OutboundPayment by passing the unique OutboundPayment ID from either the OutboundPayment creation request or OutboundPayment list. """ return cast( "OutboundPayment", self._request( "get", "/v1/treasury/outbound_payments/{id}".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["OutboundPaymentRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundPayment": """ Retrieves the details of an existing OutboundPayment by passing the unique OutboundPayment ID from either the OutboundPayment creation request or OutboundPayment list. """ return cast( "OutboundPayment", await self._request_async( "get", "/v1/treasury/outbound_payments/{id}".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def cancel( self, id: str, params: Optional["OutboundPaymentCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundPayment": """ Cancel an OutboundPayment. """ return cast( "OutboundPayment", self._request( "post", "/v1/treasury/outbound_payments/{id}/cancel".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def cancel_async( self, id: str, params: Optional["OutboundPaymentCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundPayment": """ Cancel an OutboundPayment. """ return cast( "OutboundPayment", await self._request_async( "post", "/v1/treasury/outbound_payments/{id}/cancel".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/treasury/_outbound_transfer.py0000644000000000000000000011104415102753431017473 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._createable_api_resource import CreateableAPIResource from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._test_helpers import APIResourceTestHelpers from stripe._util import class_method_variant, sanitize_id from typing import ClassVar, Dict, Optional, cast, overload from typing_extensions import Literal, Type, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._mandate import Mandate from stripe.params.treasury._outbound_transfer_cancel_params import ( OutboundTransferCancelParams, ) from stripe.params.treasury._outbound_transfer_create_params import ( OutboundTransferCreateParams, ) from stripe.params.treasury._outbound_transfer_fail_params import ( OutboundTransferFailParams, ) from stripe.params.treasury._outbound_transfer_list_params import ( OutboundTransferListParams, ) from stripe.params.treasury._outbound_transfer_post_params import ( OutboundTransferPostParams, ) from stripe.params.treasury._outbound_transfer_retrieve_params import ( OutboundTransferRetrieveParams, ) from stripe.params.treasury._outbound_transfer_return_outbound_transfer_params import ( OutboundTransferReturnOutboundTransferParams, ) from stripe.params.treasury._outbound_transfer_update_params import ( OutboundTransferUpdateParams, ) from stripe.treasury._transaction import Transaction class OutboundTransfer( CreateableAPIResource["OutboundTransfer"], ListableAPIResource["OutboundTransfer"], ): """ Use [OutboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) to transfer funds from a [FinancialAccount](https://stripe.com/docs/api#financial_accounts) to a PaymentMethod belonging to the same entity. To send funds to a different party, use [OutboundPayments](https://stripe.com/docs/api#outbound_payments) instead. You can send funds over ACH rails or through a domestic wire transfer to a user's own external bank account. Simulate OutboundTransfer state changes with the `/v1/test_helpers/treasury/outbound_transfers` endpoints. These methods can only be called on test mode objects. Related guide: [Moving money with Treasury using OutboundTransfer objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) """ OBJECT_NAME: ClassVar[Literal["treasury.outbound_transfer"]] = ( "treasury.outbound_transfer" ) class DestinationPaymentMethodDetails(StripeObject): class BillingDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Address email: Optional[str] """ Email address. """ name: Optional[str] """ Full name. """ _inner_class_types = {"address": Address} class FinancialAccount(StripeObject): id: str """ Token of the FinancialAccount. """ network: Literal["stripe"] """ The rails used to send funds. """ class UsBankAccount(StripeObject): account_holder_type: Optional[Literal["company", "individual"]] """ Account holder type: individual or company. """ account_type: Optional[Literal["checking", "savings"]] """ Account type: checkings or savings. Defaults to checking if omitted. """ bank_name: Optional[str] """ Name of the bank associated with the bank account. """ fingerprint: Optional[str] """ Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. """ last4: Optional[str] """ Last four digits of the bank account number. """ mandate: Optional[ExpandableField["Mandate"]] """ ID of the mandate used to make this payment. """ network: Literal["ach", "us_domestic_wire"] """ The network rails used. See the [docs](https://stripe.com/docs/treasury/money-movement/timelines) to learn more about money movement timelines for each network type. """ routing_number: Optional[str] """ Routing number of the bank account. """ billing_details: BillingDetails financial_account: Optional[FinancialAccount] type: Literal["financial_account", "us_bank_account"] """ The type of the payment method used in the OutboundTransfer. """ us_bank_account: Optional[UsBankAccount] _inner_class_types = { "billing_details": BillingDetails, "financial_account": FinancialAccount, "us_bank_account": UsBankAccount, } class ReturnedDetails(StripeObject): code: Literal[ "account_closed", "account_frozen", "bank_account_restricted", "bank_ownership_changed", "declined", "incorrect_account_holder_name", "invalid_account_number", "invalid_currency", "no_account", "other", ] """ Reason for the return. """ transaction: ExpandableField["Transaction"] """ The Transaction associated with this object. """ class StatusTransitions(StripeObject): canceled_at: Optional[int] """ Timestamp describing when an OutboundTransfer changed status to `canceled` """ failed_at: Optional[int] """ Timestamp describing when an OutboundTransfer changed status to `failed` """ posted_at: Optional[int] """ Timestamp describing when an OutboundTransfer changed status to `posted` """ returned_at: Optional[int] """ Timestamp describing when an OutboundTransfer changed status to `returned` """ class TrackingDetails(StripeObject): class Ach(StripeObject): trace_id: str """ ACH trace ID of the OutboundTransfer for transfers sent over the `ach` network. """ class UsDomesticWire(StripeObject): chips: Optional[str] """ CHIPS System Sequence Number (SSN) of the OutboundTransfer for transfers sent over the `us_domestic_wire` network. """ imad: Optional[str] """ IMAD of the OutboundTransfer for transfers sent over the `us_domestic_wire` network. """ omad: Optional[str] """ OMAD of the OutboundTransfer for transfers sent over the `us_domestic_wire` network. """ ach: Optional[Ach] type: Literal["ach", "us_domestic_wire"] """ The US bank account network used to send funds. """ us_domestic_wire: Optional[UsDomesticWire] _inner_class_types = {"ach": Ach, "us_domestic_wire": UsDomesticWire} amount: int """ Amount (in cents) transferred. """ cancelable: bool """ Returns `true` if the object can be canceled, and `false` otherwise. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: Optional[str] """ An arbitrary string attached to the object. Often useful for displaying to users. """ destination_payment_method: Optional[str] """ The PaymentMethod used as the payment instrument for an OutboundTransfer. """ destination_payment_method_details: DestinationPaymentMethodDetails expected_arrival_date: int """ The date when funds are expected to arrive in the destination account. """ financial_account: str """ The FinancialAccount that funds were pulled from. """ 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. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ 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. """ object: Literal["treasury.outbound_transfer"] """ String representing the object's type. Objects of the same type share the same value. """ returned_details: Optional[ReturnedDetails] """ Details about a returned OutboundTransfer. Only set when the status is `returned`. """ statement_descriptor: str """ Information about the OutboundTransfer to be sent to the recipient account. """ status: Literal["canceled", "failed", "posted", "processing", "returned"] """ Current status of the OutboundTransfer: `processing`, `failed`, `canceled`, `posted`, `returned`. An OutboundTransfer is `processing` if it has been created and is pending. The status changes to `posted` once the OutboundTransfer has been "confirmed" and funds have left the account, or to `failed` or `canceled`. If an OutboundTransfer fails to arrive at its destination, its status will change to `returned`. """ status_transitions: StatusTransitions tracking_details: Optional[TrackingDetails] """ Details about network-specific tracking information if available. """ transaction: ExpandableField["Transaction"] """ The Transaction associated with this object. """ @classmethod def _cls_cancel( cls, outbound_transfer: str, **params: Unpack["OutboundTransferCancelParams"], ) -> "OutboundTransfer": """ An OutboundTransfer can be canceled if the funds have not yet been paid out. """ return cast( "OutboundTransfer", cls._static_request( "post", "/v1/treasury/outbound_transfers/{outbound_transfer}/cancel".format( outbound_transfer=sanitize_id(outbound_transfer) ), params=params, ), ) @overload @staticmethod def cancel( outbound_transfer: str, **params: Unpack["OutboundTransferCancelParams"], ) -> "OutboundTransfer": """ An OutboundTransfer can be canceled if the funds have not yet been paid out. """ ... @overload def cancel( self, **params: Unpack["OutboundTransferCancelParams"] ) -> "OutboundTransfer": """ An OutboundTransfer can be canceled if the funds have not yet been paid out. """ ... @class_method_variant("_cls_cancel") def cancel( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundTransferCancelParams"] ) -> "OutboundTransfer": """ An OutboundTransfer can be canceled if the funds have not yet been paid out. """ return cast( "OutboundTransfer", self._request( "post", "/v1/treasury/outbound_transfers/{outbound_transfer}/cancel".format( outbound_transfer=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod async def _cls_cancel_async( cls, outbound_transfer: str, **params: Unpack["OutboundTransferCancelParams"], ) -> "OutboundTransfer": """ An OutboundTransfer can be canceled if the funds have not yet been paid out. """ return cast( "OutboundTransfer", await cls._static_request_async( "post", "/v1/treasury/outbound_transfers/{outbound_transfer}/cancel".format( outbound_transfer=sanitize_id(outbound_transfer) ), params=params, ), ) @overload @staticmethod async def cancel_async( outbound_transfer: str, **params: Unpack["OutboundTransferCancelParams"], ) -> "OutboundTransfer": """ An OutboundTransfer can be canceled if the funds have not yet been paid out. """ ... @overload async def cancel_async( self, **params: Unpack["OutboundTransferCancelParams"] ) -> "OutboundTransfer": """ An OutboundTransfer can be canceled if the funds have not yet been paid out. """ ... @class_method_variant("_cls_cancel_async") async def cancel_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundTransferCancelParams"] ) -> "OutboundTransfer": """ An OutboundTransfer can be canceled if the funds have not yet been paid out. """ return cast( "OutboundTransfer", await self._request_async( "post", "/v1/treasury/outbound_transfers/{outbound_transfer}/cancel".format( outbound_transfer=sanitize_id(self.get("id")) ), params=params, ), ) @classmethod def create( cls, **params: Unpack["OutboundTransferCreateParams"] ) -> "OutboundTransfer": """ Creates an OutboundTransfer. """ return cast( "OutboundTransfer", cls._static_request( "post", cls.class_url(), params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["OutboundTransferCreateParams"] ) -> "OutboundTransfer": """ Creates an OutboundTransfer. """ return cast( "OutboundTransfer", await cls._static_request_async( "post", cls.class_url(), params=params, ), ) @classmethod def list( cls, **params: Unpack["OutboundTransferListParams"] ) -> ListObject["OutboundTransfer"]: """ Returns a list of OutboundTransfers sent from the specified FinancialAccount. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["OutboundTransferListParams"] ) -> ListObject["OutboundTransfer"]: """ Returns a list of OutboundTransfers sent from the specified FinancialAccount. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["OutboundTransferRetrieveParams"] ) -> "OutboundTransfer": """ Retrieves the details of an existing OutboundTransfer by passing the unique OutboundTransfer ID from either the OutboundTransfer creation request or OutboundTransfer list. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["OutboundTransferRetrieveParams"] ) -> "OutboundTransfer": """ Retrieves the details of an existing OutboundTransfer by passing the unique OutboundTransfer ID from either the OutboundTransfer creation request or OutboundTransfer list. """ instance = cls(id, **params) await instance.refresh_async() return instance class TestHelpers(APIResourceTestHelpers["OutboundTransfer"]): _resource_cls: Type["OutboundTransfer"] @classmethod def _cls_fail( cls, outbound_transfer: str, **params: Unpack["OutboundTransferFailParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the failed status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", cls._static_request( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/fail".format( outbound_transfer=sanitize_id(outbound_transfer) ), params=params, ), ) @overload @staticmethod def fail( outbound_transfer: str, **params: Unpack["OutboundTransferFailParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the failed status. The OutboundTransfer must already be in the processing state. """ ... @overload def fail( self, **params: Unpack["OutboundTransferFailParams"] ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the failed status. The OutboundTransfer must already be in the processing state. """ ... @class_method_variant("_cls_fail") def fail( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundTransferFailParams"] ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the failed status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", self.resource._request( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/fail".format( outbound_transfer=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_fail_async( cls, outbound_transfer: str, **params: Unpack["OutboundTransferFailParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the failed status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", await cls._static_request_async( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/fail".format( outbound_transfer=sanitize_id(outbound_transfer) ), params=params, ), ) @overload @staticmethod async def fail_async( outbound_transfer: str, **params: Unpack["OutboundTransferFailParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the failed status. The OutboundTransfer must already be in the processing state. """ ... @overload async def fail_async( self, **params: Unpack["OutboundTransferFailParams"] ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the failed status. The OutboundTransfer must already be in the processing state. """ ... @class_method_variant("_cls_fail_async") async def fail_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundTransferFailParams"] ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the failed status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", await self.resource._request_async( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/fail".format( outbound_transfer=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_post( cls, outbound_transfer: str, **params: Unpack["OutboundTransferPostParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the posted status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", cls._static_request( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/post".format( outbound_transfer=sanitize_id(outbound_transfer) ), params=params, ), ) @overload @staticmethod def post( outbound_transfer: str, **params: Unpack["OutboundTransferPostParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the posted status. The OutboundTransfer must already be in the processing state. """ ... @overload def post( self, **params: Unpack["OutboundTransferPostParams"] ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the posted status. The OutboundTransfer must already be in the processing state. """ ... @class_method_variant("_cls_post") def post( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundTransferPostParams"] ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the posted status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", self.resource._request( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/post".format( outbound_transfer=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_post_async( cls, outbound_transfer: str, **params: Unpack["OutboundTransferPostParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the posted status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", await cls._static_request_async( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/post".format( outbound_transfer=sanitize_id(outbound_transfer) ), params=params, ), ) @overload @staticmethod async def post_async( outbound_transfer: str, **params: Unpack["OutboundTransferPostParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the posted status. The OutboundTransfer must already be in the processing state. """ ... @overload async def post_async( self, **params: Unpack["OutboundTransferPostParams"] ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the posted status. The OutboundTransfer must already be in the processing state. """ ... @class_method_variant("_cls_post_async") async def post_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundTransferPostParams"] ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the posted status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", await self.resource._request_async( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/post".format( outbound_transfer=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_return_outbound_transfer( cls, outbound_transfer: str, **params: Unpack["OutboundTransferReturnOutboundTransferParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the returned status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", cls._static_request( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/return".format( outbound_transfer=sanitize_id(outbound_transfer) ), params=params, ), ) @overload @staticmethod def return_outbound_transfer( outbound_transfer: str, **params: Unpack["OutboundTransferReturnOutboundTransferParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the returned status. The OutboundTransfer must already be in the processing state. """ ... @overload def return_outbound_transfer( self, **params: Unpack["OutboundTransferReturnOutboundTransferParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the returned status. The OutboundTransfer must already be in the processing state. """ ... @class_method_variant("_cls_return_outbound_transfer") def return_outbound_transfer( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundTransferReturnOutboundTransferParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the returned status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", self.resource._request( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/return".format( outbound_transfer=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_return_outbound_transfer_async( cls, outbound_transfer: str, **params: Unpack["OutboundTransferReturnOutboundTransferParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the returned status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", await cls._static_request_async( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/return".format( outbound_transfer=sanitize_id(outbound_transfer) ), params=params, ), ) @overload @staticmethod async def return_outbound_transfer_async( outbound_transfer: str, **params: Unpack["OutboundTransferReturnOutboundTransferParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the returned status. The OutboundTransfer must already be in the processing state. """ ... @overload async def return_outbound_transfer_async( self, **params: Unpack["OutboundTransferReturnOutboundTransferParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the returned status. The OutboundTransfer must already be in the processing state. """ ... @class_method_variant("_cls_return_outbound_transfer_async") async def return_outbound_transfer_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundTransferReturnOutboundTransferParams"], ) -> "OutboundTransfer": """ Transitions a test mode created OutboundTransfer to the returned status. The OutboundTransfer must already be in the processing state. """ return cast( "OutboundTransfer", await self.resource._request_async( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}/return".format( outbound_transfer=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod def _cls_update( cls, outbound_transfer: str, **params: Unpack["OutboundTransferUpdateParams"], ) -> "OutboundTransfer": """ Updates a test mode created OutboundTransfer with tracking details. The OutboundTransfer must not be cancelable, and cannot be in the canceled or failed states. """ return cast( "OutboundTransfer", cls._static_request( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}".format( outbound_transfer=sanitize_id(outbound_transfer) ), params=params, ), ) @overload @staticmethod def update( outbound_transfer: str, **params: Unpack["OutboundTransferUpdateParams"], ) -> "OutboundTransfer": """ Updates a test mode created OutboundTransfer with tracking details. The OutboundTransfer must not be cancelable, and cannot be in the canceled or failed states. """ ... @overload def update( self, **params: Unpack["OutboundTransferUpdateParams"] ) -> "OutboundTransfer": """ Updates a test mode created OutboundTransfer with tracking details. The OutboundTransfer must not be cancelable, and cannot be in the canceled or failed states. """ ... @class_method_variant("_cls_update") def update( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundTransferUpdateParams"] ) -> "OutboundTransfer": """ Updates a test mode created OutboundTransfer with tracking details. The OutboundTransfer must not be cancelable, and cannot be in the canceled or failed states. """ return cast( "OutboundTransfer", self.resource._request( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}".format( outbound_transfer=sanitize_id(self.resource.get("id")) ), params=params, ), ) @classmethod async def _cls_update_async( cls, outbound_transfer: str, **params: Unpack["OutboundTransferUpdateParams"], ) -> "OutboundTransfer": """ Updates a test mode created OutboundTransfer with tracking details. The OutboundTransfer must not be cancelable, and cannot be in the canceled or failed states. """ return cast( "OutboundTransfer", await cls._static_request_async( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}".format( outbound_transfer=sanitize_id(outbound_transfer) ), params=params, ), ) @overload @staticmethod async def update_async( outbound_transfer: str, **params: Unpack["OutboundTransferUpdateParams"], ) -> "OutboundTransfer": """ Updates a test mode created OutboundTransfer with tracking details. The OutboundTransfer must not be cancelable, and cannot be in the canceled or failed states. """ ... @overload async def update_async( self, **params: Unpack["OutboundTransferUpdateParams"] ) -> "OutboundTransfer": """ Updates a test mode created OutboundTransfer with tracking details. The OutboundTransfer must not be cancelable, and cannot be in the canceled or failed states. """ ... @class_method_variant("_cls_update_async") async def update_async( # pyright: ignore[reportGeneralTypeIssues] self, **params: Unpack["OutboundTransferUpdateParams"] ) -> "OutboundTransfer": """ Updates a test mode created OutboundTransfer with tracking details. The OutboundTransfer must not be cancelable, and cannot be in the canceled or failed states. """ return cast( "OutboundTransfer", await self.resource._request_async( "post", "/v1/test_helpers/treasury/outbound_transfers/{outbound_transfer}".format( outbound_transfer=sanitize_id(self.resource.get("id")) ), params=params, ), ) @property def test_helpers(self): return self.TestHelpers(self) _inner_class_types = { "destination_payment_method_details": DestinationPaymentMethodDetails, "returned_details": ReturnedDetails, "status_transitions": StatusTransitions, "tracking_details": TrackingDetails, } OutboundTransfer.TestHelpers._resource_cls = OutboundTransfer ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/treasury/_outbound_transfer_service.py0000644000000000000000000001413515102753431021216 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.treasury._outbound_transfer_cancel_params import ( OutboundTransferCancelParams, ) from stripe.params.treasury._outbound_transfer_create_params import ( OutboundTransferCreateParams, ) from stripe.params.treasury._outbound_transfer_list_params import ( OutboundTransferListParams, ) from stripe.params.treasury._outbound_transfer_retrieve_params import ( OutboundTransferRetrieveParams, ) from stripe.treasury._outbound_transfer import OutboundTransfer class OutboundTransferService(StripeService): def list( self, params: "OutboundTransferListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[OutboundTransfer]": """ Returns a list of OutboundTransfers sent from the specified FinancialAccount. """ return cast( "ListObject[OutboundTransfer]", self._request( "get", "/v1/treasury/outbound_transfers", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "OutboundTransferListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[OutboundTransfer]": """ Returns a list of OutboundTransfers sent from the specified FinancialAccount. """ return cast( "ListObject[OutboundTransfer]", await self._request_async( "get", "/v1/treasury/outbound_transfers", base_address="api", params=params, options=options, ), ) def create( self, params: "OutboundTransferCreateParams", options: Optional["RequestOptions"] = None, ) -> "OutboundTransfer": """ Creates an OutboundTransfer. """ return cast( "OutboundTransfer", self._request( "post", "/v1/treasury/outbound_transfers", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "OutboundTransferCreateParams", options: Optional["RequestOptions"] = None, ) -> "OutboundTransfer": """ Creates an OutboundTransfer. """ return cast( "OutboundTransfer", await self._request_async( "post", "/v1/treasury/outbound_transfers", base_address="api", params=params, options=options, ), ) def retrieve( self, outbound_transfer: str, params: Optional["OutboundTransferRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundTransfer": """ Retrieves the details of an existing OutboundTransfer by passing the unique OutboundTransfer ID from either the OutboundTransfer creation request or OutboundTransfer list. """ return cast( "OutboundTransfer", self._request( "get", "/v1/treasury/outbound_transfers/{outbound_transfer}".format( outbound_transfer=sanitize_id(outbound_transfer), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, outbound_transfer: str, params: Optional["OutboundTransferRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundTransfer": """ Retrieves the details of an existing OutboundTransfer by passing the unique OutboundTransfer ID from either the OutboundTransfer creation request or OutboundTransfer list. """ return cast( "OutboundTransfer", await self._request_async( "get", "/v1/treasury/outbound_transfers/{outbound_transfer}".format( outbound_transfer=sanitize_id(outbound_transfer), ), base_address="api", params=params, options=options, ), ) def cancel( self, outbound_transfer: str, params: Optional["OutboundTransferCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundTransfer": """ An OutboundTransfer can be canceled if the funds have not yet been paid out. """ return cast( "OutboundTransfer", self._request( "post", "/v1/treasury/outbound_transfers/{outbound_transfer}/cancel".format( outbound_transfer=sanitize_id(outbound_transfer), ), base_address="api", params=params, options=options, ), ) async def cancel_async( self, outbound_transfer: str, params: Optional["OutboundTransferCancelParams"] = None, options: Optional["RequestOptions"] = None, ) -> "OutboundTransfer": """ An OutboundTransfer can be canceled if the funds have not yet been paid out. """ return cast( "OutboundTransfer", await self._request_async( "post", "/v1/treasury/outbound_transfers/{outbound_transfer}/cancel".format( outbound_transfer=sanitize_id(outbound_transfer), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/treasury/_received_credit.py0000644000000000000000000003541415102753431017056 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._test_helpers import APIResourceTestHelpers from typing import ClassVar, Optional, cast from typing_extensions import Literal, Type, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe._payout import Payout from stripe.params.treasury._received_credit_create_params import ( ReceivedCreditCreateParams, ) from stripe.params.treasury._received_credit_list_params import ( ReceivedCreditListParams, ) from stripe.params.treasury._received_credit_retrieve_params import ( ReceivedCreditRetrieveParams, ) from stripe.treasury._credit_reversal import CreditReversal from stripe.treasury._outbound_payment import OutboundPayment from stripe.treasury._outbound_transfer import OutboundTransfer from stripe.treasury._transaction import Transaction class ReceivedCredit(ListableAPIResource["ReceivedCredit"]): """ ReceivedCredits represent funds sent to a [FinancialAccount](https://stripe.com/docs/api#financial_accounts) (for example, via ACH or wire). These money movements are not initiated from the FinancialAccount. """ OBJECT_NAME: ClassVar[Literal["treasury.received_credit"]] = ( "treasury.received_credit" ) class InitiatingPaymentMethodDetails(StripeObject): class BillingDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Address email: Optional[str] """ Email address. """ name: Optional[str] """ Full name. """ _inner_class_types = {"address": Address} class FinancialAccount(StripeObject): id: str """ The FinancialAccount ID. """ network: Literal["stripe"] """ The rails the ReceivedCredit was sent over. A FinancialAccount can only send funds over `stripe`. """ class UsBankAccount(StripeObject): bank_name: Optional[str] """ Bank name. """ last4: Optional[str] """ The last four digits of the bank account number. """ routing_number: Optional[str] """ The routing number for the bank account. """ balance: Optional[Literal["payments"]] """ Set when `type` is `balance`. """ billing_details: BillingDetails financial_account: Optional[FinancialAccount] issuing_card: Optional[str] """ Set when `type` is `issuing_card`. This is an [Issuing Card](https://stripe.com/docs/api#issuing_cards) ID. """ type: Literal[ "balance", "financial_account", "issuing_card", "stripe", "us_bank_account", ] """ Polymorphic type matching the originating money movement's source. This can be an external account, a Stripe balance, or a FinancialAccount. """ us_bank_account: Optional[UsBankAccount] _inner_class_types = { "billing_details": BillingDetails, "financial_account": FinancialAccount, "us_bank_account": UsBankAccount, } class LinkedFlows(StripeObject): class SourceFlowDetails(StripeObject): credit_reversal: Optional["CreditReversal"] """ You can reverse some [ReceivedCredits](https://stripe.com/docs/api#received_credits) depending on their network and source flow. Reversing a ReceivedCredit leads to the creation of a new object known as a CreditReversal. """ outbound_payment: Optional["OutboundPayment"] """ Use [OutboundPayments](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-payments) to send funds to another party's external bank account or [FinancialAccount](https://stripe.com/docs/api#financial_accounts). To send money to an account belonging to the same user, use an [OutboundTransfer](https://stripe.com/docs/api#outbound_transfers). Simulate OutboundPayment state changes with the `/v1/test_helpers/treasury/outbound_payments` endpoints. These methods can only be called on test mode objects. Related guide: [Moving money with Treasury using OutboundPayment objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-payments) """ outbound_transfer: Optional["OutboundTransfer"] """ Use [OutboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) to transfer funds from a [FinancialAccount](https://stripe.com/docs/api#financial_accounts) to a PaymentMethod belonging to the same entity. To send funds to a different party, use [OutboundPayments](https://stripe.com/docs/api#outbound_payments) instead. You can send funds over ACH rails or through a domestic wire transfer to a user's own external bank account. Simulate OutboundTransfer state changes with the `/v1/test_helpers/treasury/outbound_transfers` endpoints. These methods can only be called on test mode objects. Related guide: [Moving money with Treasury using OutboundTransfer objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) """ payout: Optional["Payout"] """ A `Payout` object is created when you receive funds from Stripe, or when you initiate a payout to either a bank account or debit card of a [connected Stripe account](https://docs.stripe.com/docs/connect/bank-debit-card-payouts). You can retrieve individual payouts, and list all payouts. Payouts are made on [varying schedules](https://docs.stripe.com/docs/connect/manage-payout-schedule), depending on your country and industry. Related guide: [Receiving payouts](https://stripe.com/docs/payouts) """ type: Literal[ "credit_reversal", "other", "outbound_payment", "outbound_transfer", "payout", ] """ The type of the source flow that originated the ReceivedCredit. """ credit_reversal: Optional[str] """ The CreditReversal created as a result of this ReceivedCredit being reversed. """ issuing_authorization: Optional[str] """ Set if the ReceivedCredit was created due to an [Issuing Authorization](https://stripe.com/docs/api#issuing_authorizations) object. """ issuing_transaction: Optional[str] """ Set if the ReceivedCredit is also viewable as an [Issuing transaction](https://stripe.com/docs/api#issuing_transactions) object. """ source_flow: Optional[str] """ ID of the source flow. Set if `network` is `stripe` and the source flow is visible to the user. Examples of source flows include OutboundPayments, payouts, or CreditReversals. """ source_flow_details: Optional[SourceFlowDetails] """ The expandable object of the source flow. """ source_flow_type: Optional[str] """ The type of flow that originated the ReceivedCredit (for example, `outbound_payment`). """ _inner_class_types = {"source_flow_details": SourceFlowDetails} class ReversalDetails(StripeObject): deadline: Optional[int] """ Time before which a ReceivedCredit can be reversed. """ restricted_reason: Optional[ Literal[ "already_reversed", "deadline_passed", "network_restricted", "other", "source_flow_restricted", ] ] """ Set if a ReceivedCredit cannot be reversed. """ amount: int """ Amount (in cents) transferred. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: str """ An arbitrary string attached to the object. Often useful for displaying to users. """ failure_code: Optional[ Literal[ "account_closed", "account_frozen", "international_transaction", "other", ] ] """ Reason for the failure. A ReceivedCredit might fail because the receiving FinancialAccount is closed or frozen. """ financial_account: Optional[str] """ The FinancialAccount that received the funds. """ 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. """ id: str """ Unique identifier for the object. """ initiating_payment_method_details: InitiatingPaymentMethodDetails linked_flows: LinkedFlows livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ network: Literal["ach", "card", "stripe", "us_domestic_wire"] """ The rails used to send the funds. """ object: Literal["treasury.received_credit"] """ String representing the object's type. Objects of the same type share the same value. """ reversal_details: Optional[ReversalDetails] """ Details describing when a ReceivedCredit may be reversed. """ status: Literal["failed", "succeeded"] """ Status of the ReceivedCredit. ReceivedCredits are created either `succeeded` (approved) or `failed` (declined). If a ReceivedCredit is declined, the failure reason can be found in the `failure_code` field. """ transaction: Optional[ExpandableField["Transaction"]] """ The Transaction associated with this object. """ @classmethod def list( cls, **params: Unpack["ReceivedCreditListParams"] ) -> ListObject["ReceivedCredit"]: """ Returns a list of ReceivedCredits. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ReceivedCreditListParams"] ) -> ListObject["ReceivedCredit"]: """ Returns a list of ReceivedCredits. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["ReceivedCreditRetrieveParams"] ) -> "ReceivedCredit": """ Retrieves the details of an existing ReceivedCredit by passing the unique ReceivedCredit ID from the ReceivedCredit list. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ReceivedCreditRetrieveParams"] ) -> "ReceivedCredit": """ Retrieves the details of an existing ReceivedCredit by passing the unique ReceivedCredit ID from the ReceivedCredit list. """ instance = cls(id, **params) await instance.refresh_async() return instance class TestHelpers(APIResourceTestHelpers["ReceivedCredit"]): _resource_cls: Type["ReceivedCredit"] @classmethod def create( cls, **params: Unpack["ReceivedCreditCreateParams"] ) -> "ReceivedCredit": """ Use this endpoint to simulate a test mode ReceivedCredit initiated by a third party. In live mode, you can't directly create ReceivedCredits initiated by third parties. """ return cast( "ReceivedCredit", cls._static_request( "post", "/v1/test_helpers/treasury/received_credits", params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["ReceivedCreditCreateParams"] ) -> "ReceivedCredit": """ Use this endpoint to simulate a test mode ReceivedCredit initiated by a third party. In live mode, you can't directly create ReceivedCredits initiated by third parties. """ return cast( "ReceivedCredit", await cls._static_request_async( "post", "/v1/test_helpers/treasury/received_credits", params=params, ), ) @property def test_helpers(self): return self.TestHelpers(self) _inner_class_types = { "initiating_payment_method_details": InitiatingPaymentMethodDetails, "linked_flows": LinkedFlows, "reversal_details": ReversalDetails, } ReceivedCredit.TestHelpers._resource_cls = ReceivedCredit ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/treasury/_received_credit_service.py0000644000000000000000000000612315102753431020571 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.treasury._received_credit_list_params import ( ReceivedCreditListParams, ) from stripe.params.treasury._received_credit_retrieve_params import ( ReceivedCreditRetrieveParams, ) from stripe.treasury._received_credit import ReceivedCredit class ReceivedCreditService(StripeService): def list( self, params: "ReceivedCreditListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[ReceivedCredit]": """ Returns a list of ReceivedCredits. """ return cast( "ListObject[ReceivedCredit]", self._request( "get", "/v1/treasury/received_credits", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "ReceivedCreditListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[ReceivedCredit]": """ Returns a list of ReceivedCredits. """ return cast( "ListObject[ReceivedCredit]", await self._request_async( "get", "/v1/treasury/received_credits", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["ReceivedCreditRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ReceivedCredit": """ Retrieves the details of an existing ReceivedCredit by passing the unique ReceivedCredit ID from the ReceivedCredit list. """ return cast( "ReceivedCredit", self._request( "get", "/v1/treasury/received_credits/{id}".format( id=sanitize_id(id) ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["ReceivedCreditRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ReceivedCredit": """ Retrieves the details of an existing ReceivedCredit by passing the unique ReceivedCredit ID from the ReceivedCredit list. """ return cast( "ReceivedCredit", await self._request_async( "get", "/v1/treasury/received_credits/{id}".format( id=sanitize_id(id) ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/treasury/_received_debit.py0000644000000000000000000002622115102753431016667 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from stripe._test_helpers import APIResourceTestHelpers from typing import ClassVar, Optional, cast from typing_extensions import Literal, Type, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.params.treasury._received_debit_create_params import ( ReceivedDebitCreateParams, ) from stripe.params.treasury._received_debit_list_params import ( ReceivedDebitListParams, ) from stripe.params.treasury._received_debit_retrieve_params import ( ReceivedDebitRetrieveParams, ) from stripe.treasury._transaction import Transaction class ReceivedDebit(ListableAPIResource["ReceivedDebit"]): """ ReceivedDebits represent funds pulled from a [FinancialAccount](https://stripe.com/docs/api#financial_accounts). These are not initiated from the FinancialAccount. """ OBJECT_NAME: ClassVar[Literal["treasury.received_debit"]] = ( "treasury.received_debit" ) class InitiatingPaymentMethodDetails(StripeObject): class BillingDetails(StripeObject): class Address(StripeObject): city: Optional[str] """ City, district, suburb, town, or village. """ country: Optional[str] """ Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). """ line1: Optional[str] """ Address line 1, such as the street, PO Box, or company name. """ line2: Optional[str] """ Address line 2, such as the apartment, suite, unit, or building. """ postal_code: Optional[str] """ ZIP or postal code. """ state: Optional[str] """ State, county, province, or region. """ address: Address email: Optional[str] """ Email address. """ name: Optional[str] """ Full name. """ _inner_class_types = {"address": Address} class FinancialAccount(StripeObject): id: str """ The FinancialAccount ID. """ network: Literal["stripe"] """ The rails the ReceivedCredit was sent over. A FinancialAccount can only send funds over `stripe`. """ class UsBankAccount(StripeObject): bank_name: Optional[str] """ Bank name. """ last4: Optional[str] """ The last four digits of the bank account number. """ routing_number: Optional[str] """ The routing number for the bank account. """ balance: Optional[Literal["payments"]] """ Set when `type` is `balance`. """ billing_details: BillingDetails financial_account: Optional[FinancialAccount] issuing_card: Optional[str] """ Set when `type` is `issuing_card`. This is an [Issuing Card](https://stripe.com/docs/api#issuing_cards) ID. """ type: Literal[ "balance", "financial_account", "issuing_card", "stripe", "us_bank_account", ] """ Polymorphic type matching the originating money movement's source. This can be an external account, a Stripe balance, or a FinancialAccount. """ us_bank_account: Optional[UsBankAccount] _inner_class_types = { "billing_details": BillingDetails, "financial_account": FinancialAccount, "us_bank_account": UsBankAccount, } class LinkedFlows(StripeObject): debit_reversal: Optional[str] """ The DebitReversal created as a result of this ReceivedDebit being reversed. """ inbound_transfer: Optional[str] """ Set if the ReceivedDebit is associated with an InboundTransfer's return of funds. """ issuing_authorization: Optional[str] """ Set if the ReceivedDebit was created due to an [Issuing Authorization](https://stripe.com/docs/api#issuing_authorizations) object. """ issuing_transaction: Optional[str] """ Set if the ReceivedDebit is also viewable as an [Issuing Dispute](https://stripe.com/docs/api#issuing_disputes) object. """ payout: Optional[str] """ Set if the ReceivedDebit was created due to a [Payout](https://stripe.com/docs/api#payouts) object. """ class ReversalDetails(StripeObject): deadline: Optional[int] """ Time before which a ReceivedDebit can be reversed. """ restricted_reason: Optional[ Literal[ "already_reversed", "deadline_passed", "network_restricted", "other", "source_flow_restricted", ] ] """ Set if a ReceivedDebit can't be reversed. """ amount: int """ Amount (in cents) transferred. """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: str """ An arbitrary string attached to the object. Often useful for displaying to users. """ failure_code: Optional[ Literal[ "account_closed", "account_frozen", "insufficient_funds", "international_transaction", "other", ] ] """ Reason for the failure. A ReceivedDebit might fail because the FinancialAccount doesn't have sufficient funds, is closed, or is frozen. """ financial_account: Optional[str] """ The FinancialAccount that funds were pulled from. """ 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. """ id: str """ Unique identifier for the object. """ initiating_payment_method_details: Optional[InitiatingPaymentMethodDetails] linked_flows: LinkedFlows livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ network: Literal["ach", "card", "stripe"] """ The network used for the ReceivedDebit. """ object: Literal["treasury.received_debit"] """ String representing the object's type. Objects of the same type share the same value. """ reversal_details: Optional[ReversalDetails] """ Details describing when a ReceivedDebit might be reversed. """ status: Literal["failed", "succeeded"] """ Status of the ReceivedDebit. ReceivedDebits are created with a status of either `succeeded` (approved) or `failed` (declined). The failure reason can be found under the `failure_code`. """ transaction: Optional[ExpandableField["Transaction"]] """ The Transaction associated with this object. """ @classmethod def list( cls, **params: Unpack["ReceivedDebitListParams"] ) -> ListObject["ReceivedDebit"]: """ Returns a list of ReceivedDebits. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["ReceivedDebitListParams"] ) -> ListObject["ReceivedDebit"]: """ Returns a list of ReceivedDebits. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["ReceivedDebitRetrieveParams"] ) -> "ReceivedDebit": """ Retrieves the details of an existing ReceivedDebit by passing the unique ReceivedDebit ID from the ReceivedDebit list """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["ReceivedDebitRetrieveParams"] ) -> "ReceivedDebit": """ Retrieves the details of an existing ReceivedDebit by passing the unique ReceivedDebit ID from the ReceivedDebit list """ instance = cls(id, **params) await instance.refresh_async() return instance class TestHelpers(APIResourceTestHelpers["ReceivedDebit"]): _resource_cls: Type["ReceivedDebit"] @classmethod def create( cls, **params: Unpack["ReceivedDebitCreateParams"] ) -> "ReceivedDebit": """ Use this endpoint to simulate a test mode ReceivedDebit initiated by a third party. In live mode, you can't directly create ReceivedDebits initiated by third parties. """ return cast( "ReceivedDebit", cls._static_request( "post", "/v1/test_helpers/treasury/received_debits", params=params, ), ) @classmethod async def create_async( cls, **params: Unpack["ReceivedDebitCreateParams"] ) -> "ReceivedDebit": """ Use this endpoint to simulate a test mode ReceivedDebit initiated by a third party. In live mode, you can't directly create ReceivedDebits initiated by third parties. """ return cast( "ReceivedDebit", await cls._static_request_async( "post", "/v1/test_helpers/treasury/received_debits", params=params, ), ) @property def test_helpers(self): return self.TestHelpers(self) _inner_class_types = { "initiating_payment_method_details": InitiatingPaymentMethodDetails, "linked_flows": LinkedFlows, "reversal_details": ReversalDetails, } ReceivedDebit.TestHelpers._resource_cls = ReceivedDebit ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/treasury/_received_debit_service.py0000644000000000000000000000574615102753431020420 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.treasury._received_debit_list_params import ( ReceivedDebitListParams, ) from stripe.params.treasury._received_debit_retrieve_params import ( ReceivedDebitRetrieveParams, ) from stripe.treasury._received_debit import ReceivedDebit class ReceivedDebitService(StripeService): def list( self, params: "ReceivedDebitListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[ReceivedDebit]": """ Returns a list of ReceivedDebits. """ return cast( "ListObject[ReceivedDebit]", self._request( "get", "/v1/treasury/received_debits", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "ReceivedDebitListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[ReceivedDebit]": """ Returns a list of ReceivedDebits. """ return cast( "ListObject[ReceivedDebit]", await self._request_async( "get", "/v1/treasury/received_debits", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["ReceivedDebitRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ReceivedDebit": """ Retrieves the details of an existing ReceivedDebit by passing the unique ReceivedDebit ID from the ReceivedDebit list """ return cast( "ReceivedDebit", self._request( "get", "/v1/treasury/received_debits/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["ReceivedDebitRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ReceivedDebit": """ Retrieves the details of an existing ReceivedDebit by passing the unique ReceivedDebit ID from the ReceivedDebit list """ return cast( "ReceivedDebit", await self._request_async( "get", "/v1/treasury/received_debits/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/treasury/_transaction.py0000644000000000000000000002421715102753431016262 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.issuing._authorization import Authorization from stripe.params.treasury._transaction_list_params import ( TransactionListParams, ) from stripe.params.treasury._transaction_retrieve_params import ( TransactionRetrieveParams, ) from stripe.treasury._credit_reversal import CreditReversal from stripe.treasury._debit_reversal import DebitReversal from stripe.treasury._inbound_transfer import InboundTransfer from stripe.treasury._outbound_payment import OutboundPayment from stripe.treasury._outbound_transfer import OutboundTransfer from stripe.treasury._received_credit import ReceivedCredit from stripe.treasury._received_debit import ReceivedDebit from stripe.treasury._transaction_entry import TransactionEntry class Transaction(ListableAPIResource["Transaction"]): """ Transactions represent changes to a [FinancialAccount's](https://stripe.com/docs/api#financial_accounts) balance. """ OBJECT_NAME: ClassVar[Literal["treasury.transaction"]] = ( "treasury.transaction" ) class BalanceImpact(StripeObject): cash: int """ The change made to funds the user can spend right now. """ inbound_pending: int """ The change made to funds that are not spendable yet, but will become available at a later time. """ outbound_pending: int """ The change made to funds in the account, but not spendable because they are being held for pending outbound flows. """ class FlowDetails(StripeObject): credit_reversal: Optional["CreditReversal"] """ You can reverse some [ReceivedCredits](https://stripe.com/docs/api#received_credits) depending on their network and source flow. Reversing a ReceivedCredit leads to the creation of a new object known as a CreditReversal. """ debit_reversal: Optional["DebitReversal"] """ You can reverse some [ReceivedDebits](https://stripe.com/docs/api#received_debits) depending on their network and source flow. Reversing a ReceivedDebit leads to the creation of a new object known as a DebitReversal. """ inbound_transfer: Optional["InboundTransfer"] """ Use [InboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) to add funds to your [FinancialAccount](https://stripe.com/docs/api#financial_accounts) via a PaymentMethod that is owned by you. The funds will be transferred via an ACH debit. Related guide: [Moving money with Treasury using InboundTransfer objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) """ issuing_authorization: Optional["Authorization"] """ When an [issued card](https://stripe.com/docs/issuing) is used to make a purchase, an Issuing `Authorization` object is created. [Authorizations](https://stripe.com/docs/issuing/purchases/authorizations) must be approved for the purchase to be completed successfully. Related guide: [Issued card authorizations](https://stripe.com/docs/issuing/purchases/authorizations) """ outbound_payment: Optional["OutboundPayment"] """ Use [OutboundPayments](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-payments) to send funds to another party's external bank account or [FinancialAccount](https://stripe.com/docs/api#financial_accounts). To send money to an account belonging to the same user, use an [OutboundTransfer](https://stripe.com/docs/api#outbound_transfers). Simulate OutboundPayment state changes with the `/v1/test_helpers/treasury/outbound_payments` endpoints. These methods can only be called on test mode objects. Related guide: [Moving money with Treasury using OutboundPayment objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-payments) """ outbound_transfer: Optional["OutboundTransfer"] """ Use [OutboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) to transfer funds from a [FinancialAccount](https://stripe.com/docs/api#financial_accounts) to a PaymentMethod belonging to the same entity. To send funds to a different party, use [OutboundPayments](https://stripe.com/docs/api#outbound_payments) instead. You can send funds over ACH rails or through a domestic wire transfer to a user's own external bank account. Simulate OutboundTransfer state changes with the `/v1/test_helpers/treasury/outbound_transfers` endpoints. These methods can only be called on test mode objects. Related guide: [Moving money with Treasury using OutboundTransfer objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) """ received_credit: Optional["ReceivedCredit"] """ ReceivedCredits represent funds sent to a [FinancialAccount](https://stripe.com/docs/api#financial_accounts) (for example, via ACH or wire). These money movements are not initiated from the FinancialAccount. """ received_debit: Optional["ReceivedDebit"] """ ReceivedDebits represent funds pulled from a [FinancialAccount](https://stripe.com/docs/api#financial_accounts). These are not initiated from the FinancialAccount. """ type: Literal[ "credit_reversal", "debit_reversal", "inbound_transfer", "issuing_authorization", "other", "outbound_payment", "outbound_transfer", "received_credit", "received_debit", ] """ Type of the flow that created the Transaction. Set to the same value as `flow_type`. """ class StatusTransitions(StripeObject): posted_at: Optional[int] """ Timestamp describing when the Transaction changed status to `posted`. """ void_at: Optional[int] """ Timestamp describing when the Transaction changed status to `void`. """ amount: int """ Amount (in cents) transferred. """ balance_impact: BalanceImpact """ Change to a FinancialAccount's balance """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ description: str """ An arbitrary string attached to the object. Often useful for displaying to users. """ entries: Optional[ListObject["TransactionEntry"]] """ A list of TransactionEntries that are part of this Transaction. This cannot be expanded in any list endpoints. """ financial_account: str """ The FinancialAccount associated with this object. """ flow: Optional[str] """ ID of the flow that created the Transaction. """ flow_details: Optional[FlowDetails] """ Details of the flow that created the Transaction. """ flow_type: Literal[ "credit_reversal", "debit_reversal", "inbound_transfer", "issuing_authorization", "other", "outbound_payment", "outbound_transfer", "received_credit", "received_debit", ] """ Type of the flow that created the Transaction. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["treasury.transaction"] """ String representing the object's type. Objects of the same type share the same value. """ status: Literal["open", "posted", "void"] """ Status of the Transaction. """ status_transitions: StatusTransitions @classmethod def list( cls, **params: Unpack["TransactionListParams"] ) -> ListObject["Transaction"]: """ Retrieves a list of Transaction objects. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["TransactionListParams"] ) -> ListObject["Transaction"]: """ Retrieves a list of Transaction objects. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["TransactionRetrieveParams"] ) -> "Transaction": """ Retrieves the details of an existing Transaction. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["TransactionRetrieveParams"] ) -> "Transaction": """ Retrieves the details of an existing Transaction. """ instance = cls(id, **params) await instance.refresh_async() return instance _inner_class_types = { "balance_impact": BalanceImpact, "flow_details": FlowDetails, "status_transitions": StatusTransitions, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/treasury/_transaction_entry.py0000644000000000000000000002501515102753431017500 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._expandable_field import ExpandableField from stripe._list_object import ListObject from stripe._listable_api_resource import ListableAPIResource from stripe._stripe_object import StripeObject from typing import ClassVar, Optional from typing_extensions import Literal, Unpack, TYPE_CHECKING if TYPE_CHECKING: from stripe.issuing._authorization import Authorization from stripe.params.treasury._transaction_entry_list_params import ( TransactionEntryListParams, ) from stripe.params.treasury._transaction_entry_retrieve_params import ( TransactionEntryRetrieveParams, ) from stripe.treasury._credit_reversal import CreditReversal from stripe.treasury._debit_reversal import DebitReversal from stripe.treasury._inbound_transfer import InboundTransfer from stripe.treasury._outbound_payment import OutboundPayment from stripe.treasury._outbound_transfer import OutboundTransfer from stripe.treasury._received_credit import ReceivedCredit from stripe.treasury._received_debit import ReceivedDebit from stripe.treasury._transaction import Transaction class TransactionEntry(ListableAPIResource["TransactionEntry"]): """ TransactionEntries represent individual units of money movements within a single [Transaction](https://stripe.com/docs/api#transactions). """ OBJECT_NAME: ClassVar[Literal["treasury.transaction_entry"]] = ( "treasury.transaction_entry" ) class BalanceImpact(StripeObject): cash: int """ The change made to funds the user can spend right now. """ inbound_pending: int """ The change made to funds that are not spendable yet, but will become available at a later time. """ outbound_pending: int """ The change made to funds in the account, but not spendable because they are being held for pending outbound flows. """ class FlowDetails(StripeObject): credit_reversal: Optional["CreditReversal"] """ You can reverse some [ReceivedCredits](https://stripe.com/docs/api#received_credits) depending on their network and source flow. Reversing a ReceivedCredit leads to the creation of a new object known as a CreditReversal. """ debit_reversal: Optional["DebitReversal"] """ You can reverse some [ReceivedDebits](https://stripe.com/docs/api#received_debits) depending on their network and source flow. Reversing a ReceivedDebit leads to the creation of a new object known as a DebitReversal. """ inbound_transfer: Optional["InboundTransfer"] """ Use [InboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) to add funds to your [FinancialAccount](https://stripe.com/docs/api#financial_accounts) via a PaymentMethod that is owned by you. The funds will be transferred via an ACH debit. Related guide: [Moving money with Treasury using InboundTransfer objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/into/inbound-transfers) """ issuing_authorization: Optional["Authorization"] """ When an [issued card](https://stripe.com/docs/issuing) is used to make a purchase, an Issuing `Authorization` object is created. [Authorizations](https://stripe.com/docs/issuing/purchases/authorizations) must be approved for the purchase to be completed successfully. Related guide: [Issued card authorizations](https://stripe.com/docs/issuing/purchases/authorizations) """ outbound_payment: Optional["OutboundPayment"] """ Use [OutboundPayments](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-payments) to send funds to another party's external bank account or [FinancialAccount](https://stripe.com/docs/api#financial_accounts). To send money to an account belonging to the same user, use an [OutboundTransfer](https://stripe.com/docs/api#outbound_transfers). Simulate OutboundPayment state changes with the `/v1/test_helpers/treasury/outbound_payments` endpoints. These methods can only be called on test mode objects. Related guide: [Moving money with Treasury using OutboundPayment objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-payments) """ outbound_transfer: Optional["OutboundTransfer"] """ Use [OutboundTransfers](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) to transfer funds from a [FinancialAccount](https://stripe.com/docs/api#financial_accounts) to a PaymentMethod belonging to the same entity. To send funds to a different party, use [OutboundPayments](https://stripe.com/docs/api#outbound_payments) instead. You can send funds over ACH rails or through a domestic wire transfer to a user's own external bank account. Simulate OutboundTransfer state changes with the `/v1/test_helpers/treasury/outbound_transfers` endpoints. These methods can only be called on test mode objects. Related guide: [Moving money with Treasury using OutboundTransfer objects](https://docs.stripe.com/docs/treasury/moving-money/financial-accounts/out-of/outbound-transfers) """ received_credit: Optional["ReceivedCredit"] """ ReceivedCredits represent funds sent to a [FinancialAccount](https://stripe.com/docs/api#financial_accounts) (for example, via ACH or wire). These money movements are not initiated from the FinancialAccount. """ received_debit: Optional["ReceivedDebit"] """ ReceivedDebits represent funds pulled from a [FinancialAccount](https://stripe.com/docs/api#financial_accounts). These are not initiated from the FinancialAccount. """ type: Literal[ "credit_reversal", "debit_reversal", "inbound_transfer", "issuing_authorization", "other", "outbound_payment", "outbound_transfer", "received_credit", "received_debit", ] """ Type of the flow that created the Transaction. Set to the same value as `flow_type`. """ balance_impact: BalanceImpact """ Change to a FinancialAccount's balance """ created: int """ Time at which the object was created. Measured in seconds since the Unix epoch. """ currency: str """ Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). """ effective_at: int """ When the TransactionEntry will impact the FinancialAccount's balance. """ financial_account: str """ The FinancialAccount associated with this object. """ flow: Optional[str] """ Token of the flow associated with the TransactionEntry. """ flow_details: Optional[FlowDetails] """ Details of the flow associated with the TransactionEntry. """ flow_type: Literal[ "credit_reversal", "debit_reversal", "inbound_transfer", "issuing_authorization", "other", "outbound_payment", "outbound_transfer", "received_credit", "received_debit", ] """ Type of the flow associated with the TransactionEntry. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["treasury.transaction_entry"] """ String representing the object's type. Objects of the same type share the same value. """ transaction: ExpandableField["Transaction"] """ The Transaction associated with this object. """ type: Literal[ "credit_reversal", "credit_reversal_posting", "debit_reversal", "inbound_transfer", "inbound_transfer_return", "issuing_authorization_hold", "issuing_authorization_release", "other", "outbound_payment", "outbound_payment_cancellation", "outbound_payment_failure", "outbound_payment_posting", "outbound_payment_return", "outbound_transfer", "outbound_transfer_cancellation", "outbound_transfer_failure", "outbound_transfer_posting", "outbound_transfer_return", "received_credit", "received_debit", ] """ The specific money movement that generated the TransactionEntry. """ @classmethod def list( cls, **params: Unpack["TransactionEntryListParams"] ) -> ListObject["TransactionEntry"]: """ Retrieves a list of TransactionEntry objects. """ result = cls._static_request( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod async def list_async( cls, **params: Unpack["TransactionEntryListParams"] ) -> ListObject["TransactionEntry"]: """ Retrieves a list of TransactionEntry objects. """ result = await cls._static_request_async( "get", cls.class_url(), params=params, ) if not isinstance(result, ListObject): raise TypeError( "Expected list object from API, got %s" % (type(result).__name__) ) return result @classmethod def retrieve( cls, id: str, **params: Unpack["TransactionEntryRetrieveParams"] ) -> "TransactionEntry": """ Retrieves a TransactionEntry object. """ instance = cls(id, **params) instance.refresh() return instance @classmethod async def retrieve_async( cls, id: str, **params: Unpack["TransactionEntryRetrieveParams"] ) -> "TransactionEntry": """ Retrieves a TransactionEntry object. """ instance = cls(id, **params) await instance.refresh_async() return instance @classmethod def class_url(cls): return "/v1/treasury/transaction_entries" _inner_class_types = { "balance_impact": BalanceImpact, "flow_details": FlowDetails, } ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/treasury/_transaction_entry_service.py0000644000000000000000000000576315102753431021230 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.treasury._transaction_entry_list_params import ( TransactionEntryListParams, ) from stripe.params.treasury._transaction_entry_retrieve_params import ( TransactionEntryRetrieveParams, ) from stripe.treasury._transaction_entry import TransactionEntry class TransactionEntryService(StripeService): def list( self, params: "TransactionEntryListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[TransactionEntry]": """ Retrieves a list of TransactionEntry objects. """ return cast( "ListObject[TransactionEntry]", self._request( "get", "/v1/treasury/transaction_entries", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "TransactionEntryListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[TransactionEntry]": """ Retrieves a list of TransactionEntry objects. """ return cast( "ListObject[TransactionEntry]", await self._request_async( "get", "/v1/treasury/transaction_entries", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["TransactionEntryRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TransactionEntry": """ Retrieves a TransactionEntry object. """ return cast( "TransactionEntry", self._request( "get", "/v1/treasury/transaction_entries/{id}".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["TransactionEntryRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "TransactionEntry": """ Retrieves a TransactionEntry object. """ return cast( "TransactionEntry", await self._request_async( "get", "/v1/treasury/transaction_entries/{id}".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/treasury/_transaction_service.py0000644000000000000000000000546715102753431020010 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._list_object import ListObject from stripe._request_options import RequestOptions from stripe.params.treasury._transaction_list_params import ( TransactionListParams, ) from stripe.params.treasury._transaction_retrieve_params import ( TransactionRetrieveParams, ) from stripe.treasury._transaction import Transaction class TransactionService(StripeService): def list( self, params: "TransactionListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[Transaction]": """ Retrieves a list of Transaction objects. """ return cast( "ListObject[Transaction]", self._request( "get", "/v1/treasury/transactions", base_address="api", params=params, options=options, ), ) async def list_async( self, params: "TransactionListParams", options: Optional["RequestOptions"] = None, ) -> "ListObject[Transaction]": """ Retrieves a list of Transaction objects. """ return cast( "ListObject[Transaction]", await self._request_async( "get", "/v1/treasury/transactions", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["TransactionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Retrieves the details of an existing Transaction. """ return cast( "Transaction", self._request( "get", "/v1/treasury/transactions/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["TransactionRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Transaction": """ Retrieves the details of an existing Transaction. """ return cast( "Transaction", await self._request_async( "get", "/v1/treasury/transactions/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/v2/__init__.py0000644000000000000000000000244315102753431014003 0ustar00from typing_extensions import TYPE_CHECKING from stripe.v2._list_object import ListObject as ListObject from stripe.v2._amount import Amount as Amount, AmountParam as AmountParam # The beginning of the section generated from our OpenAPI spec from importlib import import_module if TYPE_CHECKING: from stripe.v2 import billing as billing, core as core from stripe.v2._billing_service import BillingService as BillingService from stripe.v2._core_service import CoreService as CoreService from stripe.v2._deleted_object import DeletedObject as DeletedObject # name -> (import_target, is_submodule) _import_map = { "billing": ("stripe.v2.billing", True), "core": ("stripe.v2.core", True), "BillingService": ("stripe.v2._billing_service", False), "CoreService": ("stripe.v2._core_service", False), "DeletedObject": ("stripe.v2._deleted_object", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() # The end of the section generated from our OpenAPI spec ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/v2/_amount.py0000644000000000000000000000040015102753431013675 0ustar00# -*- coding: utf-8 -*- # NOT codegenned from typing_extensions import TypedDict from stripe._stripe_object import StripeObject class Amount(StripeObject): value: int currency: str class AmountParam(TypedDict): value: int currency: str ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/v2/_billing_service.py0000644000000000000000000000353515102753431015546 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.v2.billing._meter_event_adjustment_service import ( MeterEventAdjustmentService, ) from stripe.v2.billing._meter_event_service import MeterEventService from stripe.v2.billing._meter_event_session_service import ( MeterEventSessionService, ) from stripe.v2.billing._meter_event_stream_service import ( MeterEventStreamService, ) _subservices = { "meter_events": [ "stripe.v2.billing._meter_event_service", "MeterEventService", ], "meter_event_adjustments": [ "stripe.v2.billing._meter_event_adjustment_service", "MeterEventAdjustmentService", ], "meter_event_session": [ "stripe.v2.billing._meter_event_session_service", "MeterEventSessionService", ], "meter_event_stream": [ "stripe.v2.billing._meter_event_stream_service", "MeterEventStreamService", ], } class BillingService(StripeService): meter_events: "MeterEventService" meter_event_adjustments: "MeterEventAdjustmentService" meter_event_session: "MeterEventSessionService" meter_event_stream: "MeterEventStreamService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003300000000000010211 xustar0027 mtime=1762383641.380062 stripe-13.2.0/stripe/v2/_core_service.py0000644000000000000000000000227115102753431015052 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.v2.core._event_destination_service import ( EventDestinationService, ) from stripe.v2.core._event_service import EventService _subservices = { "events": ["stripe.v2.core._event_service", "EventService"], "event_destinations": [ "stripe.v2.core._event_destination_service", "EventDestinationService", ], } class CoreService(StripeService): events: "EventService" event_destinations: "EventDestinationService" def __init__(self, requestor): super().__init__(requestor) def __getattr__(self, name): try: import_from, service = _subservices[name] service_class = getattr( import_module(import_from), service, ) setattr( self, name, service_class(self._requestor), ) return getattr(self, name) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/stripe/v2/_deleted_object.py0000644000000000000000000000065515102753431015342 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import Optional class DeletedObject(StripeObject): id: str """ The ID of the object that's being deleted. """ object: Optional[str] """ String representing the type of the object that has been deleted. Objects of the same type share the same value of the object field. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/stripe/v2/_list_object.py0000644000000000000000000000332715102753431014706 0ustar00from stripe._stripe_object import StripeObject from typing import List, Optional, TypeVar, Generic T = TypeVar("T", bound=StripeObject) class ListObject(StripeObject, Generic[T]): """ Represents one page of a list of V2 Stripe objects. Use `.data` to access the objects on this page, or use for item in list_object.auto_paging_iter(): # do something with item to iterate over this and all following pages. """ OBJECT_NAME = "list" data: List[T] next_page_url: Optional[str] def __getitem__(self, k): if isinstance(k, str): # type: ignore return super(ListObject, self).__getitem__(k) else: raise KeyError( "You tried to access the %s index, but ListObjectV2 types only " "support string keys. (HINT: List calls return an object with " "a 'data' (which is the data array). You likely want to call " ".data[%s])" % (repr(k), repr(k)) ) def __iter__(self): return getattr(self, "data", []).__iter__() def __len__(self): return getattr(self, "data", []).__len__() def __reversed__(self): return getattr(self, "data", []).__reversed__() def auto_paging_iter(self): page = self.data next_page_url = self.next_page_url while True: for item in page: yield item if next_page_url is None: break result = self._request( "get", next_page_url, base_address="api", ) assert isinstance(result, ListObject) page = result.data next_page_url = result.next_page_url ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/stripe/v2/billing/__init__.py0000644000000000000000000000402715102753431015423 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from importlib import import_module from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe.v2.billing._meter_event import MeterEvent as MeterEvent from stripe.v2.billing._meter_event_adjustment import ( MeterEventAdjustment as MeterEventAdjustment, ) from stripe.v2.billing._meter_event_adjustment_service import ( MeterEventAdjustmentService as MeterEventAdjustmentService, ) from stripe.v2.billing._meter_event_service import ( MeterEventService as MeterEventService, ) from stripe.v2.billing._meter_event_session import ( MeterEventSession as MeterEventSession, ) from stripe.v2.billing._meter_event_session_service import ( MeterEventSessionService as MeterEventSessionService, ) from stripe.v2.billing._meter_event_stream_service import ( MeterEventStreamService as MeterEventStreamService, ) # name -> (import_target, is_submodule) _import_map = { "MeterEvent": ("stripe.v2.billing._meter_event", False), "MeterEventAdjustment": ( "stripe.v2.billing._meter_event_adjustment", False, ), "MeterEventAdjustmentService": ( "stripe.v2.billing._meter_event_adjustment_service", False, ), "MeterEventService": ("stripe.v2.billing._meter_event_service", False), "MeterEventSession": ("stripe.v2.billing._meter_event_session", False), "MeterEventSessionService": ( "stripe.v2.billing._meter_event_session_service", False, ), "MeterEventStreamService": ( "stripe.v2.billing._meter_event_stream_service", False, ), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/stripe/v2/billing/_meter_event.py0000644000000000000000000000325415102753431016341 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar, Dict from typing_extensions import Literal class MeterEvent(StripeObject): """ Fix me empty_doc_string. """ OBJECT_NAME: ClassVar[Literal["v2.billing.meter_event"]] = ( "v2.billing.meter_event" ) created: str """ The creation time of this meter event. """ event_name: str """ The name of the meter event. Corresponds with the `event_name` field on a meter. """ identifier: str """ A unique identifier for the event. If not provided, one will be generated. We recommend using a globally unique identifier for this. We'll enforce uniqueness within a rolling 24 hour period. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["v2.billing.meter_event"] """ String representing the object's type. Objects of the same type share the same value of the object field. """ payload: Dict[str, str] """ 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](https://docs.stripe.com/billing/subscriptions/usage-based/recording-usage#payload-key-overrides).. """ timestamp: str """ The time of the event. Must be within the past 35 calendar days or up to 5 minutes in the future. Defaults to current timestamp if not specified. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/stripe/v2/billing/_meter_event_adjustment.py0000644000000000000000000000303015102753431020567 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar from typing_extensions import Literal class MeterEventAdjustment(StripeObject): OBJECT_NAME: ClassVar[Literal["v2.billing.meter_event_adjustment"]] = ( "v2.billing.meter_event_adjustment" ) class Cancel(StripeObject): identifier: str """ Unique identifier for the event. You can only cancel events within 24 hours of Stripe receiving them. """ cancel: Cancel """ Specifies which event to cancel. """ created: str """ The time the adjustment was created. """ event_name: str """ The name of the meter event. Corresponds with the `event_name` field on a meter. """ id: str """ The unique id of this meter event adjustment. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["v2.billing.meter_event_adjustment"] """ String representing the object's type. Objects of the same type share the same value of the object field. """ status: Literal["complete", "pending"] """ Open Enum. The meter event adjustment's status. """ type: Literal["cancel"] """ Open Enum. Specifies whether to cancel a single event or a range of events for a time period. Time period cancellation is not supported yet. """ _inner_class_types = {"cancel": Cancel} ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/stripe/v2/billing/_meter_event_adjustment_service.py0000644000000000000000000000320715102753431022315 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.v2.billing._meter_event_adjustment_create_params import ( MeterEventAdjustmentCreateParams, ) from stripe.v2.billing._meter_event_adjustment import MeterEventAdjustment class MeterEventAdjustmentService(StripeService): def create( self, params: "MeterEventAdjustmentCreateParams", options: Optional["RequestOptions"] = None, ) -> "MeterEventAdjustment": """ Creates a meter event adjustment to cancel a previously sent meter event. """ return cast( "MeterEventAdjustment", self._request( "post", "/v2/billing/meter_event_adjustments", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "MeterEventAdjustmentCreateParams", options: Optional["RequestOptions"] = None, ) -> "MeterEventAdjustment": """ Creates a meter event adjustment to cancel a previously sent meter event. """ return cast( "MeterEventAdjustment", await self._request_async( "post", "/v2/billing/meter_event_adjustments", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/stripe/v2/billing/_meter_event_service.py0000644000000000000000000000341715102753431020062 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.v2.billing._meter_event_create_params import ( MeterEventCreateParams, ) from stripe.v2.billing._meter_event import MeterEvent class MeterEventService(StripeService): def create( self, params: "MeterEventCreateParams", options: Optional["RequestOptions"] = None, ) -> "MeterEvent": """ Creates a meter event. Events are validated synchronously, but are processed asynchronously. Supports up to 1,000 events per second in livemode. For higher rate-limits, please use meter event streams instead. """ return cast( "MeterEvent", self._request( "post", "/v2/billing/meter_events", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "MeterEventCreateParams", options: Optional["RequestOptions"] = None, ) -> "MeterEvent": """ Creates a meter event. Events are validated synchronously, but are processed asynchronously. Supports up to 1,000 events per second in livemode. For higher rate-limits, please use meter event streams instead. """ return cast( "MeterEvent", await self._request_async( "post", "/v2/billing/meter_events", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/stripe/v2/billing/_meter_event_session.py0000644000000000000000000000203615102753431020101 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar from typing_extensions import Literal class MeterEventSession(StripeObject): OBJECT_NAME: ClassVar[Literal["v2.billing.meter_event_session"]] = ( "v2.billing.meter_event_session" ) authentication_token: str """ The authentication token for this session. Use this token when calling the high-throughput meter event API. """ created: str """ The creation time of this session. """ expires_at: str """ The time at which this session will expire. """ id: str """ The unique id of this auth session. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["v2.billing.meter_event_session"] """ String representing the object's type. Objects of the same type share the same value of the object field. """ ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/stripe/v2/billing/_meter_event_session_service.py0000644000000000000000000000364015102753431021623 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.v2.billing._meter_event_session_create_params import ( MeterEventSessionCreateParams, ) from stripe.v2.billing._meter_event_session import MeterEventSession class MeterEventSessionService(StripeService): def create( self, params: Optional["MeterEventSessionCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "MeterEventSession": """ Creates a meter event session to send usage on the high-throughput meter event stream. Authentication tokens are only valid for 15 minutes, so you will need to create a new meter event session when your token expires. """ return cast( "MeterEventSession", self._request( "post", "/v2/billing/meter_event_session", base_address="api", params=params, options=options, ), ) async def create_async( self, params: Optional["MeterEventSessionCreateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "MeterEventSession": """ Creates a meter event session to send usage on the high-throughput meter event stream. Authentication tokens are only valid for 15 minutes, so you will need to create a new meter event session when your token expires. """ return cast( "MeterEventSession", await self._request_async( "post", "/v2/billing/meter_event_session", base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/stripe/v2/billing/_meter_event_stream_service.py0000644000000000000000000000320015102753431021423 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from typing import Optional from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.v2.billing._meter_event_stream_create_params import ( MeterEventStreamCreateParams, ) class MeterEventStreamService(StripeService): def create( self, params: "MeterEventStreamCreateParams", options: Optional["RequestOptions"] = None, ) -> "None": """ Creates meter events. Events are processed asynchronously, including validation. Requires a meter event session for authentication. Supports up to 10,000 requests per second in livemode. For even higher rate-limits, contact sales. """ self._request( "post", "/v2/billing/meter_event_stream", base_address="meter_events", params=params, options=options, ) async def create_async( self, params: "MeterEventStreamCreateParams", options: Optional["RequestOptions"] = None, ) -> "None": """ Creates meter events. Events are processed asynchronously, including validation. Requires a meter event session for authentication. Supports up to 10,000 requests per second in livemode. For even higher rate-limits, contact sales. """ await self._request_async( "post", "/v2/billing/meter_event_stream", base_address="meter_events", params=params, options=options, ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/stripe/v2/core/__init__.py0000644000000000000000000000272515102753431014736 0ustar00# -*- coding: utf-8 -*- from typing_extensions import TYPE_CHECKING from stripe.v2.core._event import ( EventNotification as EventNotification, RelatedObject as RelatedObject, Reason as Reason, ReasonRequest as ReasonRequest, ) # The beginning of the section generated from our OpenAPI spec from importlib import import_module if TYPE_CHECKING: from stripe.v2.core._event import Event as Event from stripe.v2.core._event_destination import ( EventDestination as EventDestination, ) from stripe.v2.core._event_destination_service import ( EventDestinationService as EventDestinationService, ) from stripe.v2.core._event_service import EventService as EventService # name -> (import_target, is_submodule) _import_map = { "Event": ("stripe.v2.core._event", False), "EventDestination": ("stripe.v2.core._event_destination", False), "EventDestinationService": ( "stripe.v2.core._event_destination_service", False, ), "EventService": ("stripe.v2.core._event_service", False), } if not TYPE_CHECKING: def __getattr__(name): try: target, is_submodule = _import_map[name] module = import_module(target) if is_submodule: return module return getattr( module, name, ) except KeyError: raise AttributeError() # The end of the section generated from our OpenAPI spec ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/stripe/v2/core/_event.py0000644000000000000000000001767315102753431014467 0ustar00# -*- coding: utf-8 -*- import json from typing import Any, ClassVar, Dict, Optional, cast from typing_extensions import Literal, TYPE_CHECKING from stripe._stripe_object import StripeObject from stripe._util import get_api_mode from stripe._stripe_context import StripeContext if TYPE_CHECKING: from stripe._stripe_client import StripeClient # The beginning of the section generated from our OpenAPI spec class Event(StripeObject): """ Events are generated to keep you informed of activity in your business account. APIs in the /v2 namespace generate [thin events](https://docs.stripe.com/event-destinations#benefits-of-thin-events) which have small, unversioned payloads that include a reference to the ID of the object that has changed. The Events v2 API returns these new thin events. [Retrieve the event object](https://docs.stripe.com/event-destinations#fetch-data) for additional data about the event. Use the related object ID in the event payload to [fetch the API resource](https://docs.stripe.com/event-destinations#retrieve-the-object-associated-with-thin-events) of the object associated with the event. Comparatively, events generated by most API v1 include a versioned snapshot of an API object in their payload. """ OBJECT_NAME: ClassVar[Literal["v2.core.event"]] = "v2.core.event" class Reason(StripeObject): class Request(StripeObject): id: str """ ID of the API request that caused the event. """ idempotency_key: str """ The idempotency key transmitted during the request. """ request: Optional[Request] """ Information on the API request that instigated the event. """ type: Literal["request"] """ Event reason type. """ _inner_class_types = {"request": Request} context: Optional[str] """ Authentication context needed to fetch the event or related object. """ created: str """ Time at which the object was created. """ id: str """ Unique identifier for the event. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ object: Literal["v2.core.event"] """ String representing the object's type. Objects of the same type share the same value of the object field. """ reason: Optional[Reason] """ Reason for the event. """ type: str """ The type of the event. """ _inner_class_types = {"reason": Reason} # The end of the section generated from our OpenAPI spec class ReasonRequest: id: str idempotency_key: str def __init__(self, d) -> None: self.id = d["id"] self.idempotency_key = d["idempotency_key"] def __repr__(self) -> str: return f"" class Reason: type: Literal["request"] request: Optional[ReasonRequest] = None def __init__(self, d) -> None: self.type = d["type"] if self.type == "request": self.request = ReasonRequest(d["request"]) def __repr__(self) -> str: return f"" class RelatedObject: id: str type: str url: str def __init__(self, d) -> None: self.id = d["id"] self.type = d["type"] self.url = d["url"] def __repr__(self) -> str: return f"" class EventNotification: """ EventNotification represents the json that's delivered from an Event Destination. It's a basic struct-like object with a few convenience methods. Use `fetch_event()` to get the full event object. """ id: str """ Unique identifier for the event. """ type: str """ The type of the event. """ created: str """ Time at which the object was created. """ livemode: bool """ Livemode indicates if the event is from a production(true) or test(false) account. """ context: Optional[StripeContext] = None """ [Optional] Authentication context needed to fetch the event or related object. """ reason: Optional[Reason] = None """ [Optional] Reason for the event. """ def __init__( self, parsed_body: Dict[str, Any], client: "StripeClient" ) -> None: self.id = parsed_body["id"] self.type = parsed_body["type"] self.created = parsed_body["created"] self.livemode = bool(parsed_body.get("livemode")) context_value = parsed_body.get("context") if context_value: self.context = StripeContext.parse(context_value) if parsed_body.get("reason"): self.reason = Reason(parsed_body["reason"]) self._client = client @staticmethod def from_json(payload: str, client: "StripeClient") -> "EventNotification": """ Helper for constructing an Event Notification. Doesn't perform signature validation, so you should use StripeClient.parseEventNotification() instead for initial handling. This is useful in unit tests and working with EventNotifications that you've already validated the authenticity of. """ parsed_body = json.loads(payload) # circular import busting from stripe.events._event_classes import ( get_v2_event_notification_class, ) event_class = get_v2_event_notification_class(parsed_body["type"]) return event_class(parsed_body, client) def __repr__(self) -> str: return f"" def fetch_event(self) -> Event: response = self._client.raw_request( "get", f"/v2/core/events/{self.id}", stripe_context=self.context, usage=["pushed_event_pull"], ) return cast(Event, self._client.deserialize(response, api_mode="V2")) async def fetch_event_async(self) -> Event: response = await self._client.raw_request_async( "get", f"/v2/core/events/{self.id}", stripe_context=self.context, usage=["pushed_event_pull", "pushed_event_pull_async"], ) return cast(Event, self._client.deserialize(response, api_mode="V2")) class UnknownEventNotification(EventNotification): """ Represents an EventNotification payload that the SDK doesn't have types for. May have a related object. """ related_object: Optional[RelatedObject] = None """ [Optional] Object containing the reference to API resource relevant to the event. """ def __init__( self, parsed_body: Dict[str, Any], client: "StripeClient" ) -> None: super().__init__(parsed_body, client) if parsed_body.get("related_object"): self.related_object = RelatedObject(parsed_body["related_object"]) def fetch_related_object(self) -> Optional[StripeObject]: if self.related_object is None: return None response = self._client.raw_request( "get", self.related_object.url, stripe_context=self.context, usage=["fetch_related_object", "unknown_event"], ) return self._client.deserialize( response, api_mode=get_api_mode(self.related_object.url), ) async def fetch_related_object_async(self) -> Optional[StripeObject]: if self.related_object is None: return None response = await self._client.raw_request_async( "get", self.related_object.url, stripe_context=self.context, usage=["fetch_related_object", "unknown_event"], ) return self._client.deserialize( response, api_mode=get_api_mode(self.related_object.url), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/stripe/v2/core/_event_destination.py0000644000000000000000000000735315102753431017062 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_object import StripeObject from typing import ClassVar, Dict, List, Optional from typing_extensions import Literal class EventDestination(StripeObject): """ Set up an event destination to receive events from Stripe across multiple destination types, including [webhook endpoints](https://docs.stripe.com/webhooks) and [Amazon EventBridge](https://docs.stripe.com/event-destinations/eventbridge). Event destinations support receiving [thin events](https://docs.stripe.com/api/v2/events) and [snapshot events](https://docs.stripe.com/api/events). """ OBJECT_NAME: ClassVar[Literal["v2.core.event_destination"]] = ( "v2.core.event_destination" ) class AmazonEventbridge(StripeObject): aws_account_id: str """ The AWS account ID. """ aws_event_source_arn: str """ The ARN of the AWS event source. """ aws_event_source_status: Literal[ "active", "deleted", "pending", "unknown" ] """ The state of the AWS event source. """ class StatusDetails(StripeObject): class Disabled(StripeObject): reason: Literal["no_aws_event_source_exists", "user"] """ Reason event destination has been disabled. """ disabled: Optional[Disabled] """ Details about why the event destination has been disabled. """ _inner_class_types = {"disabled": Disabled} class WebhookEndpoint(StripeObject): signing_secret: Optional[str] """ The signing secret of the webhook endpoint, only includable on creation. """ url: Optional[str] """ The URL of the webhook endpoint, includable. """ amazon_eventbridge: Optional[AmazonEventbridge] """ Amazon EventBridge configuration. """ created: str """ Time at which the object was created. """ description: str """ An optional description of what the event destination is used for. """ enabled_events: List[str] """ The list of events to enable for this endpoint. """ event_payload: Literal["snapshot", "thin"] """ Payload type of events being subscribed to. """ events_from: Optional[List[Literal["other_accounts", "self"]]] """ Where events should be routed from. """ id: str """ Unique identifier for the object. """ livemode: bool """ Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. """ metadata: Optional[Dict[str, str]] """ Metadata. """ name: str """ Event destination name. """ object: Literal["v2.core.event_destination"] """ String representing the object's type. Objects of the same type share the same value of the object field. """ snapshot_api_version: Optional[str] """ If using the snapshot event payload, the API version events are rendered as. """ status: Literal["disabled", "enabled"] """ Status. It can be set to either enabled or disabled. """ status_details: Optional[StatusDetails] """ Additional information about event destination status. """ type: Literal["amazon_eventbridge", "webhook_endpoint"] """ Event destination type. """ updated: str """ Time at which the object was last updated. """ webhook_endpoint: Optional[WebhookEndpoint] """ Webhook endpoint configuration. """ _inner_class_types = { "amazon_eventbridge": AmazonEventbridge, "status_details": StatusDetails, "webhook_endpoint": WebhookEndpoint, } ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/stripe/v2/core/_event_destination_service.py0000644000000000000000000002512715102753431020601 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.v2.core._event_destination_create_params import ( EventDestinationCreateParams, ) from stripe.params.v2.core._event_destination_delete_params import ( EventDestinationDeleteParams, ) from stripe.params.v2.core._event_destination_disable_params import ( EventDestinationDisableParams, ) from stripe.params.v2.core._event_destination_enable_params import ( EventDestinationEnableParams, ) from stripe.params.v2.core._event_destination_list_params import ( EventDestinationListParams, ) from stripe.params.v2.core._event_destination_ping_params import ( EventDestinationPingParams, ) from stripe.params.v2.core._event_destination_retrieve_params import ( EventDestinationRetrieveParams, ) from stripe.params.v2.core._event_destination_update_params import ( EventDestinationUpdateParams, ) from stripe.v2._deleted_object import DeletedObject from stripe.v2._list_object import ListObject from stripe.v2.core._event import Event from stripe.v2.core._event_destination import EventDestination class EventDestinationService(StripeService): def list( self, params: Optional["EventDestinationListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[EventDestination]": """ Lists all event destinations. """ return cast( "ListObject[EventDestination]", self._request( "get", "/v2/core/event_destinations", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["EventDestinationListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[EventDestination]": """ Lists all event destinations. """ return cast( "ListObject[EventDestination]", await self._request_async( "get", "/v2/core/event_destinations", base_address="api", params=params, options=options, ), ) def create( self, params: "EventDestinationCreateParams", options: Optional["RequestOptions"] = None, ) -> "EventDestination": """ Create a new event destination. """ return cast( "EventDestination", self._request( "post", "/v2/core/event_destinations", base_address="api", params=params, options=options, ), ) async def create_async( self, params: "EventDestinationCreateParams", options: Optional["RequestOptions"] = None, ) -> "EventDestination": """ Create a new event destination. """ return cast( "EventDestination", await self._request_async( "post", "/v2/core/event_destinations", base_address="api", params=params, options=options, ), ) def delete( self, id: str, params: Optional["EventDestinationDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "DeletedObject": """ Delete an event destination. """ return cast( "DeletedObject", self._request( "delete", "/v2/core/event_destinations/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def delete_async( self, id: str, params: Optional["EventDestinationDeleteParams"] = None, options: Optional["RequestOptions"] = None, ) -> "DeletedObject": """ Delete an event destination. """ return cast( "DeletedObject", await self._request_async( "delete", "/v2/core/event_destinations/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["EventDestinationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "EventDestination": """ Retrieves the details of an event destination. """ return cast( "EventDestination", self._request( "get", "/v2/core/event_destinations/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["EventDestinationRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "EventDestination": """ Retrieves the details of an event destination. """ return cast( "EventDestination", await self._request_async( "get", "/v2/core/event_destinations/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def update( self, id: str, params: Optional["EventDestinationUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "EventDestination": """ Update the details of an event destination. """ return cast( "EventDestination", self._request( "post", "/v2/core/event_destinations/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def update_async( self, id: str, params: Optional["EventDestinationUpdateParams"] = None, options: Optional["RequestOptions"] = None, ) -> "EventDestination": """ Update the details of an event destination. """ return cast( "EventDestination", await self._request_async( "post", "/v2/core/event_destinations/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) def disable( self, id: str, params: Optional["EventDestinationDisableParams"] = None, options: Optional["RequestOptions"] = None, ) -> "EventDestination": """ Disable an event destination. """ return cast( "EventDestination", self._request( "post", "/v2/core/event_destinations/{id}/disable".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def disable_async( self, id: str, params: Optional["EventDestinationDisableParams"] = None, options: Optional["RequestOptions"] = None, ) -> "EventDestination": """ Disable an event destination. """ return cast( "EventDestination", await self._request_async( "post", "/v2/core/event_destinations/{id}/disable".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def enable( self, id: str, params: Optional["EventDestinationEnableParams"] = None, options: Optional["RequestOptions"] = None, ) -> "EventDestination": """ Enable an event destination. """ return cast( "EventDestination", self._request( "post", "/v2/core/event_destinations/{id}/enable".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def enable_async( self, id: str, params: Optional["EventDestinationEnableParams"] = None, options: Optional["RequestOptions"] = None, ) -> "EventDestination": """ Enable an event destination. """ return cast( "EventDestination", await self._request_async( "post", "/v2/core/event_destinations/{id}/enable".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) def ping( self, id: str, params: Optional["EventDestinationPingParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Event": """ Send a `ping` event to an event destination. """ return cast( "Event", self._request( "post", "/v2/core/event_destinations/{id}/ping".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) async def ping_async( self, id: str, params: Optional["EventDestinationPingParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Event": """ Send a `ping` event to an event destination. """ return cast( "Event", await self._request_async( "post", "/v2/core/event_destinations/{id}/ping".format( id=sanitize_id(id), ), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/stripe/v2/core/_event_service.py0000644000000000000000000000521415102753431016173 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from stripe._stripe_service import StripeService from stripe._util import sanitize_id from typing import Optional, cast from typing_extensions import TYPE_CHECKING if TYPE_CHECKING: from stripe._request_options import RequestOptions from stripe.params.v2.core._event_list_params import EventListParams from stripe.params.v2.core._event_retrieve_params import ( EventRetrieveParams, ) from stripe.v2._list_object import ListObject from stripe.v2.core._event import Event class EventService(StripeService): def list( self, params: Optional["EventListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Event]": """ List events, going back up to 30 days. """ return cast( "ListObject[Event]", self._request( "get", "/v2/core/events", base_address="api", params=params, options=options, ), ) async def list_async( self, params: Optional["EventListParams"] = None, options: Optional["RequestOptions"] = None, ) -> "ListObject[Event]": """ List events, going back up to 30 days. """ return cast( "ListObject[Event]", await self._request_async( "get", "/v2/core/events", base_address="api", params=params, options=options, ), ) def retrieve( self, id: str, params: Optional["EventRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Event": """ Retrieves the details of an event. """ return cast( "Event", self._request( "get", "/v2/core/events/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) async def retrieve_async( self, id: str, params: Optional["EventRetrieveParams"] = None, options: Optional["RequestOptions"] = None, ) -> "Event": """ Retrieves the details of an event. """ return cast( "Event", await self._request_async( "get", "/v2/core/events/{id}".format(id=sanitize_id(id)), base_address="api", params=params, options=options, ), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/tests/__init__.py0000644000000000000000000000000015102753431013273 0ustar00././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/tests/api_resources/__init__.py0000644000000000000000000000000015102753431016136 0ustar00././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/tests/api_resources/abstract/__init__.py0000644000000000000000000000000015102753431017741 0ustar00././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/tests/api_resources/abstract/test_api_resource.py0000644000000000000000000002407215102753431021740 0ustar00from unittest import mock import pytest import stripe from stripe._util import convert_to_stripe_object from stripe._stripe_object import StripeObject from stripe._error import InvalidRequestError class TestAPIResource(object): class MyResource(stripe.APIResource): OBJECT_NAME = "myresource" class MyDeletableResource(stripe.DeletableAPIResource): OBJECT_NAME = "myresource" @classmethod def my_method(cls, **params): return cls._static_request( "post", cls.class_url(), params=params, ) @classmethod async def my_method_async(cls, **params): return cls.construct_from( await cls._static_request_async( "post", cls.class_url(), params=params, ), stripe.api_key, ) def test_retrieve_and_refresh(self, http_client_mock): path = "/v1/myresources/foo%2A" query_string = "myparam=5" key = "sk_test_123" stripe_version = "2018-02-28" stripe_account = "acct_foo" http_client_mock.stub_request( "get", path, query_string, '{"id": "foo2", "bobble": "scrobble"}', rheaders={"request-id": "req_id"}, ) res = self.MyResource.retrieve( "foo*", myparam=5, stripe_version="2018-02-28", stripe_account="acct_foo", ) http_client_mock.assert_requested( "get", path=path, query_string=query_string, api_key=key, stripe_version=stripe_version, stripe_account=stripe_account, ) assert res.bobble == "scrobble" assert res.id == "foo2" assert res.api_key == key assert res.stripe_version == stripe_version assert res.stripe_account == stripe_account assert res.last_response is not None assert res.last_response.request_id == "req_id" path = "/v1/myresources/foo2" query_string = "myparam=5" http_client_mock.stub_request( "get", path, query_string, '{"frobble": 5}' ) res = res.refresh() http_client_mock.assert_requested( "get", path=path, query_string=query_string, api_key=key, stripe_version=stripe_version, stripe_account=stripe_account, ) assert res.frobble == 5 with pytest.raises(KeyError): res["bobble"] def test_convert_to_stripe_object(self): sample = { "foo": "bar", "adict": {"object": "charge", "id": 42, "amount": 7}, "alist": [{"object": "customer", "name": "chilango"}], } converted = convert_to_stripe_object( sample, "akey", None, None, api_mode="V1" ) # Types assert isinstance(converted, StripeObject) assert isinstance(converted.adict, stripe.Charge) assert len(converted.alist) == 1 assert isinstance(converted.alist[0], stripe.Customer) # Values assert converted.foo == "bar" assert converted.adict.id == 42 assert converted.alist[0].name == "chilango" # Stripping # TODO: We should probably be stripping out this property # self.assertRaises(AttributeError, getattr, converted.adict, 'object') def test_raise_on_incorrect_id_type(self): for obj in [None, 1, 3.14, dict(), list(), set(), tuple(), object()]: with pytest.raises(InvalidRequestError): self.MyResource.retrieve(obj) def test_class_methods_use_global_options(self, http_client_mock): key = "newkey" stripe_version = "2023-01-01" stripe_account = "acct_foo" resource = self.MyDeletableResource.construct_from( {"id": "foo"}, key=key, stripe_version=stripe_version, stripe_account=stripe_account, ) http_client_mock.stub_request( "get", "/v1/myresources/foo", rbody='{"id": "foo"}', ) resource.retrieve("foo") http_client_mock.assert_requested( "get", path="/v1/myresources/foo", api_key=stripe.api_key, stripe_version=stripe.api_version, extra_headers={"Stripe-Account": None}, ) http_client_mock.stub_request( "post", "/v1/myresources", rbody='{"id": "foo", "object": "myresource"}', ) self.MyDeletableResource.my_method() http_client_mock.assert_requested( "post", path="/v1/myresources", api_key=stripe.api_key, stripe_version=stripe.api_version, extra_headers={"Stripe-Account": None}, ) def test_class_method_prefers_method_arguments(self, http_client_mock): http_client_mock.stub_request( "get", "/v1/myresources/foo", rbody='{"id": "foo"}', ) resource = self.MyResource.construct_from( {"id": "foo"}, key="oldkey", stripe_version="2000-01-01", stripe_account="acct_foo", ) resource.retrieve( "foo", api_key="newkey", stripe_version="2023-01-01", stripe_account="acct_bar", ) http_client_mock.assert_requested( "get", path="/v1/myresources/foo", api_key="newkey", stripe_version="2023-01-01", stripe_account="acct_bar", ) def test_retrieve_forwards_options(self, http_client_mock): http_client_mock.stub_request( "get", "/v1/myresources/foo", rbody='{"id": "foo"}', ) res = self.MyDeletableResource.retrieve( "foo", api_key="newkey", stripe_version="2023-01-01", stripe_account="foo", ) http_client_mock.assert_requested( "get", path="/v1/myresources/foo", api_key="newkey", stripe_version="2023-01-01", stripe_account="foo", ) http_client_mock.stub_request( "delete", "/v1/myresources/foo", ) res.delete() http_client_mock.assert_requested( "delete", path="/v1/myresources/foo", api_key="newkey", stripe_version="2023-01-01", stripe_account="foo", ) @mock.patch("stripe._object_classes.get_object_class") def test_class_method_forwards_options( self, mock_get_object_class, http_client_mock ): mock_get_object_class.return_value = self.MyDeletableResource http_client_mock.stub_request( "post", "/v1/myresources", rbody='{"id": "foo", "object": "myresource"}', ) res = self.MyDeletableResource.my_method( api_key="newkey", stripe_version="2023-01-01", stripe_account="foo" ) http_client_mock.assert_requested( "post", path="/v1/myresources", api_key="newkey", stripe_version="2023-01-01", stripe_account="foo", ) http_client_mock.stub_request( "delete", "/v1/myresources/foo", ) res.delete() http_client_mock.assert_requested( "delete", path="/v1/myresources/foo", api_key="newkey", stripe_version="2023-01-01", stripe_account="foo", ) def test_instance_method_forwards_options(self, http_client_mock): http_client_mock.stub_request( "get", "/v1/myresources/foo", rbody='{"id": "foo"}', ) key = "newkey" stripe_version = "2023-01-01" stripe_account = "acct_foo" resource = self.MyResource.construct_from( {"id": "foo"}, key=key, stripe_version=stripe_version, stripe_account=stripe_account, ) resource.refresh() http_client_mock.assert_requested( "get", path="/v1/myresources/foo", api_key=key, stripe_version=stripe_version, stripe_account=stripe_account, ) def test_instance_method_prefers_method_arguments(self, http_client_mock): class MyDeletableResource(stripe.DeletableAPIResource): OBJECT_NAME = "mydeletableresource" http_client_mock.stub_request( "delete", "/v1/mydeletableresources/foo", rbody='{"id": "foo"}', ) resource = MyDeletableResource.construct_from( {"id": "foo"}, key="oldkey", stripe_version="2000-01-01", stripe_account="acct_foo", ) resource.delete( api_key="newkey", stripe_version="2023-01-01", stripe_account="acct_bar", ) http_client_mock.assert_requested( "delete", path="/v1/mydeletableresources/foo", api_key="newkey", stripe_version="2023-01-01", stripe_account="acct_bar", ) @pytest.mark.anyio async def test_async_methods_succeed(self, http_client_mock): http_client_mock.stub_request( "post", "/v1/myresources", rbody='{"id": "foo", "object": "myresource"}', ) resource = await self.MyDeletableResource.my_method_async() http_client_mock.assert_requested( "post", path="/v1/myresources", ) http_client_mock.stub_request( "get", "/v1/myresources/foo", rbody='{"id": "foo", "object": "myresource"}', ) await resource.refresh_async() http_client_mock.assert_requested( "get", path="/v1/myresources/foo", ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/tests/api_resources/abstract/test_createable_api_resource.py0000644000000000000000000000254315102753431024106 0ustar00from stripe._createable_api_resource import CreateableAPIResource from stripe._charge import Charge class TestCreateableAPIResource(object): class MyCreatable(CreateableAPIResource): OBJECT_NAME = "mycreatable" def test_create(self, http_client_mock): http_client_mock.stub_request( "post", path="/v1/mycreatables", rbody='{"object": "charge", "foo": "bar"}', rheaders={"request-id": "req_id"}, ) res = self.MyCreatable.create() http_client_mock.assert_requested( "post", path="/v1/mycreatables", post_data="" ) assert isinstance(res, Charge) assert res.foo == "bar" assert res.last_response is not None assert res.last_response.request_id == "req_id" def test_idempotent_create(self, http_client_mock): http_client_mock.stub_request( "post", path="/v1/mycreatables", rbody='{"object": "charge", "foo": "bar"}', rheaders={"idempotency-key": "foo"}, ) res = self.MyCreatable.create(idempotency_key="foo") http_client_mock.assert_requested( "post", path="/v1/mycreatables", post_data="", idempotency_key="foo", ) assert isinstance(res, Charge) assert res.foo == "bar" ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/tests/api_resources/abstract/test_custom_method.py0000644000000000000000000002412615102753431022132 0ustar00import io from stripe._api_resource import APIResource from stripe._custom_method import custom_method from stripe._util import class_method_variant, sanitize_id class TestCustomMethod(object): @custom_method("do_stuff", http_verb="post", http_path="do_the_thing") @custom_method( "do_list_stuff", http_verb="get", http_path="do_the_list_thing" ) @custom_method( "do_stream_stuff", http_verb="post", http_path="do_the_stream_thing", is_streaming=True, ) class MyResource(APIResource): OBJECT_NAME = "myresource" def do_stuff(self, idempotency_key=None, **params): url = self.instance_url() + "/do_the_thing" self._request_and_refresh( "post", url, {**params, "idempotency_key": idempotency_key} ) return self def do_stream_stuff(self, idempotency_key=None, **params): url = self.instance_url() + "/do_the_stream_thing" return self._request_stream( "post", url, {**params, "idempotency_key": idempotency_key} ) @classmethod def _cls_do_stuff_new_codegen(cls, id, **params): return cls._static_request( "post", "/v1/myresources/{id}/do_the_thing".format(id=sanitize_id(id)), params=params, ) @class_method_variant("_cls_do_stuff_new_codegen") def do_stuff_new_codegen(self, **params): return self._request( "post", "/v1/myresources/{id}/do_the_thing".format( id=sanitize_id(self.get("id")) ), params=params, ) def test_call_custom_method_class(self, http_client_mock): http_client_mock.stub_request( "post", path="/v1/myresources/mid/do_the_thing", rbody='{"id": "mid", "thing_done": true}', rheaders={"request-id": "req_id"}, ) obj = self.MyResource.do_stuff("mid", foo="bar") http_client_mock.assert_requested( "post", path="/v1/myresources/mid/do_the_thing", post_data="foo=bar", ) assert obj.thing_done is True def test_call_custom_list_method_class_paginates(self, http_client_mock): http_client_mock.stub_request( "get", path="/v1/myresources/mid/do_the_list_thing", query_string="param1=abc¶m2=def", rbody='{"object": "list", "url": "/v1/myresources/mid/do_the_list_thing", "has_more": true, "data": [{"id": "cus_1", "object": "customer"}, {"id": "cus_2", "object": "customer"}]}', rheaders={"request-id": "req_123"}, ) resp = self.MyResource.do_list_stuff("mid", param1="abc", param2="def") http_client_mock.assert_requested( "get", path="/v1/myresources/mid/do_the_list_thing", query_string="param1=abc¶m2=def", ) # Stub out the second request which will happen automatically. http_client_mock.stub_request( "get", path="/v1/myresources/mid/do_the_list_thing", query_string="param1=abc¶m2=def&starting_after=cus_2", rbody='{"object": "list", "url": "/v1/myresources/mid/do_the_list_thing", "has_more": false, "data": [{"id": "cus_3", "object": "customer"}]}', rheaders={"request-id": "req_123"}, ) # Iterate through entire content ids = [] for i in resp.auto_paging_iter(): ids.append(i.id) # Explicitly assert that the pagination parameter were kept for the # second request along with the starting_after param. http_client_mock.assert_requested( "get", path="/v1/myresources/mid/do_the_list_thing", query_string="param1=abc¶m2=def&starting_after=cus_2", ) assert ids == ["cus_1", "cus_2", "cus_3"] def test_call_custom_stream_method_class(self, http_client_mock): http_client_mock.stub_request( "post", path="/v1/myresources/mid/do_the_stream_thing", rbody=io.BytesIO(str.encode("response body")), rheaders={"request-id": "req_id"}, ) resp = self.MyResource.do_stream_stuff("mid", foo="bar") http_client_mock.assert_requested( "post", path="/v1/myresources/mid/do_the_stream_thing", post_data="foo=bar", ) body_content = resp.io.read() if hasattr(body_content, "decode"): body_content = body_content.decode("utf-8") assert body_content == "response body" def test_call_custom_method_class_with_object(self, http_client_mock): http_client_mock.stub_request( "post", path="/v1/myresources/mid/do_the_thing", rbody='{"id": "mid", "thing_done": true}', rheaders={"request-id": "req_id"}, ) obj = self.MyResource.construct_from({"id": "mid"}, "mykey") self.MyResource.do_stuff(obj, foo="bar") http_client_mock.assert_requested( "post", path="/v1/myresources/mid/do_the_thing", post_data="foo=bar", ) assert obj.thing_done is True def test_call_custom_stream_method_class_with_object( self, http_client_mock ): http_client_mock.stub_request( "post", path="/v1/myresources/mid/do_the_stream_thing", rbody=io.BytesIO(str.encode("response body")), rheaders={"request-id": "req_id"}, ) obj = self.MyResource.construct_from({"id": "mid"}, "mykey") resp = self.MyResource.do_stream_stuff(obj, foo="bar") http_client_mock.assert_requested( "post", path="/v1/myresources/mid/do_the_stream_thing", post_data="foo=bar", ) body_content = resp.io.read() if hasattr(body_content, "decode"): body_content = body_content.decode("utf-8") assert body_content == "response body" def test_call_custom_method_instance(self, http_client_mock): http_client_mock.stub_request( "post", path="/v1/myresources/mid/do_the_thing", rbody='{"id": "mid", "thing_done": true}', rheaders={"request-id": "req_id"}, ) obj = self.MyResource.construct_from({"id": "mid"}, "mykey") obj.do_stuff(foo="bar") http_client_mock.assert_requested( "post", path="/v1/myresources/mid/do_the_thing", post_data="foo=bar", ) assert obj.thing_done is True def test_call_custom_stream_method_instance(self, http_client_mock): http_client_mock.stub_request( "post", path="/v1/myresources/mid/do_the_stream_thing", rbody=io.BytesIO(str.encode("response body")), rheaders={"request-id": "req_id"}, ) obj = self.MyResource.construct_from({"id": "mid"}, "mykey") resp = obj.do_stream_stuff(foo="bar") http_client_mock.assert_requested( "post", path="/v1/myresources/mid/do_the_stream_thing", post_data="foo=bar", ) body_content = resp.io.read() if hasattr(body_content, "decode"): body_content = body_content.decode("utf-8") assert body_content == "response body" def test_call_custom_method_class_special_fields(self, http_client_mock): http_client_mock.stub_request( "post", path="/v1/myresources/mid/do_the_thing", rbody='{"id": "mid", "thing_done": true}', rheaders={"request-id": "req_id"}, ) self.MyResource.do_stuff( "mid", foo="bar", stripe_version="2017-08-15", api_key="APIKEY", idempotency_key="IdempotencyKey", stripe_account="Acc", ) http_client_mock.assert_requested( "post", path="/v1/myresources/mid/do_the_thing", post_data="foo=bar", api_key="APIKEY", stripe_version="2017-08-15", stripe_account="Acc", idempotency_key="IdempotencyKey", ) def test_call_custom_method_class_newcodegen_special_fields( self, http_client_mock ): http_client_mock.stub_request( "post", path="/v1/myresources/mid/do_the_thing", rbody='{"id": "mid", "thing_done": true}', rheaders={"request-id": "req_id"}, ) self.MyResource.do_stuff_new_codegen( "mid", foo="bar", stripe_version="2017-08-15", api_key="APIKEY", idempotency_key="IdempotencyKey", stripe_account="Acc", ) http_client_mock.assert_requested( "post", path="/v1/myresources/mid/do_the_thing", post_data="foo=bar", api_key="APIKEY", stripe_version="2017-08-15", stripe_account="Acc", idempotency_key="IdempotencyKey", ) def test_call_custom_method_instance_newcodegen_special_fields( self, http_client_mock ): http_client_mock.stub_request( "post", path="/v1/myresources/mid/do_the_thing", rbody='{"id": "mid", "thing_done": true}', rheaders={"request-id": "req_id"}, ) obj = self.MyResource.construct_from({"id": "mid"}, "mykey") obj.do_stuff_new_codegen( foo="bar", stripe_version="2017-08-15", api_key="APIKEY", idempotency_key="IdempotencyKey", stripe_account="Acc", headers={"extra_header": "val"}, ) http_client_mock.assert_requested( "post", path="/v1/myresources/mid/do_the_thing", post_data="foo=bar", api_key="APIKEY", stripe_version="2017-08-15", stripe_account="Acc", idempotency_key="IdempotencyKey", extra_headers={"extra_header": "val"}, ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/tests/api_resources/abstract/test_deletable_api_resource.py0000644000000000000000000000573315102753431023744 0ustar00from stripe._deletable_api_resource import DeletableAPIResource class TestDeletableAPIResource(object): class MyDeletable(DeletableAPIResource): OBJECT_NAME = "mydeletable" def test_delete_class(self, http_client_mock): http_client_mock.stub_request( "delete", path="/v1/mydeletables/mid", rbody='{"id": "mid", "deleted": true}', rheaders={"request-id": "req_id"}, ) obj = self.MyDeletable.delete("mid") http_client_mock.assert_requested( "delete", path="/v1/mydeletables/mid", query_string="" ) assert obj.deleted is True assert obj.id == "mid" assert obj.last_response is not None assert obj.last_response.request_id == "req_id" def test_delete_class_with_object(self, http_client_mock): http_client_mock.stub_request( "delete", path="/v1/mydeletables/mid", rbody='{"id": "mid", "deleted": true}', rheaders={"request-id": "req_id"}, ) obj = self.MyDeletable.construct_from({"id": "mid"}, "mykey") self.MyDeletable.delete(obj) http_client_mock.assert_requested( "delete", path="/v1/mydeletables/mid", query_string="" ) assert obj.deleted is True assert obj.id == "mid" assert obj.last_response is not None assert obj.last_response.request_id == "req_id" def test_delete_instance(self, http_client_mock): http_client_mock.stub_request( "delete", path="/v1/mydeletables/mid", rbody='{"id": "mid", "deleted": true}', rheaders={"request-id": "req_id"}, ) obj = self.MyDeletable.construct_from({"id": "mid"}, "mykey") assert obj is obj.delete() http_client_mock.assert_requested( "delete", path="/v1/mydeletables/mid", query_string="" ) assert obj.deleted is True assert obj.id == "mid" assert obj.last_response is not None assert obj.last_response.request_id == "req_id" def test_delete_with_all_special_fields(self, http_client_mock): http_client_mock.stub_request( "delete", path="/v1/mydeletables/foo", query_string="bobble=new_scrobble", rbody='{"id": "foo", "bobble": "new_scrobble"}', rheaders={"Idempotency-Key": "IdempotencyKey"}, ) self.MyDeletable.delete( "foo", stripe_version="2017-08-15", api_key="APIKEY", idempotency_key="IdempotencyKey", stripe_account="Acc", bobble="new_scrobble", ) http_client_mock.assert_requested( "delete", path="/v1/mydeletables/foo", query_string="bobble=new_scrobble", stripe_version="2017-08-15", api_key="APIKEY", idempotency_key="IdempotencyKey", stripe_account="Acc", ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3810623 stripe-13.2.0/tests/api_resources/abstract/test_listable_api_resource.py0000644000000000000000000000176415102753431023622 0ustar00from stripe._listable_api_resource import ListableAPIResource from stripe._charge import Charge class TestListableAPIResource(object): class MyListable(ListableAPIResource): OBJECT_NAME = "mylistable" def test_all(self, http_client_mock): http_client_mock.stub_request( "get", path="/v1/mylistables", rbody='{"object": "list", "data": [{"object": "charge", "name": "jose"}, {"object": "charge", "name": "curly"}], "url": "/v1/charges", "has_more": false}', rheaders={"request-id": "req_id"}, ) res = self.MyListable.list() http_client_mock.assert_requested( "get", path="/v1/mylistables", query_string="" ) assert len(res.data) == 2 assert all(isinstance(obj, Charge) for obj in res.data) assert res.data[0].name == "jose" assert res.data[1].name == "curly" assert res.last_response is not None assert res.last_response.request_id == "req_id" ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/abstract/test_nested_resource_class_methods.py0000644000000000000000000000565615102753431025370 0ustar00from stripe._nested_resource_class_methods import nested_resource_class_methods from stripe._api_resource import APIResource class TestNestedResourceClassMethods(object): @nested_resource_class_methods( "nested", operations=["create", "retrieve", "update", "delete", "list"] ) class MainResource(APIResource): OBJECT_NAME = "mainresource" def test_create_nested(self, http_client_mock): http_client_mock.stub_request( "post", path="/v1/mainresources/id/nesteds", rbody='{"id": "nested_id", "object": "nested", "foo": "bar"}', ) nested_resource = self.MainResource.create_nested("id", foo="bar") http_client_mock.assert_requested( "post", path="/v1/mainresources/id/nesteds", post_data="foo=bar" ) assert nested_resource.foo == "bar" def test_retrieve_nested(self, http_client_mock): http_client_mock.stub_request( "get", path="/v1/mainresources/id/nesteds/nested_id", rbody='{"id": "nested_id", "object": "nested", "foo": "bar"}', ) nested_resource = self.MainResource.retrieve_nested("id", "nested_id") http_client_mock.assert_requested( "get", path="/v1/mainresources/id/nesteds/nested_id", query_string="", ) assert nested_resource.foo == "bar" def test_modify_nested(self, http_client_mock): http_client_mock.stub_request( "post", path="/v1/mainresources/id/nesteds/nested_id", rbody='{"id": "nested_id", "object": "nested", "foo": "baz"}', ) nested_resource = self.MainResource.modify_nested( "id", "nested_id", foo="baz" ) http_client_mock.assert_requested( "post", path="/v1/mainresources/id/nesteds/nested_id", post_data="foo=baz", ) assert nested_resource.foo == "baz" def test_delete_nested(self, http_client_mock): http_client_mock.stub_request( "delete", path="/v1/mainresources/id/nesteds/nested_id", rbody='{"id": "nested_id", "object": "nested", "deleted": true}', ) nested_resource = self.MainResource.delete_nested("id", "nested_id") http_client_mock.assert_requested( "delete", path="/v1/mainresources/id/nesteds/nested_id", query_string="", ) assert nested_resource.deleted is True def test_list_nesteds(self, http_client_mock): http_client_mock.stub_request( "get", path="/v1/mainresources/id/nesteds", rbody='{"object": "list", "data": []}', ) nested_resource = self.MainResource.list_nesteds("id") http_client_mock.assert_requested( "get", path="/v1/mainresources/id/nesteds", query_string="" ) assert isinstance(nested_resource.data, list) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/abstract/test_searchable_api_resource.py0000644000000000000000000000544315102753431024112 0ustar00from stripe._searchable_api_resource import SearchableAPIResource from stripe._charge import Charge class TestSearchableAPIResource(object): class MySearchable(SearchableAPIResource): OBJECT_NAME = "mysearchable" @classmethod def search(cls, *args, **kwargs): return cls._search( search_url="/v1/mysearchables/search", *args, **kwargs ) def test_search(self, http_client_mock): path = "/v1/mysearchables/search" query_string = "query=currency%3A%22CAD%22" http_client_mock.stub_request( "get", path, query_string, '{"object": "search_result", "data": [{"object": "charge", "name": "jose"}, {"object": "charge", "name": "curly"}], "url": "/v1/charges", "has_more": false, "next_page": null}', rheaders={"request-id": "req_id"}, ) res = self.MySearchable.search(query='currency:"CAD"') http_client_mock.assert_requested( "get", path=path, query_string=query_string ) assert len(res.data) == 2 assert all(isinstance(obj, Charge) for obj in res.data) assert res.data[0].name == "jose" assert res.data[1].name == "curly" assert res.last_response is not None assert res.last_response.request_id == "req_id" def test_search_multiple_pages(self, http_client_mock): path = "/v1/mysearchables/search" query_string = 'query=currency:"CAD"' http_client_mock.stub_request( "get", path, query_string, '{"object": "search_result", "data": [{"object": "charge", "name": "jose"}, {"object": "charge", "name": "curly"}], "url": "/v1/charges", "has_more": true, "next_page": "next-page-token"}', rheaders={"request-id": "req_id"}, ) res = self.MySearchable.search(query='currency:"CAD"') http_client_mock.assert_requested( "get", path=path, query_string=query_string ) assert res.next_page == "next-page-token" query_string = 'page=next-page-token&query=currency:"CAD"' http_client_mock.stub_request( "get", path, query_string, '{"object": "search_result", "data": [{"object": "charge", "name": "test"}], "url": "/v1/charges", "has_more": false, "next_page": null}', rheaders={"request-id": "req_id"}, ) res2 = self.MySearchable.search( query='currency:"CAD"', page=res.next_page ) http_client_mock.assert_requested( "get", path=path, query_string=query_string, ) assert len(res2.data) == 1 assert all(isinstance(obj, Charge) for obj in res2.data) assert res2.data[0].name == "test" ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/abstract/test_singleton_api_resource.py0000644000000000000000000000124715102753431024021 0ustar00from stripe._singleton_api_resource import SingletonAPIResource class TestSingletonAPIResource(object): class MySingleton(SingletonAPIResource): OBJECT_NAME = "mysingleton" def test_retrieve(self, http_client_mock): http_client_mock.stub_request( "get", path="/v1/mysingleton", rbody='{"single": "ton"}', rheaders={"request-id": "req_id"}, ) res = self.MySingleton.retrieve() http_client_mock.assert_requested("get", path="/v1/mysingleton") assert res.single == "ton" assert res.last_response is not None assert res.last_response.request_id == "req_id" ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/abstract/test_test_helpers_api_resource.py0000644000000000000000000000425015102753431024515 0ustar00from stripe._test_helpers import APIResourceTestHelpers from stripe._custom_method import custom_method from stripe._api_resource import APIResource class TestTestHelperAPIResource(object): class MyTestHelpersResource(APIResource): OBJECT_NAME = "myresource" @custom_method("do_stuff", http_verb="post", http_path="do_the_thing") class TestHelpers(APIResourceTestHelpers): def __init__(self, resource): self.resource = resource def do_stuff(self, idempotency_key=None, **params): url = self.instance_url() + "/do_the_thing" self.resource._request_and_refresh( "post", url, {**params, "idempotency_key": idempotency_key} ) return self.resource @property def test_helpers(self): return self.TestHelpers(self) MyTestHelpersResource.TestHelpers._resource_cls = MyTestHelpersResource def test_call_custom_method_class(self, http_client_mock): http_client_mock.stub_request( "post", path="/v1/test_helpers/myresources/mid/do_the_thing", rbody='{"id": "mid", "thing_done": true}', rheaders={"request-id": "req_id"}, ) obj = self.MyTestHelpersResource.TestHelpers.do_stuff("mid", foo="bar") http_client_mock.assert_requested( "post", path="/v1/test_helpers/myresources/mid/do_the_thing", post_data="foo=bar", ) assert obj.thing_done is True def test_call_custom_method_instance_via_property(self, http_client_mock): http_client_mock.stub_request( "post", path="/v1/test_helpers/myresources/mid/do_the_thing", rbody='{"id": "mid", "thing_done": true}', rheaders={"request-id": "req_id"}, ) obj = self.MyTestHelpersResource.construct_from({"id": "mid"}, "mykey") obj.test_helpers.do_stuff(foo="bar") http_client_mock.assert_requested( "post", path="/v1/test_helpers/myresources/mid/do_the_thing", post_data="foo=bar", ) assert obj.thing_done is True ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/abstract/test_updateable_api_resource.py0000644000000000000000000002426315102753431024130 0ustar00import pytest import json from stripe._updateable_api_resource import UpdateableAPIResource class TestUpdateableAPIResource(object): class MyUpdateable(UpdateableAPIResource): OBJECT_NAME = "myupdateable" @pytest.fixture def obj(self, http_client_mock): http_client_mock.stub_request( "post", path="/v1/myupdateables/myid", rbody=json.dumps({"id": "myid", "thats": "it"}), rheaders={"request-id": "req_id"}, ) return self.MyUpdateable.construct_from( { "id": "myid", "foo": "bar", "baz": "boz", "metadata": {"size": "l", "score": 4, "height": 10}, "object": "obj", }, "mykey", ) def checkSave(self, obj): assert obj is obj.save() assert obj.thats == "it" # TODO: Should we force id to be retained? # assert obj.id == 'myid' with pytest.raises(AttributeError): obj.baz def test_idempotent_save(self, http_client_mock, obj): obj.baz = "updated" obj.save(idempotency_key="foo") http_client_mock.assert_requested( "post", path="/v1/myupdateables/myid", post_data="baz=updated", idempotency_key="foo", ) def test_save(self, http_client_mock, obj): obj.baz = "updated" obj.other = "newval" obj.metadata.size = "m" obj.metadata.info = "a2" obj.metadata.height = None self.checkSave(obj) http_client_mock.assert_requested( "post", path="/v1/myupdateables/myid", post_data="baz=updated&metadata[info]=a2&metadata[size]=m&other=newval", ) assert obj.last_response is not None assert obj.last_response.request_id == "req_id" # Saving again should not cause any request. http_client_mock.reset_mock() self.checkSave(obj) http_client_mock.assert_no_request() # Setting the same value should cause a request. http_client_mock.reset_mock() http_client_mock.stub_request( "post", path="/v1/myupdateables/myid", rbody=json.dumps({"id": "myid", "thats": "it"}), ) obj.thats = "it" self.checkSave(obj) http_client_mock.assert_requested( "post", path="/v1/myupdateables/myid", post_data="thats=it" ) # Changing the value should cause a request. http_client_mock.reset_mock() http_client_mock.stub_request( "post", path="/v1/myupdateables/myid", rbody=json.dumps({"id": "myid", "thats": "it"}), ) obj.id = "myid" obj.thats = "updated" self.checkSave(obj) http_client_mock.assert_requested( "post", path="/v1/myupdateables/myid", post_data="thats=updated" ) def test_add_key_to_nested_object(self, http_client_mock, obj): acct = self.MyUpdateable.construct_from( { "id": "myid", "legal_entity": {"size": "l", "score": 4, "height": 10}, }, "mykey", ) acct.legal_entity["first_name"] = "bob" assert acct is acct.save() http_client_mock.assert_requested( "post", path="/v1/myupdateables/myid", post_data="legal_entity[first_name]=bob", ) def test_save_nothing(self, http_client_mock, obj): acct = self.MyUpdateable.construct_from( {"id": "myid", "metadata": {"key": "value"}}, "mykey" ) assert acct is acct.save() http_client_mock.assert_no_request() def test_replace_nested_object(self, http_client_mock, obj): acct = self.MyUpdateable.construct_from( {"id": "myid", "legal_entity": {"last_name": "smith"}}, "mykey" ) acct.legal_entity = {"first_name": "bob"} assert acct is acct.save() http_client_mock.assert_requested( "post", path="/v1/myupdateables/myid", post_data="legal_entity[first_name]=bob&legal_entity[last_name]=", ) def test_array_setting(self, http_client_mock, obj): acct = self.MyUpdateable.construct_from( {"id": "myid", "legal_entity": {}}, "mykey" ) acct.legal_entity.additional_owners = [{"first_name": "Bob"}] assert acct is acct.save() http_client_mock.assert_requested( "post", path="/v1/myupdateables/myid", post_data="legal_entity[additional_owners][0][first_name]=Bob", ) def test_array_none(self, http_client_mock, obj): acct = self.MyUpdateable.construct_from( {"id": "myid", "legal_entity": {"additional_owners": None}}, "mykey", ) acct.foo = "bar" assert acct is acct.save() http_client_mock.assert_requested( "post", path="/v1/myupdateables/myid", post_data="foo=bar" ) def test_array_insertion(self, http_client_mock, obj): acct = self.MyUpdateable.construct_from( {"id": "myid", "legal_entity": {"additional_owners": []}}, "mykey" ) acct.legal_entity.additional_owners.append({"first_name": "Bob"}) assert acct is acct.save() http_client_mock.assert_requested( "post", path="/v1/myupdateables/myid", post_data="legal_entity[additional_owners][0][first_name]=Bob", ) def test_array_update(self, http_client_mock, obj): acct = self.MyUpdateable.construct_from( { "id": "myid", "legal_entity": { "additional_owners": [ {"first_name": "Bob"}, {"first_name": "Jane"}, ] }, }, "mykey", ) acct.legal_entity.additional_owners[1].first_name = "Janet" assert acct is acct.save() http_client_mock.assert_requested( "post", path="/v1/myupdateables/myid", post_data="legal_entity[additional_owners][1][first_name]=Janet", ) def test_array_noop(self, http_client_mock, obj): acct = self.MyUpdateable.construct_from( { "id": "myid", "legal_entity": {"additional_owners": [{"first_name": "Bob"}]}, "currencies_supported": ["usd", "cad"], }, "mykey", ) assert acct is acct.save() http_client_mock.assert_requested( "post", path="/v1/myupdateables/myid", post_data="", ) def test_hash_noop(self, http_client_mock, obj): acct = self.MyUpdateable.construct_from( { "id": "myid", "legal_entity": {"address": {"line1": "1 Two Three"}}, }, "mykey", ) assert acct is acct.save() http_client_mock.assert_no_request() def test_save_replace_metadata_with_number(self, http_client_mock, obj): obj.baz = "updated" obj.other = "newval" obj.metadata = 3 self.checkSave(obj) http_client_mock.assert_requested( "post", path="/v1/myupdateables/myid", post_data="baz=updated&metadata=3&other=newval", ) def test_save_overwrite_metadata(self, http_client_mock, obj): obj.metadata = {} self.checkSave(obj) http_client_mock.assert_requested( "post", path="/v1/myupdateables/myid", post_data="metadata[size]=&metadata[score]=&metadata[height]=", ) def test_save_replace_metadata(self, http_client_mock, obj): obj.baz = "updated" obj.other = "newval" obj.metadata = {"size": "m", "info": "a2", "score": 4} self.checkSave(obj) http_client_mock.assert_requested( "post", path="/v1/myupdateables/myid", post_data="baz=updated&metadata[info]=a2&metadata[size]=m&metadata[score]=4&other=newval", ) def test_save_update_metadata(self, http_client_mock, obj): obj.baz = "updated" obj.other = "newval" obj.metadata.update({"size": "m", "info": "a2", "score": 4}) self.checkSave(obj) http_client_mock.assert_requested( "post", path="/v1/myupdateables/myid", post_data="baz=updated&metadata[info]=a2&metadata[size]=m&metadata[score]=4&other=newval", ) def test_retrieve_and_update_with_stripe_version( self, http_client_mock, obj ): http_client_mock.stub_request( "get", path="/v1/myupdateables/foo", rbody=json.dumps({"id": "foo", "bobble": "scrobble"}), ) res = self.MyUpdateable.retrieve("foo", stripe_version="2017-08-15") http_client_mock.assert_requested(stripe_version="2017-08-15") http_client_mock.stub_request( "post", path="/v1/myupdateables/foo", rbody=json.dumps({"id": "foo", "bobble": "new_scrobble"}), ) res.bobble = "new_scrobble" res.save() http_client_mock.assert_requested(stripe_version="2017-08-15") def test_modify_with_all_special_fields(self, http_client_mock, obj): http_client_mock.stub_request( "post", path="/v1/myupdateables/foo", rbody=json.dumps({"id": "foo", "bobble": "new_scrobble"}), rheaders={"Idempotency-Key": "IdempotencyKey"}, ) self.MyUpdateable.modify( "foo", stripe_version="2017-08-15", api_key="APIKEY", idempotency_key="IdempotencyKey", stripe_account="Acc", bobble="new_scrobble", headers={"extra_header": "val"}, ) http_client_mock.assert_requested( "post", path="/v1/myupdateables/foo", post_data="bobble=new_scrobble", stripe_version="2017-08-15", idempotency_key="IdempotencyKey", extra_headers={"extra_header": "val"}, ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/billing_portal/__init__.py0000644000000000000000000000000015102753431021137 0ustar00././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/billing_portal/test_configuration.py0000644000000000000000000000404215102753431023320 0ustar00import stripe TEST_RESOURCE_ID = "bpc_123" class TestConfiguration(object): def test_is_creatable(self, http_client_mock): resource = stripe.billing_portal.Configuration.create( business_profile={ "privacy_policy_url": "https://example.com/privacy", "terms_of_service_url": "https://example.com/tos", }, features={ "customer_update": { "allowed_updates": ["address"], "enabled": True, } }, ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/configurations", post_data="business_profile[privacy_policy_url]=https://example.com/privacy&business_profile[terms_of_service_url]=https://example.com/tos&features[customer_update][allowed_updates][0]=address&features[customer_update][enabled]=true", ) assert isinstance(resource, stripe.billing_portal.Configuration) def test_is_retrievable(self, http_client_mock): resource = stripe.billing_portal.Configuration.retrieve( TEST_RESOURCE_ID ) http_client_mock.assert_requested( "get", path="/v1/billing_portal/configurations/%s" % (TEST_RESOURCE_ID), ) assert isinstance(resource, stripe.billing_portal.Configuration) def test_is_modifiable(self, http_client_mock): resource = stripe.billing_portal.Configuration.modify(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/billing_portal/configurations/%s" % (TEST_RESOURCE_ID), ) assert isinstance(resource, stripe.billing_portal.Configuration) def test_is_listable(self, http_client_mock): resource = stripe.billing_portal.Configuration.list() http_client_mock.assert_requested( "get", path="/v1/billing_portal/configurations" ) assert isinstance( resource.data[0], stripe.billing_portal.Configuration ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/billing_portal/test_session.py0000644000000000000000000000102215102753431022127 0ustar00import stripe TEST_RESOURCE_ID = "pts_123" class TestSession(object): def test_is_creatable(self, http_client_mock): resource = stripe.billing_portal.Session.create( customer="cus_123", return_url="https://stripe.com/return" ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/sessions", post_data="customer=cus_123&return_url=https://stripe.com/return", ) assert isinstance(resource, stripe.billing_portal.Session) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/checkout/__init__.py0000644000000000000000000000000015102753431017743 0ustar00././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/checkout/test_session.py0000644000000000000000000000402615102753431020742 0ustar00import stripe TEST_RESOURCE_ID = "cs_123" class TestSession(object): def test_is_creatable(self, http_client_mock): resource = stripe.checkout.Session.create( cancel_url="https://stripe.com/cancel", client_reference_id="1234", line_items=[ { "amount": 123, "currency": "usd", "description": "item 1", "images": ["https://stripe.com/img1"], "name": "name", "quantity": 2, } ], payment_intent_data={"receipt_email": "test@stripe.com"}, payment_method_types=["card"], success_url="https://stripe.com/success", ) http_client_mock.assert_requested( "post", path="/v1/checkout/sessions", post_data="cancel_url=https://stripe.com/cancel&client_reference_id=1234&line_items[0][amount]=123&line_items[0][currency]=usd&line_items[0][description]=item+1&line_items[0][images][0]=https://stripe.com/img1&line_items[0][name]=name&line_items[0][quantity]=2&payment_intent_data[receipt_email]=test@stripe.com&payment_method_types[0]=card&success_url=https://stripe.com/success", ) assert isinstance(resource, stripe.checkout.Session) def test_is_retrievable(self, http_client_mock): resource = stripe.checkout.Session.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/checkout/sessions/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.checkout.Session) class TestSessionLineItems(object): def test_is_listable(self, http_client_mock): resources = stripe.checkout.Session.list_line_items(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/checkout/sessions/%s/line_items" % TEST_RESOURCE_ID, ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.LineItem) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/identity/test_verification_report.py0000644000000000000000000000150515102753431023357 0ustar00import stripe TEST_RESOURCE_ID = "vs_123" class TestVerificationReport(object): def test_is_listable(self, http_client_mock): resources = stripe.identity.VerificationReport.list() http_client_mock.assert_requested( "get", path="/v1/identity/verification_reports" ) assert isinstance(resources.data, list) assert isinstance( resources.data[0], stripe.identity.VerificationReport ) def test_is_retrievable(self, http_client_mock): resource = stripe.identity.VerificationReport.retrieve( TEST_RESOURCE_ID ) http_client_mock.assert_requested( "get", path="/v1/identity/verification_reports/%s" % TEST_RESOURCE_ID, ) assert isinstance(resource, stripe.identity.VerificationReport) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/identity/test_verification_session.py0000644000000000000000000000776615102753431023546 0ustar00import stripe TEST_RESOURCE_ID = "vs_123" class TestVerificationSession(object): def test_is_creatable(self, http_client_mock): resource = stripe.identity.VerificationSession.create(type="id_number") http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions", post_data="type=id_number", ) assert isinstance(resource, stripe.identity.VerificationSession) def test_is_listable(self, http_client_mock): resources = stripe.identity.VerificationSession.list() http_client_mock.assert_requested( "get", path="/v1/identity/verification_sessions" ) assert isinstance(resources.data, list) assert isinstance( resources.data[0], stripe.identity.VerificationSession ) def test_is_modifiable(self, http_client_mock): resource = stripe.identity.VerificationSession.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.identity.VerificationSession) def test_is_retrievable(self, http_client_mock): resource = stripe.identity.VerificationSession.retrieve( TEST_RESOURCE_ID ) http_client_mock.assert_requested( "get", path="/v1/identity/verification_sessions/%s" % TEST_RESOURCE_ID, ) assert isinstance(resource, stripe.identity.VerificationSession) def test_is_saveable(self, http_client_mock): resource = stripe.identity.VerificationSession.retrieve( TEST_RESOURCE_ID ) resource.metadata["key"] = "value" verification_session = resource.save() http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.identity.VerificationSession) assert resource is verification_session def test_can_cancel(self, http_client_mock): resource = stripe.identity.VerificationSession.retrieve( TEST_RESOURCE_ID ) verification_session = resource.cancel() http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/%s/cancel" % TEST_RESOURCE_ID, post_data="", ) assert isinstance(resource, stripe.identity.VerificationSession) assert resource is verification_session def test_can_cancel_classmethod(self, http_client_mock): resource = stripe.identity.VerificationSession.cancel(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/%s/cancel" % TEST_RESOURCE_ID, post_data="", ) assert isinstance(resource, stripe.identity.VerificationSession) def test_can_redact(self, http_client_mock): resource = stripe.identity.VerificationSession.retrieve( TEST_RESOURCE_ID ) verification_session = resource.redact() http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/%s/redact" % TEST_RESOURCE_ID, post_data="", ) assert isinstance(resource, stripe.identity.VerificationSession) assert resource is verification_session def test_can_redact_classmethod(self, http_client_mock): resource = stripe.identity.VerificationSession.redact(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/%s/redact" % TEST_RESOURCE_ID, post_data="", ) assert isinstance(resource, stripe.identity.VerificationSession) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/issuing/__init__.py0000644000000000000000000000000015102753431017617 0ustar00././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/issuing/test_authorization.py0000644000000000000000000000640515102753431022036 0ustar00import stripe TEST_RESOURCE_ID = "iauth_123" class TestAuthorization(object): def test_is_listable(self, http_client_mock): resources = stripe.issuing.Authorization.list() http_client_mock.assert_requested( "get", path="/v1/issuing/authorizations" ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.issuing.Authorization) def test_is_modifiable(self, http_client_mock): resource = stripe.issuing.Authorization.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.issuing.Authorization) def test_is_retrievable(self, http_client_mock): resource = stripe.issuing.Authorization.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/issuing/authorizations/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.issuing.Authorization) def test_is_saveable(self, http_client_mock): resource = stripe.issuing.Authorization.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" authorization = resource.save() http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.issuing.Authorization) assert resource is authorization def test_can_approve(self, http_client_mock): resource = stripe.issuing.Authorization.retrieve(TEST_RESOURCE_ID) authorization = resource.approve() http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/%s/approve" % TEST_RESOURCE_ID, post_data="", ) assert isinstance(resource, stripe.issuing.Authorization) assert resource is authorization def test_can_approve_classmethod(self, http_client_mock): resource = stripe.issuing.Authorization.approve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/%s/approve" % TEST_RESOURCE_ID, post_data="", ) assert isinstance(resource, stripe.issuing.Authorization) def test_can_decline(self, http_client_mock): resource = stripe.issuing.Authorization.retrieve(TEST_RESOURCE_ID) authorization = resource.decline() http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/%s/decline" % TEST_RESOURCE_ID, post_data="", ) assert isinstance(resource, stripe.issuing.Authorization) assert resource is authorization def test_can_decline_classmethod(self, http_client_mock): resource = stripe.issuing.Authorization.decline(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/%s/decline" % TEST_RESOURCE_ID, post_data="", ) assert isinstance(resource, stripe.issuing.Authorization) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/issuing/test_card.py0000644000000000000000000000350615102753431020046 0ustar00import stripe TEST_RESOURCE_ID = "ic_123" class TestCard(object): def test_is_creatable(self, http_client_mock): resource = stripe.issuing.Card.create(currency="usd", type="physical") http_client_mock.assert_requested( "post", path="/v1/issuing/cards", post_data="currency=usd&type=physical", ) assert isinstance(resource, stripe.issuing.Card) def test_is_listable(self, http_client_mock): resources = stripe.issuing.Card.list() http_client_mock.assert_requested("get", path="/v1/issuing/cards") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.issuing.Card) def test_is_modifiable(self, http_client_mock): resource = stripe.issuing.Card.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/issuing/cards/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.issuing.Card) def test_is_retrievable(self, http_client_mock): resource = stripe.issuing.Card.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/issuing/cards/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.issuing.Card) def test_is_saveable(self, http_client_mock): resource = stripe.issuing.Card.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" card = resource.save() http_client_mock.assert_requested( "post", path="/v1/issuing/cards/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.issuing.Card) assert resource is card ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/issuing/test_cardholder.py0000644000000000000000000000455615102753431021252 0ustar00import stripe TEST_RESOURCE_ID = "ich_123" class TestCardholder(object): def test_is_creatable(self, http_client_mock): resource = stripe.issuing.Cardholder.create( billing={ "address": { "city": "city", "country": "US", "line1": "line1", "postal_code": "postal_code", } }, name="Jenny Rosen", type="individual", ) http_client_mock.assert_requested( "post", path="/v1/issuing/cardholders", post_data="billing[address][city]=city&billing[address][country]=US&billing[address][line1]=line1&billing[address][postal_code]=postal_code&name=Jenny+Rosen&type=individual", ) assert isinstance(resource, stripe.issuing.Cardholder) def test_is_listable(self, http_client_mock): resources = stripe.issuing.Cardholder.list() http_client_mock.assert_requested( "get", path="/v1/issuing/cardholders" ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.issuing.Cardholder) def test_is_modifiable(self, http_client_mock): resource = stripe.issuing.Cardholder.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/issuing/cardholders/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.issuing.Cardholder) def test_is_retrievable(self, http_client_mock): resource = stripe.issuing.Cardholder.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/issuing/cardholders/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.issuing.Cardholder) def test_is_saveable(self, http_client_mock): resource = stripe.issuing.Cardholder.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" cardholder = resource.save() http_client_mock.assert_requested( "post", path="/v1/issuing/cardholders/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.issuing.Cardholder) assert resource is cardholder ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/issuing/test_dispute.py0000644000000000000000000000325515102753431020613 0ustar00import stripe TEST_RESOURCE_ID = "idp_123" class TestDispute(object): def test_is_creatable(self, http_client_mock): resource = stripe.issuing.Dispute.create(transaction="ipi_123") http_client_mock.assert_requested( "post", path="/v1/issuing/disputes", post_data="transaction=ipi_123", ) assert isinstance(resource, stripe.issuing.Dispute) def test_is_listable(self, http_client_mock): resources = stripe.issuing.Dispute.list() http_client_mock.assert_requested("get", path="/v1/issuing/disputes") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.issuing.Dispute) def test_is_modifiable(self, http_client_mock): resource = stripe.issuing.Dispute.modify(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/issuing/disputes/%s" % TEST_RESOURCE_ID, post_data="", ) assert isinstance(resource, stripe.issuing.Dispute) def test_is_retrievable(self, http_client_mock): resource = stripe.issuing.Dispute.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/issuing/disputes/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.issuing.Dispute) def test_is_submittable(self, http_client_mock): resource = stripe.issuing.Dispute.submit(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/issuing/disputes/%s/submit" % TEST_RESOURCE_ID, post_data="", ) assert isinstance(resource, stripe.issuing.Dispute) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/issuing/test_transaction.py0000644000000000000000000000314715102753431021463 0ustar00import stripe TEST_RESOURCE_ID = "ipi_123" class TestTransaction(object): def test_is_listable(self, http_client_mock): resources = stripe.issuing.Transaction.list() http_client_mock.assert_requested( "get", path="/v1/issuing/transactions" ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.issuing.Transaction) def test_is_modifiable(self, http_client_mock): resource = stripe.issuing.Transaction.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/issuing/transactions/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.issuing.Transaction) def test_is_retrievable(self, http_client_mock): resource = stripe.issuing.Transaction.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/issuing/transactions/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.issuing.Transaction) def test_is_saveable(self, http_client_mock): resource = stripe.issuing.Transaction.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" transaction = resource.save() http_client_mock.assert_requested( "post", path="/v1/issuing/transactions/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.issuing.Transaction) assert resource is transaction ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/radar/__init__.py0000644000000000000000000000000015102753431017227 0ustar00././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/radar/test_early_fraud_warning.py0000644000000000000000000000137015102753431022564 0ustar00import stripe TEST_RESOURCE_ID = "issfr_123" class TestEarlyFraudWarning(object): def test_is_listable(self, http_client_mock): resources = stripe.radar.EarlyFraudWarning.list() http_client_mock.assert_requested( "get", path="/v1/radar/early_fraud_warnings" ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.radar.EarlyFraudWarning) def test_is_retrievable(self, http_client_mock): resource = stripe.radar.EarlyFraudWarning.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/radar/early_fraud_warnings/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.radar.EarlyFraudWarning) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/radar/test_value_list.py0000644000000000000000000000454515102753431020720 0ustar00import stripe TEST_RESOURCE_ID = "rsl_123" class TestValueList(object): def test_is_listable(self, http_client_mock): resources = stripe.radar.ValueList.list() http_client_mock.assert_requested("get", path="/v1/radar/value_lists") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.radar.ValueList) def test_is_retrievable(self, http_client_mock): resource = stripe.radar.ValueList.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/radar/value_lists/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.radar.ValueList) def test_is_creatable(self, http_client_mock): resource = stripe.radar.ValueList.create(alias="alias", name="name") http_client_mock.assert_requested( "post", path="/v1/radar/value_lists", post_data="alias=alias&name=name", ) assert isinstance(resource, stripe.radar.ValueList) def test_is_saveable(self, http_client_mock): resource = stripe.radar.ValueList.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/radar/value_lists/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.radar.ValueList.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/radar/value_lists/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.radar.ValueList) def test_is_deletable(self, http_client_mock): resource = stripe.radar.ValueList.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/radar/value_lists/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_delete(self, http_client_mock): resource = stripe.radar.ValueList.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/radar/value_lists/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/radar/test_value_list_item.py0000644000000000000000000000335115102753431021730 0ustar00import stripe TEST_RESOURCE_ID = "rsli_123" class TestValueListItem(object): def test_is_listable(self, http_client_mock): resources = stripe.radar.ValueListItem.list(value_list="rsl_123") http_client_mock.assert_requested( "get", path="/v1/radar/value_list_items" ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.radar.ValueListItem) def test_is_retrievable(self, http_client_mock): resource = stripe.radar.ValueListItem.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/radar/value_list_items/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.radar.ValueListItem) def test_is_creatable(self, http_client_mock): resource = stripe.radar.ValueListItem.create( value_list="rsl_123", value="value" ) http_client_mock.assert_requested( "post", path="/v1/radar/value_list_items", post_data="value_list=rsl_123&value=value", ) assert isinstance(resource, stripe.radar.ValueListItem) def test_is_deletable(self, http_client_mock): resource = stripe.radar.ValueListItem.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/radar/value_list_items/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_delete(self, http_client_mock): resource = stripe.radar.ValueListItem.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/radar/value_list_items/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/reporting/__init__.py0000644000000000000000000000000015102753431020147 0ustar00././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/reporting/test_report_run.py0000644000000000000000000000230615102753431021661 0ustar00import stripe TEST_RESOURCE_ID = "frr_123" class TestReportRun(object): def test_is_creatable(self, http_client_mock): resource = stripe.reporting.ReportRun.create( parameters={"connected_account": "acct_123"}, report_type="activity.summary.1", ) http_client_mock.assert_requested( "post", path="/v1/reporting/report_runs", post_data="parameters[connected_account]=acct_123&report_type=activity.summary.1", ) assert isinstance(resource, stripe.reporting.ReportRun) def test_is_listable(self, http_client_mock): resources = stripe.reporting.ReportRun.list() http_client_mock.assert_requested( "get", path="/v1/reporting/report_runs" ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.reporting.ReportRun) def test_is_retrievable(self, http_client_mock): resource = stripe.reporting.ReportRun.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/reporting/report_runs/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.reporting.ReportRun) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3820622 stripe-13.2.0/tests/api_resources/reporting/test_report_type.py0000644000000000000000000000134615102753431022041 0ustar00import stripe TEST_RESOURCE_ID = "activity.summary.1" class TestReportType(object): def test_is_listable(self, http_client_mock): resources = stripe.reporting.ReportType.list() http_client_mock.assert_requested( "get", path="/v1/reporting/report_types" ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.reporting.ReportType) def test_is_retrievable(self, http_client_mock): resource = stripe.reporting.ReportType.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/reporting/report_types/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.reporting.ReportType) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/sigma/__init__.py0000644000000000000000000000000015102753431017236 0ustar00././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/sigma/test_scheduled_query_run.py0000644000000000000000000000136015102753431022621 0ustar00import stripe TEST_RESOURCE_ID = "sqr_123" class TestTransaction(object): def test_is_listable(self, http_client_mock): resources = stripe.sigma.ScheduledQueryRun.list() http_client_mock.assert_requested( "get", path="/v1/sigma/scheduled_query_runs" ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.sigma.ScheduledQueryRun) def test_is_retrievable(self, http_client_mock): resource = stripe.sigma.ScheduledQueryRun.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/sigma/scheduled_query_runs/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.sigma.ScheduledQueryRun) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/terminal/__init__.py0000644000000000000000000000000015102753431017751 0ustar00././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/terminal/test_connection_token.py0000644000000000000000000000060315102753431022621 0ustar00import stripe TEST_RESOURCE_ID = "rdr_123" class TestConnectionToken(object): def test_is_creatable(self, http_client_mock): resource = stripe.terminal.ConnectionToken.create() http_client_mock.assert_requested( "post", path="/v1/terminal/connection_tokens", post_data="" ) assert isinstance(resource, stripe.terminal.ConnectionToken) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/terminal/test_location.py0000644000000000000000000000550615102753431021101 0ustar00import stripe TEST_RESOURCE_ID = "loc_123" class TestLocation(object): def test_is_creatable(self, http_client_mock): resource = stripe.terminal.Location.create( display_name="name", address={ "line1": "line1", "country": "US", "state": "CA", "postal_code": "12345", "city": "San Francisco", }, ) http_client_mock.assert_requested( "post", path="/v1/terminal/locations", post_data="display_name=name&address[city]=San+Francisco&address[country]=US&address[line1]=line1&address[postal_code]=12345&address[state]=CA", ) assert isinstance(resource, stripe.terminal.Location) def test_is_listable(self, http_client_mock): resources = stripe.terminal.Location.list() http_client_mock.assert_requested("get", path="/v1/terminal/locations") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.terminal.Location) def test_is_modifiable(self, http_client_mock): resource = stripe.terminal.Location.modify( TEST_RESOURCE_ID, display_name="new-name" ) http_client_mock.assert_requested( "post", path="/v1/terminal/locations/%s" % TEST_RESOURCE_ID, post_data="display_name=new-name", ) assert isinstance(resource, stripe.terminal.Location) def test_is_retrievable(self, http_client_mock): resource = stripe.terminal.Location.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/terminal/locations/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.terminal.Location) def test_is_saveable(self, http_client_mock): resource = stripe.terminal.Location.retrieve(TEST_RESOURCE_ID) resource.display_name = "new-name" location = resource.save() http_client_mock.assert_requested( "post", path="/v1/terminal/locations/%s" % TEST_RESOURCE_ID, post_data="display_name=new-name", ) assert isinstance(resource, stripe.terminal.Location) assert resource is location def test_is_deletable(self, http_client_mock): resource = stripe.terminal.Location.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/terminal/locations/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_delete(self, http_client_mock): resource = stripe.terminal.Location.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/terminal/locations/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/terminal/test_reader.py0000644000000000000000000000563515102753431020536 0ustar00import stripe TEST_RESOURCE_ID = "rdr_123" class TestReader(object): def test_is_creatable(self, http_client_mock): resource = stripe.terminal.Reader.create( registration_code="a-b-c", label="name" ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers", post_data="label=name®istration_code=a-b-c", ) assert isinstance(resource, stripe.terminal.Reader) def test_is_listable(self, http_client_mock): resources = stripe.terminal.Reader.list() http_client_mock.assert_requested("get", path="/v1/terminal/readers") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.terminal.Reader) def test_is_modifiable(self, http_client_mock): resource = stripe.terminal.Reader.modify( TEST_RESOURCE_ID, label="new-name" ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/%s" % TEST_RESOURCE_ID, post_data="label=new-name", ) assert isinstance(resource, stripe.terminal.Reader) def test_is_retrievable(self, http_client_mock): resource = stripe.terminal.Reader.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/terminal/readers/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.terminal.Reader) def test_is_saveable(self, http_client_mock): resource = stripe.terminal.Reader.retrieve(TEST_RESOURCE_ID) resource.label = "new-name" reader = resource.save() http_client_mock.assert_requested( "post", path="/v1/terminal/readers/%s" % TEST_RESOURCE_ID, post_data="label=new-name", ) assert isinstance(resource, stripe.terminal.Reader) assert resource is reader def test_is_deletable(self, http_client_mock): resource = stripe.terminal.Reader.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/terminal/readers/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_delete(self, http_client_mock): resource = stripe.terminal.Reader.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/terminal/readers/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_present_payment_method(self, http_client_mock): resource = stripe.terminal.Reader.TestHelpers.present_payment_method( TEST_RESOURCE_ID ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/terminal/readers/%s/present_payment_method" % TEST_RESOURCE_ID, post_data="", ) assert isinstance(resource, stripe.terminal.Reader) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_account.py0000644000000000000000000002463015102753431017111 0ustar00import stripe import json TEST_RESOURCE_ID = "acct_123" TEST_CAPABILITY_ID = "acap_123" TEST_EXTERNALACCOUNT_ID = "ba_123" TEST_PERSON_ID = "person_123" class TestAccount(object): def test_is_listable(self, http_client_mock): resources = stripe.Account.list() http_client_mock.assert_requested("get", path="/v1/accounts") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Account) def test_is_retrievable(self, http_client_mock): resource = stripe.Account.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/accounts/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Account) def test_is_creatable(self, http_client_mock): resource = stripe.Account.create(country="US", type="custom") http_client_mock.assert_requested("post", path="/v1/accounts") assert isinstance(resource, stripe.Account) def test_is_saveable(self, http_client_mock): account = stripe.Account.retrieve(TEST_RESOURCE_ID) account.metadata["key"] = "value" resource = account.save() http_client_mock.assert_requested( "post", path="/v1/accounts/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Account) assert resource is account def test_is_saveable_with_individual(self, http_client_mock): individual = stripe.Person.construct_from( {"id": "person_123", "object": "person", "first_name": "Jenny"}, stripe.api_key, ) account = stripe.Account.construct_from( {"id": "acct_123", "object": "account", "individual": individual}, stripe.api_key, ) account.individual.first_name = "Jane" http_client_mock.stub_request( "post", path="/v1/accounts/%s" % TEST_RESOURCE_ID, rbody=json.dumps(account.to_dict_recursive()), ) resource = account.save() http_client_mock.assert_requested( "post", path="/v1/accounts/%s" % TEST_RESOURCE_ID, post_data="individual[first_name]=Jane", ) assert isinstance(resource, stripe.Account) assert resource is account def test_is_modifiable(self, http_client_mock): resource = stripe.Account.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/accounts/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Account) def test_is_deletable(self, http_client_mock): resource = stripe.Account.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/accounts/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_delete(self, http_client_mock): resource = stripe.Account.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/accounts/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_retrieve_no_id(self, http_client_mock): resource = stripe.Account.retrieve() http_client_mock.assert_requested("get", path="/v1/account") assert isinstance(resource, stripe.Account) def test_can_reject(self, http_client_mock): account = stripe.Account.retrieve(TEST_RESOURCE_ID) resource = account.reject(reason="fraud") http_client_mock.assert_requested( "post", path="/v1/accounts/%s/reject" % TEST_RESOURCE_ID, post_data="reason=fraud", ) assert isinstance(resource, stripe.Account) assert resource is account def test_can_reject_classmethod(self, http_client_mock): resource = stripe.Account.reject(TEST_RESOURCE_ID, reason="fraud") http_client_mock.assert_requested( "post", path="/v1/accounts/%s/reject" % TEST_RESOURCE_ID, post_data="reason=fraud", ) assert isinstance(resource, stripe.Account) def test_is_deauthorizable(self, http_client_mock): account = stripe.Account.retrieve(TEST_RESOURCE_ID) http_client_mock.stub_request( "post", path="/oauth/deauthorize", rbody='{"stripe_user_id": "%s"}' % account.id, ) account.deauthorize() http_client_mock.assert_requested( "post", path="/oauth/deauthorize", post_data="client_id=%s&stripe_user_id=%s" % ( stripe.client_id, account.id, ), ) def test_can_call_persons(self, http_client_mock): account = stripe.Account.retrieve(TEST_RESOURCE_ID) resources = account.persons() http_client_mock.assert_requested( "get", path="/v1/accounts/%s/persons" % TEST_RESOURCE_ID ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Person) class TestAccountCapabilities(object): def test_is_listable(self, http_client_mock): resources = stripe.Account.list_capabilities(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/accounts/%s/capabilities" % TEST_RESOURCE_ID ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Capability) def test_is_modifiable(self, http_client_mock): resource = stripe.Account.modify_capability( TEST_RESOURCE_ID, TEST_CAPABILITY_ID, requested=True ) http_client_mock.assert_requested( "post", path="/v1/accounts/%s/capabilities/%s" % (TEST_RESOURCE_ID, TEST_CAPABILITY_ID), ) assert isinstance(resource, stripe.Capability) def test_is_retrievable(self, http_client_mock): resource = stripe.Account.retrieve_capability( TEST_RESOURCE_ID, TEST_CAPABILITY_ID ) http_client_mock.assert_requested( "get", path="/v1/accounts/%s/capabilities/%s" % (TEST_RESOURCE_ID, TEST_CAPABILITY_ID), ) assert isinstance(resource, stripe.Capability) class TestAccountExternalAccounts(object): def test_is_listable(self, http_client_mock): resources = stripe.Account.list_external_accounts(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/accounts/%s/external_accounts" % TEST_RESOURCE_ID ) assert isinstance(resources.data, list) def test_is_retrievable(self, http_client_mock): resource = stripe.Account.retrieve_external_account( TEST_RESOURCE_ID, TEST_EXTERNALACCOUNT_ID ) http_client_mock.assert_requested( "get", path="/v1/accounts/%s/external_accounts/%s" % (TEST_RESOURCE_ID, TEST_EXTERNALACCOUNT_ID), ) assert isinstance(resource, stripe.BankAccount) def test_is_creatable(self, http_client_mock): resource = stripe.Account.create_external_account( TEST_RESOURCE_ID, external_account="btok_123" ) http_client_mock.assert_requested( "post", path="/v1/accounts/%s/external_accounts" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.BankAccount) def test_is_modifiable(self, http_client_mock): resource = stripe.Account.modify_external_account( TEST_RESOURCE_ID, TEST_EXTERNALACCOUNT_ID, metadata={"foo": "bar"} ) http_client_mock.assert_requested( "post", path="/v1/accounts/%s/external_accounts/%s" % (TEST_RESOURCE_ID, TEST_EXTERNALACCOUNT_ID), ) assert isinstance(resource, stripe.BankAccount) def test_is_deletable(self, http_client_mock): resource = stripe.Account.delete_external_account( TEST_RESOURCE_ID, TEST_EXTERNALACCOUNT_ID ) http_client_mock.assert_requested( "delete", path="/v1/accounts/%s/external_accounts/%s" % (TEST_RESOURCE_ID, TEST_EXTERNALACCOUNT_ID), ) assert resource.deleted is True class TestAccountLoginLinks(object): def test_is_creatable(self, http_client_mock): resource = stripe.Account.create_login_link(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/accounts/%s/login_links" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.LoginLink) class TestAccountPersons(object): def test_is_creatable(self, http_client_mock): resource = stripe.Account.create_person( TEST_RESOURCE_ID, dob={"day": 1, "month": 1, "year": 1980} ) http_client_mock.assert_requested( "post", path="/v1/accounts/%s/persons" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Person) def test_is_deletable(self, http_client_mock): resource = stripe.Account.delete_person( TEST_RESOURCE_ID, TEST_PERSON_ID ) http_client_mock.assert_requested( "delete", path="/v1/accounts/%s/persons/%s" % (TEST_RESOURCE_ID, TEST_PERSON_ID), ) assert resource.deleted is True def test_is_listable(self, http_client_mock): resources = stripe.Account.list_persons(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/accounts/%s/persons" % TEST_RESOURCE_ID ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Person) def test_is_modifiable(self, http_client_mock): resource = stripe.Account.modify_person( TEST_RESOURCE_ID, TEST_PERSON_ID, metadata={"foo": "bar"} ) http_client_mock.assert_requested( "post", path="/v1/accounts/%s/persons/%s" % (TEST_RESOURCE_ID, TEST_PERSON_ID), ) assert isinstance(resource, stripe.Person) def test_is_retrievable(self, http_client_mock): resource = stripe.Account.retrieve_person( TEST_RESOURCE_ID, TEST_PERSON_ID ) http_client_mock.assert_requested( "get", path="/v1/accounts/%s/persons/%s" % (TEST_RESOURCE_ID, TEST_PERSON_ID), ) assert isinstance(resource, stripe.Person) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_account_link.py0000644000000000000000000000072015102753431020120 0ustar00import stripe class TestAccountLink(object): def test_is_creatable(self, http_client_mock): resource = stripe.AccountLink.create( account="acct_123", refresh_url="https://stripe.com/failure", return_url="https://stripe.com/success", type="account_onboarding", ) http_client_mock.assert_requested("post", path="/v1/account_links") assert isinstance(resource, stripe.AccountLink) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_apple_pay_domain.py0000644000000000000000000000300115102753431020743 0ustar00import stripe TEST_RESOURCE_ID = "apwc_123" class TestApplePayDomain(object): def test_is_listable(self, http_client_mock): resources = stripe.ApplePayDomain.list() http_client_mock.assert_requested("get", path="/v1/apple_pay/domains") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.ApplePayDomain) def test_is_retrievable(self, http_client_mock): resource = stripe.ApplePayDomain.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/apple_pay/domains/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.ApplePayDomain) def test_is_creatable(self, http_client_mock): resource = stripe.ApplePayDomain.create(domain_name="test.com") http_client_mock.assert_requested("post", path="/v1/apple_pay/domains") assert isinstance(resource, stripe.ApplePayDomain) def test_is_deletable(self, http_client_mock): resource = stripe.ApplePayDomain.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/apple_pay/domains/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_delete(self, http_client_mock): resource = stripe.ApplePayDomain.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/apple_pay/domains/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_application_fee.py0000644000000000000000000000375315102753431020602 0ustar00import stripe TEST_RESOURCE_ID = "fee_123" TEST_FEEREFUND_ID = "fr_123" class TestApplicationFee(object): def test_is_listable(self, http_client_mock): resources = stripe.ApplicationFee.list() http_client_mock.assert_requested("get", path="/v1/application_fees") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.ApplicationFee) class TestApplicationFeeRefunds(object): def test_is_listable(self, http_client_mock): resources = stripe.ApplicationFee.list_refunds(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/application_fees/%s/refunds" % TEST_RESOURCE_ID ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.ApplicationFeeRefund) def test_is_retrievable(self, http_client_mock): resource = stripe.ApplicationFee.retrieve_refund( TEST_RESOURCE_ID, TEST_FEEREFUND_ID ) http_client_mock.assert_requested( "get", path="/v1/application_fees/%s/refunds/%s" % (TEST_RESOURCE_ID, TEST_FEEREFUND_ID), ) assert isinstance(resource, stripe.ApplicationFeeRefund) def test_is_creatable(self, http_client_mock): resource = stripe.ApplicationFee.create_refund( TEST_RESOURCE_ID, amount=100 ) http_client_mock.assert_requested( "post", path="/v1/application_fees/%s/refunds" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.ApplicationFeeRefund) def test_is_modifiable(self, http_client_mock): resource = stripe.ApplicationFee.modify_refund( TEST_RESOURCE_ID, TEST_FEEREFUND_ID, metadata={"foo": "bar"} ) http_client_mock.assert_requested( "post", path="/v1/application_fees/%s/refunds/%s" % (TEST_RESOURCE_ID, TEST_FEEREFUND_ID), ) assert isinstance(resource, stripe.ApplicationFeeRefund) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_application_fee_refund.py0000644000000000000000000000215715102753431022142 0ustar00import pytest import stripe TEST_RESOURCE_ID = "fr_123" TEST_APPFEE_ID = "fee_123" class TestApplicationFeeRefund(object): def test_is_saveable(self, http_client_mock): appfee = stripe.ApplicationFee.retrieve(TEST_APPFEE_ID) resource = appfee.refunds.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/application_fees/%s/refunds/%s" % (TEST_APPFEE_ID, TEST_RESOURCE_ID), ) def test_is_modifiable(self, http_client_mock): resource = stripe.ApplicationFeeRefund.modify( TEST_APPFEE_ID, TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/application_fees/%s/refunds/%s" % (TEST_APPFEE_ID, TEST_RESOURCE_ID), ) assert isinstance(resource, stripe.ApplicationFeeRefund) def test_is_not_retrievable(self): with pytest.raises(NotImplementedError): stripe.ApplicationFeeRefund.retrieve(TEST_RESOURCE_ID) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_balance.py0000644000000000000000000000040615102753431017035 0ustar00import stripe class TestBalance(object): def test_is_retrievable(self, http_client_mock): resource = stripe.Balance.retrieve() http_client_mock.assert_requested("get", path="/v1/balance") assert isinstance(resource, stripe.Balance) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_balance_transaction.py0000644000000000000000000000132715102753431021445 0ustar00import stripe TEST_RESOURCE_ID = "txn_123" class TestBalanceTransaction(object): def test_is_listable(self, http_client_mock): resources = stripe.BalanceTransaction.list() http_client_mock.assert_requested( "get", path="/v1/balance_transactions" ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.BalanceTransaction) def test_is_retrievable(self, http_client_mock): resource = stripe.BalanceTransaction.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/balance_transactions/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.BalanceTransaction) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_bank_account.py0000644000000000000000000000444715102753431020110 0ustar00import pytest import stripe TEST_RESOURCE_ID = "ba_123" class TestBankAccountTest(object): def construct_resource(self, **params): bank_dict = { "id": TEST_RESOURCE_ID, "object": "bank_account", "metadata": {}, } bank_dict.update(params) return stripe.BankAccount.construct_from(bank_dict, stripe.api_key) def test_has_account_instance_url(self): resource = self.construct_resource(account="acct_123") assert ( resource.instance_url() == "/v1/accounts/acct_123/external_accounts/%s" % TEST_RESOURCE_ID ) def test_has_customer_instance_url(self): resource = self.construct_resource(customer="cus_123") assert ( resource.instance_url() == "/v1/customers/cus_123/sources/%s" % TEST_RESOURCE_ID ) # The previous tests already ensure that the request will be routed to the # correct URL, so we only test the API operations once. def test_is_not_retrievable(self): with pytest.raises(NotImplementedError): stripe.BankAccount.retrieve(TEST_RESOURCE_ID) def test_is_saveable(self, http_client_mock): resource = self.construct_resource(customer="cus_123") resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/sources/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_not_modifiable(self): with pytest.raises(NotImplementedError): stripe.BankAccount.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) def test_is_deletable(self, http_client_mock): resource = self.construct_resource(customer="cus_123") resource.delete() http_client_mock.assert_requested( "delete", path="/v1/customers/cus_123/sources/%s" % TEST_RESOURCE_ID, ) def test_is_verifiable(self, http_client_mock): resource = self.construct_resource(customer="cus_123") resource.verify() http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/sources/%s/verify" % TEST_RESOURCE_ID, post_data="", ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_capability.py0000644000000000000000000000233415102753431017573 0ustar00import pytest import stripe TEST_RESOURCE_ID = "acap_123" class TestCapability(object): def construct_resource(self): capability_dict = { "id": TEST_RESOURCE_ID, "object": "capability", "account": "acct_123", } return stripe.Capability.construct_from( capability_dict, stripe.api_key ) def test_has_instance_url(self): resource = self.construct_resource() assert ( resource.instance_url() == "/v1/accounts/acct_123/capabilities/%s" % TEST_RESOURCE_ID ) def test_is_not_modifiable(self): with pytest.raises(NotImplementedError): stripe.Capability.modify(TEST_RESOURCE_ID, requested=True) def test_is_not_retrievable(self): with pytest.raises(NotImplementedError): stripe.Capability.retrieve(TEST_RESOURCE_ID) def test_is_saveable(self, http_client_mock): resource = self.construct_resource() resource.requested = True resource.save() http_client_mock.assert_requested( "post", path="/v1/accounts/acct_123/capabilities/%s" % TEST_RESOURCE_ID, post_data="requested=true", ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_card.py0000644000000000000000000000356415102753431016371 0ustar00import pytest import stripe TEST_RESOURCE_ID = "card_123" class TestCard(object): def construct_resource(self, **params): card_dict = {"id": TEST_RESOURCE_ID, "object": "card", "metadata": {}} card_dict.update(params) return stripe.Card.construct_from(card_dict, stripe.api_key) def test_has_account_instance_url(self): resource = self.construct_resource(account="acct_123") assert ( resource.instance_url() == "/v1/accounts/acct_123/external_accounts/%s" % TEST_RESOURCE_ID ) def test_has_customer_instance_url(self): resource = self.construct_resource(customer="cus_123") assert ( resource.instance_url() == "/v1/customers/cus_123/sources/%s" % TEST_RESOURCE_ID ) # The previous tests already ensure that the request will be routed to the # correct URL, so we only test the API operations once. def test_is_not_retrievable(self): with pytest.raises(NotImplementedError): stripe.Card.retrieve(TEST_RESOURCE_ID) def test_is_saveable(self, http_client_mock): resource = self.construct_resource(customer="cus_123") resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/sources/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_not_modifiable(self): with pytest.raises(NotImplementedError): stripe.Card.modify(TEST_RESOURCE_ID, metadata={"key": "value"}) def test_is_deletable(self, http_client_mock): resource = self.construct_resource(customer="cus_123") resource.delete() http_client_mock.assert_requested( "delete", path="/v1/customers/cus_123/sources/%s" % TEST_RESOURCE_ID, ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_charge.py0000644000000000000000000000726515102753431016713 0ustar00import stripe TEST_RESOURCE_ID = "ch_123" class TestCharge(object): def test_is_listable(self, http_client_mock): resources = stripe.Charge.list() http_client_mock.assert_requested("get", path="/v1/charges") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Charge) def test_is_searchable(self, http_client_mock): resources = stripe.Charge.search(query='currency:"USD"') http_client_mock.assert_requested( "get", path="/v1/charges/search", query_string='query=currency:"USD"', ) assert resources.total_count == 1 assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Charge) cnt = 0 for c in resources.auto_paging_iter(): assert isinstance(c, stripe.Charge) cnt += 1 assert cnt == 1 def test_is_retrievable(self, http_client_mock): resource = stripe.Charge.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/charges/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Charge) def test_is_creatable(self, http_client_mock): resource = stripe.Charge.create( amount=100, currency="usd", source="tok_123" ) http_client_mock.assert_requested( "post", path="/v1/charges", post_data="amount=100¤cy=usd&source=tok_123", ) assert isinstance(resource, stripe.Charge) def test_is_saveable(self, http_client_mock): resource = stripe.Charge.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/charges/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Charge) def test_is_modifiable(self, http_client_mock): resource = stripe.Charge.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/charges/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Charge) def test_can_capture(self, http_client_mock): charge = stripe.Charge.retrieve(TEST_RESOURCE_ID) resource = charge.capture() http_client_mock.assert_requested( "post", path="/v1/charges/%s/capture" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Charge) def test_can_capture_classmethod(self, http_client_mock): resource = stripe.Charge.capture(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/charges/%s/capture" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Charge) def test_can_mark_as_fraudulent(self, http_client_mock): charge = stripe.Charge.retrieve(TEST_RESOURCE_ID) resource = charge.mark_as_fraudulent() http_client_mock.assert_requested( "post", path="/v1/charges/%s" % charge.id, post_data="fraud_details[user_report]=fraudulent", ) assert isinstance(resource, stripe.Charge) def test_can_mark_as_safe(self, http_client_mock): charge = stripe.Charge.retrieve(TEST_RESOURCE_ID) resource = charge.mark_as_safe() http_client_mock.assert_requested( "post", path="/v1/charges/%s" % charge.id, post_data="fraud_details[user_report]=safe", ) assert isinstance(resource, stripe.Charge) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_country_spec.py0000644000000000000000000000121315102753431020162 0ustar00import stripe TEST_RESOURCE_ID = "US" class TestCountrySpec(object): def test_is_listable(self, http_client_mock): resources = stripe.CountrySpec.list() http_client_mock.assert_requested("get", path="/v1/country_specs") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.CountrySpec) def test_is_retrievable(self, http_client_mock): resource = stripe.CountrySpec.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/country_specs/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.CountrySpec) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_coupon.py0000644000000000000000000000441615102753431016760 0ustar00import stripe TEST_RESOURCE_ID = "250FF" class TestCoupon(object): def test_is_listable(self, http_client_mock): resources = stripe.Coupon.list() http_client_mock.assert_requested("get", path="/v1/coupons") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Coupon) def test_is_retrievable(self, http_client_mock): resource = stripe.Coupon.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/coupons/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Coupon) def test_is_creatable(self, http_client_mock): resource = stripe.Coupon.create( percent_off=25, duration="repeating", duration_in_months=3, id="250FF", ) http_client_mock.assert_requested( "post", path="/v1/coupons", post_data="duration=repeating&duration_in_months=3&id=250FF&percent_off=25", ) assert isinstance(resource, stripe.Coupon) def test_is_saveable(self, http_client_mock): resource = stripe.Coupon.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/coupons/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.Coupon.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/coupons/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Coupon) def test_is_deletable(self, http_client_mock): resource = stripe.Coupon.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/coupons/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_delete(self, http_client_mock): resource = stripe.Coupon.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/coupons/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_credit_note.py0000644000000000000000000000553315102753431017755 0ustar00import stripe TEST_RESOURCE_ID = "cn_123" class TestCreditNote(object): def test_is_listable(self, http_client_mock): resources = stripe.CreditNote.list() http_client_mock.assert_requested("get", path="/v1/credit_notes") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.CreditNote) def test_is_retrievable(self, http_client_mock): resource = stripe.CreditNote.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/credit_notes/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.CreditNote) def test_is_creatable(self, http_client_mock): resource = stripe.CreditNote.create( amount=100, invoice="in_123", reason="duplicate" ) http_client_mock.assert_requested( "post", path="/v1/credit_notes", post_data="amount=100&invoice=in_123&reason=duplicate", ) assert isinstance(resource, stripe.CreditNote) def test_is_saveable(self, http_client_mock): resource = stripe.CreditNote.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/credit_notes/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.CreditNote.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/credit_notes/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.CreditNote) def test_can_preview(self, http_client_mock): resource = stripe.CreditNote.preview(invoice="in_123", amount=500) http_client_mock.assert_requested( "get", path="/v1/credit_notes/preview", query_string="amount=500&invoice=in_123", ) assert isinstance(resource, stripe.CreditNote) def test_can_void_credit_note(self, http_client_mock): resource = stripe.CreditNote.retrieve(TEST_RESOURCE_ID) resource = resource.void_credit_note() http_client_mock.assert_requested( "post", path="/v1/credit_notes/%s/void" % TEST_RESOURCE_ID, post_data="", ) assert isinstance(resource, stripe.CreditNote) def test_can_void_credit_note_classmethod(self, http_client_mock): resource = stripe.CreditNote.void_credit_note(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/credit_notes/%s/void" % TEST_RESOURCE_ID, post_data="", ) assert isinstance(resource, stripe.CreditNote) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_customer.py0000644000000000000000000002140315102753431017311 0ustar00import stripe TEST_RESOURCE_ID = "cus_123" TEST_SUB_ID = "sub_123" TEST_SOURCE_ID = "ba_123" TEST_TAX_ID_ID = "txi_123" TEST_TRANSACTION_ID = "cbtxn_123" class TestCustomer(object): def test_is_listable(self, http_client_mock): resources = stripe.Customer.list() http_client_mock.assert_requested("get", path="/v1/customers") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Customer) def test_is_retrievable(self, http_client_mock): resource = stripe.Customer.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/customers/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Customer) def test_is_creatable(self, http_client_mock): resource = stripe.Customer.create() http_client_mock.assert_requested("post", path="/v1/customers") assert isinstance(resource, stripe.Customer) def test_is_saveable(self, http_client_mock): resource = stripe.Customer.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/customers/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.Customer.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/customers/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Customer) def test_is_deletable(self, http_client_mock): resource = stripe.Customer.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/customers/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_delete(self, http_client_mock): resource = stripe.Customer.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/customers/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_delete_discount(self, http_client_mock): resource = stripe.Customer.retrieve(TEST_RESOURCE_ID) resource.delete_discount() http_client_mock.assert_requested( "delete", path="/v1/customers/%s/discount" % TEST_RESOURCE_ID ) def test_can_delete_discount_class_method(self, http_client_mock): stripe.Customer.delete_discount(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/customers/%s/discount" % TEST_RESOURCE_ID ) class TestCustomerSources(object): def test_is_creatable(self, http_client_mock): stripe.Customer.create_source(TEST_RESOURCE_ID, source="btok_123") http_client_mock.assert_requested( "post", path="/v1/customers/%s/sources" % TEST_RESOURCE_ID, post_data="source=btok_123", ) def test_is_retrievable(self, http_client_mock): stripe.Customer.retrieve_source(TEST_RESOURCE_ID, TEST_SOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/customers/%s/sources/%s" % (TEST_RESOURCE_ID, TEST_SOURCE_ID), ) def test_is_modifiable(self, http_client_mock): stripe.Customer.modify_source( TEST_RESOURCE_ID, TEST_SOURCE_ID, metadata={"foo": "bar"} ) http_client_mock.assert_requested( "post", path="/v1/customers/%s/sources/%s" % (TEST_RESOURCE_ID, TEST_SOURCE_ID), post_data="metadata[foo]=bar", ) def test_is_deletable(self, http_client_mock): stripe.Customer.delete_source(TEST_RESOURCE_ID, TEST_SOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/customers/%s/sources/%s" % (TEST_RESOURCE_ID, TEST_SOURCE_ID), ) def test_is_listable(self, http_client_mock): resources = stripe.Customer.list_sources(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/customers/%s/sources" % TEST_RESOURCE_ID ) assert isinstance(resources.data, list) class TestCustomerTaxIds(object): def test_is_creatable(self, http_client_mock): resource = stripe.Customer.create_tax_id( TEST_RESOURCE_ID, type="eu_vat", value="11111" ) http_client_mock.assert_requested( "post", path="/v1/customers/%s/tax_ids" % TEST_RESOURCE_ID, post_data="type=eu_vat&value=11111", ) assert isinstance(resource, stripe.TaxId) def test_is_retrievable(self, http_client_mock): stripe.Customer.retrieve_tax_id(TEST_RESOURCE_ID, TEST_TAX_ID_ID) http_client_mock.assert_requested( "get", path="/v1/customers/%s/tax_ids/%s" % (TEST_RESOURCE_ID, TEST_TAX_ID_ID), ) def test_is_deletable(self, http_client_mock): stripe.Customer.delete_tax_id(TEST_RESOURCE_ID, TEST_TAX_ID_ID) http_client_mock.assert_requested( "delete", path="/v1/customers/%s/tax_ids/%s" % (TEST_RESOURCE_ID, TEST_TAX_ID_ID), ) def test_is_listable(self, http_client_mock): resources = stripe.Customer.list_tax_ids(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/customers/%s/tax_ids" % TEST_RESOURCE_ID ) assert isinstance(resources.data, list) class TestCustomerTransactions(object): def test_is_creatable(self, http_client_mock): resource = stripe.Customer.create_balance_transaction( TEST_RESOURCE_ID, amount=1234, currency="usd" ) http_client_mock.assert_requested( "post", path="/v1/customers/%s/balance_transactions" % TEST_RESOURCE_ID, ) assert isinstance(resource, stripe.CustomerBalanceTransaction) def test_is_retrievable(self, http_client_mock): stripe.Customer.retrieve_balance_transaction( TEST_RESOURCE_ID, TEST_TRANSACTION_ID ) http_client_mock.assert_requested( "get", path="/v1/customers/%s/balance_transactions/%s" % (TEST_RESOURCE_ID, TEST_TRANSACTION_ID), ) def test_is_listable(self, http_client_mock): resources = stripe.Customer.list_balance_transactions(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/customers/%s/balance_transactions" % TEST_RESOURCE_ID, ) assert isinstance(resources.data, list) class TestCustomerPaymentMethods(object): def test_is_listable(self, http_client_mock): stripe.Customer.list_payment_methods(TEST_RESOURCE_ID, type="card") http_client_mock.assert_requested( "get", path="/v1/customers/%s/payment_methods" % TEST_RESOURCE_ID ) def test_is_listable_on_object(self, http_client_mock): resource = stripe.Customer.retrieve( TEST_RESOURCE_ID ).list_payment_methods(type="card") http_client_mock.assert_requested( "get", path="/v1/customers/%s/payment_methods" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.ListObject) class TestCustomerCashBalanceMethods(object): # These tests are present for compatibility purposes. Previously the cash # balance methods required None as a second nested_id parameter. The method # has been patched to no longer require this, but we want to preserve # compatibility for existing users. def test_customer_cashbalance_retrieve_legacy_call_pattern( self, http_client_mock ): stripe.Customer.retrieve_cash_balance("cus_123") http_client_mock.assert_requested( "get", path="/v1/customers/cus_123/cash_balance" ) def test_customer_cashbalance_modify_legacy_call_pattern( self, http_client_mock ): stripe.Customer.modify_cash_balance( "cus_123", settings={"reconciliation_mode": "manual"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/cash_balance", post_data="settings[reconciliation_mode]=manual", ) def test_customer_cashbalance_modify_fixed_pattern(self, http_client_mock): stripe.Customer.modify_cash_balance( "cus_123", settings={"reconciliation_mode": "manual"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/cash_balance", post_data="settings[reconciliation_mode]=manual", ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_customer_balance_transaction.py0000644000000000000000000000146415102753431023370 0ustar00import pytest import stripe TEST_RESOURCE_ID = "cbtxn_123" class TestCustomerBalanceTransaction(object): def construct_resource(self): tax_id_dict = { "id": TEST_RESOURCE_ID, "object": "customer_balance_transaction", "customer": "cus_123", } return stripe.CustomerBalanceTransaction.construct_from( tax_id_dict, stripe.api_key ) def test_has_instance_url(self): resource = self.construct_resource() assert ( resource.instance_url() == "/v1/customers/cus_123/balance_transactions/%s" % TEST_RESOURCE_ID ) def test_is_not_retrievable(self): with pytest.raises(NotImplementedError): stripe.CustomerBalanceTransaction.retrieve(TEST_RESOURCE_ID) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_dispute.py0000644000000000000000000000365315102753431017134 0ustar00import stripe TEST_RESOURCE_ID = "dp_123" class TestDispute(object): def test_is_listable(self, http_client_mock): resources = stripe.Dispute.list() http_client_mock.assert_requested("get", path="/v1/disputes") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Dispute) def test_is_retrievable(self, http_client_mock): resource = stripe.Dispute.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/disputes/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Dispute) def test_is_saveable(self, http_client_mock): resource = stripe.Dispute.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/disputes/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.Dispute.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/disputes/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Dispute) def test_can_close(self, http_client_mock): resource = stripe.Dispute.retrieve(TEST_RESOURCE_ID) resource.close() http_client_mock.assert_requested( "post", path="/v1/disputes/%s/close" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Dispute) def test_can_close_classmethod(self, http_client_mock): resource = stripe.Dispute.close(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/disputes/%s/close" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Dispute) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_ephemeral_key.py0000644000000000000000000000252515102753431020266 0ustar00import pytest import stripe class TestEphemeralKey(object): def test_is_creatable(self, http_client_mock): resource = stripe.EphemeralKey.create( customer="cus_123", stripe_version="2017-05-25" ) http_client_mock.assert_requested( "post", path="/v1/ephemeral_keys", stripe_version="2017-05-25", post_data="customer=cus_123", ) assert isinstance(resource, stripe.EphemeralKey) def test_is_not_creatable_without_an_explicit_api_version(self): with pytest.raises( ValueError, match="stripe_version must be specified" ): stripe.EphemeralKey.create(customer="cus_123") def test_is_deletable(self, http_client_mock): resource = stripe.EphemeralKey.create( customer="cus_123", stripe_version="2017-05-25" ) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/ephemeral_keys/%s" % resource.id ) assert isinstance(resource, stripe.EphemeralKey) def test_can_delete(self, http_client_mock): resource = stripe.EphemeralKey.delete("ephkey_123") http_client_mock.assert_requested( "delete", path="/v1/ephemeral_keys/ephkey_123" ) assert isinstance(resource, stripe.EphemeralKey) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_event.py0000644000000000000000000000114415102753431016571 0ustar00import stripe TEST_RESOURCE_ID = "evt_123" class TestEvent(object): def test_is_listable(self, http_client_mock): resources = stripe.Event.list() http_client_mock.assert_requested("get", path="/v1/events") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Event) def test_is_retrievable(self, http_client_mock): resource = stripe.Event.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/events/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Event) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_exchange_rate.py0000644000000000000000000000122315102753431020243 0ustar00import stripe TEST_RESOURCE_ID = "usd" class TestExchangeRate(object): def test_is_listable(self, http_client_mock): resources = stripe.ExchangeRate.list() http_client_mock.assert_requested("get", path="/v1/exchange_rates") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.ExchangeRate) def test_is_retrievable(self, http_client_mock): resource = stripe.ExchangeRate.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/exchange_rates/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.ExchangeRate) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_file.py0000644000000000000000000000573515102753431016401 0ustar00import tempfile import pytest import stripe from stripe._multipart_data_generator import MultipartDataGenerator from stripe._util import convert_to_stripe_object TEST_RESOURCE_ID = "file_123" class TestFile(object): @pytest.fixture(scope="function") def setup_upload_api_base(self): stripe.upload_api_base = stripe.api_base stripe.api_base = None yield stripe.api_base = stripe.upload_api_base stripe.upload_api_base = "https://files.stripe.com" def test_is_listable(self, http_client_mock): resources = stripe.File.list() http_client_mock.assert_requested("get", path="/v1/files") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.File) def test_is_retrievable(self, http_client_mock): resource = stripe.File.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/files/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.File) def test_is_creatable(self, setup_upload_api_base, http_client_mock): MultipartDataGenerator._initialize_boundary = lambda self: 1234567890 test_file = tempfile.TemporaryFile() resource = stripe.File.create( purpose="dispute_evidence", file=test_file, file_link_data={"create": True}, ) http_client_mock.assert_requested( "post", path="/v1/files", api_base=stripe.upload_api_base, content_type="multipart/form-data; boundary=1234567890", ) assert isinstance(resource, stripe.File) def test_create_respects_stripe_version( self, setup_upload_api_base, http_client_mock ): test_file = tempfile.TemporaryFile() stripe.File.create( purpose="dispute_evidence", file=test_file, stripe_version="foo" ) http_client_mock.assert_requested( "post", api_base=stripe.upload_api_base, path="/v1/files", stripe_version="foo", ) # You can use api_version instead of stripe_version # in File.create. We preserve it for backwards compatibility def test_create_respects_api_version( self, setup_upload_api_base, http_client_mock ): test_file = tempfile.TemporaryFile() stripe.File.create( purpose="dispute_evidence", file=test_file, stripe_version="foo" ) http_client_mock.assert_requested( "post", api_base=stripe.upload_api_base, path="/v1/files", stripe_version="foo", ) def test_deserializes_from_file(self): obj = convert_to_stripe_object({"object": "file"}, api_mode="V1") assert isinstance(obj, stripe.File) def test_deserializes_from_file_upload(self): obj = convert_to_stripe_object( {"object": "file_upload"}, api_mode="V1" ) assert isinstance(obj, stripe.File) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_file_link.py0000644000000000000000000000312215102753431017402 0ustar00import stripe TEST_RESOURCE_ID = "link_123" class TestFileLink(object): def test_is_listable(self, http_client_mock): resources = stripe.FileLink.list() http_client_mock.assert_requested("get", path="/v1/file_links") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.FileLink) def test_is_retrievable(self, http_client_mock): resource = stripe.FileLink.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/file_links/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.FileLink) def test_is_creatable(self, http_client_mock): resource = stripe.FileLink.create(file="file_123") http_client_mock.assert_requested("post", path="/v1/file_links") assert isinstance(resource, stripe.FileLink) def test_is_saveable(self, http_client_mock): resource = stripe.FileLink.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/file_links/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.FileLink.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/file_links/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.FileLink) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3830621 stripe-13.2.0/tests/api_resources/test_file_upload.py0000644000000000000000000000371315102753431017737 0ustar00import tempfile import pytest import stripe from stripe import File from stripe._multipart_data_generator import MultipartDataGenerator from stripe._util import convert_to_stripe_object TEST_RESOURCE_ID = "file_123" class TestFileUpload(object): @pytest.fixture(scope="function") def setup_upload_api_base(self): stripe.upload_api_base = stripe.api_base stripe.api_base = None yield stripe.api_base = stripe.upload_api_base stripe.upload_api_base = "https://files.stripe.com" def test_is_listable(self, http_client_mock): resources = File.list() http_client_mock.assert_requested("get", path="/v1/files") assert isinstance(resources.data, list) assert isinstance(resources.data[0], File) def test_is_retrievable(self, http_client_mock): resource = File.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/files/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, File) def test_is_creatable(self, setup_upload_api_base, http_client_mock): MultipartDataGenerator._initialize_boundary = lambda self: 1234567890 test_file = tempfile.TemporaryFile() resource = File.create( purpose="dispute_evidence", file=test_file, file_link_data={"create": True}, ) http_client_mock.assert_requested( "post", api_base=stripe.upload_api_base, path="/v1/files", content_type="multipart/form-data; boundary=1234567890", ) assert isinstance(resource, File) def test_deserializes_from_file(self): obj = convert_to_stripe_object({"object": "file"}, api_mode="V1") assert isinstance(obj, File) def test_deserializes_from_file_upload(self): obj = convert_to_stripe_object( {"object": "file_upload"}, api_mode="V1" ) assert isinstance(obj, File) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_invoice.py0000644000000000000000000001333115102753431017105 0ustar00import stripe TEST_RESOURCE_ID = "in_123" class TestInvoice(object): def test_is_listable(self, http_client_mock): resources = stripe.Invoice.list() http_client_mock.assert_requested("get", path="/v1/invoices") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Invoice) def test_is_retrievable(self, http_client_mock): resource = stripe.Invoice.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/invoices/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Invoice) def test_is_creatable(self, http_client_mock): resource = stripe.Invoice.create(customer="cus_123") http_client_mock.assert_requested("post", path="/v1/invoices") assert isinstance(resource, stripe.Invoice) def test_is_saveable(self, http_client_mock): resource = stripe.Invoice.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/invoices/%s" % TEST_RESOURCE_ID ) def test_is_modifiable(self, http_client_mock): resource = stripe.Invoice.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/invoices/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Invoice) def test_is_deletable(self, http_client_mock): resource = stripe.Invoice.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/invoices/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_delete(self, http_client_mock): resource = stripe.Invoice.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/invoices/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_finalize_invoice(self, http_client_mock): resource = stripe.Invoice.retrieve(TEST_RESOURCE_ID) resource = resource.finalize_invoice() http_client_mock.assert_requested( "post", path="/v1/invoices/%s/finalize" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Invoice) def test_can_finalize_invoice_classmethod(self, http_client_mock): resource = stripe.Invoice.finalize_invoice(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/invoices/%s/finalize" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Invoice) def test_can_mark_uncollectible(self, http_client_mock): resource = stripe.Invoice.retrieve(TEST_RESOURCE_ID) resource = resource.mark_uncollectible() http_client_mock.assert_requested( "post", path="/v1/invoices/%s/mark_uncollectible" % TEST_RESOURCE_ID, ) assert isinstance(resource, stripe.Invoice) def test_can_mark_uncollectible_classmethod(self, http_client_mock): resource = stripe.Invoice.mark_uncollectible(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/invoices/%s/mark_uncollectible" % TEST_RESOURCE_ID, ) assert isinstance(resource, stripe.Invoice) def test_can_pay(self, http_client_mock): resource = stripe.Invoice.retrieve(TEST_RESOURCE_ID) resource = resource.pay() http_client_mock.assert_requested( "post", path="/v1/invoices/%s/pay" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Invoice) def test_can_pay_classmethod(self, http_client_mock): resource = stripe.Invoice.pay(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/invoices/%s/pay" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Invoice) def test_can_send_invoice(self, http_client_mock): resource = stripe.Invoice.retrieve(TEST_RESOURCE_ID) resource = resource.send_invoice() http_client_mock.assert_requested( "post", path="/v1/invoices/%s/send" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Invoice) def test_can_send_invoice_classmethod(self, http_client_mock): resource = stripe.Invoice.send_invoice(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/invoices/%s/send" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Invoice) def test_can_void_invoice(self, http_client_mock): resource = stripe.Invoice.retrieve(TEST_RESOURCE_ID) resource = resource.void_invoice() http_client_mock.assert_requested( "post", path="/v1/invoices/%s/void" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Invoice) def test_can_void_invoice_classmethod(self, http_client_mock): resource = stripe.Invoice.void_invoice(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/invoices/%s/void" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Invoice) def test_can_iterate_lines(self): resource = stripe.Invoice.retrieve(TEST_RESOURCE_ID) assert isinstance(resource.lines.data, list) assert isinstance(resource.lines.data[0], stripe.InvoiceLineItem) seen = [item["id"] for item in resource.lines.auto_paging_iter()] assert seen.__len__() > 0 def test_can_list_line_items(self): resource = stripe.Invoice.list_lines(TEST_RESOURCE_ID) assert isinstance(resource.data, list) assert isinstance(resource.data[0], stripe.InvoiceLineItem) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_invoice_item.py0000644000000000000000000000452415102753431020127 0ustar00import stripe TEST_RESOURCE_ID = "ii_123" class TestInvoiceItem(object): def test_is_listable(self, http_client_mock): resources = stripe.InvoiceItem.list() http_client_mock.assert_requested("get", path="/v1/invoiceitems") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.InvoiceItem) def test_is_retrievable(self, http_client_mock): resource = stripe.InvoiceItem.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/invoiceitems/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.InvoiceItem) def test_is_creatable(self, http_client_mock): resource = stripe.InvoiceItem.create( customer="cus_123", amount=123, currency="usd" ) http_client_mock.assert_requested( "post", path="/v1/invoiceitems", post_data="customer=cus_123&amount=123¤cy=usd", ) assert isinstance(resource, stripe.InvoiceItem) def test_is_saveable(self, http_client_mock): resource = stripe.InvoiceItem.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/invoiceitems/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_can_delete(self, http_client_mock): resource = stripe.InvoiceItem.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/invoiceitems/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_is_modifiable(self, http_client_mock): resource = stripe.InvoiceItem.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/invoiceitems/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.InvoiceItem) def test_is_deletable(self, http_client_mock): resource = stripe.InvoiceItem.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/invoiceitems/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_invoice_line_item.py0000644000000000000000000000142315102753431021131 0ustar00import stripe TEST_INVOICE_ID = "in_123" TEST_LINE_ITEM_ID = "il_123" class TestInvoiceLineItem(object): def test_deserialize(self): invoice = stripe.Invoice.retrieve(TEST_INVOICE_ID) assert isinstance(invoice.lines.data, list) assert isinstance(invoice.lines.data[0], stripe.InvoiceLineItem) def test_is_modifiable(self, http_client_mock): resource = stripe.InvoiceLineItem.modify( TEST_INVOICE_ID, TEST_LINE_ITEM_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/invoices/%s/lines/%s" % (TEST_INVOICE_ID, TEST_LINE_ITEM_ID), post_data="metadata[key]=value", ) assert isinstance(resource, stripe.InvoiceLineItem) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_list_object.py0000644000000000000000000006040515102753431017756 0ustar00import json import pytest import stripe from stripe._util import convert_to_stripe_object from stripe._stripe_object import StripeObject from tests.http_client_mock import HTTPClientMock class TestListObject(object): @pytest.fixture def list_object(self): return stripe.ListObject.construct_from( {"object": "list", "url": "/my/path", "data": ["foo"]}, "mykey" ) def test_list(self, http_client_mock, list_object): http_client_mock.stub_request( "get", path="/my/path", query_string="myparam=you", rbody='{"object": "list", "data": [{"object": "charge", "foo": "bar"}]}', ) res = list_object.list(myparam="you", stripe_account="acct_123") http_client_mock.assert_requested( "get", path="/my/path", query_string="myparam=you", stripe_account="acct_123", ) assert isinstance(res, stripe.ListObject) assert res.stripe_account == "acct_123" assert isinstance(res.data, list) assert isinstance(res.data[0], stripe.Charge) assert res.data[0].foo == "bar" def test_create(self, http_client_mock, list_object): http_client_mock.stub_request( "post", path="/my/path", rbody='{"object": "charge", "foo": "bar"}' ) res = list_object.create(myparam="eter", stripe_account="acct_123") http_client_mock.assert_requested( "post", path="/my/path", post_data="myparam=eter", stripe_account="acct_123", ) assert isinstance(res, stripe.Charge) assert res.foo == "bar" assert res.stripe_account == "acct_123" def test_retrieve_maintains_list_properties( self, http_client_mock, list_object ): # Testing with real requests because our mock makes it impossible to # test otherwise charge = stripe.Charge.retrieve("ch_123", api_key="sk_test_custom") res = charge.refunds.retrieve("re_abc") http_client_mock.assert_requested( "get", path="/v1/charges/ch_123/refunds/re_abc" ) assert res.api_key == "sk_test_custom" def test_retrieve(self, http_client_mock, list_object): http_client_mock.stub_request( "get", path="/my/path/myid", query_string="myparam=cow", rbody='{"object": "charge", "foo": "bar"}', ) res = list_object.retrieve( "myid", myparam="cow", stripe_account="acct_123" ) http_client_mock.assert_requested( "get", path="/my/path/myid", query_string="myparam=cow", stripe_account="acct_123", ) assert isinstance(res, stripe.Charge) assert res.foo == "bar" assert res.stripe_account == "acct_123" def test_is_empty(self): lo = stripe.ListObject.construct_from({"data": []}, None) assert lo.is_empty is True def test_empty_list(self): lo = stripe.ListObject._empty_list() assert lo.is_empty def test_iter(self): arr = [{"id": 1}, {"id": 2}, {"id": 3}] expected = convert_to_stripe_object(arr, api_mode="V1") lo = stripe.ListObject.construct_from({"data": arr}, None) assert list(lo) == expected def test_iter_reversed(self): arr = [{"id": 1}, {"id": 2}, {"id": 3}] expected = convert_to_stripe_object(list(reversed(arr)), api_mode="V1") lo = stripe.ListObject.construct_from({"data": arr}, None) assert list(reversed(lo)) == expected def test_len(self, list_object): assert len(list_object) == 1 def test_bool(self, list_object): assert list_object empty = stripe.ListObject.construct_from( {"object": "list", "url": "/my/path", "data": []}, "mykey" ) assert bool(empty) is False def test_next_page(self, http_client_mock): lo = stripe.ListObject.construct_from( { "object": "list", "data": [{"id": 1}], "has_more": True, "url": "/things", }, None, ) http_client_mock.stub_request( "get", path="/things", query_string="starting_after=1", rbody='{"object": "list", "data": [{"id": 2}], "has_more": false, "url": "/things"}', ) next_lo = lo.next_page() assert not next_lo.is_empty assert next_lo.data[0].id == 2 def test_next_page_with_filters(self, http_client_mock): lo = stripe.ListObject.construct_from( { "object": "list", "data": [{"id": 1}], "has_more": True, "url": "/things", }, None, ) lo._retrieve_params = {"expand": ["data.source"], "limit": 3} http_client_mock.stub_request( "get", path="/things", query_string="expand[0]=data.source&limit=3&starting_after=1", rbody='{"object": "list", "data": [{"id": 2}], "has_more": false, "url": "/things"}', ) next_lo = lo.next_page() assert next_lo._retrieve_params == { "expand": ["data.source"], "limit": 3, "starting_after": 1, } def test_next_page_empty_list(self): lo = stripe.ListObject.construct_from( { "object": "list", "data": [{"id": 1}], "has_more": False, "url": "/things", }, None, ) next_lo = lo.next_page() assert next_lo == stripe.ListObject._empty_list() def test_prev_page(self, http_client_mock): lo = stripe.ListObject.construct_from( { "object": "list", "data": [{"id": 2}], "has_more": True, "url": "/things", }, None, ) http_client_mock.stub_request( "get", path="/things", query_string="ending_before=2", rbody='{"object": "list", "data": [{"id": 1}], "has_more": false, "url": "/things"}', ) previous_lo = lo.previous_page() assert not previous_lo.is_empty assert previous_lo.data[0].id == 1 def test_prev_page_with_filters(self, http_client_mock): lo = stripe.ListObject.construct_from( { "object": "list", "data": [{"id": 2}], "has_more": True, "url": "/things", }, None, ) lo._retrieve_params = {"expand": ["data.source"], "limit": 3} http_client_mock.stub_request( "get", path="/things", query_string="ending_before=2&expand[0]=data.source&limit=3", rbody='{"object": "list", "data": [{"id": 1}], "has_more": false, "url": "/things"}', ) previous_lo = lo.previous_page() assert previous_lo._retrieve_params == { "expand": ["data.source"], "limit": 3, "ending_before": 2, } def test_serialize_empty_list(self): empty = stripe.ListObject.construct_from( {"object": "list", "data": []}, "mykey" ) serialized = str(empty) deserialized = stripe.ListObject.construct_from( json.loads(serialized), "mykey" ) assert deserialized == empty def test_serialize_nested_empty_list(self): empty = stripe.ListObject.construct_from( {"object": "list", "data": []}, "mykey" ) obj = StripeObject.construct_from({"nested": empty}, "mykey") serialized = str(obj) deserialized = StripeObject.construct_from( json.loads(serialized), "mykey" ) assert deserialized.nested == empty class TestAutoPaging: @staticmethod def pageable_model_response(ids, has_more): return { "object": "list", "url": "/v1/pageablemodels", "data": [{"id": id, "object": "pageablemodel"} for id in ids], "has_more": has_more, } def test_iter_one_page(self, http_client_mock): lo = stripe.ListObject.construct_from( self.pageable_model_response(["pm_123", "pm_124"], False), "mykey" ) http_client_mock.assert_no_request() seen = [item["id"] for item in lo.auto_paging_iter()] assert seen == ["pm_123", "pm_124"] def test_iter_two_pages(self, http_client_mock): lo = stripe.ListObject.construct_from( self.pageable_model_response(["pm_123", "pm_124"], True), "mykey" ) lo._retrieve_params = {"foo": "bar"} http_client_mock.stub_request( "get", path="/v1/pageablemodels", query_string="starting_after=pm_124&foo=bar", rbody=json.dumps( self.pageable_model_response(["pm_125", "pm_126"], False) ), ) seen = [item["id"] for item in lo.auto_paging_iter()] http_client_mock.assert_requested( "get", path="/v1/pageablemodels", query_string="starting_after=pm_124&foo=bar", ) assert seen == ["pm_123", "pm_124", "pm_125", "pm_126"] def test_iter_reverse(self, http_client_mock): lo = stripe.ListObject.construct_from( self.pageable_model_response(["pm_125", "pm_126"], True), "mykey" ) lo._retrieve_params = {"foo": "bar", "ending_before": "pm_127"} http_client_mock.stub_request( "get", path="/v1/pageablemodels", query_string="ending_before=pm_125&foo=bar", rbody=json.dumps( self.pageable_model_response(["pm_123", "pm_124"], False) ), ) seen = [item["id"] for item in lo.auto_paging_iter()] http_client_mock.assert_requested( "get", path="/v1/pageablemodels", query_string="ending_before=pm_125&foo=bar", ) assert seen == ["pm_126", "pm_125", "pm_124", "pm_123"] def test_iter_reverse_none_starting_after(self, http_client_mock): """Test that if `starting_after` is present in the retrieve params, but is `None`, that reverse pagination still occurs as expected. """ lo = stripe.ListObject.construct_from( self.pageable_model_response(["pm_125", "pm_126"], True), "mykey" ) lo._retrieve_params = { "foo": "bar", "ending_before": "pm_127", "starting_after": None, } http_client_mock.stub_request( "get", path="/v1/pageablemodels", query_string="ending_before=pm_125&foo=bar", rbody=json.dumps( self.pageable_model_response(["pm_123", "pm_124"], False) ), ) seen = [item["id"] for item in lo.auto_paging_iter()] http_client_mock.assert_requested( "get", path="/v1/pageablemodels", query_string="ending_before=pm_125&foo=bar", ) assert seen == ["pm_126", "pm_125", "pm_124", "pm_123"] def test_class_method_two_pages(self, http_client_mock): http_client_mock.stub_request( "get", path="/v1/charges", query_string="limit=25&foo=bar", rbody='{"object": "list", "data": [{"id": "ch_001"}], "url": "/v1/charges", "has_more": false}', ) seen = [ item["id"] for item in stripe.Charge.auto_paging_iter(limit=25, foo="bar") ] http_client_mock.assert_requested( "get", path="/v1/charges", query_string="limit=25&foo=bar" ) assert seen == ["ch_001"] def test_iter_forwards_api_key_resource(self, http_client_mock): http_client_mock.stub_request( "get", path="/v1/charges", rbody='{"object": "list", "data": [{"id": "ch_001"}], "url": "/v1/charges", "has_more": true}', ) http_client_mock.stub_request( "get", path="/v1/charges", query_string="starting_after=ch_001", rbody='{"object": "list", "data": [{"id": "ch_002"}], "url": "/v1/charges", "has_more": false}', ) lo = stripe.Charge.list(api_key="sk_test_iter_forwards_options") assert lo.api_key == "sk_test_iter_forwards_options" seen = [item["id"] for item in lo.auto_paging_iter()] http_client_mock.assert_requested( "get", path="/v1/charges", api_key="sk_test_iter_forwards_options" ) http_client_mock.assert_requested( "get", path="/v1/charges", query_string="starting_after=ch_001", api_key="sk_test_iter_forwards_options", ) assert seen == ["ch_001", "ch_002"] def test_iter_forwards_api_key_client(self, http_client_mock): client = stripe.StripeClient( http_client=http_client_mock.get_mock_http_client(), api_key="sk_test_xyz", ) http_client_mock.stub_request( "get", path="/v1/charges", rbody='{"object": "list", "data": [{"id": "x"}], "url": "/v1/charges", "has_more": true}', ) http_client_mock.stub_request( "get", path="/v1/charges", query_string="starting_after=x", rbody='{"object": "list", "data": [{"id": "y"}, {"id": "z"}], "url": "/v1/charges", "has_more": false}', ) lo = client.charges.list( options={"api_key": "sk_test_iter_forwards_options"} ) seen = [item["id"] for item in lo.auto_paging_iter()] assert seen == ["x", "y", "z"] http_client_mock.assert_requested( "get", path="/v1/charges", api_key="sk_test_iter_forwards_options", ) http_client_mock.assert_requested( "get", path="/v1/charges", query_string="starting_after=x", api_key="sk_test_iter_forwards_options", ) def test_forwards_api_key_to_nested_resources(self, http_client_mock): http_client_mock.stub_request( "get", path="/v1/products", rbody='{"object": "list", "data": [{"id": "prod_001", "object": "product"}], "url": "/v1/products", "has_more": true}', ) lo = stripe.Product.list(api_key="sk_test_iter_forwards_options") assert lo.api_key == "sk_test_iter_forwards_options" http_client_mock.assert_requested( "get", path="/v1/products", api_key="sk_test_iter_forwards_options" ) http_client_mock.stub_request( "delete", path="/v1/products/prod_001", ) lo.data[0].delete() http_client_mock.assert_requested( "delete", path="/v1/products/prod_001", api_key="sk_test_iter_forwards_options", ) assert lo.data[0].api_key == "sk_test_iter_forwards_options" # TODO(xavdid): re-add test with a new endpoint # def test_iter_with_params(self, http_client_mock: HTTPClientMock): # http_client_mock.stub_request( # "get", # path="/v1/invoices/upcoming/lines", # query_string="customer=cus_123&expand[0]=data.price&limit=1", # rbody=json.dumps( # { # "object": "list", # "data": [ # { # "id": "prod_001", # "object": "product", # "price": {"object": "price", "id": "price_123"}, # } # ], # "url": "/v1/invoices/upcoming/lines?customer=cus_123&expand%5B%5D=data.price", # "has_more": True, # } # ), # ) # # second page # http_client_mock.stub_request( # "get", # path="/v1/invoices/upcoming/lines", # query_string="customer=cus_123&expand[0]=data.price&limit=1&starting_after=prod_001", # rbody=json.dumps( # { # "object": "list", # "data": [ # { # "id": "prod_002", # "object": "product", # "price": {"object": "price", "id": "price_123"}, # } # ], # "url": "/v1/invoices/upcoming/lines?customer=cus_123&expand%5B%5D=data.price", # "has_more": False, # } # ), # ) # lo = stripe.Invoice.upcoming_lines( # api_key="sk_test_invoice_lines", # customer="cus_123", # expand=["data.price"], # limit=1, # ) # seen = [item["id"] for item in lo.auto_paging_iter()] # assert seen == ["prod_001", "prod_002"] def test_iter_with_stripe_account(self, http_client_mock: HTTPClientMock): http_client_mock.stub_request( "get", path="/v1/customers", rbody='{"object": "list", "data": [{"id": "cus_001", "object": "customer"}], "url": "/v1/customers", "has_more": true}', ) http_client_mock.stub_request( "get", path="/v1/customers", query_string="starting_after=cus_001", rbody='{"object": "list", "data": [{"id": "cus_002", "object": "customer"}], "url": "/v1/customers", "has_more": false}', ) cu_list = stripe.Customer.list( api_key="org_key_abc", stripe_account="ctx_123", ) customers = [item.id for item in cu_list.auto_paging_iter()] assert customers == ["cus_001", "cus_002"] http_client_mock.assert_requested( "get", path="/v1/customers", api_key="org_key_abc", stripe_account="ctx_123", ) http_client_mock.assert_requested( "get", path="/v1/customers", query_string="starting_after=cus_001", api_key="org_key_abc", stripe_account="ctx_123", ) def test_iter_with_stripe_context(self, http_client_mock: HTTPClientMock): http_client_mock.stub_request( "get", path="/v1/customers", rbody='{"object": "list", "data": [{"id": "cus_001", "object": "customer"}], "url": "/v1/customers", "has_more": true}', ) http_client_mock.stub_request( "get", path="/v1/customers", query_string="starting_after=cus_001", rbody='{"object": "list", "data": [{"id": "cus_002", "object": "customer"}], "url": "/v1/customers", "has_more": false}', ) cu_list = stripe.Customer.list( api_key="org_key_abc", stripe_context="ctx_123", ) customers = [item.id for item in cu_list.auto_paging_iter()] assert customers == ["cus_001", "cus_002"] http_client_mock.assert_requested( "get", path="/v1/customers", api_key="org_key_abc", stripe_context="ctx_123", ) http_client_mock.assert_requested( "get", path="/v1/customers", query_string="starting_after=cus_001", api_key="org_key_abc", stripe_context="ctx_123", ) def test_iter_with_stripe_context_client( self, http_client_mock: HTTPClientMock ): http_client_mock.stub_request( "get", path="/v1/customers", rbody='{"object": "list", "data": [{"id": "cus_001", "object": "customer"}], "url": "/v1/customers", "has_more": true}', ) http_client_mock.stub_request( "get", path="/v1/customers", query_string="starting_after=cus_001", rbody='{"object": "list", "data": [{"id": "cus_002", "object": "customer"}], "url": "/v1/customers", "has_more": false}', ) client = stripe.StripeClient( "org_key_abc", http_client=http_client_mock.get_mock_http_client() ) cu_list = client.v1.customers.list( options={"stripe_context": "ctx_123"} ) customers = [item.id for item in cu_list.auto_paging_iter()] assert customers == ["cus_001", "cus_002"] http_client_mock.assert_requested( "get", path="/v1/customers", api_key="org_key_abc", stripe_context="ctx_123", ) http_client_mock.assert_requested( "get", path="/v1/customers", query_string="starting_after=cus_001", api_key="org_key_abc", stripe_context="ctx_123", ) class TestAutoPagingAsync: @staticmethod def pageable_model_response(ids, has_more): return { "object": "list", "url": "/v1/pageablemodels", "data": [{"id": id, "object": "pageablemodel"} for id in ids], "has_more": has_more, } @pytest.mark.anyio async def test_iter_one_page(self, http_client_mock): lo = stripe.ListObject.construct_from( self.pageable_model_response(["pm_123", "pm_124"], False), "mykey" ) http_client_mock.assert_no_request() seen = [item["id"] async for item in lo.auto_paging_iter()] assert seen == ["pm_123", "pm_124"] @pytest.mark.anyio async def test_iter_two_pages(self, http_client_mock): lo = stripe.ListObject.construct_from( self.pageable_model_response(["pm_123", "pm_124"], True), "mykey" ) lo._retrieve_params = {"foo": "bar"} http_client_mock.stub_request( "get", path="/v1/pageablemodels", query_string="starting_after=pm_124&foo=bar", rbody=json.dumps( self.pageable_model_response(["pm_125", "pm_126"], False) ), ) seen = [item["id"] async for item in lo.auto_paging_iter()] http_client_mock.assert_requested( "get", path="/v1/pageablemodels", query_string="starting_after=pm_124&foo=bar", ) assert seen == ["pm_123", "pm_124", "pm_125", "pm_126"] @pytest.mark.anyio async def test_iter_reverse(self, http_client_mock): lo = stripe.ListObject.construct_from( self.pageable_model_response(["pm_125", "pm_126"], True), "mykey" ) lo._retrieve_params = {"foo": "bar", "ending_before": "pm_127"} http_client_mock.stub_request( "get", path="/v1/pageablemodels", query_string="ending_before=pm_125&foo=bar", rbody=json.dumps( self.pageable_model_response(["pm_123", "pm_124"], False) ), ) seen = [item["id"] async for item in lo.auto_paging_iter()] http_client_mock.assert_requested( "get", path="/v1/pageablemodels", query_string="ending_before=pm_125&foo=bar", ) assert seen == ["pm_126", "pm_125", "pm_124", "pm_123"] @pytest.mark.anyio async def test_iter_reverse_none_starting_after(self, http_client_mock): """Test that if `starting_after` is present in the retrieve params, but is `None`, that reverse pagination still occurs as expected. """ lo = stripe.ListObject.construct_from( self.pageable_model_response(["pm_125", "pm_126"], True), "mykey" ) lo._retrieve_params = { "foo": "bar", "ending_before": "pm_127", "starting_after": None, } http_client_mock.stub_request( "get", path="/v1/pageablemodels", query_string="ending_before=pm_125&foo=bar", rbody=json.dumps( self.pageable_model_response(["pm_123", "pm_124"], False) ), ) seen = [item["id"] async for item in lo.auto_paging_iter()] http_client_mock.assert_requested( "get", path="/v1/pageablemodels", query_string="ending_before=pm_125&foo=bar", ) assert seen == ["pm_126", "pm_125", "pm_124", "pm_123"] ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_list_object_v2.py0000644000000000000000000001033515102753431020362 0ustar00from __future__ import absolute_import, division, print_function import json import pytest import stripe from stripe.v2._list_object import ListObject from tests.http_client_mock import HTTPClientMock from stripe._util import convert_to_stripe_object class TestListObjectV2(object): @pytest.fixture def list_object(self): return ListObject.construct_from( { "data": ["a", "b", "c"], "next_page_url": None, "previous_page_url": None, }, "mykey", ) def test_iter(self): arr = ["a", "b", "c"] expected = convert_to_stripe_object(arr, api_mode="V2") lo = ListObject.construct_from({"data": arr}, None) assert list(lo) == expected @staticmethod def pageable_model_response(ids, next_page_url): return { "data": [{"id": id, "object": "pageablemodel"} for id in ids], "next_page_url": next_page_url, } def test_iter_one_page(self, http_client_mock): lo = ListObject.construct_from( self.pageable_model_response(["pm_123", "pm_124"], None), "mykey" ) http_client_mock.assert_no_request() seen = [item["id"] for item in lo.auto_paging_iter()] assert seen == ["pm_123", "pm_124"] def test_iter_two_pages(self, http_client_mock): method = "get" path = "/v2/pageablemodels" lo = ListObject.construct_from( self.pageable_model_response( ["pm_123", "pm_124"], "/v2/pageablemodels?foo=bar&page=page_2" ), None, ) http_client_mock.stub_request( method, path=path, query_string="foo=bar&page=page_3", rbody=json.dumps( self.pageable_model_response(["pm_127", "pm_128"], None) ), ) http_client_mock.stub_request( method, path=path, query_string="foo=bar&page=page_2", rbody=json.dumps( self.pageable_model_response( ["pm_125", "pm_126"], "/v2/pageablemodels?foo=bar&page=page_3", ) ), ) seen = [item["id"] for item in lo.auto_paging_iter()] http_client_mock.assert_requested( method, path=path, query_string="foo=bar&page=page_2" ) http_client_mock.assert_requested( method, path=path, query_string="foo=bar&page=page_3" ) assert seen == [ "pm_123", "pm_124", "pm_125", "pm_126", "pm_127", "pm_128", ] def test_iter_forwards_api_key(self, http_client_mock: HTTPClientMock): client = stripe.StripeClient( http_client=http_client_mock.get_mock_http_client(), api_key="sk_test_xyz", ) method = "get" query_string_1 = "object_id=obj_123" query_string_2 = "object_id=obj_123&page=page_2" path = "/v2/core/events" http_client_mock.stub_request( method, path=path, query_string=query_string_1, rbody='{"data": [{"id": "x"}], "next_page_url": "/v2/core/events?object_id=obj_123&page=page_2"}', rcode=200, rheaders={}, ) http_client_mock.stub_request( method, path=path, query_string=query_string_2, rbody='{"data": [{"id": "y"}, {"id": "z"}], "next_page_url": null}', rcode=200, rheaders={}, ) lo = client.v2.core.events.list( params={"object_id": "obj_123"}, options={"api_key": "sk_test_iter_forwards_options"}, ) seen = [item["id"] for item in lo.auto_paging_iter()] assert seen == ["x", "y", "z"] http_client_mock.assert_requested( method, path=path, query_string=query_string_1, api_key="sk_test_iter_forwards_options", ) http_client_mock.assert_requested( method, path=path, query_string=query_string_2, api_key="sk_test_iter_forwards_options", ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_mandate.py0000644000000000000000000000055615102753431017067 0ustar00import stripe TEST_RESOURCE_ID = "mandate_123" class TestMandateSchedule(object): def test_is_retrievable(self, http_client_mock): resource = stripe.Mandate.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/mandates/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Mandate) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_payment_intent.py0000644000000000000000000000745115102753431020515 0ustar00import stripe TEST_RESOURCE_ID = "pi_123" class TestPaymentIntent(object): def test_is_listable(self, http_client_mock): resources = stripe.PaymentIntent.list() http_client_mock.assert_requested("get", path="/v1/payment_intents") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.PaymentIntent) def test_is_retrievable(self, http_client_mock): resource = stripe.PaymentIntent.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/payment_intents/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.PaymentIntent) def test_is_creatable(self, http_client_mock): resource = stripe.PaymentIntent.create( amount="1234", currency="amount", payment_method_types=["card"] ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", post_data="amount=1234¤cy=amount&payment_method_types[0]=card", ) assert isinstance(resource, stripe.PaymentIntent) def test_is_modifiable(self, http_client_mock): resource = stripe.PaymentIntent.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.PaymentIntent) def test_is_saveable(self, http_client_mock): resource = stripe.PaymentIntent.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/payment_intents/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.PaymentIntent) def test_can_cancel(self, http_client_mock): resource = stripe.PaymentIntent.retrieve(TEST_RESOURCE_ID) resource.cancel() http_client_mock.assert_requested( "post", path="/v1/payment_intents/%s/cancel" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.PaymentIntent) def test_can_cancel_classmethod(self, http_client_mock): resource = stripe.PaymentIntent.cancel(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/payment_intents/%s/cancel" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.PaymentIntent) def test_can_capture(self, http_client_mock): resource = stripe.PaymentIntent.retrieve(TEST_RESOURCE_ID) resource.capture() http_client_mock.assert_requested( "post", path="/v1/payment_intents/%s/capture" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.PaymentIntent) def test_can_capture_classmethod(self, http_client_mock): resource = stripe.PaymentIntent.capture(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/payment_intents/%s/capture" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.PaymentIntent) def test_can_confirm(self, http_client_mock): resource = stripe.PaymentIntent.retrieve(TEST_RESOURCE_ID) resource.confirm() http_client_mock.assert_requested( "post", path="/v1/payment_intents/%s/confirm" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.PaymentIntent) def test_can_confirm_classmethod(self, http_client_mock): resource = stripe.PaymentIntent.confirm(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/payment_intents/%s/confirm" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.PaymentIntent) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_payment_method.py0000644000000000000000000000641115102753431020467 0ustar00import stripe TEST_RESOURCE_ID = "pm_123" class TestPaymentMethod(object): def test_is_listable(self, http_client_mock): resources = stripe.PaymentMethod.list(customer="cus_123", type="card") http_client_mock.assert_requested("get", path="/v1/payment_methods") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.PaymentMethod) def test_is_retrievable(self, http_client_mock): resource = stripe.PaymentMethod.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/payment_methods/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.PaymentMethod) def test_is_creatable(self, http_client_mock): resource = stripe.PaymentMethod.create( type="card", card={"token": "tok_123"} ) http_client_mock.assert_requested( "post", path="/v1/payment_methods", post_data="type=card&card[token]=tok_123", ) assert isinstance(resource, stripe.PaymentMethod) def test_is_saveable(self, http_client_mock): resource = stripe.PaymentMethod.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/payment_methods/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.PaymentMethod.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/payment_methods/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.PaymentMethod) def test_can_attach(self, http_client_mock): resource = stripe.PaymentMethod.retrieve(TEST_RESOURCE_ID) resource = resource.attach(customer="cus_123") http_client_mock.assert_requested( "post", path="/v1/payment_methods/%s/attach" % TEST_RESOURCE_ID, post_data="customer=cus_123", ) assert isinstance(resource, stripe.PaymentMethod) def test_can_attach_classmethod(self, http_client_mock): resource = stripe.PaymentMethod.attach( TEST_RESOURCE_ID, customer="cus_123" ) http_client_mock.assert_requested( "post", path="/v1/payment_methods/%s/attach" % TEST_RESOURCE_ID, post_data="customer=cus_123", ) assert isinstance(resource, stripe.PaymentMethod) def test_can_detach(self, http_client_mock): resource = stripe.PaymentMethod.retrieve(TEST_RESOURCE_ID) resource = resource.detach() http_client_mock.assert_requested( "post", path="/v1/payment_methods/%s/detach" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.PaymentMethod) def test_can_detach_classmethod(self, http_client_mock): resource = stripe.PaymentMethod.detach(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/payment_methods/%s/detach" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.PaymentMethod) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_payout.py0000644000000000000000000000546715102753431017005 0ustar00import stripe TEST_RESOURCE_ID = "po_123" class TestPayout(object): def test_is_listable(self, http_client_mock): resources = stripe.Payout.list() http_client_mock.assert_requested("get", path="/v1/payouts") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Payout) def test_is_retrievable(self, http_client_mock): resource = stripe.Payout.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/payouts/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Payout) def test_is_creatable(self, http_client_mock): resource = stripe.Payout.create(amount=100, currency="usd") http_client_mock.assert_requested( "post", path="/v1/payouts", post_data="amount=100¤cy=usd" ) assert isinstance(resource, stripe.Payout) def test_is_saveable(self, http_client_mock): resource = stripe.Payout.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/payouts/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.Payout.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/payouts/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Payout) def test_can_cancel(self, http_client_mock): payout = stripe.Payout.retrieve(TEST_RESOURCE_ID) resource = payout.cancel() http_client_mock.assert_requested( "post", path="/v1/payouts/%s/cancel" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Payout) def test_can_cancel_classmethod(self, http_client_mock): resource = stripe.Payout.cancel(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/payouts/%s/cancel" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Payout) def test_can_reverse(self, http_client_mock): payout = stripe.Payout.retrieve(TEST_RESOURCE_ID) resource = payout.reverse() http_client_mock.assert_requested( "post", path="/v1/payouts/%s/reverse" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Payout) def test_can_reverse_classmethod(self, http_client_mock): resource = stripe.Payout.reverse(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/payouts/%s/reverse" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Payout) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_person.py0000644000000000000000000000224615102753431016762 0ustar00import pytest import stripe TEST_RESOURCE_ID = "trr_123" class TestPerson(object): def construct_resource(self): person_dict = { "id": TEST_RESOURCE_ID, "object": "person", "account": "acct_123", } return stripe.Person.construct_from(person_dict, stripe.api_key) def test_has_instance_url(self): resource = self.construct_resource() assert ( resource.instance_url() == "/v1/accounts/acct_123/persons/%s" % TEST_RESOURCE_ID ) def test_is_not_modifiable(self): with pytest.raises(NotImplementedError): stripe.Person.modify(TEST_RESOURCE_ID, first_name="John") def test_is_not_retrievable(self): with pytest.raises(NotImplementedError): stripe.Person.retrieve(TEST_RESOURCE_ID) def test_is_saveable(self, http_client_mock): resource = self.construct_resource() resource.first_name = "John" resource.save() http_client_mock.assert_requested( "post", path="/v1/accounts/acct_123/persons/%s" % TEST_RESOURCE_ID, post_data="first_name=John", ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_plan.py0000644000000000000000000000450515102753431016406 0ustar00import stripe TEST_RESOURCE_ID = "250FF" class TestPlan(object): def test_is_listable(self, http_client_mock): resources = stripe.Plan.list() http_client_mock.assert_requested("get", path="/v1/plans") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Plan) def test_is_retrievable(self, http_client_mock): resource = stripe.Plan.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/plans/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Plan) def test_is_creatable(self, http_client_mock): resource = stripe.Plan.create( amount=100, currency="usd", id="plan_id", interval="month", nickname="plan_nickname", ) http_client_mock.assert_requested( "post", path="/v1/plans", post_data="amount=100¤cy=usd&id=plan_id&interval=month&nickname=plan_nickname", ) assert isinstance(resource, stripe.Plan) def test_is_saveable(self, http_client_mock): resource = stripe.Plan.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/plans/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.Plan.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/plans/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Plan) def test_is_deletable(self, http_client_mock): resource = stripe.Plan.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/plans/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_delete(self, http_client_mock): resource = stripe.Plan.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/plans/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_price.py0000644000000000000000000000351515102753431016556 0ustar00import stripe TEST_RESOURCE_ID = "price_123" class TestPrice(object): def test_is_listable(self, http_client_mock): resources = stripe.Price.list() http_client_mock.assert_requested("get", path="/v1/prices") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Price) def test_is_retrievable(self, http_client_mock): resource = stripe.Price.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/prices/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Price) def test_is_creatable(self, http_client_mock): resource = stripe.Price.create( unit_amount=1000, currency="usd", recurring={"interval": "month"}, product_data={"name": "price_nickname"}, ) http_client_mock.assert_requested( "post", path="/v1/prices", post_data="unit_amount=1000¤cy=usd&recurring[interval]=month&product_data[name]=price_nickname", ) assert isinstance(resource, stripe.Price) def test_is_saveable(self, http_client_mock): resource = stripe.Price.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/prices/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.Price.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/prices/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Price) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_product.py0000644000000000000000000000423115102753431017130 0ustar00import stripe TEST_RESOURCE_ID = "prod_123" class TestProduct(object): def test_is_listable(self, http_client_mock): resources = stripe.Product.list() http_client_mock.assert_requested("get", path="/v1/products") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Product) def test_is_retrievable(self, http_client_mock): resource = stripe.Product.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/products/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Product) def test_is_creatable(self, http_client_mock): resource = stripe.Product.create(name="NAME") http_client_mock.assert_requested( "post", path="/v1/products", post_data="name=NAME" ) assert isinstance(resource, stripe.Product) def test_is_saveable(self, http_client_mock): resource = stripe.Product.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/products/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.Product.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/products/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Product) def test_is_deletable(self, http_client_mock): resource = stripe.Product.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/products/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_delete(self, http_client_mock): resource = stripe.Product.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/products/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_quote.py0000644000000000000000000001405315102753431016610 0ustar00import stripe import pytest TEST_RESOURCE_ID = "qt_123" class TestQuote(object): @pytest.fixture(scope="function") def setup_upload_api_base(self): stripe.upload_api_base = stripe.api_base yield stripe.api_base = stripe.upload_api_base stripe.upload_api_base = "https://files.stripe.com" def test_is_listable(self, http_client_mock): resources = stripe.Quote.list() http_client_mock.assert_requested("get", path="/v1/quotes") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Quote) def test_is_retrievable(self, http_client_mock): resource = stripe.Quote.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/quotes/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Quote) def test_is_creatable(self, http_client_mock): resource = stripe.Quote.create(customer="cus_123") http_client_mock.assert_requested( "post", path="/v1/quotes", post_data="customer=cus_123" ) assert isinstance(resource, stripe.Quote) def test_is_saveable(self, http_client_mock): resource = stripe.Quote.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/quotes/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.Quote.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/quotes/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Quote) def test_can_finalize_quote(self, http_client_mock): resource = stripe.Quote.retrieve(TEST_RESOURCE_ID) resource = resource.finalize_quote() http_client_mock.assert_requested( "post", path="/v1/quotes/%s/finalize" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Quote) def test_can_finalize_quote_classmethod(self, http_client_mock): resource = stripe.Quote.finalize_quote(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/quotes/%s/finalize" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Quote) def test_can_cancel(self, http_client_mock): resource = stripe.Quote.retrieve(TEST_RESOURCE_ID) resource = resource.cancel() http_client_mock.assert_requested( "post", path="/v1/quotes/%s/cancel" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Quote) def test_can_cancel_classmethod(self, http_client_mock): resource = stripe.Quote.cancel(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/quotes/%s/cancel" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Quote) def test_can_accept(self, http_client_mock): resource = stripe.Quote.retrieve(TEST_RESOURCE_ID) resource = resource.accept() http_client_mock.assert_requested( "post", path="/v1/quotes/%s/accept" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Quote) def test_can_accept_classmethod(self, http_client_mock): resource = stripe.Quote.accept(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/quotes/%s/accept" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Quote) def test_can_list_line_items(self, http_client_mock): resources = stripe.Quote.list_line_items(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/quotes/%s/line_items" % TEST_RESOURCE_ID ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.LineItem) def test_can_list_line_items_classmethod(self, http_client_mock): resources = stripe.Quote.list_line_items(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/quotes/%s/line_items" % TEST_RESOURCE_ID ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.LineItem) def test_can_list_computed_upfront_line_items(self, http_client_mock): resources = stripe.Quote.list_computed_upfront_line_items( TEST_RESOURCE_ID ) http_client_mock.assert_requested( "get", path="/v1/quotes/%s/computed_upfront_line_items" % TEST_RESOURCE_ID, ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.LineItem) def test_can_list_computed_upfront_line_items_classmethod( self, http_client_mock ): resources = stripe.Quote.list_computed_upfront_line_items( TEST_RESOURCE_ID ) http_client_mock.assert_requested( "get", path="/v1/quotes/%s/computed_upfront_line_items" % TEST_RESOURCE_ID, ) assert isinstance(resources.data[0], stripe.LineItem) def test_can_pdf(self, setup_upload_api_base, http_client_mock): resource = stripe.Quote.retrieve(TEST_RESOURCE_ID) stream = resource.pdf() http_client_mock.assert_requested( "get", api_base=stripe.upload_api_base, path="/v1/quotes/%s/pdf" % TEST_RESOURCE_ID, ) content = stream.io.read() assert content == b"Stripe binary response" def test_can_pdf_classmethod( self, setup_upload_api_base, http_client_mock ): stream = stripe.Quote.pdf(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", api_base=stripe.upload_api_base, path="/v1/quotes/%s/pdf" % TEST_RESOURCE_ID, ) content = stream.io.read() assert content == b"Stripe binary response" ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_refund.py0000644000000000000000000000313615102753431016736 0ustar00import stripe TEST_RESOURCE_ID = "re_123" class TestRefund(object): def test_is_listable(self, http_client_mock): resources = stripe.Refund.list() http_client_mock.assert_requested("get", path="/v1/refunds") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Refund) def test_is_retrievable(self, http_client_mock): resource = stripe.Refund.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/refunds/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Refund) def test_is_creatable(self, http_client_mock): resource = stripe.Refund.create(charge="ch_123") http_client_mock.assert_requested( "post", path="/v1/refunds", post_data="charge=ch_123" ) assert isinstance(resource, stripe.Refund) def test_is_saveable(self, http_client_mock): resource = stripe.Refund.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/refunds/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.Refund.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/refunds/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Refund) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_reversal.py0000644000000000000000000000234315102753431017275 0ustar00import pytest import stripe TEST_RESOURCE_ID = "trr_123" class TestReversal(object): def construct_resource(self): reversal_dict = { "id": TEST_RESOURCE_ID, "object": "reversal", "metadata": {}, "transfer": "tr_123", } return stripe.Reversal.construct_from(reversal_dict, stripe.api_key) def test_has_instance_url(self): resource = self.construct_resource() assert ( resource.instance_url() == "/v1/transfers/tr_123/reversals/%s" % TEST_RESOURCE_ID ) def test_is_not_modifiable(self): with pytest.raises(NotImplementedError): stripe.Reversal.modify(TEST_RESOURCE_ID, metadata={"key": "value"}) def test_is_not_retrievable(self): with pytest.raises(NotImplementedError): stripe.Reversal.retrieve(TEST_RESOURCE_ID) def test_is_saveable(self, http_client_mock): resource = self.construct_resource() resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/transfers/tr_123/reversals/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_review.py0000644000000000000000000000231115102753431016746 0ustar00import stripe TEST_RESOURCE_ID = "prv_123" class TestReview(object): def test_is_listable(self, http_client_mock): resources = stripe.Review.list() http_client_mock.assert_requested("get", path="/v1/reviews") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Review) def test_is_retrievable(self, http_client_mock): resource = stripe.Review.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/reviews/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Review) def test_can_approve(self, http_client_mock): resource = stripe.Review.retrieve(TEST_RESOURCE_ID) resource.approve() http_client_mock.assert_requested( "post", path="/v1/reviews/%s/approve" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Review) def test_can_approve_classmethod(self, http_client_mock): resource = stripe.Review.approve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/reviews/%s/approve" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Review) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_search_result_object.py0000644000000000000000000002324115102753431021643 0ustar00import json import pytest import stripe from stripe._util import convert_to_stripe_object from stripe._stripe_object import StripeObject class TestSearchResultObject(object): @pytest.fixture def search_result_object(self): return stripe.SearchResultObject.construct_from( {"object": "search_result", "url": "/my/path", "data": ["foo"]}, "mykey", ) def test_search(self, http_client_mock, search_result_object): http_client_mock.stub_request( "get", path="/my/path", query_string="myparam=you", rbody=json.dumps( { "object": "search_result", "data": [{"object": "charge", "foo": "bar"}], } ), ) res = search_result_object.search( myparam="you", stripe_account="acct_123" ) http_client_mock.assert_requested( "get", path="/my/path", query_string="myparam=you", stripe_account="acct_123", ) assert isinstance(res, stripe.SearchResultObject) assert res.stripe_account == "acct_123" assert isinstance(res.data, list) assert isinstance(res.data[0], stripe.Charge) assert res.data[0].foo == "bar" @pytest.mark.anyio async def test_search_async(self, http_client_mock, search_result_object): http_client_mock.stub_request( "get", path="/my/path", query_string="myparam=you", rbody=json.dumps( { "object": "search_result", "data": [{"object": "charge", "foo": "bar"}], } ), ) res = await search_result_object._search_async( myparam="you", stripe_account="acct_123" ) http_client_mock.assert_requested( "get", path="/my/path", query_string="myparam=you", stripe_account="acct_123", ) assert isinstance(res, stripe.SearchResultObject) assert res.stripe_account == "acct_123" assert isinstance(res.data, list) assert isinstance(res.data[0], stripe.Charge) assert res.data[0].foo == "bar" def test_is_empty(self): sro = stripe.SearchResultObject.construct_from({"data": []}, None) assert sro.is_empty is True def test_empty_search_result(self): sro = stripe.SearchResultObject._empty_search_result() assert sro.is_empty def test_iter(self): arr = [{"id": 1}, {"id": 2}, {"id": 3}] expected = convert_to_stripe_object(arr, api_mode="V1") sro = stripe.SearchResultObject.construct_from({"data": arr}, None) assert list(sro) == expected def test_len(self, search_result_object): assert len(search_result_object) == 1 def test_bool(self, search_result_object): assert search_result_object empty = stripe.SearchResultObject.construct_from( {"object": "search_result", "url": "/my/path", "data": []}, "mykey" ) assert bool(empty) is False def test_next_search_result_page(self, http_client_mock): sro = stripe.SearchResultObject.construct_from( { "object": "search_result", "data": [{"id": 1}], "has_more": True, "next_page": "next_page_token", "url": "/things", }, None, ) http_client_mock.stub_request( "get", path="/things", query_string="page=next_page_token", rbody=json.dumps( { "object": "search_result", "data": [{"id": 2}], "has_more": False, "url": "/things", } ), ) next_sro = sro.next_search_result_page() http_client_mock.assert_requested( "get", path="/things", query_string="page=next_page_token" ) assert not next_sro.is_empty assert next_sro.data[0].id == 2 def test_next_search_result_page_with_filters(self, http_client_mock): sro = stripe.SearchResultObject.construct_from( { "object": "search_result", "data": [{"id": 1}], "has_more": True, "next_page": "next_page_token", "url": "/things", }, None, ) sro._retrieve_params = {"expand": ["data.source"], "limit": 3} http_client_mock.stub_request( "get", path="/things", query_string="expand[0]=data.source&limit=3&page=next_page_token", rbody=json.dumps( { "object": "search_result", "data": [{"id": 2}], "has_more": False, "next_page": None, "url": "/things", } ), ) next_sro = sro.next_search_result_page() assert next_sro._retrieve_params == { "expand": ["data.source"], "limit": 3, "page": "next_page_token", } def test_next_search_result_page_empty_search_result(self): sro = stripe.SearchResultObject.construct_from( { "object": "search_result", "data": [{"id": 1}], "has_more": False, "next_page": None, "url": "/things", }, None, ) next_sro = sro.next_search_result_page() assert next_sro == stripe.SearchResultObject._empty_search_result() def test_serialize_empty_search_result(self): empty = stripe.SearchResultObject.construct_from( {"object": "search_result", "data": []}, "mykey" ) serialized = str(empty) deserialized = stripe.SearchResultObject.construct_from( json.loads(serialized), "mykey" ) assert deserialized == empty def test_serialize_nested_empty_search_result(self): empty = stripe.SearchResultObject.construct_from( {"object": "search_result", "data": []}, "mykey" ) obj = StripeObject.construct_from({"nested": empty}, "mykey") serialized = str(obj) deserialized = StripeObject.construct_from( json.loads(serialized), "mykey" ) assert deserialized.nested == empty class TestAutoPaging: @staticmethod def pageable_model_response(ids, has_more, next_page_token): model = { "object": "search_result", "url": "/v1/pageablemodels", "data": [{"id": id, "object": "pageablemodel"} for id in ids], "has_more": has_more, "next_page": next_page_token, } return model def test_iter_one_page(self, http_client_mock): sro = stripe.SearchResultObject.construct_from( self.pageable_model_response(["pm_123", "pm_124"], False, None), "mykey", ) http_client_mock.assert_no_request() seen = [item["id"] for item in sro.auto_paging_iter()] assert seen == ["pm_123", "pm_124"] def test_iter_two_pages(self, http_client_mock): sro = stripe.SearchResultObject.construct_from( self.pageable_model_response(["pm_123", "pm_124"], True, "token"), "mykey", ) sro._retrieve_params = {"foo": "bar"} http_client_mock.stub_request( "get", path="/v1/pageablemodels", query_string="page=token&foo=bar", rbody=json.dumps( self.pageable_model_response(["pm_125", "pm_126"], False, None) ), ) seen = [item["id"] for item in sro.auto_paging_iter()] http_client_mock.assert_requested( "get", path="/v1/pageablemodels", query_string="page=token&foo=bar", ) assert seen == ["pm_123", "pm_124", "pm_125", "pm_126"] class TestAutoPagingAsync: @staticmethod def pageable_model_response(ids, has_more, next_page_token): model = { "object": "search_result", "url": "/v1/pageablemodels", "data": [{"id": id, "object": "pageablemodel"} for id in ids], "has_more": has_more, "next_page": next_page_token, } return model @pytest.mark.anyio async def test_iter_one_page(self, http_client_mock): sro = stripe.SearchResultObject.construct_from( self.pageable_model_response(["pm_123", "pm_124"], False, None), "mykey", ) http_client_mock.assert_no_request() seen = [item["id"] async for item in sro.auto_paging_iter()] assert seen == ["pm_123", "pm_124"] @pytest.mark.anyio async def test_iter_two_pages(self, http_client_mock): sro = stripe.SearchResultObject.construct_from( self.pageable_model_response(["pm_123", "pm_124"], True, "token"), "mykey", ) sro._retrieve_params = {"foo": "bar"} http_client_mock.stub_request( "get", path="/v1/pageablemodels", query_string="page=token&foo=bar", rbody=json.dumps( self.pageable_model_response(["pm_125", "pm_126"], False, None) ), ) seen = [item["id"] async for item in sro.auto_paging_iter()] http_client_mock.assert_requested( "get", path="/v1/pageablemodels", query_string="page=token&foo=bar", ) assert seen == ["pm_123", "pm_124", "pm_125", "pm_126"] ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_setup_attempt.py0000644000000000000000000000067315102753431020354 0ustar00import stripe class TestSetupAttempt(object): def test_is_listable(self, http_client_mock): resources = stripe.SetupAttempt.list(setup_intent="seti_123") http_client_mock.assert_requested( "get", path="/v1/setup_attempts", query_string="setup_intent=seti_123", ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.SetupAttempt) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_setup_intent.py0000644000000000000000000000602515102753431020174 0ustar00import stripe TEST_RESOURCE_ID = "seti_123" class TestSetupIntent(object): def test_is_listable(self, http_client_mock): resources = stripe.SetupIntent.list() http_client_mock.assert_requested("get", path="/v1/setup_intents") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.SetupIntent) def test_is_retrievable(self, http_client_mock): resource = stripe.SetupIntent.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/setup_intents/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.SetupIntent) def test_is_creatable(self, http_client_mock): resource = stripe.SetupIntent.create(payment_method_types=["card"]) http_client_mock.assert_requested( "post", path="/v1/setup_intents", post_data="payment_method_types[0]=card", ) assert isinstance(resource, stripe.SetupIntent) def test_is_modifiable(self, http_client_mock): resource = stripe.SetupIntent.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.SetupIntent) def test_is_saveable(self, http_client_mock): resource = stripe.SetupIntent.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/setup_intents/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.SetupIntent) def test_can_cancel(self, http_client_mock): resource = stripe.SetupIntent.retrieve(TEST_RESOURCE_ID) resource.cancel() http_client_mock.assert_requested( "post", path="/v1/setup_intents/%s/cancel" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.SetupIntent) def test_can_cancel_classmethod(self, http_client_mock): resource = stripe.SetupIntent.cancel(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/setup_intents/%s/cancel" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.SetupIntent) def test_can_confirm(self, http_client_mock): resource = stripe.SetupIntent.retrieve(TEST_RESOURCE_ID) resource.confirm() http_client_mock.assert_requested( "post", path="/v1/setup_intents/%s/confirm" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.SetupIntent) def test_can_confirm_classmethod(self, http_client_mock): resource = stripe.SetupIntent.confirm(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/setup_intents/%s/confirm" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.SetupIntent) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_source.py0000644000000000000000000000562615102753431016761 0ustar00import pytest import stripe from stripe._error import InvalidRequestError TEST_RESOURCE_ID = "src_123" class TestSource(object): def test_is_retrievable(self, http_client_mock): resource = stripe.Source.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/sources/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Source) def test_is_creatable(self, http_client_mock): resource = stripe.Source.create(type="card", token="tok_123") http_client_mock.assert_requested( "post", path="/v1/sources", post_data="type=card&token=tok_123" ) assert isinstance(resource, stripe.Source) def test_is_saveable(self, http_client_mock): resource = stripe.Source.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/sources/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.Source.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/sources/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Source) def test_is_detachable_when_attached(self, http_client_mock): resource = stripe.Source.construct_from( { "id": TEST_RESOURCE_ID, "object": "source", "customer": "cus_123", }, stripe.api_key, ) source = resource.detach() assert source is resource http_client_mock.assert_requested( "delete", path="/v1/customers/cus_123/sources/%s" % TEST_RESOURCE_ID, ) def test_is_not_detachable_when_unattached(self, http_client_mock): resource = stripe.Source.retrieve(TEST_RESOURCE_ID) with pytest.raises(InvalidRequestError): resource.detach() def test_is_verifiable(self, http_client_mock): resource = stripe.Source.retrieve(TEST_RESOURCE_ID) source = resource.verify(values=[1, 2]) assert source is resource http_client_mock.assert_requested( "post", path="/v1/sources/%s/verify" % TEST_RESOURCE_ID, post_data="values[0]=1&values[1]=2", ) class TestSourceTransactions(object): def test_is_listable(self, http_client_mock): resource = stripe.Source.list_source_transactions(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/sources/%s/source_transactions" % TEST_RESOURCE_ID ) assert isinstance(resource.data, list) assert isinstance(resource.data[0], stripe.SourceTransaction) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_source_transaction.py0000644000000000000000000000107215102753431021355 0ustar00import stripe class TestSourceTransaction(object): def test_is_listable(self, http_client_mock): source = stripe.Source.construct_from( {"id": "src_123", "object": "source"}, stripe.api_key ) source_transactions = source.list_source_transactions() http_client_mock.assert_requested( "get", path="/v1/sources/src_123/source_transactions" ) assert isinstance(source_transactions.data, list) assert isinstance( source_transactions.data[0], stripe.SourceTransaction ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_subscription.py0000644000000000000000000000547615102753431020210 0ustar00import stripe TEST_RESOURCE_ID = "sub_123" class TestSubscription(object): def test_is_listable(self, http_client_mock): resources = stripe.Subscription.list() http_client_mock.assert_requested("get", path="/v1/subscriptions") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Subscription) def test_is_retrievable(self, http_client_mock): resource = stripe.Subscription.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/subscriptions/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Subscription) def test_is_creatable(self, http_client_mock): resource = stripe.Subscription.create(customer="cus_123") http_client_mock.assert_requested( "post", path="/v1/subscriptions", post_data="customer=cus_123" ) assert isinstance(resource, stripe.Subscription) def test_is_saveable(self, http_client_mock): resource = stripe.Subscription.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/subscriptions/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.Subscription.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/subscriptions/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Subscription) def test_is_deletable(self, http_client_mock): resource = stripe.Subscription.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/subscriptions/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Subscription) def test_can_delete(self, http_client_mock): resource = stripe.Subscription.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/subscriptions/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Subscription) def test_can_delete_discount(self, http_client_mock): sub = stripe.Subscription.retrieve(TEST_RESOURCE_ID) sub.delete_discount() http_client_mock.assert_requested( "delete", path="/v1/subscriptions/%s/discount" % sub.id ) def test_can_delete_discount_classmethod(self, http_client_mock): stripe.Subscription.delete_discount(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/subscriptions/%s/discount" % TEST_RESOURCE_ID ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_subscription_item.py0000644000000000000000000000500515102753431021212 0ustar00import stripe TEST_RESOURCE_ID = "si_123" class TestSubscriptionItem(object): def test_is_listable(self, http_client_mock): resources = stripe.SubscriptionItem.list(subscription="sub_123") http_client_mock.assert_requested( "get", path="/v1/subscription_items", query_string="subscription=sub_123", ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.SubscriptionItem) def test_is_retrievable(self, http_client_mock): resource = stripe.SubscriptionItem.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/subscription_items/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.SubscriptionItem) def test_is_creatable(self, http_client_mock): resource = stripe.SubscriptionItem.create( price="price_123", subscription="sub_123" ) http_client_mock.assert_requested( "post", path="/v1/subscription_items", post_data="price=price_123&subscription=sub_123", ) assert isinstance(resource, stripe.SubscriptionItem) def test_is_saveable(self, http_client_mock): resource = stripe.SubscriptionItem.retrieve(TEST_RESOURCE_ID) resource.price = "price_123" resource.save() http_client_mock.assert_requested( "post", path="/v1/subscription_items/%s" % TEST_RESOURCE_ID, post_data="price=price_123", ) def test_is_modifiable(self, http_client_mock): resource = stripe.SubscriptionItem.modify( TEST_RESOURCE_ID, price="price_123" ) http_client_mock.assert_requested( "post", path="/v1/subscription_items/%s" % TEST_RESOURCE_ID, post_data="price=price_123", ) assert isinstance(resource, stripe.SubscriptionItem) def test_is_deletable(self, http_client_mock): resource = stripe.SubscriptionItem.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/subscription_items/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_delete(self, http_client_mock): resource = stripe.SubscriptionItem.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/subscription_items/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_subscription_schedule.py0000644000000000000000000000644515102753431022061 0ustar00import stripe TEST_RESOURCE_ID = "sub_sched_123" class TestSubscriptionScheduleSchedule(object): def test_is_listable(self, http_client_mock): resources = stripe.SubscriptionSchedule.list() http_client_mock.assert_requested( "get", path="/v1/subscription_schedules" ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.SubscriptionSchedule) def test_is_retrievable(self, http_client_mock): resource = stripe.SubscriptionSchedule.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/subscription_schedules/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.SubscriptionSchedule) def test_is_creatable(self, http_client_mock): resource = stripe.SubscriptionSchedule.create(customer="cus_123") http_client_mock.assert_requested( "post", path="/v1/subscription_schedules", post_data="customer=cus_123", ) assert isinstance(resource, stripe.SubscriptionSchedule) def test_is_saveable(self, http_client_mock): resource = stripe.SubscriptionSchedule.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.SubscriptionSchedule.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.SubscriptionSchedule) def test_can_cancel(self, http_client_mock): resource = stripe.SubscriptionSchedule.retrieve(TEST_RESOURCE_ID) resource = resource.cancel() http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/%s/cancel" % TEST_RESOURCE_ID, ) assert isinstance(resource, stripe.SubscriptionSchedule) def test_can_cancel_classmethod(self, http_client_mock): resource = stripe.SubscriptionSchedule.cancel(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/%s/cancel" % TEST_RESOURCE_ID, ) assert isinstance(resource, stripe.SubscriptionSchedule) def test_can_release(self, http_client_mock): resource = stripe.SubscriptionSchedule.retrieve(TEST_RESOURCE_ID) resource = resource.release() http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/%s/release" % TEST_RESOURCE_ID, ) assert isinstance(resource, stripe.SubscriptionSchedule) def test_can_release_classmethod(self, http_client_mock): resource = stripe.SubscriptionSchedule.release(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/%s/release" % TEST_RESOURCE_ID, ) assert isinstance(resource, stripe.SubscriptionSchedule) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_tax_code.py0000644000000000000000000000116515102753431017241 0ustar00import stripe TEST_RESOURCE_ID = "txcd_123" class TestTaxCode(object): def test_is_listable(self, http_client_mock): resources = stripe.TaxCode.list() http_client_mock.assert_requested("get", path="/v1/tax_codes") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.TaxCode) def test_is_retrievable(self, http_client_mock): resource = stripe.TaxCode.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/tax_codes/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.TaxCode) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3840623 stripe-13.2.0/tests/api_resources/test_tax_id.py0000644000000000000000000000330715102753431016723 0ustar00import stripe TEST_RESOURCE_ID = "txi_123" class TestTaxId(object): def construct_resource(self): tax_id_dict = { "id": TEST_RESOURCE_ID, "object": "tax_id", "customer": "cus_123", } return stripe.TaxId.construct_from(tax_id_dict, stripe.api_key) def test_has_instance_url(self): resource = self.construct_resource() assert resource.instance_url() == "/v1/tax_ids/%s" % TEST_RESOURCE_ID def test_is_creatable(self, http_client_mock): stripe.TaxId.create( type="eu_vat", value="DE123456789", ) http_client_mock.assert_requested("post", path="/v1/tax_ids") def test_is_retrievable(self, http_client_mock): stripe.TaxId.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/tax_ids/%s" % TEST_RESOURCE_ID ) def test_is_deletable(self, http_client_mock): resource = stripe.TaxId.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/tax_ids/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_delete(self, http_client_mock): resource = stripe.TaxId.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/tax_ids/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_is_listable(self, http_client_mock): resources = stripe.TaxId.list() http_client_mock.assert_requested("get", path="/v1/tax_ids") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.TaxId) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3850622 stripe-13.2.0/tests/api_resources/test_tax_rate.py0000644000000000000000000000335615102753431017266 0ustar00import stripe TEST_RESOURCE_ID = "txr_123" class TestTaxRate(object): def test_is_listable(self, http_client_mock): resources = stripe.TaxRate.list() http_client_mock.assert_requested("get", path="/v1/tax_rates") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.TaxRate) def test_is_retrievable(self, http_client_mock): resource = stripe.TaxRate.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/tax_rates/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.TaxRate) def test_is_creatable(self, http_client_mock): resource = stripe.TaxRate.create( display_name="name", inclusive=False, percentage=10.15 ) http_client_mock.assert_requested( "post", path="/v1/tax_rates", post_data="display_name=name&inclusive=false&percentage=10.15", ) assert isinstance(resource, stripe.TaxRate) def test_is_saveable(self, http_client_mock): resource = stripe.TaxRate.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/tax_rates/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.TaxRate.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/tax_rates/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.TaxRate) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3850622 stripe-13.2.0/tests/api_resources/test_topup.py0000644000000000000000000000471415102753431016625 0ustar00import stripe TEST_RESOURCE_ID = "tu_123" class TestTopup(object): def test_is_listable(self, http_client_mock): resources = stripe.Topup.list() http_client_mock.assert_requested("get", path="/v1/topups") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Topup) def test_is_retrievable(self, http_client_mock): resource = stripe.Topup.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/topups/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Topup) def test_is_creatable(self, http_client_mock): resource = stripe.Topup.create( amount=100, currency="usd", source="src_123", description="description", statement_descriptor="statement descriptor", ) http_client_mock.assert_requested( "post", path="/v1/topups", post_data="amount=100¤cy=usd&description=description&source=src_123&statement_descriptor=statement+descriptor", ) assert isinstance(resource, stripe.Topup) def test_is_saveable(self, http_client_mock): resource = stripe.Topup.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/topups/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.Topup.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/topups/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Topup) def test_can_cancel(self, http_client_mock): resource = stripe.Topup.retrieve(TEST_RESOURCE_ID) resource = resource.cancel() http_client_mock.assert_requested( "post", path="/v1/topups/%s/cancel" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Topup) def test_can_cancel_classmethod(self, http_client_mock): resource = stripe.Topup.cancel(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/topups/%s/cancel" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Topup) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3850622 stripe-13.2.0/tests/api_resources/test_transfer.py0000644000000000000000000000653215102753431017302 0ustar00import stripe TEST_RESOURCE_ID = "tr_123" TEST_REVERSAL_ID = "trr_123" class TestTransfer(object): def test_is_listable(self, http_client_mock): resources = stripe.Transfer.list() http_client_mock.assert_requested("get", path="/v1/transfers") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Transfer) def test_is_retrievable(self, http_client_mock): resource = stripe.Transfer.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/transfers/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Transfer) def test_is_creatable(self, http_client_mock): resource = stripe.Transfer.create( amount=100, currency="usd", destination="acct_123" ) http_client_mock.assert_requested( "post", path="/v1/transfers", post_data="amount=100¤cy=usd&destination=acct_123", ) assert isinstance(resource, stripe.Transfer) def test_is_saveable(self, http_client_mock): resource = stripe.Transfer.retrieve(TEST_RESOURCE_ID) resource.metadata["key"] = "value" resource.save() http_client_mock.assert_requested( "post", path="/v1/transfers/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) def test_is_modifiable(self, http_client_mock): resource = stripe.Transfer.modify( TEST_RESOURCE_ID, metadata={"key": "value"} ) http_client_mock.assert_requested( "post", path="/v1/transfers/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Transfer) class TestTransferReversals: def test_is_listable(self, http_client_mock): resources = stripe.Transfer.list_reversals(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/transfers/%s/reversals" % TEST_RESOURCE_ID ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Reversal) def test_is_retrievable(self, http_client_mock): resource = stripe.Transfer.retrieve_reversal( TEST_RESOURCE_ID, TEST_REVERSAL_ID ) http_client_mock.assert_requested( "get", path="/v1/transfers/%s/reversals/%s" % (TEST_RESOURCE_ID, TEST_REVERSAL_ID), ) assert isinstance(resource, stripe.Reversal) def test_is_creatable(self, http_client_mock): resource = stripe.Transfer.create_reversal( TEST_RESOURCE_ID, amount=100 ) http_client_mock.assert_requested( "post", path="/v1/transfers/%s/reversals" % TEST_RESOURCE_ID, post_data="amount=100", ) assert isinstance(resource, stripe.Reversal) def test_is_modifiable(self, http_client_mock): resource = stripe.Transfer.modify_reversal( TEST_RESOURCE_ID, TEST_REVERSAL_ID, metadata={"foo": "bar"} ) http_client_mock.assert_requested( "post", path="/v1/transfers/%s/reversals/%s" % (TEST_RESOURCE_ID, TEST_REVERSAL_ID), post_data="metadata[foo]=bar", ) assert isinstance(resource, stripe.Reversal) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3850622 stripe-13.2.0/tests/api_resources/test_webhook_endpoint.py0000644000000000000000000000510515102753431021007 0ustar00import stripe TEST_RESOURCE_ID = "we_123" class TestWebhookEndpoint(object): def test_is_listable(self, http_client_mock): resources = stripe.WebhookEndpoint.list() http_client_mock.assert_requested("get", path="/v1/webhook_endpoints") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.WebhookEndpoint) def test_is_retrievable(self, http_client_mock): resource = stripe.WebhookEndpoint.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/webhook_endpoints/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.WebhookEndpoint) def test_is_creatable(self, http_client_mock): resource = stripe.WebhookEndpoint.create( enabled_events=["charge.succeeded"], url="https://stripe.com" ) http_client_mock.assert_requested( "post", path="/v1/webhook_endpoints", post_data="enabled_events[0]=charge.succeeded&url=https://stripe.com", ) assert isinstance(resource, stripe.WebhookEndpoint) def test_is_saveable(self, http_client_mock): resource = stripe.WebhookEndpoint.retrieve(TEST_RESOURCE_ID) resource.enabled_events = ["charge.succeeded"] resource.save() http_client_mock.assert_requested( "post", path="/v1/webhook_endpoints/%s" % TEST_RESOURCE_ID, post_data="enabled_events[0]=charge.succeeded", ) def test_is_modifiable(self, http_client_mock): resource = stripe.WebhookEndpoint.modify( TEST_RESOURCE_ID, enabled_events=["charge.succeeded"], url="https://stripe.com", ) http_client_mock.assert_requested( "post", path="/v1/webhook_endpoints/%s" % TEST_RESOURCE_ID, post_data="enabled_events[0]=charge.succeeded&url=https://stripe.com", ) assert isinstance(resource, stripe.WebhookEndpoint) def test_is_deletable(self, http_client_mock): resource = stripe.WebhookEndpoint.retrieve(TEST_RESOURCE_ID) resource.delete() http_client_mock.assert_requested( "delete", path="/v1/webhook_endpoints/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True def test_can_delete(self, http_client_mock): resource = stripe.WebhookEndpoint.delete(TEST_RESOURCE_ID) http_client_mock.assert_requested( "delete", path="/v1/webhook_endpoints/%s" % TEST_RESOURCE_ID ) assert resource.deleted is True ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3850622 stripe-13.2.0/tests/conftest.py0000644000000000000000000000600215102753431013371 0ustar00import atexit import os import sys import pytest import stripe from stripe import StripeClient import requests from tests.stripe_mock import StripeMock from tests.http_client_mock import HTTPClientMock from stripe._http_client import new_default_http_client pytest_plugins = ("anyio",) MOCK_MINIMUM_VERSION = "0.109.0" # Starts stripe-mock if an OpenAPI spec override is found in `openapi/`, and # otherwise fall back to `STRIPE_MOCK_PORT` or 12111. if StripeMock.start(): MOCK_PORT = StripeMock.port() else: MOCK_PORT = os.environ.get("STRIPE_MOCK_PORT", 12111) MOCK_API_BASE = "http://localhost:%s" % MOCK_PORT MOCK_API_KEY = "sk_test_123" @atexit.register def stop_stripe_mock(): StripeMock.stop() def pytest_configure(config): if not config.getoption("--nomock"): try: requests.get("http://localhost:%s/" % MOCK_PORT) except Exception: sys.exit( "Couldn't reach stripe-mock at `localhost:%s`. Is " "it running? Please see README for setup instructions." % MOCK_PORT ) def pytest_addoption(parser): parser.addoption( "--nomock", action="store_true", help="only run tests that don't need stripe-mock", ) def pytest_runtest_setup(item): if "http_client_mock" in item.fixturenames and item.config.getoption( "--nomock" ): pytest.skip( "run stripe-mock locally and remove --nomock flag to run skipped tests" ) @pytest.fixture(autouse=True) def setup_stripe(): orig_attrs = { "api_base": stripe.api_base, "upload_api_base": stripe.upload_api_base, "api_key": stripe.api_key, "client_id": stripe.client_id, "default_http_client": stripe.default_http_client, } http_client = new_default_http_client() stripe.api_base = MOCK_API_BASE stripe.upload_api_base = MOCK_API_BASE stripe.api_key = MOCK_API_KEY stripe.client_id = "ca_123" stripe.default_http_client = http_client yield http_client.close() stripe.api_base = orig_attrs["api_base"] stripe.upload_api_base = orig_attrs["upload_api_base"] stripe.api_key = orig_attrs["api_key"] stripe.client_id = orig_attrs["client_id"] stripe.default_http_client = orig_attrs["default_http_client"] @pytest.fixture def http_client_mock(mocker): mock_client = HTTPClientMock(mocker) old_client = stripe.default_http_client stripe.default_http_client = mock_client.get_mock_http_client() yield mock_client stripe.default_http_client = old_client @pytest.fixture def stripe_mock_stripe_client(http_client_mock): return StripeClient( MOCK_API_KEY, base_addresses={"api": MOCK_API_BASE}, http_client=http_client_mock.get_mock_http_client(), ) @pytest.fixture def file_stripe_mock_stripe_client(http_client_mock): return StripeClient( MOCK_API_KEY, base_addresses={"files": MOCK_API_BASE}, http_client=http_client_mock.get_mock_http_client(), ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3850622 stripe-13.2.0/tests/http_client_mock.py0000644000000000000000000003136215102753431015101 0ustar00from __future__ import absolute_import, division, print_function from typing import List from urllib.parse import urlsplit, urlencode, parse_qsl import json from unittest.mock import Mock from stripe._http_client import ( new_default_http_client, new_http_client_async_fallback, ) def parse_and_sort(query_string, strict_parsing=False): """ Helper function to parse a query string and return a sorted list of tuples. """ return sorted(parse_qsl(query_string, strict_parsing=strict_parsing)) def extract_api_base(abs_url): """ Helper function to extract the api_base from an absolute URL. """ return urlsplit(abs_url).scheme + "://" + urlsplit(abs_url).netloc class StripeRequestCall(object): def __init__( self, method=None, abs_url=None, headers=None, post_data=None, usage=None, max_network_retries=None, ): self.method = method self.abs_url = abs_url self.headers = headers self.post_data = post_data self.usage = usage self.max_network_retries = max_network_retries @classmethod def from_mock_call(cls, mock_call): return cls( method=mock_call[0][0], abs_url=mock_call[0][1], headers=mock_call[0][2], post_data=mock_call[0][3], usage=mock_call[1]["_usage"], max_network_retries=mock_call[1]["max_network_retries"], ) def __repr__(self): return "".format( method=self.method, abs_url=self.abs_url, headers=self.headers, post_data=self.post_data, ) def get_raw_header(self, header): if self.headers is None: return None return self.headers.get(header) def check( self, method=None, abs_url=None, api_base=None, path=None, query_string=None, api_key=None, stripe_version=None, stripe_account=None, stripe_context=None, content_type=None, idempotency_key=None, user_agent=None, extra_headers=None, post_data=None, is_json=False, usage=None, max_network_retries=None, ): # METHOD if method is not None: self.assert_method(method) # URL if abs_url is not None: self.assert_abs_url(abs_url) if api_base is not None: self.assert_api_base(api_base) if path is not None: self.assert_path(path) if query_string is not None: self.assert_query_string(query_string) # HEADERS if api_key is not None: self.assert_header("Authorization", "Bearer %s" % (api_key,)) if stripe_version is not None: self.assert_header("Stripe-Version", stripe_version) if stripe_account is not None: self.assert_header("Stripe-Account", stripe_account) if stripe_context is not None: self.assert_header("Stripe-Context", stripe_context) if content_type is not None: self.assert_header("Content-Type", content_type) if idempotency_key is not None: self.assert_header("Idempotency-Key", idempotency_key) if user_agent is not None: self.assert_header("User-Agent", user_agent) if extra_headers is not None: self.assert_extra_headers(extra_headers) if usage is not None: self.assert_usage(usage) # BODY if post_data is not None: self.assert_post_data(post_data, is_json=is_json) # OPTIONS if max_network_retries is not None: self.assert_max_network_retries(max_network_retries) return True def assert_max_network_retries(self, expected): actual = self.max_network_retries if actual != expected: raise AssertionError( "Expected max_network_retries to be %s, got %s" % (expected, actual) ) def assert_method(self, expected): if self.method != expected: raise AssertionError( "Expected request method %s, got %s" % (expected, self.method) ) def assert_abs_url(self, expected): expected_url = urlsplit(expected) self.assert_api_base(extract_api_base(expected)) self.assert_path(expected_url.path) self.assert_query_string(expected_url.query) def assert_api_base(self, expected): actual_base = ( urlsplit(self.abs_url).scheme + "://" + urlsplit(self.abs_url).netloc ) if actual_base != expected: raise AssertionError( "Expected URL base %s, got %s" % (expected, actual_base) ) def assert_path(self, expected): actual_path = urlsplit(self.abs_url).path if actual_path != expected: raise AssertionError( "Expected URL path %s, got %s" % (expected, actual_path) ) def assert_query_string(self, expected): splitted = urlsplit(self.abs_url) actual_query = None if splitted.query: actual_query = splitted.query actual_query_params = parse_and_sort(actual_query) expected_query_params = parse_and_sort(expected) if actual_query_params != expected_query_params: raise AssertionError( "Expected URL query string %s, got %s" % (expected, actual_query) ) def assert_header(self, header, expected): actual = self.headers.get(header) if actual != expected: raise AssertionError( "Expected %s to be %s, got %s" % (header, expected, actual) ) def assert_extra_headers(self, expected): for header, value in expected.items(): actual_value = self.headers.get(header) if actual_value != value: raise AssertionError( "Expected header %s to be %s, got %s" % (header, value, actual_value) ) def assert_usage(self, expected): if self.usage != expected: raise AssertionError( "Expected usage to be %s, got %s" % (expected, self.usage) ) def assert_post_data(self, expected, is_json=False): actual_data = self.post_data expected_data = expected if is_json: actual_data = json.loads(self.post_data) expected_data = json.loads(expected) elif expected: # only attempt to parse non-empty query strings actual_data = parse_and_sort(self.post_data, strict_parsing=True) expected_data = parse_and_sort(expected, strict_parsing=True) if actual_data != expected_data: raise AssertionError( "Expected POST data %s, got %s" % (expected, self.post_data) ) class HTTPClientMock(object): def __init__(self, mocker): self.mock_client = mocker.Mock( wraps=new_default_http_client( async_fallback_client=new_http_client_async_fallback() ) ) self.mock_client._verify_ssl_certs = True self.mock_client.name = "mockclient" self.registered_responses = {} self.funcs = [ self.mock_client.request_with_retries, self.mock_client.request_stream_with_retries, self.mock_client.request_with_retries_async, self.mock_client.request_stream_with_retries_async, ] self.func_call_order = [] def get_mock_http_client(self) -> Mock: return self.mock_client def stub_request( self, method, path="", query_string="", rbody="{}", rcode=200, rheaders=None, ) -> None: def custom_side_effect_for_func(func): def custom_side_effect( called_method, called_abs_url, *args, **kwargs ): self.func_call_order.append(func) called_path = urlsplit(called_abs_url).path called_query = "" if urlsplit(called_abs_url).query: called_query = urlencode( parse_and_sort(urlsplit(called_abs_url).query) ) if ( called_method, called_path, called_query, ) not in self.registered_responses: raise AssertionError( "Unexpected request made to %s %s %s" % (called_method, called_path, called_query) ) ret = self.registered_responses[ (called_method, called_path, called_query) ] if func._mock_name.endswith("async"): return awaitable(ret) return ret return custom_side_effect async def awaitable(x): return x self.registered_responses[ (method, path, urlencode(parse_and_sort(query_string))) ] = (rbody, rcode, rheaders or {}) for func in self.funcs: func.side_effect = custom_side_effect_for_func(func) def get_last_call(self) -> StripeRequestCall: if len(self.func_call_order) == 0: raise AssertionError( "Expected request to have been made, but no calls were found." ) return StripeRequestCall.from_mock_call( self.func_call_order[-1].call_args ) def get_all_calls(self) -> List[StripeRequestCall]: calls_by_func = { func: list(func.call_args_list) for func in self.funcs } calls = [] for func in self.func_call_order: calls.append(calls_by_func[func].pop(0)) return [ StripeRequestCall.from_mock_call(call_args) for call_args in calls ] def find_call( self, method, api_base, path, query_string ) -> StripeRequestCall: for func in self.funcs: for call_args in func.call_args_list: request_call = StripeRequestCall.from_mock_call(call_args) try: if request_call.check( method=method, api_base=api_base, path=path, query_string=query_string, ): return request_call except AssertionError: pass raise AssertionError( "Expected request to have been made, but no calls were found." ) def assert_requested( self, method=None, abs_url=None, api_base=None, path=None, query_string=None, api_key=None, stripe_version=None, stripe_account=None, stripe_context=None, content_type=None, idempotency_key=None, user_agent=None, extra_headers=None, post_data=None, is_json=False, usage=None, max_network_retries=None, ) -> None: if abs_url and (api_base or path or query_string): raise ValueError( "Received both `abs_url` and one of `api_base`, `path`, or `query_string`. Please only use `abs_url`." ) if abs_url: api_base = extract_api_base(abs_url) path = urlsplit(abs_url).path query_string = urlsplit(abs_url).query last_call = self.find_call(method, api_base, path, query_string) last_call.check( method=method, abs_url=abs_url, api_base=api_base, path=path, query_string=query_string, api_key=api_key, stripe_version=stripe_version, stripe_account=stripe_account, stripe_context=stripe_context, content_type=content_type, idempotency_key=idempotency_key, user_agent=user_agent, extra_headers=extra_headers, post_data=post_data, is_json=is_json, usage=usage, max_network_retries=max_network_retries, ) def assert_no_request(self): for func in self.funcs: if func.called: msg = ( "Expected no request to have been made, but %s calls were " "found." % (sum([func.call_count for func in self.funcs])) ) raise AssertionError(msg) def reset_mock(self): for func in self.funcs: func.reset_mock() self.registered_responses = {} ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3850622 stripe-13.2.0/tests/openapi/README.md0000644000000000000000000000071415102753431014110 0ustar00## Using custom OpenAPI specification and fixtures files You can place custom OpenAPI specification and fixtures files in this directory. The files must be in JSON format, and must be named `spec3.json` and `fixtures3.json` respectively. If those files are present, the test suite will start its own stripe-mock process on a random available port. In order for this to work, `stripe-mock` must be on the `PATH` in the environment used to run the test suite. ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3850622 stripe-13.2.0/tests/request_mock.py0000644000000000000000000002072115102753431014251 0ustar00import json import stripe from stripe import util from stripe._stripe_response import StripeResponse, StripeStreamResponse class RequestMock(object): def __init__(self, mocker): self._mocker = mocker self._real_request = stripe.api_requestor.APIRequestor.request self._real_request_async = ( stripe.api_requestor.APIRequestor.request_async ) self._real_request_stream = ( stripe.api_requestor.APIRequestor.request_stream ) self._stub_request_handler = StubRequestHandler() self.constructor_patcher = self._mocker.patch( "stripe.api_requestor.APIRequestor.__init__", side_effect=stripe.api_requestor.APIRequestor.__init__, autospec=True, ) self.request_patcher = self._mocker.patch( "stripe.api_requestor.APIRequestor.request", side_effect=self._patched_request, autospec=True, ) self.request_async_patcher = self._mocker.patch( "stripe.api_requestor.APIRequestor.request_async", side_effect=self._patched_request_async, autospec=True, ) self.request_stream_patcher = self._mocker.patch( "stripe.api_requestor.APIRequestor.request_stream", side_effect=self._patched_request_stream, autospec=True, ) def _patched_request(self, requestor, method, url, *args, **kwargs): response = self._stub_request_handler.get_response( method, url, expect_stream=False ) if response is not None: return response, stripe.api_key return self._real_request(requestor, method, url, *args, **kwargs) async def _patched_request_async( self, requestor, method, url, *args, **kwargs ): response = self._stub_request_handler.get_response( method, url, expect_stream=False ) if response is not None: return response, stripe.api_key return self._real_request_async( requestor, method, url, *args, **kwargs ) def _patched_request_stream(self, requestor, method, url, *args, **kwargs): response = self._stub_request_handler.get_response( method, url, expect_stream=True ) if response is not None: return response, stripe.api_key return self._real_request_stream( requestor, method, url, *args, **kwargs ) def stub_request(self, method, url, rbody=None, rcode=200, rheaders=None): self._stub_request_handler.register( method, url, rbody or {}, rcode, rheaders or {}, is_streaming=False ) def stub_request_stream( self, method, url, rbody=None, rcode=200, rheaders=None ): self._stub_request_handler.register( method, url, rbody or {}, rcode, rheaders or {}, is_streaming=True ) def assert_api_base(self, expected_api_base): # Note that this method only checks that an API base was provided # as a keyword argument in APIRequestor's constructor, not as a # positional argument. if "api_base" not in self.constructor_patcher.call_args[1]: msg = ( "Expected APIRequestor to have been constructed with " "api_base='%s'. No API base was provided." % expected_api_base ) raise AssertionError(msg) actual_api_base = self.constructor_patcher.call_args[1]["api_base"] if actual_api_base != expected_api_base: msg = ( "Expected APIRequestor to have been constructed with " "api_base='%s'. Constructed with api_base='%s' " "instead." % (expected_api_base, actual_api_base) ) raise AssertionError(msg) def assert_api_version(self, expected_api_version): # Note that this method only checks that an API version was provided # as a keyword argument in APIRequestor's constructor, not as a # positional argument. if "api_version" not in self.constructor_patcher.call_args[1]: msg = ( "Expected APIRequestor to have been constructed with " "api_version='%s'. No API version was provided." % expected_api_version ) raise AssertionError(msg) actual_api_version = self.constructor_patcher.call_args[1][ "api_version" ] if actual_api_version != expected_api_version: msg = ( "Expected APIRequestor to have been constructed with " "api_version='%s'. Constructed with api_version='%s' " "instead." % (expected_api_version, actual_api_version) ) raise AssertionError(msg) def assert_requested( self, method, url, params=None, headers=None, api_mode=None, _usage=None, ): self.assert_requested_internal( self.request_patcher, method, url, params, headers, api_mode, _usage, ) def assert_requested_stream( self, method, url, params=None, headers=None, api_mode=None, _usage=None, ): self.assert_requested_internal( self.request_stream_patcher, method, url, params, headers, api_mode, _usage, ) def assert_requested_internal( self, patcher, method, url, params, headers, api_mode, usage ): params = params or self._mocker.ANY headers = headers or self._mocker.ANY api_mode = api_mode or self._mocker.ANY usage = usage or self._mocker.ANY called = False exception = None # Sadly, ANY does not match a missing optional argument, so we # check all the possible signatures of the request method possible_called_args = [ (self._mocker.ANY, method, url), (self._mocker.ANY, method, url, params), (self._mocker.ANY, method, url, params, headers), (self._mocker.ANY, method, url, params, headers, api_mode), ] possible_called_kwargs = [{}, {"_usage": usage}] for args in possible_called_args: for kwargs in possible_called_kwargs: try: patcher.assert_called_with(*args, **kwargs) except AssertionError as e: exception = e else: called = True break if not called: raise exception def assert_no_request(self): if self.request_patcher.call_count != 0: msg = ( "Expected 'request' to not have been called. " "Called %s times." % (self.request_patcher.call_count) ) raise AssertionError(msg) def assert_no_request_stream(self): if self.request_stream_patcher.call_count != 0: msg = ( "Expected 'request_stream' to not have been called. " "Called %s times." % (self.request_stream_patcher.call_count) ) raise AssertionError(msg) def reset_mock(self): self.request_patcher.reset_mock() self.request_stream_patcher.reset_mock() class StubRequestHandler(object): def __init__(self): self._entries = {} def register( self, method, url, rbody=None, rcode=200, rheaders=None, is_streaming=False, ): self._entries[(method, url)] = ( rbody or {}, rcode, rheaders or {}, is_streaming, ) def get_response(self, method, url, expect_stream=False): if (method, url) in self._entries: rbody, rcode, rheaders, is_streaming = self._entries.pop( (method, url) ) if expect_stream != is_streaming: return None if not isinstance(rbody, str): rbody = json.dumps(rbody) if is_streaming: stripe_response = StripeStreamResponse( util.io.BytesIO(str.encode(rbody)), rcode, rheaders ) else: stripe_response = StripeResponse(rbody, rcode, rheaders) return stripe_response return None ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3850622 stripe-13.2.0/tests/services/test_file_upload.py0000644000000000000000000000345715102753431016724 0ustar00from __future__ import absolute_import, division, print_function import tempfile import stripe from stripe._file import File from stripe._multipart_data_generator import MultipartDataGenerator TEST_RESOURCE_ID = "file_123" class TestFileUpload(object): def test_is_listable(self, http_client_mock, stripe_mock_stripe_client): resources = stripe_mock_stripe_client.files.list() http_client_mock.assert_requested("get", path="/v1/files") assert isinstance(resources.data, list) assert isinstance(resources.data[0], File) def test_is_retrievable(self, http_client_mock, stripe_mock_stripe_client): resource = stripe_mock_stripe_client.files.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/files/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, File) def test_is_creatable( self, file_stripe_mock_stripe_client, http_client_mock, ): MultipartDataGenerator._initialize_boundary = lambda self: 1234567890 test_file = tempfile.TemporaryFile() # We create a new client here instead of re-using the stripe_mock_stripe_client fixture # because stripe_mock_stripe_client overrides the "api" base address, which we want to # be empty for this test. resource = file_stripe_mock_stripe_client.files.create( params={ "purpose": "dispute_evidence", "file": test_file, "file_link_data": {"create": True}, } ) http_client_mock.assert_requested( "post", api_base=stripe.upload_api_base, path="/v1/files", content_type="multipart/form-data; boundary=1234567890", ) assert isinstance(resource, File) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3850622 stripe-13.2.0/tests/services/test_oauth.py0000644000000000000000000001010215102753431015542 0ustar00import pytest from urllib.parse import parse_qs, urlparse import stripe from stripe._stripe_client import StripeClient class TestOAuth(object): @pytest.fixture def stripe_client(self, http_client_mock) -> StripeClient: return StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), client_id="ca_123", ) def test_authorize_url(self, stripe_client: StripeClient): url = stripe_client.oauth.authorize_url( { "scope": "read_write", "state": "csrf_token", "stripe_user": { "email": "test@example.com", "url": "https://example.com/profile/test", "country": "US", }, } ) o = urlparse(url) params = parse_qs(o.query) url_express = stripe_client.oauth.authorize_url( {"scope": "read_write", "state": "csrf_token"}, {"express": True} ) o_express = urlparse(url_express) assert o.scheme == "https" assert o.netloc == "connect.stripe.com" assert o.path == "/oauth/authorize" assert o_express.path == "/express/oauth/authorize" assert params["client_id"] == ["ca_123"] assert params["scope"] == ["read_write"] assert params["stripe_user[email]"] == ["test@example.com"] assert params["stripe_user[url]"] == [ "https://example.com/profile/test" ] assert params["stripe_user[country]"] == ["US"] def test_token(self, stripe_client: StripeClient, http_client_mock): http_client_mock.stub_request( "post", path="/oauth/token", rbody='{"access_token":"sk_access_token","scope":"read_only","livemode":"false","token_type":"bearer","refresh_token":"sk_refresh_token","stripe_user_id":"acct_test","stripe_publishable_key":"pk_test"}', ) resp = stripe_client.oauth.token( { "grant_type": "authorization_code", "code": "this_is_an_authorization_code", } ) http_client_mock.assert_requested( "post", api_base=stripe.connect_api_base, path="/oauth/token", post_data="grant_type=authorization_code&code=this_is_an_authorization_code", ) assert resp["access_token"] == "sk_access_token" def test_deauthorize(self, stripe_client: StripeClient, http_client_mock): http_client_mock.stub_request( "post", path="/oauth/deauthorize", rbody='{"stripe_user_id":"acct_test_deauth"}', ) resp = stripe_client.oauth.deauthorize( { "stripe_user_id": "acct_test_deauth", } ) http_client_mock.assert_requested( "post", api_base=stripe.connect_api_base, path="/oauth/deauthorize", post_data="client_id=ca_123&stripe_user_id=acct_test_deauth", ) assert resp["stripe_user_id"] == "acct_test_deauth" def test_uses_client_connect_api_base(self, http_client_mock): http_client_mock.stub_request( "post", path="/oauth/token", rbody='{"access_token":"sk_access_token","scope":"read_only","livemode":"false","token_type":"bearer","refresh_token":"sk_refresh_token","stripe_user_id":"acct_test","stripe_publishable_key":"pk_test"}', ) expected_api_base = "https://connect.example.com" client = stripe.StripeClient( "sk_test_123", base_addresses={"connect": expected_api_base}, http_client=http_client_mock.get_mock_http_client(), ) resp = client.oauth.token( { "grant_type": "authorization_code", "code": "ac_123456789", } ) http_client_mock.assert_requested( "post", api_base=expected_api_base, path="/oauth/token", ) assert resp["access_token"] == "sk_access_token" ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3850622 stripe-13.2.0/tests/services/test_quote.py0000644000000000000000000001053615102753431015572 0ustar00from __future__ import absolute_import, division, print_function import stripe TEST_RESOURCE_ID = "qt_123" class TestQuote(object): def test_is_listable(self, http_client_mock, stripe_mock_stripe_client): resources = stripe_mock_stripe_client.quotes.list() http_client_mock.assert_requested("get", path="/v1/quotes") assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.Quote) def test_is_retrievable(self, http_client_mock, stripe_mock_stripe_client): resource = stripe_mock_stripe_client.quotes.retrieve(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", path="/v1/quotes/%s" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Quote) def test_is_creatable(self, http_client_mock, stripe_mock_stripe_client): resource = stripe_mock_stripe_client.quotes.create( params={"customer": "cus_123"} ) http_client_mock.assert_requested( "post", path="/v1/quotes", post_data="customer=cus_123" ) assert isinstance(resource, stripe.Quote) def test_is_updateable(self, http_client_mock, stripe_mock_stripe_client): resource = stripe_mock_stripe_client.quotes.update( TEST_RESOURCE_ID, params={"metadata": {"key": "value"}} ) http_client_mock.assert_requested( "post", path="/v1/quotes/%s" % TEST_RESOURCE_ID, post_data="metadata[key]=value", ) assert isinstance(resource, stripe.Quote) def test_can_finalize_quote( self, http_client_mock, stripe_mock_stripe_client ): resource = stripe_mock_stripe_client.quotes.retrieve(TEST_RESOURCE_ID) resource = resource.finalize_quote() http_client_mock.assert_requested( "post", path="/v1/quotes/%s/finalize" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Quote) def test_can_finalize_quote_classmethod( self, http_client_mock, stripe_mock_stripe_client ): resource = stripe_mock_stripe_client.quotes.finalize_quote( TEST_RESOURCE_ID ) http_client_mock.assert_requested( "post", path="/v1/quotes/%s/finalize" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Quote) def test_can_cancel(self, http_client_mock, stripe_mock_stripe_client): resource = stripe_mock_stripe_client.quotes.cancel(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/quotes/%s/cancel" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Quote) def test_can_accept(self, http_client_mock, stripe_mock_stripe_client): resource = stripe_mock_stripe_client.quotes.accept(TEST_RESOURCE_ID) http_client_mock.assert_requested( "post", path="/v1/quotes/%s/accept" % TEST_RESOURCE_ID ) assert isinstance(resource, stripe.Quote) def test_can_list_line_items( self, http_client_mock, stripe_mock_stripe_client ): resources = stripe_mock_stripe_client.quotes.line_items.list( TEST_RESOURCE_ID ) http_client_mock.assert_requested( "get", path="/v1/quotes/%s/line_items" % TEST_RESOURCE_ID ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.LineItem) def test_can_list_computed_upfront_line_items( self, http_client_mock, stripe_mock_stripe_client ): resources = ( stripe_mock_stripe_client.quotes.computed_upfront_line_items.list( TEST_RESOURCE_ID ) ) http_client_mock.assert_requested( "get", path="/v1/quotes/%s/computed_upfront_line_items" % TEST_RESOURCE_ID, ) assert isinstance(resources.data, list) assert isinstance(resources.data[0], stripe.LineItem) def test_can_pdf( self, file_stripe_mock_stripe_client, http_client_mock, ): stream = file_stripe_mock_stripe_client.quotes.pdf(TEST_RESOURCE_ID) http_client_mock.assert_requested( "get", api_base=stripe.upload_api_base, path="/v1/quotes/%s/pdf" % TEST_RESOURCE_ID, ) content = stream.io.read() assert content == b"Stripe binary response" ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3850622 stripe-13.2.0/tests/stripe_mock.py0000644000000000000000000000356615102753431014077 0ustar00import os import socket import subprocess import sys import time class StripeMock(object): PATH_SPEC = ( os.path.dirname(os.path.realpath(__file__)) + "/openapi/spec3.json" ) PATH_FIXTURES = ( os.path.dirname(os.path.realpath(__file__)) + "/openapi/fixtures3.json" ) _port = -1 _process = None @classmethod def start(cls): if not os.path.isfile(cls.PATH_SPEC): return False if cls._process is not None: print("stripe-mock already running on port %s" % cls._port) return True cls._port = cls.find_available_port() print("Starting stripe-mock on port %s..." % cls._port) cls._process = subprocess.Popen( [ "stripe-mock", "-http-port", str(cls._port), "-spec", cls.PATH_SPEC, "-fixtures", cls.PATH_FIXTURES, ], stdout=subprocess.PIPE, stderr=subprocess.PIPE, ) time.sleep(1) if cls._process.poll() is None: print("Started stripe-mock, PID = %d" % cls._process.pid) else: print("stripe-mock terminated early: %d" % cls._process.returncode) sys.exit(1) return True @classmethod def stop(cls): if cls._process is None: return print("Stopping stripe-mock...") cls._process.terminate() cls._process.wait() cls._process = None cls._port = -1 print("Stopped stripe-mock") @classmethod def port(cls): return cls._port @staticmethod def find_available_port(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind(("localhost", 0)) s.listen(1) port = s.getsockname()[1] s.close() return port ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3850622 stripe-13.2.0/tests/test_api_requestor.py0000644000000000000000000007727615102753431015512 0ustar00import datetime import json import tempfile import uuid from collections import OrderedDict from urllib.parse import urlencode, urlsplit import pytest import urllib3 import stripe import io from stripe._api_requestor import _api_encode, _APIRequestor from stripe._customer import Customer from stripe._request_options import RequestOptions from stripe._requestor_options import ( RequestorOptions, _GlobalRequestorOptions, ) from stripe._stripe_object import StripeObject from stripe._stripe_response import ( StripeStreamResponse, StripeStreamResponseAsync, ) from stripe.v2._deleted_object import DeletedObject from tests.http_client_mock import HTTPClientMock VALID_API_METHODS = ("get", "post", "delete") class GMT1(datetime.tzinfo): def utcoffset(self, dt): return datetime.timedelta(hours=1) def dst(self, dt): return datetime.timedelta(0) def tzname(self, dt): return "Europe/Prague" class AnyUUID4Matcher(object): def __eq__(self, other): try: uuid.UUID(other, version=4) except ValueError: return False return True def __repr__(self): return "AnyUUID4Matcher()" class IsNoneMatcher: """ Matcher to make assertions against None because `assert_requested` doesn't run checks if you pass `None` as the expected value. """ def __eq__(self, other): return other is None def __repr__(self): return "None (from IsNoneMatcher())" class TestAPIRequestor(object): ENCODE_INPUTS = { "dict": { "astring": "bar", "anint": 5, "anull": None, "adatetime": datetime.datetime(2013, 1, 1, tzinfo=GMT1()), "atuple": (1, 2), "adict": {"foo": "bar", "boz": 5}, "alist": ["foo", "bar"], }, "list": [1, "foo", "baz"], "string": "boo", "unicode": "\u1234", "datetime": datetime.datetime(2013, 1, 1, second=1, tzinfo=GMT1()), "none": None, } ENCODE_EXPECTATIONS = { "dict": [ ("%s[astring]", "bar"), ("%s[anint]", 5), ("%s[adatetime]", 1356994800), ("%s[adict][foo]", "bar"), ("%s[adict][boz]", 5), ("%s[alist][0]", "foo"), ("%s[alist][1]", "bar"), ("%s[atuple][0]", 1), ("%s[atuple][1]", 2), ], "list": [("%s[0]", 1), ("%s[1]", "foo"), ("%s[2]", "baz")], "string": [("%s", "boo")], "unicode": [("%s", "\u1234")], "datetime": [("%s", 1356994801)], "none": [], } @pytest.fixture(autouse=True) def setup_stripe(self): orig_attrs = { "api_key": stripe.api_key, "api_version": stripe.api_version, "default_http_client": stripe.default_http_client, "enable_telemetry": stripe.enable_telemetry, } stripe.api_key = "sk_test_123" stripe.api_version = "2017-12-14" stripe.default_http_client = None stripe.enable_telemetry = False yield stripe.api_key = orig_attrs["api_key"] stripe.api_version = orig_attrs["api_version"] stripe.default_http_client = orig_attrs["default_http_client"] stripe.enable_telemetry = orig_attrs["enable_telemetry"] @pytest.fixture def requestor(self, http_client_mock): requestor = _APIRequestor( client=http_client_mock.get_mock_http_client(), options=_GlobalRequestorOptions(), ) return requestor @property def v1_path(self): return "/v1/foo" @property def v2_path(self): return "/v2/foo" def encoder_check(self, key): stk_key = "my%s" % (key,) value = self.ENCODE_INPUTS[key] expectation = [ (k % (stk_key,), v) for k, v in self.ENCODE_EXPECTATIONS[key] ] stk = [] fn = getattr(_APIRequestor, "encode_%s" % (key,)) fn(stk, stk_key, value) if isinstance(value, dict): expectation.sort() stk.sort() assert stk == expectation, stk def _test_encode_naive_datetime(self): stk = [] _APIRequestor.encode_datetime( stk, "test", datetime.datetime(2013, 1, 1) ) # Naive datetimes will encode differently depending on your system # local time. Since we don't know the local time of your system, # we just check that naive encodings are within 24 hours of correct. assert abs(stk[0][1] - 1356994800) <= 60 * 60 * 24 def test_param_encoding(self, requestor, http_client_mock): expectation = [] for type_, values in iter(self.ENCODE_EXPECTATIONS.items()): expectation.extend([(k % (type_,), str(v)) for k, v in values]) query_string = ( urlencode(expectation).replace("%5B", "[").replace("%5D", "]") ) http_client_mock.stub_request( "get", query_string=query_string, rbody="{}", rcode=200 ) requestor.request("get", "", self.ENCODE_INPUTS, base_address="api") http_client_mock.assert_requested("get", query_string=query_string) def test_param_api_mode_preview(self, requestor, http_client_mock): http_client_mock.stub_request( "post", path=self.v2_path, rbody="{}", rcode=200 ) requestor.request( "post", self.v2_path, self.ENCODE_INPUTS, base_address="api" ) expectation = '{"dict": {"astring": "bar", "anint": 5, "anull": null, "adatetime": 1356994800, "atuple": [1, 2], "adict": {"foo": "bar", "boz": 5}, "alist": ["foo", "bar"]}, "list": [1, "foo", "baz"], "string": "boo", "unicode": "\\u1234", "datetime": 1356994801, "none": null}' http_client_mock.assert_requested( "post", content_type="application/json", post_data=expectation, is_json=True, ) def test_encodes_null_values_preview(self, requestor, http_client_mock): http_client_mock.stub_request( "post", path=self.v2_path, rbody="{}", rcode=200 ) requestor.request( "post", self.v2_path, {"foo": None}, base_address="api", ) http_client_mock.assert_requested( "post", content_type="application/json", post_data='{"foo": null}', is_json=True, ) def test_dictionary_list_encoding(self): params = {"foo": {"0": {"bar": "bat"}}} encoded = list(_api_encode(params, "V1")) key, value = encoded[0] assert key == "foo[0][bar]" assert value == "bat" def test_ordereddict_encoding(self): params = { "ordered": OrderedDict( [ ("one", 1), ("two", 2), ("three", 3), ("nested", OrderedDict([("a", "a"), ("b", "b")])), ] ) } encoded = list(_api_encode(params, "V1")) assert encoded[0][0] == "ordered[one]" assert encoded[1][0] == "ordered[two]" assert encoded[2][0] == "ordered[three]" assert encoded[3][0] == "ordered[nested][a]" assert encoded[4][0] == "ordered[nested][b]" def test_url_construction(self, requestor, http_client_mock): CASES = ( (f"{stripe.api_base}?foo=bar", "", {"foo": "bar"}), (f"{stripe.api_base}?foo=bar", "?", {"foo": "bar"}), (stripe.api_base, "", {}), ( f"{stripe.api_base}/%20spaced?baz=5&foo=bar%24", "/%20spaced?foo=bar%24", {"baz": "5"}, ), # duplicate query params keys should be deduped ( f"{stripe.api_base}?foo=bar", "?foo=bar", {"foo": "bar"}, ), ) for expected, url, params in CASES: path = urlsplit(expected).path query_string = urlsplit(expected).query http_client_mock.stub_request( "get", path=path, query_string=query_string, rbody="{}", rcode=200, ) requestor.request("get", url, params, base_address="api") http_client_mock.assert_requested("get", abs_url=expected) def test_empty_methods(self, requestor, http_client_mock): for meth in VALID_API_METHODS: http_client_mock.stub_request( meth, path=self.v1_path, rbody="{}", rcode=200 ) resp = requestor.request( meth, self.v1_path, {}, base_address="api" ) if meth == "post": post_data = "" else: post_data = None http_client_mock.assert_requested(meth, post_data=post_data) assert isinstance(resp, StripeObject) assert resp == {} @pytest.mark.anyio async def test_empty_methods_async(self, requestor, http_client_mock): for meth in VALID_API_METHODS: http_client_mock.stub_request( meth, path=self.v1_path, rbody="{}", rcode=200, ) resp = await requestor.request_async( meth, self.v1_path, {}, base_address="api" ) if meth == "post": post_data = "" else: post_data = None http_client_mock.assert_requested(meth, post_data=post_data) assert isinstance(resp, StripeObject) assert resp == {} @pytest.mark.anyio async def test_empty_methods_streaming_response_async( self, requestor, http_client_mock ): async def async_iter(): yield b"this" yield b"is" yield b"data" for meth in VALID_API_METHODS: http_client_mock.stub_request( meth, path=self.v1_path, rbody=async_iter(), rcode=200, ) resp = await requestor.request_stream_async( meth, self.v1_path, {}, base_address="api", ) if meth == "post": post_data = "" else: post_data = None http_client_mock.assert_requested(meth, post_data=post_data) assert isinstance(resp, StripeStreamResponseAsync) assert b"".join([x async for x in resp.stream()]) == b"thisisdata" def test_empty_methods_streaming_response( self, requestor, http_client_mock ): for meth in VALID_API_METHODS: http_client_mock.stub_request( meth, path=self.v1_path, rbody=io.BytesIO(b"thisisdata"), rcode=200, ) resp = requestor.request_stream( meth, self.v1_path, {}, base_address="api", ) if meth == "post": post_data = "" else: post_data = None http_client_mock.assert_requested(meth, post_data=post_data) assert isinstance(resp, StripeStreamResponse) assert resp.io.getvalue() == b"thisisdata" def test_methods_with_params_and_response( self, requestor, http_client_mock ): for method in VALID_API_METHODS: encoded = ( "adict[frobble]=bits&adatetime=1356994800&" "alist[0]=1&alist[1]=2&alist[2]=3" ) http_client_mock.stub_request( method, path=self.v1_path, query_string=encoded if method != "post" else "", rbody='{"foo": "bar", "baz": 6}', rcode=200, ) params = { "alist": [1, 2, 3], "adict": {"frobble": "bits"}, "adatetime": datetime.datetime(2013, 1, 1, tzinfo=GMT1()), } resp = requestor.request( method, self.v1_path, params, base_address="api", ) assert isinstance(resp, StripeObject) assert resp == {"foo": "bar", "baz": 6} if method == "post": http_client_mock.assert_requested( method, post_data=encoded, ) else: abs_url = "%s%s?%s" % ( stripe.api_base, self.v1_path, encoded, ) http_client_mock.assert_requested(method, abs_url=abs_url) def test_methods_with_params_and_streaming_response( self, requestor, http_client_mock ): for method in VALID_API_METHODS: encoded = ( "adict[frobble]=bits&adatetime=1356994800&" "alist[0]=1&alist[1]=2&alist[2]=3" ) http_client_mock.stub_request( method, path=self.v1_path, query_string=encoded if method != "post" else "", rbody=io.BytesIO(b'{"foo": "bar", "baz": 6}'), rcode=200, ) params = { "alist": [1, 2, 3], "adict": {"frobble": "bits"}, "adatetime": datetime.datetime(2013, 1, 1, tzinfo=GMT1()), } resp = requestor.request_stream( method, self.v1_path, params, base_address="api", ) assert isinstance(resp, StripeStreamResponse) assert resp.io.getvalue() == b'{"foo": "bar", "baz": 6}' if method == "post": http_client_mock.assert_requested(method, post_data=encoded) else: abs_url = "%s%s?%s" % ( stripe.api_base, self.v1_path, encoded, ) http_client_mock.assert_requested(method, abs_url=abs_url) def test_delete_methods(self, requestor, http_client_mock): for path in [self.v1_path, self.v2_path]: method = "delete" http_client_mock.stub_request( method, path=path, rbody=json.dumps({"id": "abc_123", "object": "customer"}), rcode=200, ) resp = requestor.request(method, path, {}, base_address="api") http_client_mock.assert_requested(method, post_data=None) if path == self.v1_path: assert isinstance(resp, Customer) else: assert isinstance(resp, DeletedObject) assert resp.id == "abc_123" assert resp.object == "customer" @pytest.mark.anyio async def test_delete_methods_async(self, requestor, http_client_mock): for path in [self.v1_path, self.v2_path]: method = "delete" http_client_mock.stub_request( method, path=path, rbody=json.dumps({"id": "abc_123", "object": "customer"}), rcode=200, ) resp = await requestor.request_async( method, path, {}, base_address="api" ) http_client_mock.assert_requested(method, post_data=None) if path == self.v1_path: assert isinstance(resp, Customer) else: assert isinstance(resp, DeletedObject) assert resp.id == "abc_123" assert resp.object == "customer" def test_uses_headers(self, requestor, http_client_mock): http_client_mock.stub_request( "get", path=self.v1_path, rbody="{}", rcode=200 ) request_options: RequestOptions = {"headers": {"foo": "bar"}} requestor.request( "get", self.v1_path, {}, options=request_options, base_address="api", ) http_client_mock.assert_requested("get", extra_headers={"foo": "bar"}) def test_uses_api_version(self, requestor, http_client_mock): http_client_mock.stub_request( "get", path=self.v1_path, rbody="{}", rcode=200 ) request_options: RequestOptions = {"stripe_version": "fooversion"} requestor.request( "get", self.v1_path, options=request_options, base_address="api", ) http_client_mock.assert_requested( "get", stripe_version="fooversion", ) def test_prefers_headers_api_version(self, requestor, http_client_mock): http_client_mock.stub_request( "get", path=self.v1_path, rbody="{}", rcode=200 ) request_options: RequestOptions = { "stripe_version": "fooversion", "headers": {"Stripe-Version": "barversion"}, } requestor.request( "get", self.v1_path, {}, options=request_options, base_address="api", ) http_client_mock.assert_requested( "get", stripe_version="barversion", ) def test_uses_instance_key(self, requestor, http_client_mock): key = "fookey" requestor = requestor._new_requestor_with_options( RequestOptions(api_key=key) ) http_client_mock.stub_request( "get", path=self.v1_path, rbody="{}", rcode=200 ) requestor.request("get", self.v1_path, {}, base_address="api") http_client_mock.assert_requested("get", api_key=key) assert requestor.api_key == key def test_uses_instance_account(self, requestor, http_client_mock): account = "acct_foo" requestor = requestor._new_requestor_with_options( RequestOptions(stripe_account=account) ) http_client_mock.stub_request( "get", path=self.v1_path, rbody="{}", rcode=200 ) requestor.request("get", self.v1_path, {}, base_address="api") http_client_mock.assert_requested( "get", stripe_account=account, ) def test_removes_None_account( self, requestor, http_client_mock: HTTPClientMock ): """ important test! If there's no context on a retrieved event, it's important that passing `stripe-account: None` in the generated fetch_related_object doesn't actually send the null header """ account = None requestor = requestor._new_requestor_with_options( RequestOptions(stripe_account=account) ) http_client_mock.stub_request( "get", path=self.v1_path, rbody="{}", rcode=200 ) requestor.request("get", self.v1_path, {}, base_address="api") assert len(http_client_mock.get_all_calls()) == 1 call = http_client_mock.get_last_call() assert call.headers is not None assert "Stripe-Account" not in call.headers def test_uses_instance_context(self, http_client_mock): context = "acct_bar" requestor = _APIRequestor( options=RequestorOptions( **{ **_GlobalRequestorOptions().to_dict(), "stripe_context": context, } ), client=http_client_mock.get_mock_http_client(), ) http_client_mock.stub_request( "get", path=self.v1_path, rbody="{}", rcode=200 ) requestor.request("get", self.v1_path, {}, base_address="api") http_client_mock.assert_requested( "get", stripe_context=context, ) def test_sets_default_http_client(self, mocker): assert not stripe.default_http_client _APIRequestor(client=mocker.Mock(stripe.HTTPClient))._get_http_client() # default_http_client is not populated if a client is provided assert not stripe.default_http_client _APIRequestor()._get_http_client() # default_http_client is set when no client is specified assert stripe.default_http_client new_default_client = stripe.default_http_client _APIRequestor() # the newly created client is reused assert stripe.default_http_client == new_default_client def test_uses_app_info(self, requestor, http_client_mock): try: old = stripe.app_info stripe.set_app_info( "MyAwesomePlugin", url="https://myawesomeplugin.info", version="1.2.34", partner_id="partner_12345", ) http_client_mock.stub_request( "get", path=self.v1_path, rbody="{}", rcode=200 ) requestor.request("get", self.v1_path, {}, base_address="api") ua = "Stripe/v1 PythonBindings/%s" % (stripe.VERSION,) ua += " MyAwesomePlugin/1.2.34 (https://myawesomeplugin.info)" expected_app_info = { "name": "MyAwesomePlugin", "url": "https://myawesomeplugin.info", "version": "1.2.34", "partner_id": "partner_12345", } last_call = http_client_mock.get_last_call() last_call.assert_method("get") last_call.assert_header("User-Agent", ua) assert ( json.loads( last_call.get_raw_header("X-Stripe-Client-User-Agent") )["application"] == expected_app_info ) finally: stripe.app_info = old def test_handles_failed_platform_call( self, requestor, mocker, http_client_mock ): http_client_mock.stub_request( "get", path=self.v1_path, rbody="{}", rcode=200 ) def fail(): raise RuntimeError mocker.patch("platform.platform", side_effect=fail) requestor.request("get", self.v1_path, {}, {}, base_address="api") last_call = http_client_mock.get_last_call() last_call.assert_method("get") assert ( json.loads(last_call.get_raw_header("X-Stripe-Client-User-Agent"))[ "platform" ] == "(disabled)" ) def test_uses_given_idempotency_key(self, requestor, http_client_mock): method = "post" http_client_mock.stub_request( method, path=self.v1_path, rbody="{}", rcode=200 ) request_options: RequestOptions = {"idempotency_key": "123abc"} requestor.request( method, self.v1_path, {}, options=request_options, base_address="api", ) http_client_mock.assert_requested( method, idempotency_key="123abc", post_data="" ) def test_uuid4_idempotency_key_when_not_given( self, requestor, http_client_mock ): method = "post" http_client_mock.stub_request( method, path=self.v1_path, rbody="{}", rcode=200 ) requestor.request(method, self.v1_path, {}, base_address="api") http_client_mock.assert_requested( method, idempotency_key=AnyUUID4Matcher(), post_data="" ) def test_generates_default_idempotency_key_for_v2_delete( self, requestor, http_client_mock ): method = "delete" http_client_mock.stub_request( method, path=self.v2_path, rbody="{}", rcode=200 ) requestor.request(method, self.v2_path, {}, base_address="api") http_client_mock.assert_requested( method, idempotency_key=AnyUUID4Matcher() ) def test_skips_generates_default_idempotency_key_for_v1_delete( self, requestor, http_client_mock ): method = "delete" http_client_mock.stub_request( method, path=self.v1_path, rbody="{}", rcode=200 ) requestor.request(method, self.v1_path, {}, base_address="api") http_client_mock.assert_requested( method, idempotency_key=IsNoneMatcher() ) def test_fails_without_api_key(self, requestor): stripe.api_key = None with pytest.raises(stripe.AuthenticationError): requestor.request("get", self.v1_path, {}, base_address="api") def test_invalid_request_error_404(self, requestor, http_client_mock): http_client_mock.stub_request( "get", path=self.v1_path, rbody='{"error": {}}', rcode=404 ) with pytest.raises(stripe.InvalidRequestError): requestor.request("get", self.v1_path, {}, base_address="api") def test_invalid_request_error_400(self, requestor, http_client_mock): http_client_mock.stub_request( "get", path=self.v1_path, rbody='{"error": {}}', rcode=400 ) with pytest.raises(stripe.InvalidRequestError): requestor.request("get", self.v1_path, {}, base_address="api") def test_idempotency_error(self, requestor, http_client_mock): http_client_mock.stub_request( "get", path=self.v1_path, rbody='{"error": {"type": "idempotency_error"}}', rcode=400, ) with pytest.raises(stripe.IdempotencyError): requestor.request("get", self.v1_path, {}, base_address="api") def test_authentication_error(self, requestor, http_client_mock): http_client_mock.stub_request( "get", path=self.v1_path, rbody='{"error": {}}', rcode=401 ) with pytest.raises(stripe.AuthenticationError): requestor.request("get", self.v1_path, {}, base_address="api") def test_permissions_error(self, requestor, http_client_mock): http_client_mock.stub_request( "get", path=self.v1_path, rbody='{"error": {}}', rcode=403 ) with pytest.raises(stripe.PermissionError): requestor.request("get", self.v1_path, {}, base_address="api") def test_card_error(self, requestor, http_client_mock): http_client_mock.stub_request( "get", path=self.v1_path, rbody='{"error": {"code": "invalid_expiry_year"}}', rcode=402, ) with pytest.raises(stripe.CardError) as excinfo: requestor.request("get", self.v1_path, {}, base_address="api") assert excinfo.value.code == "invalid_expiry_year" def test_rate_limit_error(self, requestor, http_client_mock): http_client_mock.stub_request( "get", path=self.v1_path, rbody='{"error": {}}', rcode=429 ) with pytest.raises(stripe.RateLimitError): requestor.request("get", self.v1_path, {}, base_address="api") def test_old_rate_limit_error(self, requestor, http_client_mock): """ Tests legacy rate limit error pre-2015-09-18 """ http_client_mock.stub_request( "get", path=self.v1_path, rbody='{"error": {"code":"rate_limit"}}', rcode=400, ) with pytest.raises(stripe.RateLimitError): requestor.request("get", self.v1_path, {}, base_address="api") def test_server_error(self, requestor, http_client_mock): http_client_mock.stub_request( "get", path=self.v1_path, rbody='{"error": {}}', rcode=500 ) with pytest.raises(stripe.APIError): requestor.request("get", self.v1_path, {}, base_address="api") def test_invalid_json(self, requestor, http_client_mock): http_client_mock.stub_request( "get", path=self.v1_path, rbody="{", rcode=200 ) with pytest.raises(stripe.APIError): requestor.request("get", self.v1_path, {}, base_address="api") def test_invalid_method(self, requestor): with pytest.raises(stripe.APIConnectionError): requestor.request("foo", "bar", base_address="api") def test_oauth_invalid_requestor_error(self, requestor, http_client_mock): http_client_mock.stub_request( "get", path=self.v1_path, rbody='{"error": "invalid_request"}', rcode=400, ) with pytest.raises(stripe.oauth_error.InvalidRequestError): requestor.request("get", self.v1_path, {}, base_address="api") def test_invalid_client_error(self, requestor, http_client_mock): http_client_mock.stub_request( "get", path=self.v1_path, rbody='{"error": "invalid_client"}', rcode=401, ) with pytest.raises(stripe.oauth_error.InvalidClientError): requestor.request("get", self.v1_path, {}, base_address="api") def test_invalid_grant_error(self, requestor, http_client_mock): http_client_mock.stub_request( "get", path=self.v1_path, rbody='{"error": "invalid_grant"}', rcode=400, ) with pytest.raises(stripe.oauth_error.InvalidGrantError): requestor.request("get", self.v1_path, {}, base_address="api") def test_extract_error_from_stream_request_for_bytes( self, requestor, http_client_mock ): http_client_mock.stub_request( "get", path=self.v1_path, rbody=io.BytesIO(b'{"error": "invalid_grant"}'), rcode=400, ) with pytest.raises(stripe.oauth_error.InvalidGrantError): requestor.request_stream( "get", self.v1_path, {}, base_address="api" ) def test_extract_error_from_stream_request_for_response( self, requestor, http_client_mock ): # Responses don't have getvalue, they only have a read method. http_client_mock.stub_request( "get", path=self.v1_path, rbody=urllib3.response.HTTPResponse( body=io.BytesIO(b'{"error": "invalid_grant"}'), preload_content=False, ), rcode=400, ) with pytest.raises(stripe.oauth_error.InvalidGrantError): requestor.request_stream( "get", self.v1_path, {}, base_address="api" ) def test_raw_request_with_file_param(self, requestor, http_client_mock): test_file = tempfile.NamedTemporaryFile() test_file.write("\u263a".encode("utf-16")) test_file.seek(0) method = "post" path = "/v1/files" params = {"file": test_file, "purpose": "dispute_evidence"} supplied_headers = {"Content-Type": "multipart/form-data"} http_client_mock.stub_request(method, path=path, rbody="{}", rcode=200) requestor.request( method, path, params, supplied_headers, base_address="api", ) assert supplied_headers["Content-Type"] == "multipart/form-data" class TestDefaultClient(object): @pytest.fixture(autouse=True) def setup_stripe(self): orig_attrs = { "api_key": stripe.api_key, "default_http_client": stripe.default_http_client, } stripe.api_key = "sk_test_123" yield stripe.api_key = orig_attrs["api_key"] stripe.default_http_client = orig_attrs["default_http_client"] def test_default_http_client_called(self, http_client_mock): http_client_mock.stub_request( "get", path="/v1/charges", query_string="limit=3", rbody='{"object": "list", "data": []}', rcode=200, rheaders={}, ) stripe.Charge.list(limit=3) last_call = http_client_mock.get_last_call() last_call.assert_method("get") last_call.assert_abs_url("https://api.stripe.com/v1/charges?limit=3") last_call.assert_post_data(None) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3850622 stripe-13.2.0/tests/test_error.py0000644000000000000000000000512615102753431013742 0ustar00# -*- coding: utf-8 -*- import json from stripe._error import StripeError, CardError, APIConnectionError class TestStripeError(object): def test_formatting(self): err = StripeError("öre") assert str(err) == "öre" def test_formatting_with_request_id(self): err = StripeError("öre", headers={"request-id": "123"}) assert str(err) == "Request 123: öre" def test_formatting_with_none(self): err = StripeError(None, headers={"request-id": "123"}) assert str(err) == "Request 123: " def test_formatting_with_message_none_and_request_id_none(self): err = StripeError(None) assert str(err) == "" def test_repr(self): err = StripeError("öre", headers={"request-id": "123"}) assert ( repr(err) == "StripeError(message='öre', http_status=None, " "request_id='123')" ) def test_error_string_body(self): http_body = '{"error": {"code": "some_error"}}' err = StripeError( "message", http_body=http_body, json_body=json.loads(http_body) ) assert err.http_body is not None assert err.http_body == json.dumps(err.json_body) def test_error_bytes_body(self): http_body = '{"error": {"code": "some_error"}}'.encode("utf-8") err = StripeError( "message", http_body=http_body, json_body=json.loads(http_body) ) assert err.http_body is not None assert err.http_body == json.dumps(err.json_body) def test_error_object(self): err = StripeError( "message", json_body={"error": {"code": "some_error"}} ) assert err.error is not None assert err.error.code == "some_error" assert err.error.charge is None def test_error_object_not_dict(self): err = StripeError("message", json_body={"error": "not a dict"}) assert err.error is None class TestStripeErrorWithParamCode(object): def test_repr(self): err = CardError( "öre", param="cparam", code="ccode", http_status=403, headers={"request-id": "123"}, ) assert ( repr(err) == "CardError(message='öre', param='cparam', code='ccode', " "http_status=403, request_id='123')" ) class TestApiConnectionError(object): def test_default_no_retry(self): err = APIConnectionError("msg") assert err.should_retry is False err = APIConnectionError("msg", should_retry=True) assert err.should_retry ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3850622 stripe-13.2.0/tests/test_exports.py0000644000000000000000000001447415102753431014323 0ustar00# pyright: strict # we specifically test various import patterns import stripe import subprocess import sys def assert_output(code: str, expected: str) -> None: process = subprocess.Popen( [sys.executable, "-c", f"import stripe; print({code})"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, ) stdout, stderr = process.communicate() assert not stderr, f"Error: {stderr.decode()}" output = stdout.decode().strip() # assert the output assert output == expected def test_can_import_request_options() -> None: from stripe import RequestOptions # pyright: ignore[reportUnusedImport] def test_can_import_http_client() -> None: from stripe import ( HTTPClient, # pyright: ignore[reportUnusedImport] PycurlClient, # pyright: ignore[reportUnusedImport] RequestsClient, # pyright: ignore[reportUnusedImport] UrlFetchClient, # pyright: ignore[reportUnusedImport] new_default_http_client, # pyright: ignore[reportUnusedImport] ) def test_can_import_webhook_members() -> None: from stripe import ( Webhook, # pyright: ignore[reportUnusedImport] WebhookSignature, # pyright: ignore[reportUnusedImport] ) def test_can_import_abstract() -> None: from stripe import ( APIResource, # pyright: ignore[reportUnusedImport] SingletonAPIResource, # pyright: ignore[reportUnusedImport] CreateableAPIResource, # pyright: ignore[reportUnusedImport] UpdateableAPIResource, # pyright: ignore[reportUnusedImport] DeletableAPIResource, # pyright: ignore[reportUnusedImport] ListableAPIResource, # pyright: ignore[reportUnusedImport] SearchableAPIResource, # pyright: ignore[reportUnusedImport] VerifyMixin, # pyright: ignore[reportUnusedImport] APIResourceTestHelpers, # pyright: ignore[reportUnusedImport] custom_method, # pyright: ignore[reportDeprecated, reportUnusedImport] nested_resource_class_methods, # pyright: ignore[reportUnusedImport] ) def test_can_import_infrastructure() -> None: from stripe import ( StripeContext, # pyright: ignore[reportUnusedImport] StripeObject, # pyright: ignore[reportUnusedImport] ListObject, # pyright: ignore[reportUnusedImport] BaseAddress, # pyright: ignore[reportUnusedImport] ) from stripe.v2 import DeletedObject # pyright: ignore[reportUnusedImport] def test_can_import_app_info() -> None: from stripe import AppInfo # pyright: ignore[reportUnusedImport] def test_can_import_stripe_response() -> None: from stripe import ( StripeResponse, # pyright: ignore[reportUnusedImport] StripeResponseBase, # pyright: ignore[reportUnusedImport] StripeStreamResponse, # pyright: ignore[reportUnusedImport] StripeStreamResponseAsync, # pyright: ignore[reportUnusedImport] ) def test_can_import_oauth_members() -> None: from stripe import OAuth assert OAuth is not None def test_can_import_util() -> None: from stripe import convert_to_stripe_object # pyright: ignore[reportUnusedImport] def test_can_import_errors() -> None: # fmt: off from stripe import StripeError # pyright: ignore[reportUnusedImport] from stripe import APIError # pyright: ignore[reportUnusedImport] from stripe import OAuthErrorObject # pyright: ignore[reportUnusedImport] from stripe import APIConnectionError # pyright: ignore[reportUnusedImport] from stripe import StripeErrorWithParamCode # pyright: ignore[reportUnusedImport] from stripe import CardError # pyright: ignore[reportUnusedImport] from stripe import IdempotencyError # pyright: ignore[reportUnusedImport] from stripe import InvalidRequestError # pyright: ignore[reportUnusedImport] from stripe import AuthenticationError # pyright: ignore[reportUnusedImport] from stripe import PermissionError # pyright: ignore[reportUnusedImport] from stripe import RateLimitError # pyright: ignore[reportUnusedImport] from stripe import SignatureVerificationError # pyright: ignore[reportUnusedImport] # fmt: on def test_can_import_namespaced_resource() -> None: from stripe import tax as TaxPackage from stripe.tax import ( Calculation as CalculationFromStripe, ) assert stripe.tax is TaxPackage assert stripe.tax.Calculation is CalculationFromStripe assert stripe.tax.Calculation is TaxPackage.Calculation assert_output("stripe.tax is not None", "True") assert_output("stripe.tax.Calculation is not None", "True") def test_can_import_top_level_service() -> None: from stripe import AccountService as AccountServiceFromStripe assert stripe.AccountService == AccountServiceFromStripe assert_output("stripe.AccountService is not None", "True") def test_can_import_namespaced_service() -> None: from stripe import tax as TaxPackage from stripe.tax import ( CalculationService as CalculationServiceFromStripe, ) assert stripe.tax is TaxPackage assert stripe.tax.CalculationService is CalculationServiceFromStripe assert stripe.tax.CalculationService is TaxPackage.CalculationService assert_output("stripe.tax is not None", "True") assert_output("stripe.tax.CalculationService is not None", "True") def test_can_import_deeply_namespaced_service() -> None: from stripe import v2 as V2Package from stripe.v2 import billing as BillingPackage from stripe.v2.billing import ( MeterEventService as MeterEventServiceFromStripe, ) from stripe.v2.billing._meter_event_service import ( MeterEventService as MeterEventServiceFromModule, ) assert stripe.v2 is V2Package assert stripe.v2.billing is BillingPackage assert stripe.v2.billing.MeterEventService is MeterEventServiceFromStripe assert stripe.v2.billing.MeterEventService is MeterEventServiceFromModule assert_output("stripe.v2.billing.MeterEventService is not None", "True") assert_output("stripe.v2.billing.MeterEventService is not None", "True") def test_can_import_nested_params_types() -> None: from stripe.params.checkout import ( SessionCreateParamsLineItem, ) from stripe.params import AccountSessionCreateParamsComponents assert SessionCreateParamsLineItem is not None assert AccountSessionCreateParamsComponents is not None ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3890622 stripe-13.2.0/tests/test_generated_examples.py0000644000000000000000000544256415102753431016465 0ustar00# -*- coding: utf-8 -*- # File generated from our OpenAPI spec from __future__ import absolute_import, division, print_function import stripe from tests.http_client_mock import HTTPClientMock import io from stripe import StripeClient, _error import pytest class TestGeneratedExamples(object): def test_account_links_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/account_links", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.account_links.create( { "account": "acct_xxxxxxxxxxxxx", "refresh_url": "https://example.com/reauth", "return_url": "https://example.com/return", "type": "account_onboarding", } ) http_client_mock.assert_requested( "post", path="/v1/account_links", query_string="", api_base="https://api.stripe.com", post_data="account=acct_xxxxxxxxxxxxx&refresh_url=https%3A%2F%2Fexample.com%2Freauth&return_url=https%3A%2F%2Fexample.com%2Freturn&type=account_onboarding", ) def test_account_links_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.AccountLink.create( account="acct_xxxxxxxxxxxxx", refresh_url="https://example.com/reauth", return_url="https://example.com/return", type="account_onboarding", ) http_client_mock.assert_requested( "post", path="/v1/account_links", query_string="", post_data="account=acct_xxxxxxxxxxxxx&refresh_url=https%3A%2F%2Fexample.com%2Freauth&return_url=https%3A%2F%2Fexample.com%2Freturn&type=account_onboarding", ) def test_account_links_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/account_links", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.account_links.create( { "account": "acct_xxxxxxxxxxxxx", "refresh_url": "https://example.com/reauth", "return_url": "https://example.com/return", "type": "account_onboarding", } ) http_client_mock.assert_requested( "post", path="/v1/account_links", query_string="", api_base="https://api.stripe.com", post_data="account=acct_xxxxxxxxxxxxx&refresh_url=https%3A%2F%2Fexample.com%2Freauth&return_url=https%3A%2F%2Fexample.com%2Freturn&type=account_onboarding", ) @pytest.mark.anyio async def test_account_links_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.AccountLink.create_async( account="acct_xxxxxxxxxxxxx", refresh_url="https://example.com/reauth", return_url="https://example.com/return", type="account_onboarding", ) http_client_mock.assert_requested( "post", path="/v1/account_links", query_string="", post_data="account=acct_xxxxxxxxxxxxx&refresh_url=https%3A%2F%2Fexample.com%2Freauth&return_url=https%3A%2F%2Fexample.com%2Freturn&type=account_onboarding", ) @pytest.mark.anyio async def test_account_links_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/account_links", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.account_links.create_async( { "account": "acct_xxxxxxxxxxxxx", "refresh_url": "https://example.com/reauth", "return_url": "https://example.com/return", "type": "account_onboarding", } ) http_client_mock.assert_requested( "post", path="/v1/account_links", query_string="", api_base="https://api.stripe.com", post_data="account=acct_xxxxxxxxxxxxx&refresh_url=https%3A%2F%2Fexample.com%2Freauth&return_url=https%3A%2F%2Fexample.com%2Freturn&type=account_onboarding", ) def test_accounts_capabilities_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/capabilities", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.capabilities.list("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/capabilities", query_string="", api_base="https://api.stripe.com", ) def test_accounts_capabilities_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.list_capabilities("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/capabilities", query_string="", ) def test_accounts_capabilities_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/capabilities", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.capabilities.list("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/capabilities", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_capabilities_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.list_capabilities_async("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/capabilities", query_string="", ) @pytest.mark.anyio async def test_accounts_capabilities_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/capabilities", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.capabilities.list_async("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/capabilities", query_string="", api_base="https://api.stripe.com", ) def test_accounts_capabilities_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.capabilities.retrieve( "acct_xxxxxxxxxxxxx", "card_payments", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", query_string="", api_base="https://api.stripe.com", ) def test_accounts_capabilities_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.retrieve_capability( "acct_xxxxxxxxxxxxx", "card_payments", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", query_string="", ) def test_accounts_capabilities_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.capabilities.retrieve( "acct_xxxxxxxxxxxxx", "card_payments", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_capabilities_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.retrieve_capability_async( "acct_xxxxxxxxxxxxx", "card_payments", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", query_string="", ) @pytest.mark.anyio async def test_accounts_capabilities_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.capabilities.retrieve_async( "acct_xxxxxxxxxxxxx", "card_payments", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", query_string="", api_base="https://api.stripe.com", ) def test_accounts_capabilities_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.capabilities.update( "acct_xxxxxxxxxxxxx", "card_payments", {"requested": True}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", query_string="", api_base="https://api.stripe.com", post_data="requested=true", ) def test_accounts_capabilities_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.modify_capability( "acct_xxxxxxxxxxxxx", "card_payments", requested=True, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", query_string="", post_data="requested=true", ) def test_accounts_capabilities_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.capabilities.update( "acct_xxxxxxxxxxxxx", "card_payments", {"requested": True}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", query_string="", api_base="https://api.stripe.com", post_data="requested=true", ) @pytest.mark.anyio async def test_accounts_capabilities_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.modify_capability_async( "acct_xxxxxxxxxxxxx", "card_payments", requested=True, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", query_string="", post_data="requested=true", ) @pytest.mark.anyio async def test_accounts_capabilities_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.capabilities.update_async( "acct_xxxxxxxxxxxxx", "card_payments", {"requested": True}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/capabilities/card_payments", query_string="", api_base="https://api.stripe.com", post_data="requested=true", ) def test_accounts_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/accounts/acct_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.delete("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_delete(self, http_client_mock: HTTPClientMock) -> None: stripe.Account.delete("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx", query_string="", ) def test_accounts_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/accounts/acct_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.delete("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.delete_async("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_accounts_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/accounts/acct_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.delete_async("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_external_accounts_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.external_accounts.delete( "acct_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_external_accounts_delete( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.delete_external_account( "acct_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", query_string="", ) def test_accounts_external_accounts_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.external_accounts.delete( "acct_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_external_accounts_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.delete_external_account_async( "acct_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_accounts_external_accounts_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.external_accounts.delete_async( "acct_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_external_accounts_delete_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.external_accounts.delete( "acct_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_external_accounts_delete_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.delete_external_account( "acct_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", query_string="", ) def test_accounts_external_accounts_delete_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.external_accounts.delete( "acct_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_external_accounts_delete_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.delete_external_account_async( "acct_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_accounts_external_accounts_delete_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.external_accounts.delete_async( "acct_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_external_accounts_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.external_accounts.list( "acct_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="limit=3", api_base="https://api.stripe.com", ) def test_accounts_external_accounts_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.list_external_accounts( "acct_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="limit=3", ) def test_accounts_external_accounts_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.external_accounts.list( "acct_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_external_accounts_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.list_external_accounts_async( "acct_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="limit=3", ) @pytest.mark.anyio async def test_accounts_external_accounts_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.external_accounts.list_async( "acct_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="limit=3", api_base="https://api.stripe.com", ) def test_accounts_external_accounts_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", "object=bank_account&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.external_accounts.list( "acct_xxxxxxxxxxxxx", {"object": "bank_account", "limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="object=bank_account&limit=3", api_base="https://api.stripe.com", ) def test_accounts_external_accounts_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.list_external_accounts( "acct_xxxxxxxxxxxxx", object="bank_account", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="object=bank_account&limit=3", ) def test_accounts_external_accounts_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", "object=bank_account&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.external_accounts.list( "acct_xxxxxxxxxxxxx", {"object": "bank_account", "limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="object=bank_account&limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_external_accounts_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.list_external_accounts_async( "acct_xxxxxxxxxxxxx", object="bank_account", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="object=bank_account&limit=3", ) @pytest.mark.anyio async def test_accounts_external_accounts_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", "object=bank_account&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.external_accounts.list_async( "acct_xxxxxxxxxxxxx", {"object": "bank_account", "limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="object=bank_account&limit=3", api_base="https://api.stripe.com", ) def test_accounts_external_accounts_get_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", "object=card&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.external_accounts.list( "acct_xxxxxxxxxxxxx", {"object": "card", "limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="object=card&limit=3", api_base="https://api.stripe.com", ) def test_accounts_external_accounts_get_3( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.list_external_accounts( "acct_xxxxxxxxxxxxx", object="card", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="object=card&limit=3", ) def test_accounts_external_accounts_get_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", "object=card&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.external_accounts.list( "acct_xxxxxxxxxxxxx", {"object": "card", "limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="object=card&limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_external_accounts_get_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.list_external_accounts_async( "acct_xxxxxxxxxxxxx", object="card", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="object=card&limit=3", ) @pytest.mark.anyio async def test_accounts_external_accounts_get_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", "object=card&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.external_accounts.list_async( "acct_xxxxxxxxxxxxx", {"object": "card", "limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="object=card&limit=3", api_base="https://api.stripe.com", ) def test_accounts_external_accounts_get_4_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.external_accounts.retrieve( "acct_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_external_accounts_get_4( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.retrieve_external_account( "acct_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", query_string="", ) def test_accounts_external_accounts_get_4_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.external_accounts.retrieve( "acct_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_external_accounts_get_4_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.retrieve_external_account_async( "acct_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_accounts_external_accounts_get_4_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.external_accounts.retrieve_async( "acct_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_external_accounts_get_5_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.external_accounts.retrieve( "acct_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_external_accounts_get_5( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.retrieve_external_account( "acct_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", query_string="", ) def test_accounts_external_accounts_get_5_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.external_accounts.retrieve( "acct_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_external_accounts_get_5_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.retrieve_external_account_async( "acct_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_accounts_external_accounts_get_5_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.external_accounts.retrieve_async( "acct_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_external_accounts_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.external_accounts.create( "acct_xxxxxxxxxxxxx", {"external_account": "btok_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="", api_base="https://api.stripe.com", post_data="external_account=btok_xxxxxxxxxxxxx", ) def test_accounts_external_accounts_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.create_external_account( "acct_xxxxxxxxxxxxx", external_account="btok_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="", post_data="external_account=btok_xxxxxxxxxxxxx", ) def test_accounts_external_accounts_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.external_accounts.create( "acct_xxxxxxxxxxxxx", {"external_account": "btok_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="", api_base="https://api.stripe.com", post_data="external_account=btok_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_accounts_external_accounts_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.create_external_account_async( "acct_xxxxxxxxxxxxx", external_account="btok_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="", post_data="external_account=btok_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_accounts_external_accounts_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.external_accounts.create_async( "acct_xxxxxxxxxxxxx", {"external_account": "btok_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="", api_base="https://api.stripe.com", post_data="external_account=btok_xxxxxxxxxxxxx", ) def test_accounts_external_accounts_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.external_accounts.create( "acct_xxxxxxxxxxxxx", {"external_account": "tok_xxxx_debit"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="", api_base="https://api.stripe.com", post_data="external_account=tok_xxxx_debit", ) def test_accounts_external_accounts_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.create_external_account( "acct_xxxxxxxxxxxxx", external_account="tok_xxxx_debit", ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="", post_data="external_account=tok_xxxx_debit", ) def test_accounts_external_accounts_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.external_accounts.create( "acct_xxxxxxxxxxxxx", {"external_account": "tok_xxxx_debit"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="", api_base="https://api.stripe.com", post_data="external_account=tok_xxxx_debit", ) @pytest.mark.anyio async def test_accounts_external_accounts_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.create_external_account_async( "acct_xxxxxxxxxxxxx", external_account="tok_xxxx_debit", ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="", post_data="external_account=tok_xxxx_debit", ) @pytest.mark.anyio async def test_accounts_external_accounts_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.external_accounts.create_async( "acct_xxxxxxxxxxxxx", {"external_account": "tok_xxxx_debit"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts", query_string="", api_base="https://api.stripe.com", post_data="external_account=tok_xxxx_debit", ) def test_accounts_external_accounts_post_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.external_accounts.update( "acct_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_accounts_external_accounts_post_3( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.modify_external_account( "acct_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_accounts_external_accounts_post_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.external_accounts.update( "acct_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_accounts_external_accounts_post_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.modify_external_account_async( "acct_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_accounts_external_accounts_post_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.external_accounts.update_async( "acct_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_accounts_external_accounts_post_4_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.external_accounts.update( "acct_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_accounts_external_accounts_post_4( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.modify_external_account( "acct_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_accounts_external_accounts_post_4_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.external_accounts.update( "acct_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_accounts_external_accounts_post_4_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.modify_external_account_async( "acct_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_accounts_external_accounts_post_4_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.external_accounts.update_async( "acct_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/external_accounts/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_accounts_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/accounts", query_string="limit=3", api_base="https://api.stripe.com", ) def test_accounts_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Account.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/accounts", query_string="limit=3", ) def test_accounts_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/accounts", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/accounts", query_string="limit=3", ) @pytest.mark.anyio async def test_accounts_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/accounts", query_string="limit=3", api_base="https://api.stripe.com", ) def test_accounts_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.retrieve("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Account.retrieve("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx", query_string="", ) def test_accounts_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.retrieve("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.retrieve_async("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_accounts_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.retrieve_async("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_login_links_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/login_links", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.login_links.create("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/login_links", query_string="", api_base="https://api.stripe.com", ) def test_accounts_login_links_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.create_login_link("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/login_links", query_string="", ) def test_accounts_login_links_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/login_links", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.login_links.create("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/login_links", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_login_links_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.create_login_link_async("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/login_links", query_string="", ) @pytest.mark.anyio async def test_accounts_login_links_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/login_links", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.login_links.create_async("acct_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/login_links", query_string="", api_base="https://api.stripe.com", ) def test_accounts_persons_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.persons.delete( "acct_xxxxxxxxxxxxx", "person_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_persons_delete( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.delete_person( "acct_xxxxxxxxxxxxx", "person_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", query_string="", ) def test_accounts_persons_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.persons.delete( "acct_xxxxxxxxxxxxx", "person_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_persons_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.delete_person_async( "acct_xxxxxxxxxxxxx", "person_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_accounts_persons_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.persons.delete_async( "acct_xxxxxxxxxxxxx", "person_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_persons_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/persons", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.persons.list( "acct_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons", query_string="limit=3", api_base="https://api.stripe.com", ) def test_accounts_persons_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.persons( "acct_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons", query_string="limit=3", ) def test_accounts_persons_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/persons", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.persons.list( "acct_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_persons_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.persons_async( "acct_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons", query_string="limit=3", ) @pytest.mark.anyio async def test_accounts_persons_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/persons", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.persons.list_async( "acct_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons", query_string="limit=3", api_base="https://api.stripe.com", ) def test_accounts_persons_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.persons.retrieve( "acct_xxxxxxxxxxxxx", "person_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_persons_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.retrieve_person( "acct_xxxxxxxxxxxxx", "person_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", query_string="", ) def test_accounts_persons_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.persons.retrieve( "acct_xxxxxxxxxxxxx", "person_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_accounts_persons_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.retrieve_person_async( "acct_xxxxxxxxxxxxx", "person_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_accounts_persons_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.persons.retrieve_async( "acct_xxxxxxxxxxxxx", "person_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_accounts_persons_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/persons", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.persons.create( "acct_xxxxxxxxxxxxx", {"first_name": "Jane", "last_name": "Diaz"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons", query_string="", api_base="https://api.stripe.com", post_data="first_name=Jane&last_name=Diaz", ) def test_accounts_persons_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.create_person( "acct_xxxxxxxxxxxxx", first_name="Jane", last_name="Diaz", ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons", query_string="", post_data="first_name=Jane&last_name=Diaz", ) def test_accounts_persons_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/persons", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.persons.create( "acct_xxxxxxxxxxxxx", {"first_name": "Jane", "last_name": "Diaz"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons", query_string="", api_base="https://api.stripe.com", post_data="first_name=Jane&last_name=Diaz", ) @pytest.mark.anyio async def test_accounts_persons_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.create_person_async( "acct_xxxxxxxxxxxxx", first_name="Jane", last_name="Diaz", ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons", query_string="", post_data="first_name=Jane&last_name=Diaz", ) @pytest.mark.anyio async def test_accounts_persons_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/persons", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.persons.create_async( "acct_xxxxxxxxxxxxx", {"first_name": "Jane", "last_name": "Diaz"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons", query_string="", api_base="https://api.stripe.com", post_data="first_name=Jane&last_name=Diaz", ) def test_accounts_persons_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.persons.update( "acct_xxxxxxxxxxxxx", "person_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_accounts_persons_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.modify_person( "acct_xxxxxxxxxxxxx", "person_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_accounts_persons_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.persons.update( "acct_xxxxxxxxxxxxx", "person_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_accounts_persons_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.modify_person_async( "acct_xxxxxxxxxxxxx", "person_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_accounts_persons_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.persons.update_async( "acct_xxxxxxxxxxxxx", "person_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/persons/person_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_accounts_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.create( { "type": "custom", "country": "US", "email": "jenny.rosen@example.com", "capabilities": { "card_payments": {"requested": True}, "transfers": {"requested": True}, }, } ) http_client_mock.assert_requested( "post", path="/v1/accounts", query_string="", api_base="https://api.stripe.com", post_data="type=custom&country=US&email=jenny.rosen%40example.com&capabilities[card_payments][requested]=true&capabilities[transfers][requested]=true", ) def test_accounts_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Account.create( type="custom", country="US", email="jenny.rosen@example.com", capabilities={ "card_payments": {"requested": True}, "transfers": {"requested": True}, }, ) http_client_mock.assert_requested( "post", path="/v1/accounts", query_string="", post_data="type=custom&country=US&email=jenny.rosen%40example.com&capabilities[card_payments][requested]=true&capabilities[transfers][requested]=true", ) def test_accounts_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.create( { "type": "custom", "country": "US", "email": "jenny.rosen@example.com", "capabilities": { "card_payments": {"requested": True}, "transfers": {"requested": True}, }, } ) http_client_mock.assert_requested( "post", path="/v1/accounts", query_string="", api_base="https://api.stripe.com", post_data="type=custom&country=US&email=jenny.rosen%40example.com&capabilities[card_payments][requested]=true&capabilities[transfers][requested]=true", ) @pytest.mark.anyio async def test_accounts_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.create_async( type="custom", country="US", email="jenny.rosen@example.com", capabilities={ "card_payments": {"requested": True}, "transfers": {"requested": True}, }, ) http_client_mock.assert_requested( "post", path="/v1/accounts", query_string="", post_data="type=custom&country=US&email=jenny.rosen%40example.com&capabilities[card_payments][requested]=true&capabilities[transfers][requested]=true", ) @pytest.mark.anyio async def test_accounts_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.create_async( { "type": "custom", "country": "US", "email": "jenny.rosen@example.com", "capabilities": { "card_payments": {"requested": True}, "transfers": {"requested": True}, }, } ) http_client_mock.assert_requested( "post", path="/v1/accounts", query_string="", api_base="https://api.stripe.com", post_data="type=custom&country=US&email=jenny.rosen%40example.com&capabilities[card_payments][requested]=true&capabilities[transfers][requested]=true", ) def test_accounts_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.update( "acct_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_accounts_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Account.modify( "acct_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_accounts_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.update( "acct_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_accounts_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.modify_async( "acct_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_accounts_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.update_async( "acct_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_accounts_reject_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/reject", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.accounts.reject( "acct_xxxxxxxxxxxxx", {"reason": "fraud"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/reject", query_string="", api_base="https://api.stripe.com", post_data="reason=fraud", ) def test_accounts_reject_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Account.reject( "acct_xxxxxxxxxxxxx", reason="fraud", ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/reject", query_string="", post_data="reason=fraud", ) def test_accounts_reject_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/reject", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.accounts.reject( "acct_xxxxxxxxxxxxx", {"reason": "fraud"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/reject", query_string="", api_base="https://api.stripe.com", post_data="reason=fraud", ) @pytest.mark.anyio async def test_accounts_reject_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Account.reject_async( "acct_xxxxxxxxxxxxx", reason="fraud", ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/reject", query_string="", post_data="reason=fraud", ) @pytest.mark.anyio async def test_accounts_reject_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/accounts/acct_xxxxxxxxxxxxx/reject", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.accounts.reject_async( "acct_xxxxxxxxxxxxx", {"reason": "fraud"}, ) http_client_mock.assert_requested( "post", path="/v1/accounts/acct_xxxxxxxxxxxxx/reject", query_string="", api_base="https://api.stripe.com", post_data="reason=fraud", ) def test_application_fees_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/application_fees", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.application_fees.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/application_fees", query_string="limit=3", api_base="https://api.stripe.com", ) def test_application_fees_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.ApplicationFee.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/application_fees", query_string="limit=3", ) def test_application_fees_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/application_fees", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.application_fees.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/application_fees", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_application_fees_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.ApplicationFee.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/application_fees", query_string="limit=3", ) @pytest.mark.anyio async def test_application_fees_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/application_fees", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.application_fees.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/application_fees", query_string="limit=3", api_base="https://api.stripe.com", ) def test_application_fees_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/application_fees/fee_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.application_fees.retrieve("fee_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/application_fees/fee_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_application_fees_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.ApplicationFee.retrieve("fee_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/application_fees/fee_xxxxxxxxxxxxx", query_string="", ) def test_application_fees_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/application_fees/fee_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.application_fees.retrieve("fee_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/application_fees/fee_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_application_fees_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.ApplicationFee.retrieve_async("fee_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/application_fees/fee_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_application_fees_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/application_fees/fee_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.application_fees.retrieve_async("fee_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/application_fees/fee_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_application_fees_refunds_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.application_fees.refunds.list( "fee_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", query_string="limit=3", api_base="https://api.stripe.com", ) def test_application_fees_refunds_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.ApplicationFee.list_refunds( "fee_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", query_string="limit=3", ) def test_application_fees_refunds_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.application_fees.refunds.list( "fee_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_application_fees_refunds_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.ApplicationFee.list_refunds_async( "fee_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", query_string="limit=3", ) @pytest.mark.anyio async def test_application_fees_refunds_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.application_fees.refunds.list_async( "fee_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", query_string="limit=3", api_base="https://api.stripe.com", ) def test_application_fees_refunds_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.application_fees.refunds.retrieve( "fee_xxxxxxxxxxxxx", "fr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_application_fees_refunds_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.ApplicationFee.retrieve_refund( "fee_xxxxxxxxxxxxx", "fr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", query_string="", ) def test_application_fees_refunds_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.application_fees.refunds.retrieve( "fee_xxxxxxxxxxxxx", "fr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_application_fees_refunds_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.ApplicationFee.retrieve_refund_async( "fee_xxxxxxxxxxxxx", "fr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_application_fees_refunds_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.application_fees.refunds.retrieve_async( "fee_xxxxxxxxxxxxx", "fr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_application_fees_refunds_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.application_fees.refunds.create("fee_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", query_string="", api_base="https://api.stripe.com", ) def test_application_fees_refunds_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.ApplicationFee.create_refund("fee_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", query_string="", ) def test_application_fees_refunds_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.application_fees.refunds.create("fee_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_application_fees_refunds_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.ApplicationFee.create_refund_async("fee_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", query_string="", ) @pytest.mark.anyio async def test_application_fees_refunds_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.application_fees.refunds.create_async( "fee_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds", query_string="", api_base="https://api.stripe.com", ) def test_application_fees_refunds_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.application_fees.refunds.update( "fee_xxxxxxxxxxxxx", "fr_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_application_fees_refunds_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.ApplicationFee.modify_refund( "fee_xxxxxxxxxxxxx", "fr_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_application_fees_refunds_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.application_fees.refunds.update( "fee_xxxxxxxxxxxxx", "fr_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_application_fees_refunds_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.ApplicationFee.modify_refund_async( "fee_xxxxxxxxxxxxx", "fr_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_application_fees_refunds_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.application_fees.refunds.update_async( "fee_xxxxxxxxxxxxx", "fr_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/application_fees/fee_xxxxxxxxxxxxx/refunds/fr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_apps_secrets_delete_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/apps/secrets/delete", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.apps.secrets.delete_where( { "name": "my-api-key", "scope": {"type": "account"}, } ) http_client_mock.assert_requested( "post", path="/v1/apps/secrets/delete", query_string="", api_base="https://api.stripe.com", post_data="name=my-api-key&scope[type]=account", ) def test_apps_secrets_delete_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.apps.Secret.delete_where( name="my-api-key", scope={"type": "account"}, ) http_client_mock.assert_requested( "post", path="/v1/apps/secrets/delete", query_string="", post_data="name=my-api-key&scope[type]=account", ) def test_apps_secrets_delete_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/apps/secrets/delete", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.apps.secrets.delete_where( { "name": "my-api-key", "scope": {"type": "account"}, } ) http_client_mock.assert_requested( "post", path="/v1/apps/secrets/delete", query_string="", api_base="https://api.stripe.com", post_data="name=my-api-key&scope[type]=account", ) @pytest.mark.anyio async def test_apps_secrets_delete_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.apps.Secret.delete_where_async( name="my-api-key", scope={"type": "account"}, ) http_client_mock.assert_requested( "post", path="/v1/apps/secrets/delete", query_string="", post_data="name=my-api-key&scope[type]=account", ) @pytest.mark.anyio async def test_apps_secrets_delete_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/apps/secrets/delete", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.apps.secrets.delete_where_async( { "name": "my-api-key", "scope": {"type": "account"}, } ) http_client_mock.assert_requested( "post", path="/v1/apps/secrets/delete", query_string="", api_base="https://api.stripe.com", post_data="name=my-api-key&scope[type]=account", ) def test_apps_secrets_find_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/apps/secrets/find", "name=sec_123&scope[type]=account", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.apps.secrets.find( { "name": "sec_123", "scope": {"type": "account"}, } ) http_client_mock.assert_requested( "get", path="/v1/apps/secrets/find", query_string="name=sec_123&scope[type]=account", api_base="https://api.stripe.com", ) def test_apps_secrets_find_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.apps.Secret.find( name="sec_123", scope={"type": "account"}, ) http_client_mock.assert_requested( "get", path="/v1/apps/secrets/find", query_string="name=sec_123&scope[type]=account", ) def test_apps_secrets_find_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/apps/secrets/find", "name=sec_123&scope[type]=account", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.apps.secrets.find( { "name": "sec_123", "scope": {"type": "account"}, } ) http_client_mock.assert_requested( "get", path="/v1/apps/secrets/find", query_string="name=sec_123&scope[type]=account", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_apps_secrets_find_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.apps.Secret.find_async( name="sec_123", scope={"type": "account"}, ) http_client_mock.assert_requested( "get", path="/v1/apps/secrets/find", query_string="name=sec_123&scope[type]=account", ) @pytest.mark.anyio async def test_apps_secrets_find_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/apps/secrets/find", "name=sec_123&scope[type]=account", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.apps.secrets.find_async( { "name": "sec_123", "scope": {"type": "account"}, } ) http_client_mock.assert_requested( "get", path="/v1/apps/secrets/find", query_string="name=sec_123&scope[type]=account", api_base="https://api.stripe.com", ) def test_apps_secrets_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/apps/secrets", "scope[type]=account&limit=2", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.apps.secrets.list({"scope": {"type": "account"}, "limit": 2}) http_client_mock.assert_requested( "get", path="/v1/apps/secrets", query_string="scope[type]=account&limit=2", api_base="https://api.stripe.com", ) def test_apps_secrets_get(self, http_client_mock: HTTPClientMock) -> None: stripe.apps.Secret.list( scope={"type": "account"}, limit=2, ) http_client_mock.assert_requested( "get", path="/v1/apps/secrets", query_string="scope[type]=account&limit=2", ) def test_apps_secrets_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/apps/secrets", "scope[type]=account&limit=2", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.apps.secrets.list({"scope": {"type": "account"}, "limit": 2}) http_client_mock.assert_requested( "get", path="/v1/apps/secrets", query_string="scope[type]=account&limit=2", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_apps_secrets_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.apps.Secret.list_async( scope={"type": "account"}, limit=2, ) http_client_mock.assert_requested( "get", path="/v1/apps/secrets", query_string="scope[type]=account&limit=2", ) @pytest.mark.anyio async def test_apps_secrets_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/apps/secrets", "scope[type]=account&limit=2", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.apps.secrets.list_async( { "scope": {"type": "account"}, "limit": 2, } ) http_client_mock.assert_requested( "get", path="/v1/apps/secrets", query_string="scope[type]=account&limit=2", api_base="https://api.stripe.com", ) def test_apps_secrets_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/apps/secrets", "scope[type]=account&limit=2", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.apps.secrets.list({"scope": {"type": "account"}, "limit": 2}) http_client_mock.assert_requested( "get", path="/v1/apps/secrets", query_string="scope[type]=account&limit=2", api_base="https://api.stripe.com", ) def test_apps_secrets_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.apps.Secret.list( scope={"type": "account"}, limit=2, ) http_client_mock.assert_requested( "get", path="/v1/apps/secrets", query_string="scope[type]=account&limit=2", ) def test_apps_secrets_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/apps/secrets", "scope[type]=account&limit=2", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.apps.secrets.list({"scope": {"type": "account"}, "limit": 2}) http_client_mock.assert_requested( "get", path="/v1/apps/secrets", query_string="scope[type]=account&limit=2", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_apps_secrets_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.apps.Secret.list_async( scope={"type": "account"}, limit=2, ) http_client_mock.assert_requested( "get", path="/v1/apps/secrets", query_string="scope[type]=account&limit=2", ) @pytest.mark.anyio async def test_apps_secrets_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/apps/secrets", "scope[type]=account&limit=2", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.apps.secrets.list_async( { "scope": {"type": "account"}, "limit": 2, } ) http_client_mock.assert_requested( "get", path="/v1/apps/secrets", query_string="scope[type]=account&limit=2", api_base="https://api.stripe.com", ) def test_apps_secrets_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/apps/secrets", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.apps.secrets.create( { "name": "sec_123", "payload": "very secret string", "scope": {"type": "account"}, } ) http_client_mock.assert_requested( "post", path="/v1/apps/secrets", query_string="", api_base="https://api.stripe.com", post_data="name=sec_123&payload=very%20secret%20string&scope[type]=account", ) def test_apps_secrets_post(self, http_client_mock: HTTPClientMock) -> None: stripe.apps.Secret.create( name="sec_123", payload="very secret string", scope={"type": "account"}, ) http_client_mock.assert_requested( "post", path="/v1/apps/secrets", query_string="", post_data="name=sec_123&payload=very%20secret%20string&scope[type]=account", ) def test_apps_secrets_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/apps/secrets", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.apps.secrets.create( { "name": "sec_123", "payload": "very secret string", "scope": {"type": "account"}, } ) http_client_mock.assert_requested( "post", path="/v1/apps/secrets", query_string="", api_base="https://api.stripe.com", post_data="name=sec_123&payload=very%20secret%20string&scope[type]=account", ) @pytest.mark.anyio async def test_apps_secrets_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.apps.Secret.create_async( name="sec_123", payload="very secret string", scope={"type": "account"}, ) http_client_mock.assert_requested( "post", path="/v1/apps/secrets", query_string="", post_data="name=sec_123&payload=very%20secret%20string&scope[type]=account", ) @pytest.mark.anyio async def test_apps_secrets_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/apps/secrets", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.apps.secrets.create_async( { "name": "sec_123", "payload": "very secret string", "scope": {"type": "account"}, } ) http_client_mock.assert_requested( "post", path="/v1/apps/secrets", query_string="", api_base="https://api.stripe.com", post_data="name=sec_123&payload=very%20secret%20string&scope[type]=account", ) def test_apps_secrets_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/apps/secrets", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.apps.secrets.create( { "name": "my-api-key", "payload": "secret_key_xxxxxx", "scope": {"type": "account"}, } ) http_client_mock.assert_requested( "post", path="/v1/apps/secrets", query_string="", api_base="https://api.stripe.com", post_data="name=my-api-key&payload=secret_key_xxxxxx&scope[type]=account", ) def test_apps_secrets_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.apps.Secret.create( name="my-api-key", payload="secret_key_xxxxxx", scope={"type": "account"}, ) http_client_mock.assert_requested( "post", path="/v1/apps/secrets", query_string="", post_data="name=my-api-key&payload=secret_key_xxxxxx&scope[type]=account", ) def test_apps_secrets_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/apps/secrets", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.apps.secrets.create( { "name": "my-api-key", "payload": "secret_key_xxxxxx", "scope": {"type": "account"}, } ) http_client_mock.assert_requested( "post", path="/v1/apps/secrets", query_string="", api_base="https://api.stripe.com", post_data="name=my-api-key&payload=secret_key_xxxxxx&scope[type]=account", ) @pytest.mark.anyio async def test_apps_secrets_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.apps.Secret.create_async( name="my-api-key", payload="secret_key_xxxxxx", scope={"type": "account"}, ) http_client_mock.assert_requested( "post", path="/v1/apps/secrets", query_string="", post_data="name=my-api-key&payload=secret_key_xxxxxx&scope[type]=account", ) @pytest.mark.anyio async def test_apps_secrets_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/apps/secrets", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.apps.secrets.create_async( { "name": "my-api-key", "payload": "secret_key_xxxxxx", "scope": {"type": "account"}, } ) http_client_mock.assert_requested( "post", path="/v1/apps/secrets", query_string="", api_base="https://api.stripe.com", post_data="name=my-api-key&payload=secret_key_xxxxxx&scope[type]=account", ) def test_balance_transactions_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/balance_transactions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.balance_transactions.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/balance_transactions", query_string="limit=3", api_base="https://api.stripe.com", ) def test_balance_transactions_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.BalanceTransaction.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/balance_transactions", query_string="limit=3", ) def test_balance_transactions_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/balance_transactions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.balance_transactions.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/balance_transactions", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_balance_transactions_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.BalanceTransaction.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/balance_transactions", query_string="limit=3", ) @pytest.mark.anyio async def test_balance_transactions_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/balance_transactions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.balance_transactions.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/balance_transactions", query_string="limit=3", api_base="https://api.stripe.com", ) def test_balance_transactions_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/balance_transactions/txn_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.balance_transactions.retrieve("txn_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/balance_transactions/txn_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_balance_transactions_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.BalanceTransaction.retrieve("txn_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/balance_transactions/txn_xxxxxxxxxxxxx", query_string="", ) def test_balance_transactions_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/balance_transactions/txn_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.balance_transactions.retrieve("txn_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/balance_transactions/txn_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_balance_transactions_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.BalanceTransaction.retrieve_async("txn_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/balance_transactions/txn_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_balance_transactions_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/balance_transactions/txn_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.balance_transactions.retrieve_async( "txn_xxxxxxxxxxxxx" ) http_client_mock.assert_requested( "get", path="/v1/balance_transactions/txn_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_billing_portal_configurations_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/billing_portal/configurations", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.billing_portal.configurations.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/billing_portal/configurations", query_string="limit=3", api_base="https://api.stripe.com", ) def test_billing_portal_configurations_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.billing_portal.Configuration.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/billing_portal/configurations", query_string="limit=3", ) def test_billing_portal_configurations_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/billing_portal/configurations", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.billing_portal.configurations.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/billing_portal/configurations", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_billing_portal_configurations_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.billing_portal.Configuration.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/billing_portal/configurations", query_string="limit=3", ) @pytest.mark.anyio async def test_billing_portal_configurations_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/billing_portal/configurations", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.billing_portal.configurations.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/billing_portal/configurations", query_string="limit=3", api_base="https://api.stripe.com", ) def test_billing_portal_configurations_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.billing_portal.configurations.retrieve("bpc_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_billing_portal_configurations_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.billing_portal.Configuration.retrieve("bpc_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", query_string="", ) def test_billing_portal_configurations_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.billing_portal.configurations.retrieve("bpc_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_billing_portal_configurations_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.billing_portal.Configuration.retrieve_async( "bpc_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_billing_portal_configurations_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.billing_portal.configurations.retrieve_async( "bpc_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_billing_portal_configurations_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/billing_portal/configurations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.billing_portal.configurations.create( { "features": { "customer_update": { "allowed_updates": ["email", "tax_id"], "enabled": True, }, "invoice_history": {"enabled": True}, }, "business_profile": { "privacy_policy_url": "https://example.com/privacy", "terms_of_service_url": "https://example.com/terms", }, } ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/configurations", query_string="", api_base="https://api.stripe.com", post_data="features[customer_update][allowed_updates][0]=email&features[customer_update][allowed_updates][1]=tax_id&features[customer_update][enabled]=true&features[invoice_history][enabled]=true&business_profile[privacy_policy_url]=https%3A%2F%2Fexample.com%2Fprivacy&business_profile[terms_of_service_url]=https%3A%2F%2Fexample.com%2Fterms", ) def test_billing_portal_configurations_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.billing_portal.Configuration.create( features={ "customer_update": { "allowed_updates": ["email", "tax_id"], "enabled": True, }, "invoice_history": {"enabled": True}, }, business_profile={ "privacy_policy_url": "https://example.com/privacy", "terms_of_service_url": "https://example.com/terms", }, ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/configurations", query_string="", post_data="features[customer_update][allowed_updates][0]=email&features[customer_update][allowed_updates][1]=tax_id&features[customer_update][enabled]=true&features[invoice_history][enabled]=true&business_profile[privacy_policy_url]=https%3A%2F%2Fexample.com%2Fprivacy&business_profile[terms_of_service_url]=https%3A%2F%2Fexample.com%2Fterms", ) def test_billing_portal_configurations_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/billing_portal/configurations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.billing_portal.configurations.create( { "features": { "customer_update": { "allowed_updates": ["email", "tax_id"], "enabled": True, }, "invoice_history": {"enabled": True}, }, "business_profile": { "privacy_policy_url": "https://example.com/privacy", "terms_of_service_url": "https://example.com/terms", }, } ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/configurations", query_string="", api_base="https://api.stripe.com", post_data="features[customer_update][allowed_updates][0]=email&features[customer_update][allowed_updates][1]=tax_id&features[customer_update][enabled]=true&features[invoice_history][enabled]=true&business_profile[privacy_policy_url]=https%3A%2F%2Fexample.com%2Fprivacy&business_profile[terms_of_service_url]=https%3A%2F%2Fexample.com%2Fterms", ) @pytest.mark.anyio async def test_billing_portal_configurations_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.billing_portal.Configuration.create_async( features={ "customer_update": { "allowed_updates": ["email", "tax_id"], "enabled": True, }, "invoice_history": {"enabled": True}, }, business_profile={ "privacy_policy_url": "https://example.com/privacy", "terms_of_service_url": "https://example.com/terms", }, ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/configurations", query_string="", post_data="features[customer_update][allowed_updates][0]=email&features[customer_update][allowed_updates][1]=tax_id&features[customer_update][enabled]=true&features[invoice_history][enabled]=true&business_profile[privacy_policy_url]=https%3A%2F%2Fexample.com%2Fprivacy&business_profile[terms_of_service_url]=https%3A%2F%2Fexample.com%2Fterms", ) @pytest.mark.anyio async def test_billing_portal_configurations_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/billing_portal/configurations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.billing_portal.configurations.create_async( { "features": { "customer_update": { "allowed_updates": ["email", "tax_id"], "enabled": True, }, "invoice_history": {"enabled": True}, }, "business_profile": { "privacy_policy_url": "https://example.com/privacy", "terms_of_service_url": "https://example.com/terms", }, } ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/configurations", query_string="", api_base="https://api.stripe.com", post_data="features[customer_update][allowed_updates][0]=email&features[customer_update][allowed_updates][1]=tax_id&features[customer_update][enabled]=true&features[invoice_history][enabled]=true&business_profile[privacy_policy_url]=https%3A%2F%2Fexample.com%2Fprivacy&business_profile[terms_of_service_url]=https%3A%2F%2Fexample.com%2Fterms", ) def test_billing_portal_configurations_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.billing_portal.configurations.update( "bpc_xxxxxxxxxxxxx", { "business_profile": { "privacy_policy_url": "https://example.com/privacy", "terms_of_service_url": "https://example.com/terms", }, }, ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="business_profile[privacy_policy_url]=https%3A%2F%2Fexample.com%2Fprivacy&business_profile[terms_of_service_url]=https%3A%2F%2Fexample.com%2Fterms", ) def test_billing_portal_configurations_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.billing_portal.Configuration.modify( "bpc_xxxxxxxxxxxxx", business_profile={ "privacy_policy_url": "https://example.com/privacy", "terms_of_service_url": "https://example.com/terms", }, ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", query_string="", post_data="business_profile[privacy_policy_url]=https%3A%2F%2Fexample.com%2Fprivacy&business_profile[terms_of_service_url]=https%3A%2F%2Fexample.com%2Fterms", ) def test_billing_portal_configurations_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.billing_portal.configurations.update( "bpc_xxxxxxxxxxxxx", { "business_profile": { "privacy_policy_url": "https://example.com/privacy", "terms_of_service_url": "https://example.com/terms", }, }, ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="business_profile[privacy_policy_url]=https%3A%2F%2Fexample.com%2Fprivacy&business_profile[terms_of_service_url]=https%3A%2F%2Fexample.com%2Fterms", ) @pytest.mark.anyio async def test_billing_portal_configurations_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.billing_portal.Configuration.modify_async( "bpc_xxxxxxxxxxxxx", business_profile={ "privacy_policy_url": "https://example.com/privacy", "terms_of_service_url": "https://example.com/terms", }, ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", query_string="", post_data="business_profile[privacy_policy_url]=https%3A%2F%2Fexample.com%2Fprivacy&business_profile[terms_of_service_url]=https%3A%2F%2Fexample.com%2Fterms", ) @pytest.mark.anyio async def test_billing_portal_configurations_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.billing_portal.configurations.update_async( "bpc_xxxxxxxxxxxxx", { "business_profile": { "privacy_policy_url": "https://example.com/privacy", "terms_of_service_url": "https://example.com/terms", }, }, ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/configurations/bpc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="business_profile[privacy_policy_url]=https%3A%2F%2Fexample.com%2Fprivacy&business_profile[terms_of_service_url]=https%3A%2F%2Fexample.com%2Fterms", ) def test_billing_portal_sessions_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/billing_portal/sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.billing_portal.sessions.create( { "customer": "cus_xxxxxxxxxxxxx", "return_url": "https://example.com/account", } ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/sessions", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx&return_url=https%3A%2F%2Fexample.com%2Faccount", ) def test_billing_portal_sessions_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.billing_portal.Session.create( customer="cus_xxxxxxxxxxxxx", return_url="https://example.com/account", ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/sessions", query_string="", post_data="customer=cus_xxxxxxxxxxxxx&return_url=https%3A%2F%2Fexample.com%2Faccount", ) def test_billing_portal_sessions_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/billing_portal/sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.billing_portal.sessions.create( { "customer": "cus_xxxxxxxxxxxxx", "return_url": "https://example.com/account", } ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/sessions", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx&return_url=https%3A%2F%2Fexample.com%2Faccount", ) @pytest.mark.anyio async def test_billing_portal_sessions_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.billing_portal.Session.create_async( customer="cus_xxxxxxxxxxxxx", return_url="https://example.com/account", ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/sessions", query_string="", post_data="customer=cus_xxxxxxxxxxxxx&return_url=https%3A%2F%2Fexample.com%2Faccount", ) @pytest.mark.anyio async def test_billing_portal_sessions_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/billing_portal/sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.billing_portal.sessions.create_async( { "customer": "cus_xxxxxxxxxxxxx", "return_url": "https://example.com/account", } ) http_client_mock.assert_requested( "post", path="/v1/billing_portal/sessions", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx&return_url=https%3A%2F%2Fexample.com%2Faccount", ) def test_charges_capture_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/charges/ch_xxxxxxxxxxxxx/capture", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.charges.capture("ch_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/charges/ch_xxxxxxxxxxxxx/capture", query_string="", api_base="https://api.stripe.com", ) def test_charges_capture_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Charge.capture("ch_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/charges/ch_xxxxxxxxxxxxx/capture", query_string="", ) def test_charges_capture_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/charges/ch_xxxxxxxxxxxxx/capture", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.charges.capture("ch_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/charges/ch_xxxxxxxxxxxxx/capture", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_charges_capture_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Charge.capture_async("ch_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/charges/ch_xxxxxxxxxxxxx/capture", query_string="", ) @pytest.mark.anyio async def test_charges_capture_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/charges/ch_xxxxxxxxxxxxx/capture", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.charges.capture_async("ch_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/charges/ch_xxxxxxxxxxxxx/capture", query_string="", api_base="https://api.stripe.com", ) def test_charges_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/charges", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.charges.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/charges", query_string="limit=3", api_base="https://api.stripe.com", ) def test_charges_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Charge.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/charges", query_string="limit=3", ) def test_charges_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/charges", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.charges.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/charges", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_charges_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Charge.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/charges", query_string="limit=3", ) @pytest.mark.anyio async def test_charges_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/charges", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.charges.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/charges", query_string="limit=3", api_base="https://api.stripe.com", ) def test_charges_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/charges/ch_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.charges.retrieve("ch_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/charges/ch_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_charges_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Charge.retrieve("ch_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/charges/ch_xxxxxxxxxxxxx", query_string="", ) def test_charges_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/charges/ch_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.charges.retrieve("ch_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/charges/ch_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_charges_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Charge.retrieve_async("ch_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/charges/ch_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_charges_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/charges/ch_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.charges.retrieve_async("ch_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/charges/ch_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_charges_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/charges", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.charges.create( { "amount": 2000, "currency": "usd", "source": "tok_xxxx", "description": "My First Test Charge (created for API docs at https://www.stripe.com/docs/api)", } ) http_client_mock.assert_requested( "post", path="/v1/charges", query_string="", api_base="https://api.stripe.com", post_data="amount=2000¤cy=usd&source=tok_xxxx&description=My%20First%20Test%20Charge%20%28created%20for%20API%20docs%20at%20https%3A%2F%2Fwww.stripe.com%2Fdocs%2Fapi%29", ) def test_charges_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Charge.create( amount=2000, currency="usd", source="tok_xxxx", description="My First Test Charge (created for API docs at https://www.stripe.com/docs/api)", ) http_client_mock.assert_requested( "post", path="/v1/charges", query_string="", post_data="amount=2000¤cy=usd&source=tok_xxxx&description=My%20First%20Test%20Charge%20%28created%20for%20API%20docs%20at%20https%3A%2F%2Fwww.stripe.com%2Fdocs%2Fapi%29", ) def test_charges_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/charges", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.charges.create( { "amount": 2000, "currency": "usd", "source": "tok_xxxx", "description": "My First Test Charge (created for API docs at https://www.stripe.com/docs/api)", } ) http_client_mock.assert_requested( "post", path="/v1/charges", query_string="", api_base="https://api.stripe.com", post_data="amount=2000¤cy=usd&source=tok_xxxx&description=My%20First%20Test%20Charge%20%28created%20for%20API%20docs%20at%20https%3A%2F%2Fwww.stripe.com%2Fdocs%2Fapi%29", ) @pytest.mark.anyio async def test_charges_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Charge.create_async( amount=2000, currency="usd", source="tok_xxxx", description="My First Test Charge (created for API docs at https://www.stripe.com/docs/api)", ) http_client_mock.assert_requested( "post", path="/v1/charges", query_string="", post_data="amount=2000¤cy=usd&source=tok_xxxx&description=My%20First%20Test%20Charge%20%28created%20for%20API%20docs%20at%20https%3A%2F%2Fwww.stripe.com%2Fdocs%2Fapi%29", ) @pytest.mark.anyio async def test_charges_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/charges", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.charges.create_async( { "amount": 2000, "currency": "usd", "source": "tok_xxxx", "description": "My First Test Charge (created for API docs at https://www.stripe.com/docs/api)", } ) http_client_mock.assert_requested( "post", path="/v1/charges", query_string="", api_base="https://api.stripe.com", post_data="amount=2000¤cy=usd&source=tok_xxxx&description=My%20First%20Test%20Charge%20%28created%20for%20API%20docs%20at%20https%3A%2F%2Fwww.stripe.com%2Fdocs%2Fapi%29", ) def test_charges_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/charges/ch_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.charges.update( "ch_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/charges/ch_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_charges_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Charge.modify( "ch_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/charges/ch_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_charges_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/charges/ch_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.charges.update( "ch_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/charges/ch_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_charges_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Charge.modify_async( "ch_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/charges/ch_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_charges_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/charges/ch_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.charges.update_async( "ch_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/charges/ch_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_charges_search_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/charges/search", "query=amount%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.charges.search( { "query": "amount>999 AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/charges/search", query_string="query=amount%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) def test_charges_search_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Charge.search( query="amount>999 AND metadata['order_id']:'6735'" ) http_client_mock.assert_requested( "get", path="/v1/charges/search", query_string="query=amount%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) def test_charges_search_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/charges/search", "query=amount%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.charges.search( { "query": "amount>999 AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/charges/search", query_string="query=amount%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_charges_search_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Charge.search_async( query="amount>999 AND metadata['order_id']:'6735'", ) http_client_mock.assert_requested( "get", path="/v1/charges/search", query_string="query=amount%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) @pytest.mark.anyio async def test_charges_search_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/charges/search", "query=amount%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.charges.search_async( { "query": "amount>999 AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/charges/search", query_string="query=amount%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) def test_checkout_sessions_expire_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/checkout/sessions/sess_xyz/expire", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.checkout.sessions.expire("sess_xyz") http_client_mock.assert_requested( "post", path="/v1/checkout/sessions/sess_xyz/expire", query_string="", api_base="https://api.stripe.com", ) def test_checkout_sessions_expire_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.checkout.Session.expire("sess_xyz") http_client_mock.assert_requested( "post", path="/v1/checkout/sessions/sess_xyz/expire", query_string="", ) def test_checkout_sessions_expire_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/checkout/sessions/sess_xyz/expire", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.checkout.sessions.expire("sess_xyz") http_client_mock.assert_requested( "post", path="/v1/checkout/sessions/sess_xyz/expire", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_checkout_sessions_expire_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.checkout.Session.expire_async("sess_xyz") http_client_mock.assert_requested( "post", path="/v1/checkout/sessions/sess_xyz/expire", query_string="", ) @pytest.mark.anyio async def test_checkout_sessions_expire_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/checkout/sessions/sess_xyz/expire", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.checkout.sessions.expire_async("sess_xyz") http_client_mock.assert_requested( "post", path="/v1/checkout/sessions/sess_xyz/expire", query_string="", api_base="https://api.stripe.com", ) def test_checkout_sessions_expire_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx/expire", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.checkout.sessions.expire("cs_test_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx/expire", query_string="", api_base="https://api.stripe.com", ) def test_checkout_sessions_expire_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.checkout.Session.expire("cs_test_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx/expire", query_string="", ) def test_checkout_sessions_expire_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx/expire", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.checkout.sessions.expire("cs_test_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx/expire", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_checkout_sessions_expire_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.checkout.Session.expire_async("cs_test_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx/expire", query_string="", ) @pytest.mark.anyio async def test_checkout_sessions_expire_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx/expire", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.checkout.sessions.expire_async("cs_test_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx/expire", query_string="", api_base="https://api.stripe.com", ) def test_checkout_sessions_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/checkout/sessions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.checkout.sessions.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/checkout/sessions", query_string="limit=3", api_base="https://api.stripe.com", ) def test_checkout_sessions_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.checkout.Session.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/checkout/sessions", query_string="limit=3", ) def test_checkout_sessions_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/checkout/sessions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.checkout.sessions.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/checkout/sessions", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_checkout_sessions_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.checkout.Session.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/checkout/sessions", query_string="limit=3", ) @pytest.mark.anyio async def test_checkout_sessions_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/checkout/sessions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.checkout.sessions.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/checkout/sessions", query_string="limit=3", api_base="https://api.stripe.com", ) def test_checkout_sessions_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.checkout.sessions.retrieve("cs_test_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_checkout_sessions_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.checkout.Session.retrieve("cs_test_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx", query_string="", ) def test_checkout_sessions_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.checkout.sessions.retrieve("cs_test_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_checkout_sessions_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.checkout.Session.retrieve_async("cs_test_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_checkout_sessions_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.checkout.sessions.retrieve_async( "cs_test_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/checkout/sessions/cs_test_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_checkout_sessions_line_items_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/checkout/sessions/sess_xyz/line_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.checkout.sessions.line_items.list("sess_xyz") http_client_mock.assert_requested( "get", path="/v1/checkout/sessions/sess_xyz/line_items", query_string="", api_base="https://api.stripe.com", ) def test_checkout_sessions_line_items_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.checkout.Session.list_line_items("sess_xyz") http_client_mock.assert_requested( "get", path="/v1/checkout/sessions/sess_xyz/line_items", query_string="", ) def test_checkout_sessions_line_items_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/checkout/sessions/sess_xyz/line_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.checkout.sessions.line_items.list("sess_xyz") http_client_mock.assert_requested( "get", path="/v1/checkout/sessions/sess_xyz/line_items", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_checkout_sessions_line_items_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.checkout.Session.list_line_items_async("sess_xyz") http_client_mock.assert_requested( "get", path="/v1/checkout/sessions/sess_xyz/line_items", query_string="", ) @pytest.mark.anyio async def test_checkout_sessions_line_items_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/checkout/sessions/sess_xyz/line_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.checkout.sessions.line_items.list_async("sess_xyz") http_client_mock.assert_requested( "get", path="/v1/checkout/sessions/sess_xyz/line_items", query_string="", api_base="https://api.stripe.com", ) def test_checkout_sessions_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/checkout/sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.checkout.sessions.create( { "success_url": "https://example.com/success", "cancel_url": "https://example.com/cancel", "mode": "payment", "shipping_options": [ {"shipping_rate": "shr_standard"}, { "shipping_rate_data": { "display_name": "Standard", "delivery_estimate": { "minimum": {"unit": "day", "value": 5}, "maximum": {"unit": "day", "value": 7}, }, }, }, ], } ) http_client_mock.assert_requested( "post", path="/v1/checkout/sessions", query_string="", api_base="https://api.stripe.com", post_data="success_url=https%3A%2F%2Fexample.com%2Fsuccess&cancel_url=https%3A%2F%2Fexample.com%2Fcancel&mode=payment&shipping_options[0][shipping_rate]=shr_standard&shipping_options[1][shipping_rate_data][display_name]=Standard&shipping_options[1][shipping_rate_data][delivery_estimate][minimum][unit]=day&shipping_options[1][shipping_rate_data][delivery_estimate][minimum][value]=5&shipping_options[1][shipping_rate_data][delivery_estimate][maximum][unit]=day&shipping_options[1][shipping_rate_data][delivery_estimate][maximum][value]=7", ) def test_checkout_sessions_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.checkout.Session.create( success_url="https://example.com/success", cancel_url="https://example.com/cancel", mode="payment", shipping_options=[ {"shipping_rate": "shr_standard"}, { "shipping_rate_data": { "display_name": "Standard", "delivery_estimate": { "minimum": {"unit": "day", "value": 5}, "maximum": {"unit": "day", "value": 7}, }, }, }, ], ) http_client_mock.assert_requested( "post", path="/v1/checkout/sessions", query_string="", post_data="success_url=https%3A%2F%2Fexample.com%2Fsuccess&cancel_url=https%3A%2F%2Fexample.com%2Fcancel&mode=payment&shipping_options[0][shipping_rate]=shr_standard&shipping_options[1][shipping_rate_data][display_name]=Standard&shipping_options[1][shipping_rate_data][delivery_estimate][minimum][unit]=day&shipping_options[1][shipping_rate_data][delivery_estimate][minimum][value]=5&shipping_options[1][shipping_rate_data][delivery_estimate][maximum][unit]=day&shipping_options[1][shipping_rate_data][delivery_estimate][maximum][value]=7", ) def test_checkout_sessions_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/checkout/sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.checkout.sessions.create( { "success_url": "https://example.com/success", "cancel_url": "https://example.com/cancel", "mode": "payment", "shipping_options": [ {"shipping_rate": "shr_standard"}, { "shipping_rate_data": { "display_name": "Standard", "delivery_estimate": { "minimum": {"unit": "day", "value": 5}, "maximum": {"unit": "day", "value": 7}, }, }, }, ], } ) http_client_mock.assert_requested( "post", path="/v1/checkout/sessions", query_string="", api_base="https://api.stripe.com", post_data="success_url=https%3A%2F%2Fexample.com%2Fsuccess&cancel_url=https%3A%2F%2Fexample.com%2Fcancel&mode=payment&shipping_options[0][shipping_rate]=shr_standard&shipping_options[1][shipping_rate_data][display_name]=Standard&shipping_options[1][shipping_rate_data][delivery_estimate][minimum][unit]=day&shipping_options[1][shipping_rate_data][delivery_estimate][minimum][value]=5&shipping_options[1][shipping_rate_data][delivery_estimate][maximum][unit]=day&shipping_options[1][shipping_rate_data][delivery_estimate][maximum][value]=7", ) @pytest.mark.anyio async def test_checkout_sessions_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.checkout.Session.create_async( success_url="https://example.com/success", cancel_url="https://example.com/cancel", mode="payment", shipping_options=[ {"shipping_rate": "shr_standard"}, { "shipping_rate_data": { "display_name": "Standard", "delivery_estimate": { "minimum": {"unit": "day", "value": 5}, "maximum": {"unit": "day", "value": 7}, }, }, }, ], ) http_client_mock.assert_requested( "post", path="/v1/checkout/sessions", query_string="", post_data="success_url=https%3A%2F%2Fexample.com%2Fsuccess&cancel_url=https%3A%2F%2Fexample.com%2Fcancel&mode=payment&shipping_options[0][shipping_rate]=shr_standard&shipping_options[1][shipping_rate_data][display_name]=Standard&shipping_options[1][shipping_rate_data][delivery_estimate][minimum][unit]=day&shipping_options[1][shipping_rate_data][delivery_estimate][minimum][value]=5&shipping_options[1][shipping_rate_data][delivery_estimate][maximum][unit]=day&shipping_options[1][shipping_rate_data][delivery_estimate][maximum][value]=7", ) @pytest.mark.anyio async def test_checkout_sessions_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/checkout/sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.checkout.sessions.create_async( { "success_url": "https://example.com/success", "cancel_url": "https://example.com/cancel", "mode": "payment", "shipping_options": [ {"shipping_rate": "shr_standard"}, { "shipping_rate_data": { "display_name": "Standard", "delivery_estimate": { "minimum": {"unit": "day", "value": 5}, "maximum": {"unit": "day", "value": 7}, }, }, }, ], } ) http_client_mock.assert_requested( "post", path="/v1/checkout/sessions", query_string="", api_base="https://api.stripe.com", post_data="success_url=https%3A%2F%2Fexample.com%2Fsuccess&cancel_url=https%3A%2F%2Fexample.com%2Fcancel&mode=payment&shipping_options[0][shipping_rate]=shr_standard&shipping_options[1][shipping_rate_data][display_name]=Standard&shipping_options[1][shipping_rate_data][delivery_estimate][minimum][unit]=day&shipping_options[1][shipping_rate_data][delivery_estimate][minimum][value]=5&shipping_options[1][shipping_rate_data][delivery_estimate][maximum][unit]=day&shipping_options[1][shipping_rate_data][delivery_estimate][maximum][value]=7", ) def test_checkout_sessions_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/checkout/sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.checkout.sessions.create( { "success_url": "https://example.com/success", "line_items": [ {"price": "price_xxxxxxxxxxxxx", "quantity": 2} ], "mode": "payment", } ) http_client_mock.assert_requested( "post", path="/v1/checkout/sessions", query_string="", api_base="https://api.stripe.com", post_data="success_url=https%3A%2F%2Fexample.com%2Fsuccess&line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=2&mode=payment", ) def test_checkout_sessions_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.checkout.Session.create( success_url="https://example.com/success", line_items=[{"price": "price_xxxxxxxxxxxxx", "quantity": 2}], mode="payment", ) http_client_mock.assert_requested( "post", path="/v1/checkout/sessions", query_string="", post_data="success_url=https%3A%2F%2Fexample.com%2Fsuccess&line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=2&mode=payment", ) def test_checkout_sessions_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/checkout/sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.checkout.sessions.create( { "success_url": "https://example.com/success", "line_items": [ {"price": "price_xxxxxxxxxxxxx", "quantity": 2} ], "mode": "payment", } ) http_client_mock.assert_requested( "post", path="/v1/checkout/sessions", query_string="", api_base="https://api.stripe.com", post_data="success_url=https%3A%2F%2Fexample.com%2Fsuccess&line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=2&mode=payment", ) @pytest.mark.anyio async def test_checkout_sessions_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.checkout.Session.create_async( success_url="https://example.com/success", line_items=[{"price": "price_xxxxxxxxxxxxx", "quantity": 2}], mode="payment", ) http_client_mock.assert_requested( "post", path="/v1/checkout/sessions", query_string="", post_data="success_url=https%3A%2F%2Fexample.com%2Fsuccess&line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=2&mode=payment", ) @pytest.mark.anyio async def test_checkout_sessions_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/checkout/sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.checkout.sessions.create_async( { "success_url": "https://example.com/success", "line_items": [ {"price": "price_xxxxxxxxxxxxx", "quantity": 2} ], "mode": "payment", } ) http_client_mock.assert_requested( "post", path="/v1/checkout/sessions", query_string="", api_base="https://api.stripe.com", post_data="success_url=https%3A%2F%2Fexample.com%2Fsuccess&line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=2&mode=payment", ) def test_core_events_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v2/core/events/ll_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.core.events.retrieve("ll_123") http_client_mock.assert_requested( "get", path="/v2/core/events/ll_123", query_string="", api_base="https://api.stripe.com", ) def test_country_specs_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/country_specs", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.country_specs.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/country_specs", query_string="limit=3", api_base="https://api.stripe.com", ) def test_country_specs_get(self, http_client_mock: HTTPClientMock) -> None: stripe.CountrySpec.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/country_specs", query_string="limit=3", ) def test_country_specs_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/country_specs", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.country_specs.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/country_specs", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_country_specs_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.CountrySpec.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/country_specs", query_string="limit=3", ) @pytest.mark.anyio async def test_country_specs_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/country_specs", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.country_specs.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/country_specs", query_string="limit=3", api_base="https://api.stripe.com", ) def test_country_specs_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/country_specs/US", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.country_specs.retrieve("US") http_client_mock.assert_requested( "get", path="/v1/country_specs/US", query_string="", api_base="https://api.stripe.com", ) def test_country_specs_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.CountrySpec.retrieve("US") http_client_mock.assert_requested( "get", path="/v1/country_specs/US", query_string="", ) def test_country_specs_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/country_specs/US", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.country_specs.retrieve("US") http_client_mock.assert_requested( "get", path="/v1/country_specs/US", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_country_specs_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.CountrySpec.retrieve_async("US") http_client_mock.assert_requested( "get", path="/v1/country_specs/US", query_string="", ) @pytest.mark.anyio async def test_country_specs_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/country_specs/US", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.country_specs.retrieve_async("US") http_client_mock.assert_requested( "get", path="/v1/country_specs/US", query_string="", api_base="https://api.stripe.com", ) def test_coupons_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/coupons/Z4OV52SU", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.coupons.delete("Z4OV52SU") http_client_mock.assert_requested( "delete", path="/v1/coupons/Z4OV52SU", query_string="", api_base="https://api.stripe.com", ) def test_coupons_delete(self, http_client_mock: HTTPClientMock) -> None: stripe.Coupon.delete("Z4OV52SU") http_client_mock.assert_requested( "delete", path="/v1/coupons/Z4OV52SU", query_string="", ) def test_coupons_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/coupons/Z4OV52SU", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.coupons.delete("Z4OV52SU") http_client_mock.assert_requested( "delete", path="/v1/coupons/Z4OV52SU", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_coupons_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Coupon.delete_async("Z4OV52SU") http_client_mock.assert_requested( "delete", path="/v1/coupons/Z4OV52SU", query_string="", ) @pytest.mark.anyio async def test_coupons_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/coupons/Z4OV52SU", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.coupons.delete_async("Z4OV52SU") http_client_mock.assert_requested( "delete", path="/v1/coupons/Z4OV52SU", query_string="", api_base="https://api.stripe.com", ) def test_coupons_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/coupons", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.coupons.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/coupons", query_string="limit=3", api_base="https://api.stripe.com", ) def test_coupons_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Coupon.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/coupons", query_string="limit=3", ) def test_coupons_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/coupons", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.coupons.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/coupons", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_coupons_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Coupon.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/coupons", query_string="limit=3", ) @pytest.mark.anyio async def test_coupons_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/coupons", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.coupons.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/coupons", query_string="limit=3", api_base="https://api.stripe.com", ) def test_coupons_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/coupons/Z4OV52SU", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.coupons.retrieve("Z4OV52SU") http_client_mock.assert_requested( "get", path="/v1/coupons/Z4OV52SU", query_string="", api_base="https://api.stripe.com", ) def test_coupons_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Coupon.retrieve("Z4OV52SU") http_client_mock.assert_requested( "get", path="/v1/coupons/Z4OV52SU", query_string="", ) def test_coupons_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/coupons/Z4OV52SU", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.coupons.retrieve("Z4OV52SU") http_client_mock.assert_requested( "get", path="/v1/coupons/Z4OV52SU", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_coupons_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Coupon.retrieve_async("Z4OV52SU") http_client_mock.assert_requested( "get", path="/v1/coupons/Z4OV52SU", query_string="", ) @pytest.mark.anyio async def test_coupons_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/coupons/Z4OV52SU", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.coupons.retrieve_async("Z4OV52SU") http_client_mock.assert_requested( "get", path="/v1/coupons/Z4OV52SU", query_string="", api_base="https://api.stripe.com", ) def test_coupons_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/coupons", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.coupons.create({"percent_off": 25.5, "duration": "once"}) http_client_mock.assert_requested( "post", path="/v1/coupons", query_string="", api_base="https://api.stripe.com", post_data="percent_off=25.5&duration=once", ) def test_coupons_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Coupon.create( percent_off=25.5, duration="once", ) http_client_mock.assert_requested( "post", path="/v1/coupons", query_string="", post_data="percent_off=25.5&duration=once", ) def test_coupons_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/coupons", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.coupons.create({"percent_off": 25.5, "duration": "once"}) http_client_mock.assert_requested( "post", path="/v1/coupons", query_string="", api_base="https://api.stripe.com", post_data="percent_off=25.5&duration=once", ) @pytest.mark.anyio async def test_coupons_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Coupon.create_async( percent_off=25.5, duration="once", ) http_client_mock.assert_requested( "post", path="/v1/coupons", query_string="", post_data="percent_off=25.5&duration=once", ) @pytest.mark.anyio async def test_coupons_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/coupons", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.coupons.create_async( { "percent_off": 25.5, "duration": "once", } ) http_client_mock.assert_requested( "post", path="/v1/coupons", query_string="", api_base="https://api.stripe.com", post_data="percent_off=25.5&duration=once", ) def test_coupons_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/coupons/Z4OV52SU", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.coupons.update( "Z4OV52SU", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/coupons/Z4OV52SU", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_coupons_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Coupon.modify( "Z4OV52SU", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/coupons/Z4OV52SU", query_string="", post_data="metadata[order_id]=6735", ) def test_coupons_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/coupons/Z4OV52SU", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.coupons.update( "Z4OV52SU", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/coupons/Z4OV52SU", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_coupons_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Coupon.modify_async( "Z4OV52SU", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/coupons/Z4OV52SU", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_coupons_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/coupons/Z4OV52SU", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.coupons.update_async( "Z4OV52SU", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/coupons/Z4OV52SU", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_credit_notes_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/credit_notes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.credit_notes.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/credit_notes", query_string="limit=3", api_base="https://api.stripe.com", ) def test_credit_notes_get(self, http_client_mock: HTTPClientMock) -> None: stripe.CreditNote.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/credit_notes", query_string="limit=3", ) def test_credit_notes_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/credit_notes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.credit_notes.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/credit_notes", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_credit_notes_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.CreditNote.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/credit_notes", query_string="limit=3", ) @pytest.mark.anyio async def test_credit_notes_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/credit_notes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.credit_notes.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/credit_notes", query_string="limit=3", api_base="https://api.stripe.com", ) def test_credit_notes_lines_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/credit_notes/cn_xxxxxxxxxxxxx/lines", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.credit_notes.line_items.list( "cn_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/credit_notes/cn_xxxxxxxxxxxxx/lines", query_string="limit=3", api_base="https://api.stripe.com", ) def test_credit_notes_lines_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.CreditNote.list_lines( "cn_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/credit_notes/cn_xxxxxxxxxxxxx/lines", query_string="limit=3", ) def test_credit_notes_lines_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/credit_notes/cn_xxxxxxxxxxxxx/lines", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.credit_notes.line_items.list( "cn_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/credit_notes/cn_xxxxxxxxxxxxx/lines", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_credit_notes_lines_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.CreditNote.list_lines_async( "cn_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/credit_notes/cn_xxxxxxxxxxxxx/lines", query_string="limit=3", ) @pytest.mark.anyio async def test_credit_notes_lines_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/credit_notes/cn_xxxxxxxxxxxxx/lines", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.credit_notes.line_items.list_async( "cn_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/credit_notes/cn_xxxxxxxxxxxxx/lines", query_string="limit=3", api_base="https://api.stripe.com", ) def test_credit_notes_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/credit_notes", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.credit_notes.create( { "invoice": "in_xxxxxxxxxxxxx", "lines": [ { "type": "invoice_line_item", "invoice_line_item": "il_xxxxxxxxxxxxx", "quantity": 1, }, ], } ) http_client_mock.assert_requested( "post", path="/v1/credit_notes", query_string="", api_base="https://api.stripe.com", post_data="invoice=in_xxxxxxxxxxxxx&lines[0][type]=invoice_line_item&lines[0][invoice_line_item]=il_xxxxxxxxxxxxx&lines[0][quantity]=1", ) def test_credit_notes_post(self, http_client_mock: HTTPClientMock) -> None: stripe.CreditNote.create( invoice="in_xxxxxxxxxxxxx", lines=[ { "type": "invoice_line_item", "invoice_line_item": "il_xxxxxxxxxxxxx", "quantity": 1, }, ], ) http_client_mock.assert_requested( "post", path="/v1/credit_notes", query_string="", post_data="invoice=in_xxxxxxxxxxxxx&lines[0][type]=invoice_line_item&lines[0][invoice_line_item]=il_xxxxxxxxxxxxx&lines[0][quantity]=1", ) def test_credit_notes_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/credit_notes", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.credit_notes.create( { "invoice": "in_xxxxxxxxxxxxx", "lines": [ { "type": "invoice_line_item", "invoice_line_item": "il_xxxxxxxxxxxxx", "quantity": 1, }, ], } ) http_client_mock.assert_requested( "post", path="/v1/credit_notes", query_string="", api_base="https://api.stripe.com", post_data="invoice=in_xxxxxxxxxxxxx&lines[0][type]=invoice_line_item&lines[0][invoice_line_item]=il_xxxxxxxxxxxxx&lines[0][quantity]=1", ) @pytest.mark.anyio async def test_credit_notes_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.CreditNote.create_async( invoice="in_xxxxxxxxxxxxx", lines=[ { "type": "invoice_line_item", "invoice_line_item": "il_xxxxxxxxxxxxx", "quantity": 1, }, ], ) http_client_mock.assert_requested( "post", path="/v1/credit_notes", query_string="", post_data="invoice=in_xxxxxxxxxxxxx&lines[0][type]=invoice_line_item&lines[0][invoice_line_item]=il_xxxxxxxxxxxxx&lines[0][quantity]=1", ) @pytest.mark.anyio async def test_credit_notes_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/credit_notes", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.credit_notes.create_async( { "invoice": "in_xxxxxxxxxxxxx", "lines": [ { "type": "invoice_line_item", "invoice_line_item": "il_xxxxxxxxxxxxx", "quantity": 1, }, ], } ) http_client_mock.assert_requested( "post", path="/v1/credit_notes", query_string="", api_base="https://api.stripe.com", post_data="invoice=in_xxxxxxxxxxxxx&lines[0][type]=invoice_line_item&lines[0][invoice_line_item]=il_xxxxxxxxxxxxx&lines[0][quantity]=1", ) def test_credit_notes_preview_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/credit_notes/preview", "invoice=in_xxxxxxxxxxxxx&lines[0][type]=invoice_line_item&lines[0][invoice_line_item]=il_xxxxxxxxxxxxx&lines[0][quantity]=1", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.credit_notes.preview( { "invoice": "in_xxxxxxxxxxxxx", "lines": [ { "type": "invoice_line_item", "invoice_line_item": "il_xxxxxxxxxxxxx", "quantity": 1, }, ], } ) http_client_mock.assert_requested( "get", path="/v1/credit_notes/preview", query_string="invoice=in_xxxxxxxxxxxxx&lines[0][type]=invoice_line_item&lines[0][invoice_line_item]=il_xxxxxxxxxxxxx&lines[0][quantity]=1", api_base="https://api.stripe.com", ) def test_credit_notes_preview_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.CreditNote.preview( invoice="in_xxxxxxxxxxxxx", lines=[ { "type": "invoice_line_item", "invoice_line_item": "il_xxxxxxxxxxxxx", "quantity": 1, }, ], ) http_client_mock.assert_requested( "get", path="/v1/credit_notes/preview", query_string="invoice=in_xxxxxxxxxxxxx&lines[0][type]=invoice_line_item&lines[0][invoice_line_item]=il_xxxxxxxxxxxxx&lines[0][quantity]=1", ) def test_credit_notes_preview_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/credit_notes/preview", "invoice=in_xxxxxxxxxxxxx&lines[0][type]=invoice_line_item&lines[0][invoice_line_item]=il_xxxxxxxxxxxxx&lines[0][quantity]=1", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.credit_notes.preview( { "invoice": "in_xxxxxxxxxxxxx", "lines": [ { "type": "invoice_line_item", "invoice_line_item": "il_xxxxxxxxxxxxx", "quantity": 1, }, ], } ) http_client_mock.assert_requested( "get", path="/v1/credit_notes/preview", query_string="invoice=in_xxxxxxxxxxxxx&lines[0][type]=invoice_line_item&lines[0][invoice_line_item]=il_xxxxxxxxxxxxx&lines[0][quantity]=1", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_credit_notes_preview_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.CreditNote.preview_async( invoice="in_xxxxxxxxxxxxx", lines=[ { "type": "invoice_line_item", "invoice_line_item": "il_xxxxxxxxxxxxx", "quantity": 1, }, ], ) http_client_mock.assert_requested( "get", path="/v1/credit_notes/preview", query_string="invoice=in_xxxxxxxxxxxxx&lines[0][type]=invoice_line_item&lines[0][invoice_line_item]=il_xxxxxxxxxxxxx&lines[0][quantity]=1", ) @pytest.mark.anyio async def test_credit_notes_preview_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/credit_notes/preview", "invoice=in_xxxxxxxxxxxxx&lines[0][type]=invoice_line_item&lines[0][invoice_line_item]=il_xxxxxxxxxxxxx&lines[0][quantity]=1", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.credit_notes.preview_async( { "invoice": "in_xxxxxxxxxxxxx", "lines": [ { "type": "invoice_line_item", "invoice_line_item": "il_xxxxxxxxxxxxx", "quantity": 1, }, ], } ) http_client_mock.assert_requested( "get", path="/v1/credit_notes/preview", query_string="invoice=in_xxxxxxxxxxxxx&lines[0][type]=invoice_line_item&lines[0][invoice_line_item]=il_xxxxxxxxxxxxx&lines[0][quantity]=1", api_base="https://api.stripe.com", ) def test_credit_notes_preview_lines_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/credit_notes/preview/lines", "limit=3&invoice=in_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.credit_notes.preview_lines.list( { "limit": 3, "invoice": "in_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "get", path="/v1/credit_notes/preview/lines", query_string="limit=3&invoice=in_xxxxxxxxxxxxx", api_base="https://api.stripe.com", ) def test_credit_notes_preview_lines_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.CreditNote.preview_lines( limit=3, invoice="in_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/credit_notes/preview/lines", query_string="limit=3&invoice=in_xxxxxxxxxxxxx", ) def test_credit_notes_preview_lines_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/credit_notes/preview/lines", "limit=3&invoice=in_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.credit_notes.preview_lines.list( { "limit": 3, "invoice": "in_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "get", path="/v1/credit_notes/preview/lines", query_string="limit=3&invoice=in_xxxxxxxxxxxxx", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_credit_notes_preview_lines_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.CreditNote.preview_lines_async( limit=3, invoice="in_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/credit_notes/preview/lines", query_string="limit=3&invoice=in_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_credit_notes_preview_lines_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/credit_notes/preview/lines", "limit=3&invoice=in_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.credit_notes.preview_lines.list_async( { "limit": 3, "invoice": "in_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "get", path="/v1/credit_notes/preview/lines", query_string="limit=3&invoice=in_xxxxxxxxxxxxx", api_base="https://api.stripe.com", ) def test_credit_notes_void_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/credit_notes/cn_xxxxxxxxxxxxx/void", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.credit_notes.void_credit_note("cn_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/credit_notes/cn_xxxxxxxxxxxxx/void", query_string="", api_base="https://api.stripe.com", ) def test_credit_notes_void_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.CreditNote.void_credit_note("cn_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/credit_notes/cn_xxxxxxxxxxxxx/void", query_string="", ) def test_credit_notes_void_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/credit_notes/cn_xxxxxxxxxxxxx/void", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.credit_notes.void_credit_note("cn_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/credit_notes/cn_xxxxxxxxxxxxx/void", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_credit_notes_void_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.CreditNote.void_credit_note_async("cn_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/credit_notes/cn_xxxxxxxxxxxxx/void", query_string="", ) @pytest.mark.anyio async def test_credit_notes_void_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/credit_notes/cn_xxxxxxxxxxxxx/void", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.credit_notes.void_credit_note_async("cn_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/credit_notes/cn_xxxxxxxxxxxxx/void", query_string="", api_base="https://api.stripe.com", ) def test_customer_sessions_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customer_sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customer_sessions.create( { "customer": "cus_123", "components": {"buy_button": {"enabled": True}}, } ) http_client_mock.assert_requested( "post", path="/v1/customer_sessions", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_123&components[buy_button][enabled]=true", ) def test_customer_sessions_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.CustomerSession.create( customer="cus_123", components={"buy_button": {"enabled": True}}, ) http_client_mock.assert_requested( "post", path="/v1/customer_sessions", query_string="", post_data="customer=cus_123&components[buy_button][enabled]=true", ) def test_customer_sessions_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customer_sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customer_sessions.create( { "customer": "cus_123", "components": {"buy_button": {"enabled": True}}, } ) http_client_mock.assert_requested( "post", path="/v1/customer_sessions", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_123&components[buy_button][enabled]=true", ) @pytest.mark.anyio async def test_customer_sessions_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.CustomerSession.create_async( customer="cus_123", components={"buy_button": {"enabled": True}}, ) http_client_mock.assert_requested( "post", path="/v1/customer_sessions", query_string="", post_data="customer=cus_123&components[buy_button][enabled]=true", ) @pytest.mark.anyio async def test_customer_sessions_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customer_sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customer_sessions.create_async( { "customer": "cus_123", "components": {"buy_button": {"enabled": True}}, } ) http_client_mock.assert_requested( "post", path="/v1/customer_sessions", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_123&components[buy_button][enabled]=true", ) def test_customers_balance_transactions_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.balance_transactions.list( "cus_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", query_string="limit=3", api_base="https://api.stripe.com", ) def test_customers_balance_transactions_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.list_balance_transactions( "cus_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", query_string="limit=3", ) def test_customers_balance_transactions_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.balance_transactions.list( "cus_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_balance_transactions_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.list_balance_transactions_async( "cus_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", query_string="limit=3", ) @pytest.mark.anyio async def test_customers_balance_transactions_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.balance_transactions.list_async( "cus_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", query_string="limit=3", api_base="https://api.stripe.com", ) def test_customers_balance_transactions_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.balance_transactions.retrieve( "cus_xxxxxxxxxxxxx", "cbtxn_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_balance_transactions_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.retrieve_balance_transaction( "cus_xxxxxxxxxxxxx", "cbtxn_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", query_string="", ) def test_customers_balance_transactions_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.balance_transactions.retrieve( "cus_xxxxxxxxxxxxx", "cbtxn_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_balance_transactions_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.retrieve_balance_transaction_async( "cus_xxxxxxxxxxxxx", "cbtxn_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_customers_balance_transactions_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.balance_transactions.retrieve_async( "cus_xxxxxxxxxxxxx", "cbtxn_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_balance_transactions_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.balance_transactions.create( "cus_xxxxxxxxxxxxx", {"amount": -500, "currency": "usd"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", query_string="", api_base="https://api.stripe.com", post_data="amount=-500¤cy=usd", ) def test_customers_balance_transactions_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.create_balance_transaction( "cus_xxxxxxxxxxxxx", amount=-500, currency="usd", ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", query_string="", post_data="amount=-500¤cy=usd", ) def test_customers_balance_transactions_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.balance_transactions.create( "cus_xxxxxxxxxxxxx", {"amount": -500, "currency": "usd"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", query_string="", api_base="https://api.stripe.com", post_data="amount=-500¤cy=usd", ) @pytest.mark.anyio async def test_customers_balance_transactions_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.create_balance_transaction_async( "cus_xxxxxxxxxxxxx", amount=-500, currency="usd", ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", query_string="", post_data="amount=-500¤cy=usd", ) @pytest.mark.anyio async def test_customers_balance_transactions_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.balance_transactions.create_async( "cus_xxxxxxxxxxxxx", {"amount": -500, "currency": "usd"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions", query_string="", api_base="https://api.stripe.com", post_data="amount=-500¤cy=usd", ) def test_customers_balance_transactions_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.balance_transactions.update( "cus_xxxxxxxxxxxxx", "cbtxn_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_customers_balance_transactions_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.modify_balance_transaction( "cus_xxxxxxxxxxxxx", "cbtxn_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_customers_balance_transactions_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.balance_transactions.update( "cus_xxxxxxxxxxxxx", "cbtxn_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_customers_balance_transactions_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.modify_balance_transaction_async( "cus_xxxxxxxxxxxxx", "cbtxn_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_customers_balance_transactions_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.balance_transactions.update_async( "cus_xxxxxxxxxxxxx", "cbtxn_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/balance_transactions/cbtxn_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_customers_cash_balance_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_123/cash_balance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.cash_balance.retrieve("cus_123") http_client_mock.assert_requested( "get", path="/v1/customers/cus_123/cash_balance", query_string="", api_base="https://api.stripe.com", ) def test_customers_cash_balance_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.retrieve_cash_balance("cus_123") http_client_mock.assert_requested( "get", path="/v1/customers/cus_123/cash_balance", query_string="", ) def test_customers_cash_balance_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_123/cash_balance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.cash_balance.retrieve("cus_123") http_client_mock.assert_requested( "get", path="/v1/customers/cus_123/cash_balance", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_cash_balance_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.retrieve_cash_balance_async("cus_123") http_client_mock.assert_requested( "get", path="/v1/customers/cus_123/cash_balance", query_string="", ) @pytest.mark.anyio async def test_customers_cash_balance_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_123/cash_balance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.cash_balance.retrieve_async("cus_123") http_client_mock.assert_requested( "get", path="/v1/customers/cus_123/cash_balance", query_string="", api_base="https://api.stripe.com", ) def test_customers_cash_balance_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_123/cash_balance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.cash_balance.update( "cus_123", {"settings": {"reconciliation_mode": "manual"}}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/cash_balance", query_string="", api_base="https://api.stripe.com", post_data="settings[reconciliation_mode]=manual", ) def test_customers_cash_balance_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.modify_cash_balance( "cus_123", settings={"reconciliation_mode": "manual"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/cash_balance", query_string="", post_data="settings[reconciliation_mode]=manual", ) def test_customers_cash_balance_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_123/cash_balance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.cash_balance.update( "cus_123", {"settings": {"reconciliation_mode": "manual"}}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/cash_balance", query_string="", api_base="https://api.stripe.com", post_data="settings[reconciliation_mode]=manual", ) @pytest.mark.anyio async def test_customers_cash_balance_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.modify_cash_balance_async( "cus_123", settings={"reconciliation_mode": "manual"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/cash_balance", query_string="", post_data="settings[reconciliation_mode]=manual", ) @pytest.mark.anyio async def test_customers_cash_balance_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_123/cash_balance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.cash_balance.update_async( "cus_123", {"settings": {"reconciliation_mode": "manual"}}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/cash_balance", query_string="", api_base="https://api.stripe.com", post_data="settings[reconciliation_mode]=manual", ) def test_customers_cash_balance_transactions_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_123/cash_balance_transactions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.cash_balance_transactions.list( "cus_123", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_123/cash_balance_transactions", query_string="limit=3", api_base="https://api.stripe.com", ) def test_customers_cash_balance_transactions_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.list_cash_balance_transactions( "cus_123", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_123/cash_balance_transactions", query_string="limit=3", ) def test_customers_cash_balance_transactions_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_123/cash_balance_transactions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.cash_balance_transactions.list( "cus_123", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_123/cash_balance_transactions", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_cash_balance_transactions_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.list_cash_balance_transactions_async( "cus_123", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_123/cash_balance_transactions", query_string="limit=3", ) @pytest.mark.anyio async def test_customers_cash_balance_transactions_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_123/cash_balance_transactions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.cash_balance_transactions.list_async( "cus_123", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_123/cash_balance_transactions", query_string="limit=3", api_base="https://api.stripe.com", ) def test_customers_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/customers/cus_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.delete("cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_delete(self, http_client_mock: HTTPClientMock) -> None: stripe.Customer.delete("cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx", query_string="", ) def test_customers_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/customers/cus_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.delete("cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.delete_async("cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_customers_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/customers/cus_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.delete_async("cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_funding_instructions_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_123/funding_instructions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.funding_instructions.create( "cus_123", { "bank_transfer": { "requested_address_types": ["zengin"], "type": "jp_bank_transfer", }, "currency": "usd", "funding_type": "bank_transfer", }, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/funding_instructions", query_string="", api_base="https://api.stripe.com", post_data="bank_transfer[requested_address_types][0]=zengin&bank_transfer[type]=jp_bank_transfer¤cy=usd&funding_type=bank_transfer", ) def test_customers_funding_instructions_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.create_funding_instructions( "cus_123", bank_transfer={ "requested_address_types": ["zengin"], "type": "jp_bank_transfer", }, currency="usd", funding_type="bank_transfer", ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/funding_instructions", query_string="", post_data="bank_transfer[requested_address_types][0]=zengin&bank_transfer[type]=jp_bank_transfer¤cy=usd&funding_type=bank_transfer", ) def test_customers_funding_instructions_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_123/funding_instructions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.funding_instructions.create( "cus_123", { "bank_transfer": { "requested_address_types": ["zengin"], "type": "jp_bank_transfer", }, "currency": "usd", "funding_type": "bank_transfer", }, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/funding_instructions", query_string="", api_base="https://api.stripe.com", post_data="bank_transfer[requested_address_types][0]=zengin&bank_transfer[type]=jp_bank_transfer¤cy=usd&funding_type=bank_transfer", ) @pytest.mark.anyio async def test_customers_funding_instructions_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.create_funding_instructions_async( "cus_123", bank_transfer={ "requested_address_types": ["zengin"], "type": "jp_bank_transfer", }, currency="usd", funding_type="bank_transfer", ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/funding_instructions", query_string="", post_data="bank_transfer[requested_address_types][0]=zengin&bank_transfer[type]=jp_bank_transfer¤cy=usd&funding_type=bank_transfer", ) @pytest.mark.anyio async def test_customers_funding_instructions_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_123/funding_instructions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.funding_instructions.create_async( "cus_123", { "bank_transfer": { "requested_address_types": ["zengin"], "type": "jp_bank_transfer", }, "currency": "usd", "funding_type": "bank_transfer", }, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/funding_instructions", query_string="", api_base="https://api.stripe.com", post_data="bank_transfer[requested_address_types][0]=zengin&bank_transfer[type]=jp_bank_transfer¤cy=usd&funding_type=bank_transfer", ) def test_customers_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/customers", query_string="limit=3", api_base="https://api.stripe.com", ) def test_customers_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Customer.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/customers", query_string="limit=3", ) def test_customers_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/customers", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/customers", query_string="limit=3", ) @pytest.mark.anyio async def test_customers_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/customers", query_string="limit=3", api_base="https://api.stripe.com", ) def test_customers_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/customers", query_string="limit=3", api_base="https://api.stripe.com", ) def test_customers_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Customer.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/customers", query_string="limit=3", ) def test_customers_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/customers", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/customers", query_string="limit=3", ) @pytest.mark.anyio async def test_customers_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/customers", query_string="limit=3", api_base="https://api.stripe.com", ) def test_customers_get_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.retrieve("cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_get_3(self, http_client_mock: HTTPClientMock) -> None: stripe.Customer.retrieve("cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", query_string="", ) def test_customers_get_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.retrieve("cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_get_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.retrieve_async("cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_customers_get_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.retrieve_async("cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_payment_methods_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xyz/payment_methods", "type=card", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.payment_methods.list( "cus_xyz", {"type": "card"}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xyz/payment_methods", query_string="type=card", api_base="https://api.stripe.com", ) def test_customers_payment_methods_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.list_payment_methods( "cus_xyz", type="card", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xyz/payment_methods", query_string="type=card", ) def test_customers_payment_methods_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xyz/payment_methods", "type=card", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.payment_methods.list( "cus_xyz", {"type": "card"}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xyz/payment_methods", query_string="type=card", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_payment_methods_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.list_payment_methods_async( "cus_xyz", type="card", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xyz/payment_methods", query_string="type=card", ) @pytest.mark.anyio async def test_customers_payment_methods_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xyz/payment_methods", "type=card", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.payment_methods.list_async( "cus_xyz", {"type": "card"}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xyz/payment_methods", query_string="type=card", api_base="https://api.stripe.com", ) def test_customers_payment_methods_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/payment_methods", "type=card", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.payment_methods.list( "cus_xxxxxxxxxxxxx", {"type": "card"}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/payment_methods", query_string="type=card", api_base="https://api.stripe.com", ) def test_customers_payment_methods_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.list_payment_methods( "cus_xxxxxxxxxxxxx", type="card", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/payment_methods", query_string="type=card", ) def test_customers_payment_methods_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/payment_methods", "type=card", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.payment_methods.list( "cus_xxxxxxxxxxxxx", {"type": "card"}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/payment_methods", query_string="type=card", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_payment_methods_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.list_payment_methods_async( "cus_xxxxxxxxxxxxx", type="card", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/payment_methods", query_string="type=card", ) @pytest.mark.anyio async def test_customers_payment_methods_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/payment_methods", "type=card", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.payment_methods.list_async( "cus_xxxxxxxxxxxxx", {"type": "card"}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/payment_methods", query_string="type=card", api_base="https://api.stripe.com", ) def test_customers_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.create( { "description": "My First Test Customer (created for API docs at https://www.stripe.com/docs/api)", } ) http_client_mock.assert_requested( "post", path="/v1/customers", query_string="", api_base="https://api.stripe.com", post_data="description=My%20First%20Test%20Customer%20%28created%20for%20API%20docs%20at%20https%3A%2F%2Fwww.stripe.com%2Fdocs%2Fapi%29", ) def test_customers_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Customer.create( description="My First Test Customer (created for API docs at https://www.stripe.com/docs/api)", ) http_client_mock.assert_requested( "post", path="/v1/customers", query_string="", post_data="description=My%20First%20Test%20Customer%20%28created%20for%20API%20docs%20at%20https%3A%2F%2Fwww.stripe.com%2Fdocs%2Fapi%29", ) def test_customers_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.create( { "description": "My First Test Customer (created for API docs at https://www.stripe.com/docs/api)", } ) http_client_mock.assert_requested( "post", path="/v1/customers", query_string="", api_base="https://api.stripe.com", post_data="description=My%20First%20Test%20Customer%20%28created%20for%20API%20docs%20at%20https%3A%2F%2Fwww.stripe.com%2Fdocs%2Fapi%29", ) @pytest.mark.anyio async def test_customers_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.create_async( description="My First Test Customer (created for API docs at https://www.stripe.com/docs/api)", ) http_client_mock.assert_requested( "post", path="/v1/customers", query_string="", post_data="description=My%20First%20Test%20Customer%20%28created%20for%20API%20docs%20at%20https%3A%2F%2Fwww.stripe.com%2Fdocs%2Fapi%29", ) @pytest.mark.anyio async def test_customers_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.create_async( { "description": "My First Test Customer (created for API docs at https://www.stripe.com/docs/api)", } ) http_client_mock.assert_requested( "post", path="/v1/customers", query_string="", api_base="https://api.stripe.com", post_data="description=My%20First%20Test%20Customer%20%28created%20for%20API%20docs%20at%20https%3A%2F%2Fwww.stripe.com%2Fdocs%2Fapi%29", ) def test_customers_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.update( "cus_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_customers_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Customer.modify( "cus_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_customers_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.update( "cus_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_customers_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.modify_async( "cus_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_customers_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.update_async( "cus_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_customers_search_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/search", "query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.search( { "query": "name:'fakename' AND metadata['foo']:'bar'", } ) http_client_mock.assert_requested( "get", path="/v1/customers/search", query_string="query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", api_base="https://api.stripe.com", ) def test_customers_search_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.search( query="name:'fakename' AND metadata['foo']:'bar'", ) http_client_mock.assert_requested( "get", path="/v1/customers/search", query_string="query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", ) def test_customers_search_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/search", "query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.search( { "query": "name:'fakename' AND metadata['foo']:'bar'", } ) http_client_mock.assert_requested( "get", path="/v1/customers/search", query_string="query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_search_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.search_async( query="name:'fakename' AND metadata['foo']:'bar'", ) http_client_mock.assert_requested( "get", path="/v1/customers/search", query_string="query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", ) @pytest.mark.anyio async def test_customers_search_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/search", "query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.search_async( { "query": "name:'fakename' AND metadata['foo']:'bar'", } ) http_client_mock.assert_requested( "get", path="/v1/customers/search", query_string="query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", api_base="https://api.stripe.com", ) def test_customers_search_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/search", "query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.search( { "query": "name:'fakename' AND metadata['foo']:'bar'", } ) http_client_mock.assert_requested( "get", path="/v1/customers/search", query_string="query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", api_base="https://api.stripe.com", ) def test_customers_search_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.search( query="name:'fakename' AND metadata['foo']:'bar'", ) http_client_mock.assert_requested( "get", path="/v1/customers/search", query_string="query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", ) def test_customers_search_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/search", "query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.search( { "query": "name:'fakename' AND metadata['foo']:'bar'", } ) http_client_mock.assert_requested( "get", path="/v1/customers/search", query_string="query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_search_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.search_async( query="name:'fakename' AND metadata['foo']:'bar'", ) http_client_mock.assert_requested( "get", path="/v1/customers/search", query_string="query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", ) @pytest.mark.anyio async def test_customers_search_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/search", "query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.search_async( { "query": "name:'fakename' AND metadata['foo']:'bar'", } ) http_client_mock.assert_requested( "get", path="/v1/customers/search", query_string="query=name%3A%27fakename%27%20AND%20metadata%5B%27foo%27%5D%3A%27bar%27", api_base="https://api.stripe.com", ) def test_customers_sources_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.sources.detach( "cus_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_sources_delete( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.delete_source( "cus_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", query_string="", ) def test_customers_sources_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.sources.detach( "cus_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_sources_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.delete_source_async( "cus_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_customers_sources_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.sources.detach_async( "cus_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_sources_delete_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.sources.detach( "cus_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_sources_delete_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.delete_source( "cus_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", query_string="", ) def test_customers_sources_delete_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.sources.detach( "cus_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_sources_delete_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.delete_source_async( "cus_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_customers_sources_delete_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.sources.detach_async( "cus_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_sources_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/sources", "object=bank_account&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.payment_sources.list( "cus_xxxxxxxxxxxxx", {"object": "bank_account", "limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="object=bank_account&limit=3", api_base="https://api.stripe.com", ) def test_customers_sources_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.list_sources( "cus_xxxxxxxxxxxxx", object="bank_account", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="object=bank_account&limit=3", ) def test_customers_sources_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/sources", "object=bank_account&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.payment_sources.list( "cus_xxxxxxxxxxxxx", {"object": "bank_account", "limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="object=bank_account&limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_sources_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.list_sources_async( "cus_xxxxxxxxxxxxx", object="bank_account", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="object=bank_account&limit=3", ) @pytest.mark.anyio async def test_customers_sources_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/sources", "object=bank_account&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.payment_sources.list_async( "cus_xxxxxxxxxxxxx", {"object": "bank_account", "limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="object=bank_account&limit=3", api_base="https://api.stripe.com", ) def test_customers_sources_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/sources", "object=card&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.payment_sources.list( "cus_xxxxxxxxxxxxx", {"object": "card", "limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="object=card&limit=3", api_base="https://api.stripe.com", ) def test_customers_sources_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.list_sources( "cus_xxxxxxxxxxxxx", object="card", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="object=card&limit=3", ) def test_customers_sources_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/sources", "object=card&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.payment_sources.list( "cus_xxxxxxxxxxxxx", {"object": "card", "limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="object=card&limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_sources_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.list_sources_async( "cus_xxxxxxxxxxxxx", object="card", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="object=card&limit=3", ) @pytest.mark.anyio async def test_customers_sources_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/sources", "object=card&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.payment_sources.list_async( "cus_xxxxxxxxxxxxx", {"object": "card", "limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="object=card&limit=3", api_base="https://api.stripe.com", ) def test_customers_sources_get_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.payment_sources.retrieve( "cus_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_sources_get_3( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.retrieve_source( "cus_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", query_string="", ) def test_customers_sources_get_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.payment_sources.retrieve( "cus_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_sources_get_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.retrieve_source_async( "cus_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_customers_sources_get_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.payment_sources.retrieve_async( "cus_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_sources_get_4_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.payment_sources.retrieve( "cus_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_sources_get_4( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.retrieve_source( "cus_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", query_string="", ) def test_customers_sources_get_4_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.payment_sources.retrieve( "cus_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_sources_get_4_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.retrieve_source_async( "cus_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_customers_sources_get_4_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.payment_sources.retrieve_async( "cus_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_sources_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_123/sources/card_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.payment_sources.update( "cus_123", "card_123", {"name": "Kamil"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/sources/card_123", query_string="", api_base="https://api.stripe.com", post_data="name=Kamil", ) def test_customers_sources_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.modify_source( "cus_123", "card_123", name="Kamil", ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/sources/card_123", query_string="", post_data="name=Kamil", ) def test_customers_sources_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_123/sources/card_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.payment_sources.update( "cus_123", "card_123", {"name": "Kamil"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/sources/card_123", query_string="", api_base="https://api.stripe.com", post_data="name=Kamil", ) @pytest.mark.anyio async def test_customers_sources_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.modify_source_async( "cus_123", "card_123", name="Kamil", ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/sources/card_123", query_string="", post_data="name=Kamil", ) @pytest.mark.anyio async def test_customers_sources_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_123/sources/card_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.payment_sources.update_async( "cus_123", "card_123", {"name": "Kamil"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_123/sources/card_123", query_string="", api_base="https://api.stripe.com", post_data="name=Kamil", ) def test_customers_sources_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/sources", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.payment_sources.create( "cus_xxxxxxxxxxxxx", {"source": "btok_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="", api_base="https://api.stripe.com", post_data="source=btok_xxxxxxxxxxxxx", ) def test_customers_sources_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.create_source( "cus_xxxxxxxxxxxxx", source="btok_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="", post_data="source=btok_xxxxxxxxxxxxx", ) def test_customers_sources_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/sources", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.payment_sources.create( "cus_xxxxxxxxxxxxx", {"source": "btok_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="", api_base="https://api.stripe.com", post_data="source=btok_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_customers_sources_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.create_source_async( "cus_xxxxxxxxxxxxx", source="btok_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="", post_data="source=btok_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_customers_sources_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/sources", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.payment_sources.create_async( "cus_xxxxxxxxxxxxx", {"source": "btok_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="", api_base="https://api.stripe.com", post_data="source=btok_xxxxxxxxxxxxx", ) def test_customers_sources_post_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/sources", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.payment_sources.create( "cus_xxxxxxxxxxxxx", {"source": "tok_xxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="", api_base="https://api.stripe.com", post_data="source=tok_xxxx", ) def test_customers_sources_post_3( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.create_source( "cus_xxxxxxxxxxxxx", source="tok_xxxx", ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="", post_data="source=tok_xxxx", ) def test_customers_sources_post_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/sources", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.payment_sources.create( "cus_xxxxxxxxxxxxx", {"source": "tok_xxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="", api_base="https://api.stripe.com", post_data="source=tok_xxxx", ) @pytest.mark.anyio async def test_customers_sources_post_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.create_source_async( "cus_xxxxxxxxxxxxx", source="tok_xxxx", ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="", post_data="source=tok_xxxx", ) @pytest.mark.anyio async def test_customers_sources_post_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/sources", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.payment_sources.create_async( "cus_xxxxxxxxxxxxx", {"source": "tok_xxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources", query_string="", api_base="https://api.stripe.com", post_data="source=tok_xxxx", ) def test_customers_sources_post_4_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.payment_sources.update( "cus_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_customers_sources_post_4( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.modify_source( "cus_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_customers_sources_post_4_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.payment_sources.update( "cus_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_customers_sources_post_4_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.modify_source_async( "cus_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_customers_sources_post_4_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.payment_sources.update_async( "cus_xxxxxxxxxxxxx", "ba_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/ba_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_customers_sources_post_5_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.payment_sources.update( "cus_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", {"name": "Jenny Rosen"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="name=Jenny%20Rosen", ) def test_customers_sources_post_5( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.modify_source( "cus_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", name="Jenny Rosen", ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", query_string="", post_data="name=Jenny%20Rosen", ) def test_customers_sources_post_5_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.payment_sources.update( "cus_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", {"name": "Jenny Rosen"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="name=Jenny%20Rosen", ) @pytest.mark.anyio async def test_customers_sources_post_5_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.modify_source_async( "cus_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", name="Jenny Rosen", ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", query_string="", post_data="name=Jenny%20Rosen", ) @pytest.mark.anyio async def test_customers_sources_post_5_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.payment_sources.update_async( "cus_xxxxxxxxxxxxx", "card_xxxxxxxxxxxxx", {"name": "Jenny Rosen"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/sources/card_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="name=Jenny%20Rosen", ) def test_customers_tax_ids_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.tax_ids.delete( "cus_xxxxxxxxxxxxx", "txi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_tax_ids_delete( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.delete_tax_id( "cus_xxxxxxxxxxxxx", "txi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", query_string="", ) def test_customers_tax_ids_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.tax_ids.delete( "cus_xxxxxxxxxxxxx", "txi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_tax_ids_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.delete_tax_id_async( "cus_xxxxxxxxxxxxx", "txi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_customers_tax_ids_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.tax_ids.delete_async( "cus_xxxxxxxxxxxxx", "txi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_tax_ids_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.tax_ids.list( "cus_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", query_string="limit=3", api_base="https://api.stripe.com", ) def test_customers_tax_ids_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.list_tax_ids( "cus_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", query_string="limit=3", ) def test_customers_tax_ids_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.tax_ids.list( "cus_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_tax_ids_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.list_tax_ids_async( "cus_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", query_string="limit=3", ) @pytest.mark.anyio async def test_customers_tax_ids_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.tax_ids.list_async( "cus_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", query_string="limit=3", api_base="https://api.stripe.com", ) def test_customers_tax_ids_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.tax_ids.retrieve( "cus_xxxxxxxxxxxxx", "txi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_tax_ids_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.retrieve_tax_id( "cus_xxxxxxxxxxxxx", "txi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", query_string="", ) def test_customers_tax_ids_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.tax_ids.retrieve( "cus_xxxxxxxxxxxxx", "txi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_customers_tax_ids_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.retrieve_tax_id_async( "cus_xxxxxxxxxxxxx", "txi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_customers_tax_ids_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.tax_ids.retrieve_async( "cus_xxxxxxxxxxxxx", "txi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids/txi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_customers_tax_ids_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.customers.tax_ids.create( "cus_xxxxxxxxxxxxx", {"type": "eu_vat", "value": "DE123456789"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", query_string="", api_base="https://api.stripe.com", post_data="type=eu_vat&value=DE123456789", ) def test_customers_tax_ids_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.create_tax_id( "cus_xxxxxxxxxxxxx", type="eu_vat", value="DE123456789", ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", query_string="", post_data="type=eu_vat&value=DE123456789", ) def test_customers_tax_ids_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.customers.tax_ids.create( "cus_xxxxxxxxxxxxx", {"type": "eu_vat", "value": "DE123456789"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", query_string="", api_base="https://api.stripe.com", post_data="type=eu_vat&value=DE123456789", ) @pytest.mark.anyio async def test_customers_tax_ids_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.create_tax_id_async( "cus_xxxxxxxxxxxxx", type="eu_vat", value="DE123456789", ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", query_string="", post_data="type=eu_vat&value=DE123456789", ) @pytest.mark.anyio async def test_customers_tax_ids_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.customers.tax_ids.create_async( "cus_xxxxxxxxxxxxx", {"type": "eu_vat", "value": "DE123456789"}, ) http_client_mock.assert_requested( "post", path="/v1/customers/cus_xxxxxxxxxxxxx/tax_ids", query_string="", api_base="https://api.stripe.com", post_data="type=eu_vat&value=DE123456789", ) def test_disputes_close_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/disputes/dp_xxxxxxxxxxxxx/close", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.disputes.close("dp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/disputes/dp_xxxxxxxxxxxxx/close", query_string="", api_base="https://api.stripe.com", ) def test_disputes_close_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Dispute.close("dp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/disputes/dp_xxxxxxxxxxxxx/close", query_string="", ) def test_disputes_close_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/disputes/dp_xxxxxxxxxxxxx/close", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.disputes.close("dp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/disputes/dp_xxxxxxxxxxxxx/close", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_disputes_close_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Dispute.close_async("dp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/disputes/dp_xxxxxxxxxxxxx/close", query_string="", ) @pytest.mark.anyio async def test_disputes_close_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/disputes/dp_xxxxxxxxxxxxx/close", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.disputes.close_async("dp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/disputes/dp_xxxxxxxxxxxxx/close", query_string="", api_base="https://api.stripe.com", ) def test_disputes_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/disputes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.disputes.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/disputes", query_string="limit=3", api_base="https://api.stripe.com", ) def test_disputes_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Dispute.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/disputes", query_string="limit=3", ) def test_disputes_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/disputes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.disputes.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/disputes", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_disputes_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Dispute.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/disputes", query_string="limit=3", ) @pytest.mark.anyio async def test_disputes_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/disputes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.disputes.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/disputes", query_string="limit=3", api_base="https://api.stripe.com", ) def test_disputes_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/disputes/dp_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.disputes.retrieve("dp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/disputes/dp_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_disputes_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Dispute.retrieve("dp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/disputes/dp_xxxxxxxxxxxxx", query_string="", ) def test_disputes_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/disputes/dp_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.disputes.retrieve("dp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/disputes/dp_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_disputes_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Dispute.retrieve_async("dp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/disputes/dp_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_disputes_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/disputes/dp_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.disputes.retrieve_async("dp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/disputes/dp_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_disputes_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/disputes/dp_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.disputes.update( "dp_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/disputes/dp_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_disputes_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Dispute.modify( "dp_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/disputes/dp_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_disputes_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/disputes/dp_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.disputes.update( "dp_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/disputes/dp_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_disputes_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Dispute.modify_async( "dp_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/disputes/dp_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_disputes_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/disputes/dp_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.disputes.update_async( "dp_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/disputes/dp_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_events_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/events", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.events.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/events", query_string="limit=3", api_base="https://api.stripe.com", ) def test_events_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Event.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/events", query_string="limit=3", ) def test_events_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/events", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.events.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/events", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_events_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Event.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/events", query_string="limit=3", ) @pytest.mark.anyio async def test_events_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/events", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.events.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/events", query_string="limit=3", api_base="https://api.stripe.com", ) def test_events_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/events/evt_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.events.retrieve("evt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/events/evt_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_events_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Event.retrieve("evt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/events/evt_xxxxxxxxxxxxx", query_string="", ) def test_events_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/events/evt_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.events.retrieve("evt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/events/evt_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_events_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Event.retrieve_async("evt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/events/evt_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_events_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/events/evt_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.events.retrieve_async("evt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/events/evt_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_file_links_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/file_links", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.file_links.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/file_links", query_string="limit=3", api_base="https://api.stripe.com", ) def test_file_links_get(self, http_client_mock: HTTPClientMock) -> None: stripe.FileLink.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/file_links", query_string="limit=3", ) def test_file_links_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/file_links", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.file_links.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/file_links", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_file_links_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.FileLink.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/file_links", query_string="limit=3", ) @pytest.mark.anyio async def test_file_links_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/file_links", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.file_links.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/file_links", query_string="limit=3", api_base="https://api.stripe.com", ) def test_file_links_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/file_links/link_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.file_links.retrieve("link_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/file_links/link_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_file_links_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.FileLink.retrieve("link_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/file_links/link_xxxxxxxxxxxxx", query_string="", ) def test_file_links_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/file_links/link_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.file_links.retrieve("link_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/file_links/link_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_file_links_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.FileLink.retrieve_async("link_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/file_links/link_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_file_links_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/file_links/link_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.file_links.retrieve_async("link_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/file_links/link_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_file_links_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/file_links", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.file_links.create({"file": "file_xxxxxxxxxxxxx"}) http_client_mock.assert_requested( "post", path="/v1/file_links", query_string="", api_base="https://api.stripe.com", post_data="file=file_xxxxxxxxxxxxx", ) def test_file_links_post(self, http_client_mock: HTTPClientMock) -> None: stripe.FileLink.create(file="file_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/file_links", query_string="", post_data="file=file_xxxxxxxxxxxxx", ) def test_file_links_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/file_links", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.file_links.create({"file": "file_xxxxxxxxxxxxx"}) http_client_mock.assert_requested( "post", path="/v1/file_links", query_string="", api_base="https://api.stripe.com", post_data="file=file_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_file_links_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.FileLink.create_async(file="file_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/file_links", query_string="", post_data="file=file_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_file_links_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/file_links", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.file_links.create_async({"file": "file_xxxxxxxxxxxxx"}) http_client_mock.assert_requested( "post", path="/v1/file_links", query_string="", api_base="https://api.stripe.com", post_data="file=file_xxxxxxxxxxxxx", ) def test_file_links_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/file_links/link_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.file_links.update( "link_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/file_links/link_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_file_links_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.FileLink.modify( "link_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/file_links/link_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_file_links_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/file_links/link_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.file_links.update( "link_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/file_links/link_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_file_links_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.FileLink.modify_async( "link_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/file_links/link_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_file_links_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/file_links/link_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.file_links.update_async( "link_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/file_links/link_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_files_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/files", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.files.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/files", query_string="limit=3", api_base="https://api.stripe.com", ) def test_files_get(self, http_client_mock: HTTPClientMock) -> None: stripe.File.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/files", query_string="limit=3", ) def test_files_get_service(self, http_client_mock: HTTPClientMock) -> None: http_client_mock.stub_request( "get", "/v1/files", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.files.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/files", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_files_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.File.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/files", query_string="limit=3", ) @pytest.mark.anyio async def test_files_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/files", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.files.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/files", query_string="limit=3", api_base="https://api.stripe.com", ) def test_files_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/files/file_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.files.retrieve("file_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/files/file_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_files_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.File.retrieve("file_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/files/file_xxxxxxxxxxxxx", query_string="", ) def test_files_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/files/file_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.files.retrieve("file_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/files/file_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_files_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.File.retrieve_async("file_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/files/file_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_files_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/files/file_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.files.retrieve_async("file_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/files/file_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_files_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/files", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.files.create( { "purpose": "account_requirement", "file": io.StringIO("foo"), } ) http_client_mock.assert_requested( "post", path="/v1/files", query_string="", api_base="https://files.stripe.com", ) def test_files_post(self, http_client_mock: HTTPClientMock) -> None: stripe.File.create( purpose="account_requirement", file=io.StringIO("foo"), ) http_client_mock.assert_requested( "post", path="/v1/files", query_string="", ) def test_files_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/files", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.files.create( { "purpose": "account_requirement", "file": io.StringIO("foo"), } ) http_client_mock.assert_requested( "post", path="/v1/files", query_string="", api_base="https://files.stripe.com", ) @pytest.mark.anyio async def test_files_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.File.create_async( purpose="account_requirement", file=io.StringIO("foo"), ) http_client_mock.assert_requested( "post", path="/v1/files", query_string="", ) @pytest.mark.anyio async def test_files_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/files", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.files.create_async( { "purpose": "account_requirement", "file": io.StringIO("foo"), } ) http_client_mock.assert_requested( "post", path="/v1/files", query_string="", api_base="https://files.stripe.com", ) def test_financial_connections_accounts_disconnect_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/accounts/fca_xyz/disconnect", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.accounts.disconnect("fca_xyz") http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fca_xyz/disconnect", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_disconnect_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Account.disconnect("fca_xyz") http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fca_xyz/disconnect", query_string="", ) def test_financial_connections_accounts_disconnect_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/accounts/fca_xyz/disconnect", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.accounts.disconnect("fca_xyz") http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fca_xyz/disconnect", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_financial_connections_accounts_disconnect_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Account.disconnect_async("fca_xyz") http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fca_xyz/disconnect", query_string="", ) @pytest.mark.anyio async def test_financial_connections_accounts_disconnect_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/accounts/fca_xyz/disconnect", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.accounts.disconnect_async( "fca_xyz", ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fca_xyz/disconnect", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_disconnect_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/disconnect", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.accounts.disconnect("fca_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/disconnect", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_disconnect_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Account.disconnect("fca_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/disconnect", query_string="", ) def test_financial_connections_accounts_disconnect_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/disconnect", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.accounts.disconnect( "fca_xxxxxxxxxxxxx" ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/disconnect", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_financial_connections_accounts_disconnect_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Account.disconnect_async( "fca_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/disconnect", query_string="", ) @pytest.mark.anyio async def test_financial_connections_accounts_disconnect_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/disconnect", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.accounts.disconnect_async( "fca_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/disconnect", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.accounts.list() http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Account.list() http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts", query_string="", ) def test_financial_connections_accounts_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.accounts.list() http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_financial_connections_accounts_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Account.list_async() http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts", query_string="", ) @pytest.mark.anyio async def test_financial_connections_accounts_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.accounts.list_async() http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts/fca_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.accounts.retrieve("fca_xyz") http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xyz", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Account.retrieve("fca_xyz") http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xyz", query_string="", ) def test_financial_connections_accounts_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts/fca_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.accounts.retrieve("fca_xyz") http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xyz", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_financial_connections_accounts_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Account.retrieve_async("fca_xyz") http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xyz", query_string="", ) @pytest.mark.anyio async def test_financial_connections_accounts_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts/fca_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.accounts.retrieve_async( "fca_xyz" ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xyz", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_get_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts", "account_holder[customer]=cus_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.accounts.list( { "account_holder": {"customer": "cus_xxxxxxxxxxxxx"}, } ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts", query_string="account_holder[customer]=cus_xxxxxxxxxxxxx", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_get_3( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Account.list( account_holder={"customer": "cus_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts", query_string="account_holder[customer]=cus_xxxxxxxxxxxxx", ) def test_financial_connections_accounts_get_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts", "account_holder[customer]=cus_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.accounts.list( { "account_holder": {"customer": "cus_xxxxxxxxxxxxx"}, } ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts", query_string="account_holder[customer]=cus_xxxxxxxxxxxxx", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_financial_connections_accounts_get_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Account.list_async( account_holder={"customer": "cus_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts", query_string="account_holder[customer]=cus_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_financial_connections_accounts_get_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts", "account_holder[customer]=cus_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.accounts.list_async( { "account_holder": {"customer": "cus_xxxxxxxxxxxxx"}, } ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts", query_string="account_holder[customer]=cus_xxxxxxxxxxxxx", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_get_4_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.accounts.retrieve("fca_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_get_4( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Account.retrieve("fca_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx", query_string="", ) def test_financial_connections_accounts_get_4_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.accounts.retrieve("fca_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_financial_connections_accounts_get_4_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Account.retrieve_async( "fca_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_financial_connections_accounts_get_4_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.accounts.retrieve_async( "fca_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_owners_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts/fca_xyz/owners", "ownership=fcaowns_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.accounts.owners.list( "fca_xyz", {"ownership": "fcaowns_xyz"}, ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xyz/owners", query_string="ownership=fcaowns_xyz", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_owners_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Account.list_owners( "fca_xyz", ownership="fcaowns_xyz", ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xyz/owners", query_string="ownership=fcaowns_xyz", ) def test_financial_connections_accounts_owners_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts/fca_xyz/owners", "ownership=fcaowns_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.accounts.owners.list( "fca_xyz", {"ownership": "fcaowns_xyz"}, ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xyz/owners", query_string="ownership=fcaowns_xyz", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_financial_connections_accounts_owners_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Account.list_owners_async( "fca_xyz", ownership="fcaowns_xyz", ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xyz/owners", query_string="ownership=fcaowns_xyz", ) @pytest.mark.anyio async def test_financial_connections_accounts_owners_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts/fca_xyz/owners", "ownership=fcaowns_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.accounts.owners.list_async( "fca_xyz", {"ownership": "fcaowns_xyz"}, ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xyz/owners", query_string="ownership=fcaowns_xyz", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_owners_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/owners", "limit=3&ownership=fcaowns_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.accounts.owners.list( "fca_xxxxxxxxxxxxx", {"limit": 3, "ownership": "fcaowns_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/owners", query_string="limit=3&ownership=fcaowns_xxxxxxxxxxxxx", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_owners_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Account.list_owners( "fca_xxxxxxxxxxxxx", limit=3, ownership="fcaowns_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/owners", query_string="limit=3&ownership=fcaowns_xxxxxxxxxxxxx", ) def test_financial_connections_accounts_owners_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/owners", "limit=3&ownership=fcaowns_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.accounts.owners.list( "fca_xxxxxxxxxxxxx", {"limit": 3, "ownership": "fcaowns_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/owners", query_string="limit=3&ownership=fcaowns_xxxxxxxxxxxxx", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_financial_connections_accounts_owners_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Account.list_owners_async( "fca_xxxxxxxxxxxxx", limit=3, ownership="fcaowns_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/owners", query_string="limit=3&ownership=fcaowns_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_financial_connections_accounts_owners_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/owners", "limit=3&ownership=fcaowns_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.accounts.owners.list_async( "fca_xxxxxxxxxxxxx", {"limit": 3, "ownership": "fcaowns_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/accounts/fca_xxxxxxxxxxxxx/owners", query_string="limit=3&ownership=fcaowns_xxxxxxxxxxxxx", api_base="https://api.stripe.com", ) def test_financial_connections_accounts_refresh_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/accounts/fca_xyz/refresh", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.accounts.refresh( "fca_xyz", {"features": ["balance"]}, ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fca_xyz/refresh", query_string="", api_base="https://api.stripe.com", post_data="features[0]=balance", ) def test_financial_connections_accounts_refresh_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Account.refresh_account( "fca_xyz", features=["balance"], ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fca_xyz/refresh", query_string="", post_data="features[0]=balance", ) def test_financial_connections_accounts_refresh_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/accounts/fca_xyz/refresh", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.accounts.refresh( "fca_xyz", {"features": ["balance"]}, ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fca_xyz/refresh", query_string="", api_base="https://api.stripe.com", post_data="features[0]=balance", ) @pytest.mark.anyio async def test_financial_connections_accounts_refresh_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Account.refresh_account_async( "fca_xyz", features=["balance"], ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fca_xyz/refresh", query_string="", post_data="features[0]=balance", ) @pytest.mark.anyio async def test_financial_connections_accounts_refresh_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/accounts/fca_xyz/refresh", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.accounts.refresh_async( "fca_xyz", {"features": ["balance"]}, ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fca_xyz/refresh", query_string="", api_base="https://api.stripe.com", post_data="features[0]=balance", ) def test_financial_connections_accounts_subscribe_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/accounts/fa_123/subscribe", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.accounts.subscribe( "fa_123", {"features": ["transactions"]}, ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fa_123/subscribe", query_string="", api_base="https://api.stripe.com", post_data="features[0]=transactions", ) def test_financial_connections_accounts_subscribe_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Account.subscribe( "fa_123", features=["transactions"], ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fa_123/subscribe", query_string="", post_data="features[0]=transactions", ) def test_financial_connections_accounts_subscribe_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/accounts/fa_123/subscribe", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.accounts.subscribe( "fa_123", {"features": ["transactions"]}, ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fa_123/subscribe", query_string="", api_base="https://api.stripe.com", post_data="features[0]=transactions", ) @pytest.mark.anyio async def test_financial_connections_accounts_subscribe_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Account.subscribe_async( "fa_123", features=["transactions"], ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fa_123/subscribe", query_string="", post_data="features[0]=transactions", ) @pytest.mark.anyio async def test_financial_connections_accounts_subscribe_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/accounts/fa_123/subscribe", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.accounts.subscribe_async( "fa_123", {"features": ["transactions"]}, ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fa_123/subscribe", query_string="", api_base="https://api.stripe.com", post_data="features[0]=transactions", ) def test_financial_connections_accounts_unsubscribe_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/accounts/fa_123/unsubscribe", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.accounts.unsubscribe( "fa_123", {"features": ["transactions"]}, ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fa_123/unsubscribe", query_string="", api_base="https://api.stripe.com", post_data="features[0]=transactions", ) def test_financial_connections_accounts_unsubscribe_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Account.unsubscribe( "fa_123", features=["transactions"], ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fa_123/unsubscribe", query_string="", post_data="features[0]=transactions", ) def test_financial_connections_accounts_unsubscribe_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/accounts/fa_123/unsubscribe", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.accounts.unsubscribe( "fa_123", {"features": ["transactions"]}, ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fa_123/unsubscribe", query_string="", api_base="https://api.stripe.com", post_data="features[0]=transactions", ) @pytest.mark.anyio async def test_financial_connections_accounts_unsubscribe_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Account.unsubscribe_async( "fa_123", features=["transactions"], ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fa_123/unsubscribe", query_string="", post_data="features[0]=transactions", ) @pytest.mark.anyio async def test_financial_connections_accounts_unsubscribe_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/accounts/fa_123/unsubscribe", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.accounts.unsubscribe_async( "fa_123", {"features": ["transactions"]}, ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/accounts/fa_123/unsubscribe", query_string="", api_base="https://api.stripe.com", post_data="features[0]=transactions", ) def test_financial_connections_sessions_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/sessions/fcsess_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.sessions.retrieve("fcsess_xyz") http_client_mock.assert_requested( "get", path="/v1/financial_connections/sessions/fcsess_xyz", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_sessions_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Session.retrieve("fcsess_xyz") http_client_mock.assert_requested( "get", path="/v1/financial_connections/sessions/fcsess_xyz", query_string="", ) def test_financial_connections_sessions_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/sessions/fcsess_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.sessions.retrieve("fcsess_xyz") http_client_mock.assert_requested( "get", path="/v1/financial_connections/sessions/fcsess_xyz", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_financial_connections_sessions_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Session.retrieve_async("fcsess_xyz") http_client_mock.assert_requested( "get", path="/v1/financial_connections/sessions/fcsess_xyz", query_string="", ) @pytest.mark.anyio async def test_financial_connections_sessions_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/sessions/fcsess_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.sessions.retrieve_async( "fcsess_xyz", ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/sessions/fcsess_xyz", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_sessions_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/sessions/fcsess_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.sessions.retrieve("fcsess_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/financial_connections/sessions/fcsess_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_sessions_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Session.retrieve("fcsess_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/financial_connections/sessions/fcsess_xxxxxxxxxxxxx", query_string="", ) def test_financial_connections_sessions_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/sessions/fcsess_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.sessions.retrieve( "fcsess_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/sessions/fcsess_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_financial_connections_sessions_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Session.retrieve_async( "fcsess_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/sessions/fcsess_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_financial_connections_sessions_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/sessions/fcsess_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.sessions.retrieve_async( "fcsess_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/sessions/fcsess_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_sessions_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.sessions.create( { "account_holder": {"type": "customer", "customer": "cus_123"}, "permissions": ["balances"], } ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/sessions", query_string="", api_base="https://api.stripe.com", post_data="account_holder[type]=customer&account_holder[customer]=cus_123&permissions[0]=balances", ) def test_financial_connections_sessions_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Session.create( account_holder={"type": "customer", "customer": "cus_123"}, permissions=["balances"], ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/sessions", query_string="", post_data="account_holder[type]=customer&account_holder[customer]=cus_123&permissions[0]=balances", ) def test_financial_connections_sessions_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.sessions.create( { "account_holder": {"type": "customer", "customer": "cus_123"}, "permissions": ["balances"], } ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/sessions", query_string="", api_base="https://api.stripe.com", post_data="account_holder[type]=customer&account_holder[customer]=cus_123&permissions[0]=balances", ) @pytest.mark.anyio async def test_financial_connections_sessions_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Session.create_async( account_holder={"type": "customer", "customer": "cus_123"}, permissions=["balances"], ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/sessions", query_string="", post_data="account_holder[type]=customer&account_holder[customer]=cus_123&permissions[0]=balances", ) @pytest.mark.anyio async def test_financial_connections_sessions_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.sessions.create_async( { "account_holder": {"type": "customer", "customer": "cus_123"}, "permissions": ["balances"], } ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/sessions", query_string="", api_base="https://api.stripe.com", post_data="account_holder[type]=customer&account_holder[customer]=cus_123&permissions[0]=balances", ) def test_financial_connections_sessions_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.sessions.create( { "account_holder": { "type": "customer", "customer": "cus_xxxxxxxxxxxxx", }, "permissions": ["payment_method", "balances"], "filters": {"countries": ["US"]}, } ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/sessions", query_string="", api_base="https://api.stripe.com", post_data="account_holder[type]=customer&account_holder[customer]=cus_xxxxxxxxxxxxx&permissions[0]=payment_method&permissions[1]=balances&filters[countries][0]=US", ) def test_financial_connections_sessions_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Session.create( account_holder={ "type": "customer", "customer": "cus_xxxxxxxxxxxxx", }, permissions=["payment_method", "balances"], filters={"countries": ["US"]}, ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/sessions", query_string="", post_data="account_holder[type]=customer&account_holder[customer]=cus_xxxxxxxxxxxxx&permissions[0]=payment_method&permissions[1]=balances&filters[countries][0]=US", ) def test_financial_connections_sessions_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.sessions.create( { "account_holder": { "type": "customer", "customer": "cus_xxxxxxxxxxxxx", }, "permissions": ["payment_method", "balances"], "filters": {"countries": ["US"]}, } ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/sessions", query_string="", api_base="https://api.stripe.com", post_data="account_holder[type]=customer&account_holder[customer]=cus_xxxxxxxxxxxxx&permissions[0]=payment_method&permissions[1]=balances&filters[countries][0]=US", ) @pytest.mark.anyio async def test_financial_connections_sessions_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Session.create_async( account_holder={ "type": "customer", "customer": "cus_xxxxxxxxxxxxx", }, permissions=["payment_method", "balances"], filters={"countries": ["US"]}, ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/sessions", query_string="", post_data="account_holder[type]=customer&account_holder[customer]=cus_xxxxxxxxxxxxx&permissions[0]=payment_method&permissions[1]=balances&filters[countries][0]=US", ) @pytest.mark.anyio async def test_financial_connections_sessions_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/financial_connections/sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.sessions.create_async( { "account_holder": { "type": "customer", "customer": "cus_xxxxxxxxxxxxx", }, "permissions": ["payment_method", "balances"], "filters": {"countries": ["US"]}, } ) http_client_mock.assert_requested( "post", path="/v1/financial_connections/sessions", query_string="", api_base="https://api.stripe.com", post_data="account_holder[type]=customer&account_holder[customer]=cus_xxxxxxxxxxxxx&permissions[0]=payment_method&permissions[1]=balances&filters[countries][0]=US", ) def test_financial_connections_transactions_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/transactions/tr_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.transactions.retrieve("tr_123") http_client_mock.assert_requested( "get", path="/v1/financial_connections/transactions/tr_123", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_transactions_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Transaction.retrieve("tr_123") http_client_mock.assert_requested( "get", path="/v1/financial_connections/transactions/tr_123", query_string="", ) def test_financial_connections_transactions_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/transactions/tr_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.transactions.retrieve("tr_123") http_client_mock.assert_requested( "get", path="/v1/financial_connections/transactions/tr_123", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_financial_connections_transactions_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Transaction.retrieve_async("tr_123") http_client_mock.assert_requested( "get", path="/v1/financial_connections/transactions/tr_123", query_string="", ) @pytest.mark.anyio async def test_financial_connections_transactions_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/transactions/tr_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.transactions.retrieve_async( "tr_123", ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/transactions/tr_123", query_string="", api_base="https://api.stripe.com", ) def test_financial_connections_transactions_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/transactions", "account=fca_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.financial_connections.transactions.list({"account": "fca_xyz"}) http_client_mock.assert_requested( "get", path="/v1/financial_connections/transactions", query_string="account=fca_xyz", api_base="https://api.stripe.com", ) def test_financial_connections_transactions_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.financial_connections.Transaction.list(account="fca_xyz") http_client_mock.assert_requested( "get", path="/v1/financial_connections/transactions", query_string="account=fca_xyz", ) def test_financial_connections_transactions_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/transactions", "account=fca_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.financial_connections.transactions.list( { "account": "fca_xyz", } ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/transactions", query_string="account=fca_xyz", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_financial_connections_transactions_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.financial_connections.Transaction.list_async( account="fca_xyz", ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/transactions", query_string="account=fca_xyz", ) @pytest.mark.anyio async def test_financial_connections_transactions_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/financial_connections/transactions", "account=fca_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.financial_connections.transactions.list_async( { "account": "fca_xyz", } ) http_client_mock.assert_requested( "get", path="/v1/financial_connections/transactions", query_string="account=fca_xyz", api_base="https://api.stripe.com", ) def test_identity_verification_reports_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/identity/verification_reports", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.identity.verification_reports.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/identity/verification_reports", query_string="limit=3", api_base="https://api.stripe.com", ) def test_identity_verification_reports_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.identity.VerificationReport.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/identity/verification_reports", query_string="limit=3", ) def test_identity_verification_reports_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/identity/verification_reports", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.identity.verification_reports.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/identity/verification_reports", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_identity_verification_reports_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.identity.VerificationReport.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/identity/verification_reports", query_string="limit=3", ) @pytest.mark.anyio async def test_identity_verification_reports_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/identity/verification_reports", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.identity.verification_reports.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/identity/verification_reports", query_string="limit=3", api_base="https://api.stripe.com", ) def test_identity_verification_reports_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/identity/verification_reports/vr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.identity.verification_reports.retrieve("vr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/identity/verification_reports/vr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_identity_verification_reports_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.identity.VerificationReport.retrieve("vr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/identity/verification_reports/vr_xxxxxxxxxxxxx", query_string="", ) def test_identity_verification_reports_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/identity/verification_reports/vr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.identity.verification_reports.retrieve("vr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/identity/verification_reports/vr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_identity_verification_reports_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.identity.VerificationReport.retrieve_async( "vr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/identity/verification_reports/vr_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_identity_verification_reports_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/identity/verification_reports/vr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.identity.verification_reports.retrieve_async( "vr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/identity/verification_reports/vr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_identity_verification_sessions_cancel_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.identity.verification_sessions.cancel("vs_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_identity_verification_sessions_cancel_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.identity.VerificationSession.cancel("vs_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/cancel", query_string="", ) def test_identity_verification_sessions_cancel_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.identity.verification_sessions.cancel("vs_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_identity_verification_sessions_cancel_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.identity.VerificationSession.cancel_async( "vs_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/cancel", query_string="", ) @pytest.mark.anyio async def test_identity_verification_sessions_cancel_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.identity.verification_sessions.cancel_async( "vs_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_identity_verification_sessions_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/identity/verification_sessions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.identity.verification_sessions.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/identity/verification_sessions", query_string="limit=3", api_base="https://api.stripe.com", ) def test_identity_verification_sessions_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.identity.VerificationSession.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/identity/verification_sessions", query_string="limit=3", ) def test_identity_verification_sessions_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/identity/verification_sessions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.identity.verification_sessions.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/identity/verification_sessions", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_identity_verification_sessions_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.identity.VerificationSession.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/identity/verification_sessions", query_string="limit=3", ) @pytest.mark.anyio async def test_identity_verification_sessions_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/identity/verification_sessions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.identity.verification_sessions.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/identity/verification_sessions", query_string="limit=3", api_base="https://api.stripe.com", ) def test_identity_verification_sessions_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.identity.verification_sessions.retrieve("vs_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_identity_verification_sessions_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.identity.VerificationSession.retrieve("vs_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", query_string="", ) def test_identity_verification_sessions_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.identity.verification_sessions.retrieve("vs_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_identity_verification_sessions_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.identity.VerificationSession.retrieve_async( "vs_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_identity_verification_sessions_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.identity.verification_sessions.retrieve_async( "vs_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_identity_verification_sessions_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/identity/verification_sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.identity.verification_sessions.create({"type": "document"}) http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions", query_string="", api_base="https://api.stripe.com", post_data="type=document", ) def test_identity_verification_sessions_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.identity.VerificationSession.create(type="document") http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions", query_string="", post_data="type=document", ) def test_identity_verification_sessions_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/identity/verification_sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.identity.verification_sessions.create({"type": "document"}) http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions", query_string="", api_base="https://api.stripe.com", post_data="type=document", ) @pytest.mark.anyio async def test_identity_verification_sessions_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.identity.VerificationSession.create_async(type="document") http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions", query_string="", post_data="type=document", ) @pytest.mark.anyio async def test_identity_verification_sessions_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/identity/verification_sessions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.identity.verification_sessions.create_async( { "type": "document", } ) http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions", query_string="", api_base="https://api.stripe.com", post_data="type=document", ) def test_identity_verification_sessions_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.identity.verification_sessions.update( "vs_xxxxxxxxxxxxx", {"type": "id_number"}, ) http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="type=id_number", ) def test_identity_verification_sessions_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.identity.VerificationSession.modify( "vs_xxxxxxxxxxxxx", type="id_number", ) http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", query_string="", post_data="type=id_number", ) def test_identity_verification_sessions_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.identity.verification_sessions.update( "vs_xxxxxxxxxxxxx", {"type": "id_number"}, ) http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="type=id_number", ) @pytest.mark.anyio async def test_identity_verification_sessions_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.identity.VerificationSession.modify_async( "vs_xxxxxxxxxxxxx", type="id_number", ) http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", query_string="", post_data="type=id_number", ) @pytest.mark.anyio async def test_identity_verification_sessions_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.identity.verification_sessions.update_async( "vs_xxxxxxxxxxxxx", {"type": "id_number"}, ) http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="type=id_number", ) def test_identity_verification_sessions_redact_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/redact", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.identity.verification_sessions.redact("vs_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/redact", query_string="", api_base="https://api.stripe.com", ) def test_identity_verification_sessions_redact_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.identity.VerificationSession.redact("vs_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/redact", query_string="", ) def test_identity_verification_sessions_redact_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/redact", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.identity.verification_sessions.redact("vs_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/redact", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_identity_verification_sessions_redact_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.identity.VerificationSession.redact_async( "vs_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/redact", query_string="", ) @pytest.mark.anyio async def test_identity_verification_sessions_redact_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/redact", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.identity.verification_sessions.redact_async( "vs_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/identity/verification_sessions/vs_xxxxxxxxxxxxx/redact", query_string="", api_base="https://api.stripe.com", ) def test_invoiceitems_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/invoiceitems/ii_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoice_items.delete("ii_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/invoiceitems/ii_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_invoiceitems_delete( self, http_client_mock: HTTPClientMock ) -> None: stripe.InvoiceItem.delete("ii_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/invoiceitems/ii_xxxxxxxxxxxxx", query_string="", ) def test_invoiceitems_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/invoiceitems/ii_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoice_items.delete("ii_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/invoiceitems/ii_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_invoiceitems_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.InvoiceItem.delete_async("ii_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/invoiceitems/ii_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_invoiceitems_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/invoiceitems/ii_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoice_items.delete_async("ii_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/invoiceitems/ii_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_invoiceitems_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoiceitems", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoice_items.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/invoiceitems", query_string="limit=3", api_base="https://api.stripe.com", ) def test_invoiceitems_get(self, http_client_mock: HTTPClientMock) -> None: stripe.InvoiceItem.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/invoiceitems", query_string="limit=3", ) def test_invoiceitems_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoiceitems", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoice_items.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/invoiceitems", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_invoiceitems_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.InvoiceItem.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/invoiceitems", query_string="limit=3", ) @pytest.mark.anyio async def test_invoiceitems_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoiceitems", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoice_items.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/invoiceitems", query_string="limit=3", api_base="https://api.stripe.com", ) def test_invoiceitems_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoiceitems/ii_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoice_items.retrieve("ii_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/invoiceitems/ii_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_invoiceitems_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.InvoiceItem.retrieve("ii_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/invoiceitems/ii_xxxxxxxxxxxxx", query_string="", ) def test_invoiceitems_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoiceitems/ii_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoice_items.retrieve("ii_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/invoiceitems/ii_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_invoiceitems_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.InvoiceItem.retrieve_async("ii_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/invoiceitems/ii_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_invoiceitems_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoiceitems/ii_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoice_items.retrieve_async("ii_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/invoiceitems/ii_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_invoiceitems_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoiceitems", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoice_items.create({"customer": "cus_xxxxxxxxxxxxx"}) http_client_mock.assert_requested( "post", path="/v1/invoiceitems", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx", ) def test_invoiceitems_post(self, http_client_mock: HTTPClientMock) -> None: stripe.InvoiceItem.create(customer="cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoiceitems", query_string="", post_data="customer=cus_xxxxxxxxxxxxx", ) def test_invoiceitems_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoiceitems", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoice_items.create({"customer": "cus_xxxxxxxxxxxxx"}) http_client_mock.assert_requested( "post", path="/v1/invoiceitems", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_invoiceitems_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.InvoiceItem.create_async(customer="cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoiceitems", query_string="", post_data="customer=cus_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_invoiceitems_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoiceitems", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoice_items.create_async( { "customer": "cus_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/invoiceitems", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx", ) def test_invoiceitems_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoiceitems/ii_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoice_items.update( "ii_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/invoiceitems/ii_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_invoiceitems_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.InvoiceItem.modify( "ii_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/invoiceitems/ii_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_invoiceitems_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoiceitems/ii_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoice_items.update( "ii_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/invoiceitems/ii_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_invoiceitems_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.InvoiceItem.modify_async( "ii_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/invoiceitems/ii_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_invoiceitems_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoiceitems/ii_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoice_items.update_async( "ii_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/invoiceitems/ii_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_invoices_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/invoices/in_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoices.delete("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_invoices_delete(self, http_client_mock: HTTPClientMock) -> None: stripe.Invoice.delete("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="", ) def test_invoices_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/invoices/in_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoices.delete("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_invoices_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Invoice.delete_async("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_invoices_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/invoices/in_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoices.delete_async("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_invoices_finalize_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx/finalize", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoices.finalize_invoice("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/finalize", query_string="", api_base="https://api.stripe.com", ) def test_invoices_finalize_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Invoice.finalize_invoice("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/finalize", query_string="", ) def test_invoices_finalize_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx/finalize", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoices.finalize_invoice("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/finalize", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_invoices_finalize_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Invoice.finalize_invoice_async("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/finalize", query_string="", ) @pytest.mark.anyio async def test_invoices_finalize_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx/finalize", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoices.finalize_invoice_async("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/finalize", query_string="", api_base="https://api.stripe.com", ) def test_invoices_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoices", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoices.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/invoices", query_string="limit=3", api_base="https://api.stripe.com", ) def test_invoices_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Invoice.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/invoices", query_string="limit=3", ) def test_invoices_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoices", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoices.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/invoices", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_invoices_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Invoice.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/invoices", query_string="limit=3", ) @pytest.mark.anyio async def test_invoices_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoices", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoices.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/invoices", query_string="limit=3", api_base="https://api.stripe.com", ) def test_invoices_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoices/in_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoices.retrieve("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_invoices_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Invoice.retrieve("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="", ) def test_invoices_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoices/in_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoices.retrieve("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_invoices_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Invoice.retrieve_async("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_invoices_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoices/in_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoices.retrieve_async("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_invoices_get_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoices/in_xxxxxxxxxxxxx", "expand[0]=customer", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoices.retrieve( "in_xxxxxxxxxxxxx", {"expand": ["customer"]}, ) http_client_mock.assert_requested( "get", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="expand[0]=customer", api_base="https://api.stripe.com", ) def test_invoices_get_3(self, http_client_mock: HTTPClientMock) -> None: stripe.Invoice.retrieve( "in_xxxxxxxxxxxxx", expand=["customer"], ) http_client_mock.assert_requested( "get", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="expand[0]=customer", ) def test_invoices_get_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoices/in_xxxxxxxxxxxxx", "expand[0]=customer", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoices.retrieve( "in_xxxxxxxxxxxxx", {"expand": ["customer"]}, ) http_client_mock.assert_requested( "get", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="expand[0]=customer", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_invoices_get_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Invoice.retrieve_async( "in_xxxxxxxxxxxxx", expand=["customer"], ) http_client_mock.assert_requested( "get", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="expand[0]=customer", ) @pytest.mark.anyio async def test_invoices_get_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoices/in_xxxxxxxxxxxxx", "expand[0]=customer", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoices.retrieve_async( "in_xxxxxxxxxxxxx", {"expand": ["customer"]}, ) http_client_mock.assert_requested( "get", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="expand[0]=customer", api_base="https://api.stripe.com", ) def test_invoices_mark_uncollectible_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx/mark_uncollectible", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoices.mark_uncollectible("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/mark_uncollectible", query_string="", api_base="https://api.stripe.com", ) def test_invoices_mark_uncollectible_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Invoice.mark_uncollectible("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/mark_uncollectible", query_string="", ) def test_invoices_mark_uncollectible_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx/mark_uncollectible", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoices.mark_uncollectible("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/mark_uncollectible", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_invoices_mark_uncollectible_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Invoice.mark_uncollectible_async("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/mark_uncollectible", query_string="", ) @pytest.mark.anyio async def test_invoices_mark_uncollectible_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx/mark_uncollectible", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoices.mark_uncollectible_async("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/mark_uncollectible", query_string="", api_base="https://api.stripe.com", ) def test_invoices_pay_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx/pay", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoices.pay("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/pay", query_string="", api_base="https://api.stripe.com", ) def test_invoices_pay_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Invoice.pay("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/pay", query_string="", ) def test_invoices_pay_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx/pay", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoices.pay("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/pay", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_invoices_pay_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Invoice.pay_async("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/pay", query_string="", ) @pytest.mark.anyio async def test_invoices_pay_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx/pay", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoices.pay_async("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/pay", query_string="", api_base="https://api.stripe.com", ) def test_invoices_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoices.create({"customer": "cus_xxxxxxxxxxxxx"}) http_client_mock.assert_requested( "post", path="/v1/invoices", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx", ) def test_invoices_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Invoice.create(customer="cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices", query_string="", post_data="customer=cus_xxxxxxxxxxxxx", ) def test_invoices_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoices.create({"customer": "cus_xxxxxxxxxxxxx"}) http_client_mock.assert_requested( "post", path="/v1/invoices", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_invoices_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Invoice.create_async(customer="cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices", query_string="", post_data="customer=cus_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_invoices_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoices.create_async( {"customer": "cus_xxxxxxxxxxxxx"} ) http_client_mock.assert_requested( "post", path="/v1/invoices", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx", ) def test_invoices_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoices.update( "in_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_invoices_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Invoice.modify( "in_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_invoices_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoices.update( "in_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_invoices_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Invoice.modify_async( "in_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_invoices_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoices.update_async( "in_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_invoices_search_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoices/search", "query=total%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoices.search( { "query": "total>999 AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/invoices/search", query_string="query=total%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) def test_invoices_search_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Invoice.search( query="total>999 AND metadata['order_id']:'6735'" ) http_client_mock.assert_requested( "get", path="/v1/invoices/search", query_string="query=total%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) def test_invoices_search_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoices/search", "query=total%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoices.search( { "query": "total>999 AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/invoices/search", query_string="query=total%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_invoices_search_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Invoice.search_async( query="total>999 AND metadata['order_id']:'6735'", ) http_client_mock.assert_requested( "get", path="/v1/invoices/search", query_string="query=total%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) @pytest.mark.anyio async def test_invoices_search_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/invoices/search", "query=total%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoices.search_async( { "query": "total>999 AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/invoices/search", query_string="query=total%3E999%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) def test_invoices_send_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx/send", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoices.send_invoice("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/send", query_string="", api_base="https://api.stripe.com", ) def test_invoices_send_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Invoice.send_invoice("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/send", query_string="", ) def test_invoices_send_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx/send", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoices.send_invoice("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/send", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_invoices_send_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Invoice.send_invoice_async("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/send", query_string="", ) @pytest.mark.anyio async def test_invoices_send_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx/send", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoices.send_invoice_async("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/send", query_string="", api_base="https://api.stripe.com", ) def test_invoices_void_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx/void", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.invoices.void_invoice("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/void", query_string="", api_base="https://api.stripe.com", ) def test_invoices_void_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Invoice.void_invoice("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/void", query_string="", ) def test_invoices_void_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx/void", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.invoices.void_invoice("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/void", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_invoices_void_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Invoice.void_invoice_async("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/void", query_string="", ) @pytest.mark.anyio async def test_invoices_void_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/invoices/in_xxxxxxxxxxxxx/void", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.invoices.void_invoice_async("in_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/invoices/in_xxxxxxxxxxxxx/void", query_string="", api_base="https://api.stripe.com", ) def test_issuing_authorizations_approve_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/approve", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.authorizations.approve("iauth_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/approve", query_string="", api_base="https://api.stripe.com", ) def test_issuing_authorizations_approve_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Authorization.approve("iauth_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/approve", query_string="", ) def test_issuing_authorizations_approve_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/approve", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.authorizations.approve("iauth_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/approve", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_authorizations_approve_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Authorization.approve_async("iauth_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/approve", query_string="", ) @pytest.mark.anyio async def test_issuing_authorizations_approve_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/approve", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.authorizations.approve_async( "iauth_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/approve", query_string="", api_base="https://api.stripe.com", ) def test_issuing_authorizations_decline_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/decline", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.authorizations.decline("iauth_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/decline", query_string="", api_base="https://api.stripe.com", ) def test_issuing_authorizations_decline_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Authorization.decline("iauth_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/decline", query_string="", ) def test_issuing_authorizations_decline_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/decline", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.authorizations.decline("iauth_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/decline", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_authorizations_decline_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Authorization.decline_async("iauth_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/decline", query_string="", ) @pytest.mark.anyio async def test_issuing_authorizations_decline_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/decline", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.authorizations.decline_async( "iauth_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx/decline", query_string="", api_base="https://api.stripe.com", ) def test_issuing_authorizations_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/authorizations", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.authorizations.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/issuing/authorizations", query_string="limit=3", api_base="https://api.stripe.com", ) def test_issuing_authorizations_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Authorization.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/issuing/authorizations", query_string="limit=3", ) def test_issuing_authorizations_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/authorizations", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.authorizations.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/issuing/authorizations", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_authorizations_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Authorization.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/issuing/authorizations", query_string="limit=3", ) @pytest.mark.anyio async def test_issuing_authorizations_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/authorizations", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.authorizations.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/issuing/authorizations", query_string="limit=3", api_base="https://api.stripe.com", ) def test_issuing_authorizations_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.authorizations.retrieve("iauth_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_issuing_authorizations_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Authorization.retrieve("iauth_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", query_string="", ) def test_issuing_authorizations_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.authorizations.retrieve("iauth_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_authorizations_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Authorization.retrieve_async( "iauth_xxxxxxxxxxxxx" ) http_client_mock.assert_requested( "get", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_issuing_authorizations_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.authorizations.retrieve_async( "iauth_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_issuing_authorizations_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.authorizations.update( "iauth_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_issuing_authorizations_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Authorization.modify( "iauth_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_issuing_authorizations_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.authorizations.update( "iauth_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_issuing_authorizations_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Authorization.modify_async( "iauth_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_issuing_authorizations_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.authorizations.update_async( "iauth_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/authorizations/iauth_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_issuing_cardholders_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/cardholders", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.cardholders.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/issuing/cardholders", query_string="limit=3", api_base="https://api.stripe.com", ) def test_issuing_cardholders_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Cardholder.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/issuing/cardholders", query_string="limit=3", ) def test_issuing_cardholders_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/cardholders", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.cardholders.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/issuing/cardholders", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_cardholders_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Cardholder.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/issuing/cardholders", query_string="limit=3", ) @pytest.mark.anyio async def test_issuing_cardholders_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/cardholders", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.cardholders.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/issuing/cardholders", query_string="limit=3", api_base="https://api.stripe.com", ) def test_issuing_cardholders_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.cardholders.retrieve("ich_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_issuing_cardholders_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Cardholder.retrieve("ich_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", query_string="", ) def test_issuing_cardholders_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.cardholders.retrieve("ich_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_cardholders_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Cardholder.retrieve_async("ich_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_issuing_cardholders_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.cardholders.retrieve_async("ich_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_issuing_cardholders_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/cardholders", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.cardholders.create( { "type": "individual", "name": "Jenny Rosen", "email": "jenny.rosen@example.com", "phone_number": "+18888675309", "billing": { "address": { "line1": "1234 Main Street", "city": "San Francisco", "state": "CA", "country": "US", "postal_code": "94111", }, }, } ) http_client_mock.assert_requested( "post", path="/v1/issuing/cardholders", query_string="", api_base="https://api.stripe.com", post_data="type=individual&name=Jenny%20Rosen&email=jenny.rosen%40example.com&phone_number=%2B18888675309&billing[address][line1]=1234%20Main%20Street&billing[address][city]=San%20Francisco&billing[address][state]=CA&billing[address][country]=US&billing[address][postal_code]=94111", ) def test_issuing_cardholders_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Cardholder.create( type="individual", name="Jenny Rosen", email="jenny.rosen@example.com", phone_number="+18888675309", billing={ "address": { "line1": "1234 Main Street", "city": "San Francisco", "state": "CA", "country": "US", "postal_code": "94111", }, }, ) http_client_mock.assert_requested( "post", path="/v1/issuing/cardholders", query_string="", post_data="type=individual&name=Jenny%20Rosen&email=jenny.rosen%40example.com&phone_number=%2B18888675309&billing[address][line1]=1234%20Main%20Street&billing[address][city]=San%20Francisco&billing[address][state]=CA&billing[address][country]=US&billing[address][postal_code]=94111", ) def test_issuing_cardholders_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/cardholders", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.cardholders.create( { "type": "individual", "name": "Jenny Rosen", "email": "jenny.rosen@example.com", "phone_number": "+18888675309", "billing": { "address": { "line1": "1234 Main Street", "city": "San Francisco", "state": "CA", "country": "US", "postal_code": "94111", }, }, } ) http_client_mock.assert_requested( "post", path="/v1/issuing/cardholders", query_string="", api_base="https://api.stripe.com", post_data="type=individual&name=Jenny%20Rosen&email=jenny.rosen%40example.com&phone_number=%2B18888675309&billing[address][line1]=1234%20Main%20Street&billing[address][city]=San%20Francisco&billing[address][state]=CA&billing[address][country]=US&billing[address][postal_code]=94111", ) @pytest.mark.anyio async def test_issuing_cardholders_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Cardholder.create_async( type="individual", name="Jenny Rosen", email="jenny.rosen@example.com", phone_number="+18888675309", billing={ "address": { "line1": "1234 Main Street", "city": "San Francisco", "state": "CA", "country": "US", "postal_code": "94111", }, }, ) http_client_mock.assert_requested( "post", path="/v1/issuing/cardholders", query_string="", post_data="type=individual&name=Jenny%20Rosen&email=jenny.rosen%40example.com&phone_number=%2B18888675309&billing[address][line1]=1234%20Main%20Street&billing[address][city]=San%20Francisco&billing[address][state]=CA&billing[address][country]=US&billing[address][postal_code]=94111", ) @pytest.mark.anyio async def test_issuing_cardholders_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/cardholders", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.cardholders.create_async( { "type": "individual", "name": "Jenny Rosen", "email": "jenny.rosen@example.com", "phone_number": "+18888675309", "billing": { "address": { "line1": "1234 Main Street", "city": "San Francisco", "state": "CA", "country": "US", "postal_code": "94111", }, }, } ) http_client_mock.assert_requested( "post", path="/v1/issuing/cardholders", query_string="", api_base="https://api.stripe.com", post_data="type=individual&name=Jenny%20Rosen&email=jenny.rosen%40example.com&phone_number=%2B18888675309&billing[address][line1]=1234%20Main%20Street&billing[address][city]=San%20Francisco&billing[address][state]=CA&billing[address][country]=US&billing[address][postal_code]=94111", ) def test_issuing_cardholders_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.cardholders.update( "ich_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_issuing_cardholders_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Cardholder.modify( "ich_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_issuing_cardholders_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.cardholders.update( "ich_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_issuing_cardholders_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Cardholder.modify_async( "ich_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_issuing_cardholders_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.cardholders.update_async( "ich_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/cardholders/ich_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_issuing_cards_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/cards", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.cards.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/issuing/cards", query_string="limit=3", api_base="https://api.stripe.com", ) def test_issuing_cards_get(self, http_client_mock: HTTPClientMock) -> None: stripe.issuing.Card.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/issuing/cards", query_string="limit=3", ) def test_issuing_cards_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/cards", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.cards.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/issuing/cards", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_cards_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Card.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/issuing/cards", query_string="limit=3", ) @pytest.mark.anyio async def test_issuing_cards_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/cards", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.cards.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/issuing/cards", query_string="limit=3", api_base="https://api.stripe.com", ) def test_issuing_cards_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/cards/ic_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.cards.retrieve("ic_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/cards/ic_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_issuing_cards_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Card.retrieve("ic_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/cards/ic_xxxxxxxxxxxxx", query_string="", ) def test_issuing_cards_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/cards/ic_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.cards.retrieve("ic_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/cards/ic_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_cards_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Card.retrieve_async("ic_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/cards/ic_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_issuing_cards_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/cards/ic_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.cards.retrieve_async("ic_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/cards/ic_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_issuing_cards_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/cards", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.cards.create( { "cardholder": "ich_xxxxxxxxxxxxx", "currency": "usd", "type": "virtual", } ) http_client_mock.assert_requested( "post", path="/v1/issuing/cards", query_string="", api_base="https://api.stripe.com", post_data="cardholder=ich_xxxxxxxxxxxxx¤cy=usd&type=virtual", ) def test_issuing_cards_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Card.create( cardholder="ich_xxxxxxxxxxxxx", currency="usd", type="virtual", ) http_client_mock.assert_requested( "post", path="/v1/issuing/cards", query_string="", post_data="cardholder=ich_xxxxxxxxxxxxx¤cy=usd&type=virtual", ) def test_issuing_cards_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/cards", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.cards.create( { "cardholder": "ich_xxxxxxxxxxxxx", "currency": "usd", "type": "virtual", } ) http_client_mock.assert_requested( "post", path="/v1/issuing/cards", query_string="", api_base="https://api.stripe.com", post_data="cardholder=ich_xxxxxxxxxxxxx¤cy=usd&type=virtual", ) @pytest.mark.anyio async def test_issuing_cards_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Card.create_async( cardholder="ich_xxxxxxxxxxxxx", currency="usd", type="virtual", ) http_client_mock.assert_requested( "post", path="/v1/issuing/cards", query_string="", post_data="cardholder=ich_xxxxxxxxxxxxx¤cy=usd&type=virtual", ) @pytest.mark.anyio async def test_issuing_cards_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/cards", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.cards.create_async( { "cardholder": "ich_xxxxxxxxxxxxx", "currency": "usd", "type": "virtual", } ) http_client_mock.assert_requested( "post", path="/v1/issuing/cards", query_string="", api_base="https://api.stripe.com", post_data="cardholder=ich_xxxxxxxxxxxxx¤cy=usd&type=virtual", ) def test_issuing_cards_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/cards/ic_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.cards.update( "ic_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/cards/ic_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_issuing_cards_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Card.modify( "ic_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/cards/ic_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_issuing_cards_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/cards/ic_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.cards.update( "ic_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/cards/ic_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_issuing_cards_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Card.modify_async( "ic_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/cards/ic_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_issuing_cards_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/cards/ic_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.cards.update_async( "ic_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/cards/ic_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_issuing_disputes_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/disputes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.disputes.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/issuing/disputes", query_string="limit=3", api_base="https://api.stripe.com", ) def test_issuing_disputes_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Dispute.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/issuing/disputes", query_string="limit=3", ) def test_issuing_disputes_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/disputes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.disputes.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/issuing/disputes", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_disputes_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Dispute.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/issuing/disputes", query_string="limit=3", ) @pytest.mark.anyio async def test_issuing_disputes_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/disputes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.disputes.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/issuing/disputes", query_string="limit=3", api_base="https://api.stripe.com", ) def test_issuing_disputes_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/disputes/idp_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.disputes.retrieve("idp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/disputes/idp_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_issuing_disputes_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Dispute.retrieve("idp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/disputes/idp_xxxxxxxxxxxxx", query_string="", ) def test_issuing_disputes_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/disputes/idp_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.disputes.retrieve("idp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/disputes/idp_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_disputes_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Dispute.retrieve_async("idp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/disputes/idp_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_issuing_disputes_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/disputes/idp_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.disputes.retrieve_async("idp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/disputes/idp_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_issuing_disputes_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/disputes", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.disputes.create( { "transaction": "ipi_xxxxxxxxxxxxx", "evidence": { "reason": "fraudulent", "fraudulent": { "explanation": "Purchase was unrecognized." }, }, } ) http_client_mock.assert_requested( "post", path="/v1/issuing/disputes", query_string="", api_base="https://api.stripe.com", post_data="transaction=ipi_xxxxxxxxxxxxx&evidence[reason]=fraudulent&evidence[fraudulent][explanation]=Purchase%20was%20unrecognized.", ) def test_issuing_disputes_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Dispute.create( transaction="ipi_xxxxxxxxxxxxx", evidence={ "reason": "fraudulent", "fraudulent": {"explanation": "Purchase was unrecognized."}, }, ) http_client_mock.assert_requested( "post", path="/v1/issuing/disputes", query_string="", post_data="transaction=ipi_xxxxxxxxxxxxx&evidence[reason]=fraudulent&evidence[fraudulent][explanation]=Purchase%20was%20unrecognized.", ) def test_issuing_disputes_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/disputes", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.disputes.create( { "transaction": "ipi_xxxxxxxxxxxxx", "evidence": { "reason": "fraudulent", "fraudulent": { "explanation": "Purchase was unrecognized." }, }, } ) http_client_mock.assert_requested( "post", path="/v1/issuing/disputes", query_string="", api_base="https://api.stripe.com", post_data="transaction=ipi_xxxxxxxxxxxxx&evidence[reason]=fraudulent&evidence[fraudulent][explanation]=Purchase%20was%20unrecognized.", ) @pytest.mark.anyio async def test_issuing_disputes_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Dispute.create_async( transaction="ipi_xxxxxxxxxxxxx", evidence={ "reason": "fraudulent", "fraudulent": {"explanation": "Purchase was unrecognized."}, }, ) http_client_mock.assert_requested( "post", path="/v1/issuing/disputes", query_string="", post_data="transaction=ipi_xxxxxxxxxxxxx&evidence[reason]=fraudulent&evidence[fraudulent][explanation]=Purchase%20was%20unrecognized.", ) @pytest.mark.anyio async def test_issuing_disputes_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/disputes", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.disputes.create_async( { "transaction": "ipi_xxxxxxxxxxxxx", "evidence": { "reason": "fraudulent", "fraudulent": { "explanation": "Purchase was unrecognized." }, }, } ) http_client_mock.assert_requested( "post", path="/v1/issuing/disputes", query_string="", api_base="https://api.stripe.com", post_data="transaction=ipi_xxxxxxxxxxxxx&evidence[reason]=fraudulent&evidence[fraudulent][explanation]=Purchase%20was%20unrecognized.", ) def test_issuing_disputes_submit_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/disputes/idp_xxxxxxxxxxxxx/submit", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.disputes.submit("idp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/issuing/disputes/idp_xxxxxxxxxxxxx/submit", query_string="", api_base="https://api.stripe.com", ) def test_issuing_disputes_submit_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Dispute.submit("idp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/issuing/disputes/idp_xxxxxxxxxxxxx/submit", query_string="", ) def test_issuing_disputes_submit_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/disputes/idp_xxxxxxxxxxxxx/submit", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.disputes.submit("idp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/issuing/disputes/idp_xxxxxxxxxxxxx/submit", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_disputes_submit_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Dispute.submit_async("idp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/issuing/disputes/idp_xxxxxxxxxxxxx/submit", query_string="", ) @pytest.mark.anyio async def test_issuing_disputes_submit_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/disputes/idp_xxxxxxxxxxxxx/submit", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.disputes.submit_async("idp_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/issuing/disputes/idp_xxxxxxxxxxxxx/submit", query_string="", api_base="https://api.stripe.com", ) def test_issuing_personalization_designs_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/personalization_designs", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.personalization_designs.list() http_client_mock.assert_requested( "get", path="/v1/issuing/personalization_designs", query_string="", api_base="https://api.stripe.com", ) def test_issuing_personalization_designs_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.PersonalizationDesign.list() http_client_mock.assert_requested( "get", path="/v1/issuing/personalization_designs", query_string="", ) def test_issuing_personalization_designs_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/personalization_designs", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.personalization_designs.list() http_client_mock.assert_requested( "get", path="/v1/issuing/personalization_designs", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_personalization_designs_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.PersonalizationDesign.list_async() http_client_mock.assert_requested( "get", path="/v1/issuing/personalization_designs", query_string="", ) @pytest.mark.anyio async def test_issuing_personalization_designs_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/personalization_designs", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.personalization_designs.list_async() http_client_mock.assert_requested( "get", path="/v1/issuing/personalization_designs", query_string="", api_base="https://api.stripe.com", ) def test_issuing_personalization_designs_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/personalization_designs/pd_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.personalization_designs.retrieve("pd_xyz") http_client_mock.assert_requested( "get", path="/v1/issuing/personalization_designs/pd_xyz", query_string="", api_base="https://api.stripe.com", ) def test_issuing_personalization_designs_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.PersonalizationDesign.retrieve("pd_xyz") http_client_mock.assert_requested( "get", path="/v1/issuing/personalization_designs/pd_xyz", query_string="", ) def test_issuing_personalization_designs_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/personalization_designs/pd_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.personalization_designs.retrieve("pd_xyz") http_client_mock.assert_requested( "get", path="/v1/issuing/personalization_designs/pd_xyz", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_personalization_designs_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.PersonalizationDesign.retrieve_async("pd_xyz") http_client_mock.assert_requested( "get", path="/v1/issuing/personalization_designs/pd_xyz", query_string="", ) @pytest.mark.anyio async def test_issuing_personalization_designs_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/personalization_designs/pd_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.personalization_designs.retrieve_async( "pd_xyz" ) http_client_mock.assert_requested( "get", path="/v1/issuing/personalization_designs/pd_xyz", query_string="", api_base="https://api.stripe.com", ) def test_issuing_personalization_designs_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/personalization_designs", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.personalization_designs.create( { "physical_bundle": "pb_xyz", } ) http_client_mock.assert_requested( "post", path="/v1/issuing/personalization_designs", query_string="", api_base="https://api.stripe.com", post_data="physical_bundle=pb_xyz", ) def test_issuing_personalization_designs_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.PersonalizationDesign.create(physical_bundle="pb_xyz") http_client_mock.assert_requested( "post", path="/v1/issuing/personalization_designs", query_string="", post_data="physical_bundle=pb_xyz", ) def test_issuing_personalization_designs_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/personalization_designs", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.personalization_designs.create( { "physical_bundle": "pb_xyz", } ) http_client_mock.assert_requested( "post", path="/v1/issuing/personalization_designs", query_string="", api_base="https://api.stripe.com", post_data="physical_bundle=pb_xyz", ) @pytest.mark.anyio async def test_issuing_personalization_designs_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.PersonalizationDesign.create_async( physical_bundle="pb_xyz", ) http_client_mock.assert_requested( "post", path="/v1/issuing/personalization_designs", query_string="", post_data="physical_bundle=pb_xyz", ) @pytest.mark.anyio async def test_issuing_personalization_designs_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/personalization_designs", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.personalization_designs.create_async( { "physical_bundle": "pb_xyz", } ) http_client_mock.assert_requested( "post", path="/v1/issuing/personalization_designs", query_string="", api_base="https://api.stripe.com", post_data="physical_bundle=pb_xyz", ) def test_issuing_personalization_designs_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/personalization_designs/pd_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.personalization_designs.update("pd_xyz") http_client_mock.assert_requested( "post", path="/v1/issuing/personalization_designs/pd_xyz", query_string="", api_base="https://api.stripe.com", ) def test_issuing_personalization_designs_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.PersonalizationDesign.modify("pd_xyz") http_client_mock.assert_requested( "post", path="/v1/issuing/personalization_designs/pd_xyz", query_string="", ) def test_issuing_personalization_designs_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/personalization_designs/pd_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.personalization_designs.update("pd_xyz") http_client_mock.assert_requested( "post", path="/v1/issuing/personalization_designs/pd_xyz", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_personalization_designs_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.PersonalizationDesign.modify_async("pd_xyz") http_client_mock.assert_requested( "post", path="/v1/issuing/personalization_designs/pd_xyz", query_string="", ) @pytest.mark.anyio async def test_issuing_personalization_designs_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/personalization_designs/pd_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.personalization_designs.update_async("pd_xyz") http_client_mock.assert_requested( "post", path="/v1/issuing/personalization_designs/pd_xyz", query_string="", api_base="https://api.stripe.com", ) def test_issuing_physical_bundles_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/physical_bundles", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.physical_bundles.list() http_client_mock.assert_requested( "get", path="/v1/issuing/physical_bundles", query_string="", api_base="https://api.stripe.com", ) def test_issuing_physical_bundles_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.PhysicalBundle.list() http_client_mock.assert_requested( "get", path="/v1/issuing/physical_bundles", query_string="", ) def test_issuing_physical_bundles_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/physical_bundles", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.physical_bundles.list() http_client_mock.assert_requested( "get", path="/v1/issuing/physical_bundles", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_physical_bundles_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.PhysicalBundle.list_async() http_client_mock.assert_requested( "get", path="/v1/issuing/physical_bundles", query_string="", ) @pytest.mark.anyio async def test_issuing_physical_bundles_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/physical_bundles", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.physical_bundles.list_async() http_client_mock.assert_requested( "get", path="/v1/issuing/physical_bundles", query_string="", api_base="https://api.stripe.com", ) def test_issuing_physical_bundles_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/physical_bundles/pb_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.physical_bundles.retrieve("pb_xyz") http_client_mock.assert_requested( "get", path="/v1/issuing/physical_bundles/pb_xyz", query_string="", api_base="https://api.stripe.com", ) def test_issuing_physical_bundles_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.PhysicalBundle.retrieve("pb_xyz") http_client_mock.assert_requested( "get", path="/v1/issuing/physical_bundles/pb_xyz", query_string="", ) def test_issuing_physical_bundles_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/physical_bundles/pb_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.physical_bundles.retrieve("pb_xyz") http_client_mock.assert_requested( "get", path="/v1/issuing/physical_bundles/pb_xyz", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_physical_bundles_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.PhysicalBundle.retrieve_async("pb_xyz") http_client_mock.assert_requested( "get", path="/v1/issuing/physical_bundles/pb_xyz", query_string="", ) @pytest.mark.anyio async def test_issuing_physical_bundles_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/physical_bundles/pb_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.physical_bundles.retrieve_async("pb_xyz") http_client_mock.assert_requested( "get", path="/v1/issuing/physical_bundles/pb_xyz", query_string="", api_base="https://api.stripe.com", ) def test_issuing_transactions_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/transactions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.transactions.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/issuing/transactions", query_string="limit=3", api_base="https://api.stripe.com", ) def test_issuing_transactions_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Transaction.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/issuing/transactions", query_string="limit=3", ) def test_issuing_transactions_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/transactions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.transactions.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/issuing/transactions", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_transactions_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Transaction.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/issuing/transactions", query_string="limit=3", ) @pytest.mark.anyio async def test_issuing_transactions_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/transactions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.transactions.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/issuing/transactions", query_string="limit=3", api_base="https://api.stripe.com", ) def test_issuing_transactions_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.transactions.retrieve("ipi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_issuing_transactions_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Transaction.retrieve("ipi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", query_string="", ) def test_issuing_transactions_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.transactions.retrieve("ipi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_issuing_transactions_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Transaction.retrieve_async("ipi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_issuing_transactions_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.transactions.retrieve_async( "ipi_xxxxxxxxxxxxx" ) http_client_mock.assert_requested( "get", path="/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_issuing_transactions_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.issuing.transactions.update( "ipi_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_issuing_transactions_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Transaction.modify( "ipi_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_issuing_transactions_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.issuing.transactions.update( "ipi_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_issuing_transactions_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Transaction.modify_async( "ipi_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_issuing_transactions_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.issuing.transactions.update_async( "ipi_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/issuing/transactions/ipi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_mandates_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/mandates/mandate_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.mandates.retrieve("mandate_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/mandates/mandate_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_mandates_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Mandate.retrieve("mandate_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/mandates/mandate_xxxxxxxxxxxxx", query_string="", ) def test_mandates_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/mandates/mandate_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.mandates.retrieve("mandate_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/mandates/mandate_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_mandates_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Mandate.retrieve_async("mandate_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/mandates/mandate_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_mandates_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/mandates/mandate_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.mandates.retrieve_async("mandate_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/mandates/mandate_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_payment_intents_apply_customer_balance_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/apply_customer_balance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_intents.apply_customer_balance("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/apply_customer_balance", query_string="", api_base="https://api.stripe.com", ) def test_payment_intents_apply_customer_balance_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentIntent.apply_customer_balance("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/apply_customer_balance", query_string="", ) def test_payment_intents_apply_customer_balance_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/apply_customer_balance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_intents.apply_customer_balance("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/apply_customer_balance", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_intents_apply_customer_balance_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentIntent.apply_customer_balance_async( "pi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/apply_customer_balance", query_string="", ) @pytest.mark.anyio async def test_payment_intents_apply_customer_balance_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/apply_customer_balance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_intents.apply_customer_balance_async( "pi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/apply_customer_balance", query_string="", api_base="https://api.stripe.com", ) def test_payment_intents_cancel_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_intents.cancel("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_payment_intents_cancel_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentIntent.cancel("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/cancel", query_string="", ) def test_payment_intents_cancel_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_intents.cancel("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_intents_cancel_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentIntent.cancel_async("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/cancel", query_string="", ) @pytest.mark.anyio async def test_payment_intents_cancel_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_intents.cancel_async("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_payment_intents_capture_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/capture", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_intents.capture("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/capture", query_string="", api_base="https://api.stripe.com", ) def test_payment_intents_capture_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentIntent.capture("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/capture", query_string="", ) def test_payment_intents_capture_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/capture", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_intents.capture("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/capture", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_intents_capture_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentIntent.capture_async("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/capture", query_string="", ) @pytest.mark.anyio async def test_payment_intents_capture_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/capture", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_intents.capture_async("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/capture", query_string="", api_base="https://api.stripe.com", ) def test_payment_intents_confirm_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/confirm", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_intents.confirm( "pi_xxxxxxxxxxxxx", {"payment_method": "pm_card_visa"}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/confirm", query_string="", api_base="https://api.stripe.com", post_data="payment_method=pm_card_visa", ) def test_payment_intents_confirm_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentIntent.confirm( "pi_xxxxxxxxxxxxx", payment_method="pm_card_visa", ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/confirm", query_string="", post_data="payment_method=pm_card_visa", ) def test_payment_intents_confirm_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/confirm", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_intents.confirm( "pi_xxxxxxxxxxxxx", {"payment_method": "pm_card_visa"}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/confirm", query_string="", api_base="https://api.stripe.com", post_data="payment_method=pm_card_visa", ) @pytest.mark.anyio async def test_payment_intents_confirm_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentIntent.confirm_async( "pi_xxxxxxxxxxxxx", payment_method="pm_card_visa", ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/confirm", query_string="", post_data="payment_method=pm_card_visa", ) @pytest.mark.anyio async def test_payment_intents_confirm_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/confirm", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_intents.confirm_async( "pi_xxxxxxxxxxxxx", {"payment_method": "pm_card_visa"}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/confirm", query_string="", api_base="https://api.stripe.com", post_data="payment_method=pm_card_visa", ) def test_payment_intents_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_intents", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_intents.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/payment_intents", query_string="limit=3", api_base="https://api.stripe.com", ) def test_payment_intents_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentIntent.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/payment_intents", query_string="limit=3", ) def test_payment_intents_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_intents", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_intents.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/payment_intents", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_intents_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentIntent.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/payment_intents", query_string="limit=3", ) @pytest.mark.anyio async def test_payment_intents_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_intents", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_intents.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/payment_intents", query_string="limit=3", api_base="https://api.stripe.com", ) def test_payment_intents_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_intents/pi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_intents.retrieve("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payment_intents/pi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_payment_intents_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentIntent.retrieve("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payment_intents/pi_xxxxxxxxxxxxx", query_string="", ) def test_payment_intents_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_intents/pi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_intents.retrieve("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payment_intents/pi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_intents_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentIntent.retrieve_async("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payment_intents/pi_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_payment_intents_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_intents/pi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_intents.retrieve_async("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payment_intents/pi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_payment_intents_increment_authorization_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/increment_authorization", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_intents.increment_authorization( "pi_xxxxxxxxxxxxx", {"amount": 2099}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/increment_authorization", query_string="", api_base="https://api.stripe.com", post_data="amount=2099", ) def test_payment_intents_increment_authorization_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentIntent.increment_authorization( "pi_xxxxxxxxxxxxx", amount=2099, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/increment_authorization", query_string="", post_data="amount=2099", ) def test_payment_intents_increment_authorization_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/increment_authorization", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_intents.increment_authorization( "pi_xxxxxxxxxxxxx", {"amount": 2099}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/increment_authorization", query_string="", api_base="https://api.stripe.com", post_data="amount=2099", ) @pytest.mark.anyio async def test_payment_intents_increment_authorization_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentIntent.increment_authorization_async( "pi_xxxxxxxxxxxxx", amount=2099, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/increment_authorization", query_string="", post_data="amount=2099", ) @pytest.mark.anyio async def test_payment_intents_increment_authorization_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/increment_authorization", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_intents.increment_authorization_async( "pi_xxxxxxxxxxxxx", {"amount": 2099}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/increment_authorization", query_string="", api_base="https://api.stripe.com", post_data="amount=2099", ) def test_payment_intents_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_intents.create( { "amount": 1099, "currency": "eur", "automatic_payment_methods": {"enabled": True}, } ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", query_string="", api_base="https://api.stripe.com", post_data="amount=1099¤cy=eur&automatic_payment_methods[enabled]=true", ) def test_payment_intents_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentIntent.create( amount=1099, currency="eur", automatic_payment_methods={"enabled": True}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", query_string="", post_data="amount=1099¤cy=eur&automatic_payment_methods[enabled]=true", ) def test_payment_intents_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_intents.create( { "amount": 1099, "currency": "eur", "automatic_payment_methods": {"enabled": True}, } ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", query_string="", api_base="https://api.stripe.com", post_data="amount=1099¤cy=eur&automatic_payment_methods[enabled]=true", ) @pytest.mark.anyio async def test_payment_intents_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentIntent.create_async( amount=1099, currency="eur", automatic_payment_methods={"enabled": True}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", query_string="", post_data="amount=1099¤cy=eur&automatic_payment_methods[enabled]=true", ) @pytest.mark.anyio async def test_payment_intents_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_intents.create_async( { "amount": 1099, "currency": "eur", "automatic_payment_methods": {"enabled": True}, } ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", query_string="", api_base="https://api.stripe.com", post_data="amount=1099¤cy=eur&automatic_payment_methods[enabled]=true", ) def test_payment_intents_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_intents.create( { "amount": 2000, "currency": "usd", "automatic_payment_methods": {"enabled": True}, } ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", query_string="", api_base="https://api.stripe.com", post_data="amount=2000¤cy=usd&automatic_payment_methods[enabled]=true", ) def test_payment_intents_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentIntent.create( amount=2000, currency="usd", automatic_payment_methods={"enabled": True}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", query_string="", post_data="amount=2000¤cy=usd&automatic_payment_methods[enabled]=true", ) def test_payment_intents_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_intents.create( { "amount": 2000, "currency": "usd", "automatic_payment_methods": {"enabled": True}, } ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", query_string="", api_base="https://api.stripe.com", post_data="amount=2000¤cy=usd&automatic_payment_methods[enabled]=true", ) @pytest.mark.anyio async def test_payment_intents_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentIntent.create_async( amount=2000, currency="usd", automatic_payment_methods={"enabled": True}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", query_string="", post_data="amount=2000¤cy=usd&automatic_payment_methods[enabled]=true", ) @pytest.mark.anyio async def test_payment_intents_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_intents.create_async( { "amount": 2000, "currency": "usd", "automatic_payment_methods": {"enabled": True}, } ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", query_string="", api_base="https://api.stripe.com", post_data="amount=2000¤cy=usd&automatic_payment_methods[enabled]=true", ) def test_payment_intents_post_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_intents.update( "pi_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_payment_intents_post_3( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentIntent.modify( "pi_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_payment_intents_post_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_intents.update( "pi_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_payment_intents_post_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentIntent.modify_async( "pi_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_payment_intents_post_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_intents.update_async( "pi_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_payment_intents_post_4_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_intents.create( { "amount": 200, "currency": "usd", "payment_method_data": { "type": "p24", "p24": {"bank": "blik"}, }, } ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", query_string="", api_base="https://api.stripe.com", post_data="amount=200¤cy=usd&payment_method_data[type]=p24&payment_method_data[p24][bank]=blik", ) def test_payment_intents_post_4( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentIntent.create( amount=200, currency="usd", payment_method_data={"type": "p24", "p24": {"bank": "blik"}}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", query_string="", post_data="amount=200¤cy=usd&payment_method_data[type]=p24&payment_method_data[p24][bank]=blik", ) def test_payment_intents_post_4_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_intents.create( { "amount": 200, "currency": "usd", "payment_method_data": { "type": "p24", "p24": {"bank": "blik"}, }, } ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", query_string="", api_base="https://api.stripe.com", post_data="amount=200¤cy=usd&payment_method_data[type]=p24&payment_method_data[p24][bank]=blik", ) @pytest.mark.anyio async def test_payment_intents_post_4_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentIntent.create_async( amount=200, currency="usd", payment_method_data={"type": "p24", "p24": {"bank": "blik"}}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", query_string="", post_data="amount=200¤cy=usd&payment_method_data[type]=p24&payment_method_data[p24][bank]=blik", ) @pytest.mark.anyio async def test_payment_intents_post_4_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_intents.create_async( { "amount": 200, "currency": "usd", "payment_method_data": { "type": "p24", "p24": {"bank": "blik"}, }, } ) http_client_mock.assert_requested( "post", path="/v1/payment_intents", query_string="", api_base="https://api.stripe.com", post_data="amount=200¤cy=usd&payment_method_data[type]=p24&payment_method_data[p24][bank]=blik", ) def test_payment_intents_search_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_intents/search", "query=status%3A%27succeeded%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_intents.search( { "query": "status:'succeeded' AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/payment_intents/search", query_string="query=status%3A%27succeeded%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) def test_payment_intents_search_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentIntent.search( query="status:'succeeded' AND metadata['order_id']:'6735'", ) http_client_mock.assert_requested( "get", path="/v1/payment_intents/search", query_string="query=status%3A%27succeeded%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) def test_payment_intents_search_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_intents/search", "query=status%3A%27succeeded%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_intents.search( { "query": "status:'succeeded' AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/payment_intents/search", query_string="query=status%3A%27succeeded%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_intents_search_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentIntent.search_async( query="status:'succeeded' AND metadata['order_id']:'6735'", ) http_client_mock.assert_requested( "get", path="/v1/payment_intents/search", query_string="query=status%3A%27succeeded%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) @pytest.mark.anyio async def test_payment_intents_search_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_intents/search", "query=status%3A%27succeeded%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_intents.search_async( { "query": "status:'succeeded' AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/payment_intents/search", query_string="query=status%3A%27succeeded%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) def test_payment_intents_verify_microdeposits_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_intents.verify_microdeposits("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", query_string="", api_base="https://api.stripe.com", ) def test_payment_intents_verify_microdeposits_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentIntent.verify_microdeposits("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", query_string="", ) def test_payment_intents_verify_microdeposits_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_intents.verify_microdeposits("pi_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_intents_verify_microdeposits_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentIntent.verify_microdeposits_async( "pi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", query_string="", ) @pytest.mark.anyio async def test_payment_intents_verify_microdeposits_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_intents.verify_microdeposits_async( "pi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", query_string="", api_base="https://api.stripe.com", ) def test_payment_intents_verify_microdeposits_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_intents.verify_microdeposits( "pi_xxxxxxxxxxxxx", {"amounts": [32, 45]}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", query_string="", api_base="https://api.stripe.com", post_data="amounts[0]=32&amounts[1]=45", ) def test_payment_intents_verify_microdeposits_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentIntent.verify_microdeposits( "pi_xxxxxxxxxxxxx", amounts=[32, 45], ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", query_string="", post_data="amounts[0]=32&amounts[1]=45", ) def test_payment_intents_verify_microdeposits_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_intents.verify_microdeposits( "pi_xxxxxxxxxxxxx", {"amounts": [32, 45]}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", query_string="", api_base="https://api.stripe.com", post_data="amounts[0]=32&amounts[1]=45", ) @pytest.mark.anyio async def test_payment_intents_verify_microdeposits_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentIntent.verify_microdeposits_async( "pi_xxxxxxxxxxxxx", amounts=[32, 45], ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", query_string="", post_data="amounts[0]=32&amounts[1]=45", ) @pytest.mark.anyio async def test_payment_intents_verify_microdeposits_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_intents.verify_microdeposits_async( "pi_xxxxxxxxxxxxx", {"amounts": [32, 45]}, ) http_client_mock.assert_requested( "post", path="/v1/payment_intents/pi_xxxxxxxxxxxxx/verify_microdeposits", query_string="", api_base="https://api.stripe.com", post_data="amounts[0]=32&amounts[1]=45", ) def test_payment_links_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_links/pl_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_links.retrieve("pl_xyz") http_client_mock.assert_requested( "get", path="/v1/payment_links/pl_xyz", query_string="", api_base="https://api.stripe.com", ) def test_payment_links_get(self, http_client_mock: HTTPClientMock) -> None: stripe.PaymentLink.retrieve("pl_xyz") http_client_mock.assert_requested( "get", path="/v1/payment_links/pl_xyz", query_string="", ) def test_payment_links_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_links/pl_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_links.retrieve("pl_xyz") http_client_mock.assert_requested( "get", path="/v1/payment_links/pl_xyz", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_links_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentLink.retrieve_async("pl_xyz") http_client_mock.assert_requested( "get", path="/v1/payment_links/pl_xyz", query_string="", ) @pytest.mark.anyio async def test_payment_links_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_links/pl_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_links.retrieve_async("pl_xyz") http_client_mock.assert_requested( "get", path="/v1/payment_links/pl_xyz", query_string="", api_base="https://api.stripe.com", ) def test_payment_links_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_links", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_links.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/payment_links", query_string="limit=3", api_base="https://api.stripe.com", ) def test_payment_links_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentLink.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/payment_links", query_string="limit=3", ) def test_payment_links_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_links", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_links.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/payment_links", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_links_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentLink.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/payment_links", query_string="limit=3", ) @pytest.mark.anyio async def test_payment_links_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_links", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_links.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/payment_links", query_string="limit=3", api_base="https://api.stripe.com", ) def test_payment_links_get_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_links/plink_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_links.retrieve("plink_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payment_links/plink_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_payment_links_get_3( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentLink.retrieve("plink_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payment_links/plink_xxxxxxxxxxxxx", query_string="", ) def test_payment_links_get_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_links/plink_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_links.retrieve("plink_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payment_links/plink_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_links_get_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentLink.retrieve_async("plink_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payment_links/plink_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_payment_links_get_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_links/plink_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_links.retrieve_async("plink_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payment_links/plink_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_payment_links_line_items_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_links/pl_xyz/line_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_links.line_items.list("pl_xyz") http_client_mock.assert_requested( "get", path="/v1/payment_links/pl_xyz/line_items", query_string="", api_base="https://api.stripe.com", ) def test_payment_links_line_items_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentLink.list_line_items("pl_xyz") http_client_mock.assert_requested( "get", path="/v1/payment_links/pl_xyz/line_items", query_string="", ) def test_payment_links_line_items_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_links/pl_xyz/line_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_links.line_items.list("pl_xyz") http_client_mock.assert_requested( "get", path="/v1/payment_links/pl_xyz/line_items", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_links_line_items_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentLink.list_line_items_async("pl_xyz") http_client_mock.assert_requested( "get", path="/v1/payment_links/pl_xyz/line_items", query_string="", ) @pytest.mark.anyio async def test_payment_links_line_items_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_links/pl_xyz/line_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_links.line_items.list_async("pl_xyz") http_client_mock.assert_requested( "get", path="/v1/payment_links/pl_xyz/line_items", query_string="", api_base="https://api.stripe.com", ) def test_payment_links_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_links", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_links.create( { "line_items": [ {"price": "price_xxxxxxxxxxxxx", "quantity": 1} ], } ) http_client_mock.assert_requested( "post", path="/v1/payment_links", query_string="", api_base="https://api.stripe.com", post_data="line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=1", ) def test_payment_links_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentLink.create( line_items=[{"price": "price_xxxxxxxxxxxxx", "quantity": 1}], ) http_client_mock.assert_requested( "post", path="/v1/payment_links", query_string="", post_data="line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=1", ) def test_payment_links_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_links", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_links.create( { "line_items": [ {"price": "price_xxxxxxxxxxxxx", "quantity": 1} ], } ) http_client_mock.assert_requested( "post", path="/v1/payment_links", query_string="", api_base="https://api.stripe.com", post_data="line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=1", ) @pytest.mark.anyio async def test_payment_links_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentLink.create_async( line_items=[{"price": "price_xxxxxxxxxxxxx", "quantity": 1}], ) http_client_mock.assert_requested( "post", path="/v1/payment_links", query_string="", post_data="line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=1", ) @pytest.mark.anyio async def test_payment_links_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_links", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_links.create_async( { "line_items": [ {"price": "price_xxxxxxxxxxxxx", "quantity": 1} ], } ) http_client_mock.assert_requested( "post", path="/v1/payment_links", query_string="", api_base="https://api.stripe.com", post_data="line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=1", ) def test_payment_links_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_links", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_links.create( { "line_items": [ {"price": "price_xxxxxxxxxxxxx", "quantity": 1} ], } ) http_client_mock.assert_requested( "post", path="/v1/payment_links", query_string="", api_base="https://api.stripe.com", post_data="line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=1", ) def test_payment_links_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentLink.create( line_items=[{"price": "price_xxxxxxxxxxxxx", "quantity": 1}], ) http_client_mock.assert_requested( "post", path="/v1/payment_links", query_string="", post_data="line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=1", ) def test_payment_links_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_links", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_links.create( { "line_items": [ {"price": "price_xxxxxxxxxxxxx", "quantity": 1} ], } ) http_client_mock.assert_requested( "post", path="/v1/payment_links", query_string="", api_base="https://api.stripe.com", post_data="line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=1", ) @pytest.mark.anyio async def test_payment_links_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentLink.create_async( line_items=[{"price": "price_xxxxxxxxxxxxx", "quantity": 1}], ) http_client_mock.assert_requested( "post", path="/v1/payment_links", query_string="", post_data="line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=1", ) @pytest.mark.anyio async def test_payment_links_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_links", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_links.create_async( { "line_items": [ {"price": "price_xxxxxxxxxxxxx", "quantity": 1} ], } ) http_client_mock.assert_requested( "post", path="/v1/payment_links", query_string="", api_base="https://api.stripe.com", post_data="line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=1", ) def test_payment_links_post_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_links/plink_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_links.update( "plink_xxxxxxxxxxxxx", {"active": False}, ) http_client_mock.assert_requested( "post", path="/v1/payment_links/plink_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="active=false", ) def test_payment_links_post_3( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentLink.modify( "plink_xxxxxxxxxxxxx", active=False, ) http_client_mock.assert_requested( "post", path="/v1/payment_links/plink_xxxxxxxxxxxxx", query_string="", post_data="active=false", ) def test_payment_links_post_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_links/plink_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_links.update( "plink_xxxxxxxxxxxxx", {"active": False}, ) http_client_mock.assert_requested( "post", path="/v1/payment_links/plink_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="active=false", ) @pytest.mark.anyio async def test_payment_links_post_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentLink.modify_async( "plink_xxxxxxxxxxxxx", active=False, ) http_client_mock.assert_requested( "post", path="/v1/payment_links/plink_xxxxxxxxxxxxx", query_string="", post_data="active=false", ) @pytest.mark.anyio async def test_payment_links_post_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_links/plink_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_links.update_async( "plink_xxxxxxxxxxxxx", {"active": False}, ) http_client_mock.assert_requested( "post", path="/v1/payment_links/plink_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="active=false", ) def test_payment_method_configurations_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_method_configurations", "application=foo", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_method_configurations.list({"application": "foo"}) http_client_mock.assert_requested( "get", path="/v1/payment_method_configurations", query_string="application=foo", api_base="https://api.stripe.com", ) def test_payment_method_configurations_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentMethodConfiguration.list(application="foo") http_client_mock.assert_requested( "get", path="/v1/payment_method_configurations", query_string="application=foo", ) def test_payment_method_configurations_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_method_configurations", "application=foo", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_method_configurations.list({"application": "foo"}) http_client_mock.assert_requested( "get", path="/v1/payment_method_configurations", query_string="application=foo", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_method_configurations_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentMethodConfiguration.list_async(application="foo") http_client_mock.assert_requested( "get", path="/v1/payment_method_configurations", query_string="application=foo", ) @pytest.mark.anyio async def test_payment_method_configurations_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_method_configurations", "application=foo", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_method_configurations.list_async( { "application": "foo", } ) http_client_mock.assert_requested( "get", path="/v1/payment_method_configurations", query_string="application=foo", api_base="https://api.stripe.com", ) def test_payment_method_configurations_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_method_configurations/foo", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_method_configurations.retrieve("foo") http_client_mock.assert_requested( "get", path="/v1/payment_method_configurations/foo", query_string="", api_base="https://api.stripe.com", ) def test_payment_method_configurations_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentMethodConfiguration.retrieve("foo") http_client_mock.assert_requested( "get", path="/v1/payment_method_configurations/foo", query_string="", ) def test_payment_method_configurations_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_method_configurations/foo", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_method_configurations.retrieve("foo") http_client_mock.assert_requested( "get", path="/v1/payment_method_configurations/foo", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_method_configurations_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentMethodConfiguration.retrieve_async("foo") http_client_mock.assert_requested( "get", path="/v1/payment_method_configurations/foo", query_string="", ) @pytest.mark.anyio async def test_payment_method_configurations_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_method_configurations/foo", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_method_configurations.retrieve_async("foo") http_client_mock.assert_requested( "get", path="/v1/payment_method_configurations/foo", query_string="", api_base="https://api.stripe.com", ) def test_payment_method_configurations_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_method_configurations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_method_configurations.create( { "acss_debit": {"display_preference": {"preference": "none"}}, "affirm": {"display_preference": {"preference": "none"}}, } ) http_client_mock.assert_requested( "post", path="/v1/payment_method_configurations", query_string="", api_base="https://api.stripe.com", post_data="acss_debit[display_preference][preference]=none&affirm[display_preference][preference]=none", ) def test_payment_method_configurations_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentMethodConfiguration.create( acss_debit={"display_preference": {"preference": "none"}}, affirm={"display_preference": {"preference": "none"}}, ) http_client_mock.assert_requested( "post", path="/v1/payment_method_configurations", query_string="", post_data="acss_debit[display_preference][preference]=none&affirm[display_preference][preference]=none", ) def test_payment_method_configurations_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_method_configurations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_method_configurations.create( { "acss_debit": {"display_preference": {"preference": "none"}}, "affirm": {"display_preference": {"preference": "none"}}, } ) http_client_mock.assert_requested( "post", path="/v1/payment_method_configurations", query_string="", api_base="https://api.stripe.com", post_data="acss_debit[display_preference][preference]=none&affirm[display_preference][preference]=none", ) @pytest.mark.anyio async def test_payment_method_configurations_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentMethodConfiguration.create_async( acss_debit={"display_preference": {"preference": "none"}}, affirm={"display_preference": {"preference": "none"}}, ) http_client_mock.assert_requested( "post", path="/v1/payment_method_configurations", query_string="", post_data="acss_debit[display_preference][preference]=none&affirm[display_preference][preference]=none", ) @pytest.mark.anyio async def test_payment_method_configurations_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_method_configurations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_method_configurations.create_async( { "acss_debit": {"display_preference": {"preference": "none"}}, "affirm": {"display_preference": {"preference": "none"}}, } ) http_client_mock.assert_requested( "post", path="/v1/payment_method_configurations", query_string="", api_base="https://api.stripe.com", post_data="acss_debit[display_preference][preference]=none&affirm[display_preference][preference]=none", ) def test_payment_method_configurations_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_method_configurations/foo", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_method_configurations.update( "foo", {"acss_debit": {"display_preference": {"preference": "on"}}}, ) http_client_mock.assert_requested( "post", path="/v1/payment_method_configurations/foo", query_string="", api_base="https://api.stripe.com", post_data="acss_debit[display_preference][preference]=on", ) def test_payment_method_configurations_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentMethodConfiguration.modify( "foo", acss_debit={"display_preference": {"preference": "on"}}, ) http_client_mock.assert_requested( "post", path="/v1/payment_method_configurations/foo", query_string="", post_data="acss_debit[display_preference][preference]=on", ) def test_payment_method_configurations_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_method_configurations/foo", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_method_configurations.update( "foo", {"acss_debit": {"display_preference": {"preference": "on"}}}, ) http_client_mock.assert_requested( "post", path="/v1/payment_method_configurations/foo", query_string="", api_base="https://api.stripe.com", post_data="acss_debit[display_preference][preference]=on", ) @pytest.mark.anyio async def test_payment_method_configurations_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentMethodConfiguration.modify_async( "foo", acss_debit={"display_preference": {"preference": "on"}}, ) http_client_mock.assert_requested( "post", path="/v1/payment_method_configurations/foo", query_string="", post_data="acss_debit[display_preference][preference]=on", ) @pytest.mark.anyio async def test_payment_method_configurations_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_method_configurations/foo", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_method_configurations.update_async( "foo", {"acss_debit": {"display_preference": {"preference": "on"}}}, ) http_client_mock.assert_requested( "post", path="/v1/payment_method_configurations/foo", query_string="", api_base="https://api.stripe.com", post_data="acss_debit[display_preference][preference]=on", ) def test_payment_methods_attach_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_methods/pm_xxxxxxxxxxxxx/attach", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_methods.attach( "pm_xxxxxxxxxxxxx", {"customer": "cus_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/payment_methods/pm_xxxxxxxxxxxxx/attach", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx", ) def test_payment_methods_attach_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentMethod.attach( "pm_xxxxxxxxxxxxx", customer="cus_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/payment_methods/pm_xxxxxxxxxxxxx/attach", query_string="", post_data="customer=cus_xxxxxxxxxxxxx", ) def test_payment_methods_attach_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_methods/pm_xxxxxxxxxxxxx/attach", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_methods.attach( "pm_xxxxxxxxxxxxx", {"customer": "cus_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/payment_methods/pm_xxxxxxxxxxxxx/attach", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_payment_methods_attach_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentMethod.attach_async( "pm_xxxxxxxxxxxxx", customer="cus_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/payment_methods/pm_xxxxxxxxxxxxx/attach", query_string="", post_data="customer=cus_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_payment_methods_attach_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_methods/pm_xxxxxxxxxxxxx/attach", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_methods.attach_async( "pm_xxxxxxxxxxxxx", {"customer": "cus_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/payment_methods/pm_xxxxxxxxxxxxx/attach", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx", ) def test_payment_methods_detach_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_methods/pm_xxxxxxxxxxxxx/detach", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_methods.detach("pm_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_methods/pm_xxxxxxxxxxxxx/detach", query_string="", api_base="https://api.stripe.com", ) def test_payment_methods_detach_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentMethod.detach("pm_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_methods/pm_xxxxxxxxxxxxx/detach", query_string="", ) def test_payment_methods_detach_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_methods/pm_xxxxxxxxxxxxx/detach", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_methods.detach("pm_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_methods/pm_xxxxxxxxxxxxx/detach", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_methods_detach_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentMethod.detach_async("pm_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_methods/pm_xxxxxxxxxxxxx/detach", query_string="", ) @pytest.mark.anyio async def test_payment_methods_detach_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_methods/pm_xxxxxxxxxxxxx/detach", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_methods.detach_async("pm_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payment_methods/pm_xxxxxxxxxxxxx/detach", query_string="", api_base="https://api.stripe.com", ) def test_payment_methods_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_methods", "customer=cus_xxxxxxxxxxxxx&type=card", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_methods.list( { "customer": "cus_xxxxxxxxxxxxx", "type": "card", } ) http_client_mock.assert_requested( "get", path="/v1/payment_methods", query_string="customer=cus_xxxxxxxxxxxxx&type=card", api_base="https://api.stripe.com", ) def test_payment_methods_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentMethod.list( customer="cus_xxxxxxxxxxxxx", type="card", ) http_client_mock.assert_requested( "get", path="/v1/payment_methods", query_string="customer=cus_xxxxxxxxxxxxx&type=card", ) def test_payment_methods_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_methods", "customer=cus_xxxxxxxxxxxxx&type=card", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_methods.list( { "customer": "cus_xxxxxxxxxxxxx", "type": "card", } ) http_client_mock.assert_requested( "get", path="/v1/payment_methods", query_string="customer=cus_xxxxxxxxxxxxx&type=card", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_methods_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentMethod.list_async( customer="cus_xxxxxxxxxxxxx", type="card", ) http_client_mock.assert_requested( "get", path="/v1/payment_methods", query_string="customer=cus_xxxxxxxxxxxxx&type=card", ) @pytest.mark.anyio async def test_payment_methods_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_methods", "customer=cus_xxxxxxxxxxxxx&type=card", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_methods.list_async( { "customer": "cus_xxxxxxxxxxxxx", "type": "card", } ) http_client_mock.assert_requested( "get", path="/v1/payment_methods", query_string="customer=cus_xxxxxxxxxxxxx&type=card", api_base="https://api.stripe.com", ) def test_payment_methods_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_methods/pm_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_methods.retrieve("pm_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payment_methods/pm_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_payment_methods_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentMethod.retrieve("pm_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payment_methods/pm_xxxxxxxxxxxxx", query_string="", ) def test_payment_methods_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_methods/pm_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_methods.retrieve("pm_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payment_methods/pm_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payment_methods_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentMethod.retrieve_async("pm_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payment_methods/pm_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_payment_methods_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payment_methods/pm_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_methods.retrieve_async("pm_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payment_methods/pm_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_payment_methods_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_methods", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_methods.create( { "type": "card", "card": { "number": "4242424242424242", "exp_month": 8, "exp_year": 2024, "cvc": "314", }, } ) http_client_mock.assert_requested( "post", path="/v1/payment_methods", query_string="", api_base="https://api.stripe.com", post_data="type=card&card[number]=4242424242424242&card[exp_month]=8&card[exp_year]=2024&card[cvc]=314", ) def test_payment_methods_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentMethod.create( type="card", card={ "number": "4242424242424242", "exp_month": 8, "exp_year": 2024, "cvc": "314", }, ) http_client_mock.assert_requested( "post", path="/v1/payment_methods", query_string="", post_data="type=card&card[number]=4242424242424242&card[exp_month]=8&card[exp_year]=2024&card[cvc]=314", ) def test_payment_methods_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_methods", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_methods.create( { "type": "card", "card": { "number": "4242424242424242", "exp_month": 8, "exp_year": 2024, "cvc": "314", }, } ) http_client_mock.assert_requested( "post", path="/v1/payment_methods", query_string="", api_base="https://api.stripe.com", post_data="type=card&card[number]=4242424242424242&card[exp_month]=8&card[exp_year]=2024&card[cvc]=314", ) @pytest.mark.anyio async def test_payment_methods_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentMethod.create_async( type="card", card={ "number": "4242424242424242", "exp_month": 8, "exp_year": 2024, "cvc": "314", }, ) http_client_mock.assert_requested( "post", path="/v1/payment_methods", query_string="", post_data="type=card&card[number]=4242424242424242&card[exp_month]=8&card[exp_year]=2024&card[cvc]=314", ) @pytest.mark.anyio async def test_payment_methods_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_methods", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_methods.create_async( { "type": "card", "card": { "number": "4242424242424242", "exp_month": 8, "exp_year": 2024, "cvc": "314", }, } ) http_client_mock.assert_requested( "post", path="/v1/payment_methods", query_string="", api_base="https://api.stripe.com", post_data="type=card&card[number]=4242424242424242&card[exp_month]=8&card[exp_year]=2024&card[cvc]=314", ) def test_payment_methods_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_methods/pm_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payment_methods.update( "pm_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/payment_methods/pm_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_payment_methods_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.PaymentMethod.modify( "pm_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/payment_methods/pm_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_payment_methods_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_methods/pm_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payment_methods.update( "pm_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/payment_methods/pm_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_payment_methods_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PaymentMethod.modify_async( "pm_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/payment_methods/pm_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_payment_methods_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payment_methods/pm_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payment_methods.update_async( "pm_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/payment_methods/pm_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_payouts_cancel_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payouts/po_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payouts.cancel("po_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payouts/po_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_payouts_cancel_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Payout.cancel("po_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payouts/po_xxxxxxxxxxxxx/cancel", query_string="", ) def test_payouts_cancel_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payouts/po_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payouts.cancel("po_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payouts/po_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payouts_cancel_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Payout.cancel_async("po_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payouts/po_xxxxxxxxxxxxx/cancel", query_string="", ) @pytest.mark.anyio async def test_payouts_cancel_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payouts/po_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payouts.cancel_async("po_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payouts/po_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_payouts_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payouts", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payouts.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/payouts", query_string="limit=3", api_base="https://api.stripe.com", ) def test_payouts_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Payout.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/payouts", query_string="limit=3", ) def test_payouts_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payouts", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payouts.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/payouts", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payouts_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Payout.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/payouts", query_string="limit=3", ) @pytest.mark.anyio async def test_payouts_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payouts", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payouts.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/payouts", query_string="limit=3", api_base="https://api.stripe.com", ) def test_payouts_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payouts/po_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payouts.retrieve("po_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payouts/po_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_payouts_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Payout.retrieve("po_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payouts/po_xxxxxxxxxxxxx", query_string="", ) def test_payouts_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payouts/po_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payouts.retrieve("po_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payouts/po_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payouts_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Payout.retrieve_async("po_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payouts/po_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_payouts_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/payouts/po_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payouts.retrieve_async("po_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/payouts/po_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_payouts_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payouts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payouts.create({"amount": 1100, "currency": "usd"}) http_client_mock.assert_requested( "post", path="/v1/payouts", query_string="", api_base="https://api.stripe.com", post_data="amount=1100¤cy=usd", ) def test_payouts_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Payout.create( amount=1100, currency="usd", ) http_client_mock.assert_requested( "post", path="/v1/payouts", query_string="", post_data="amount=1100¤cy=usd", ) def test_payouts_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payouts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payouts.create({"amount": 1100, "currency": "usd"}) http_client_mock.assert_requested( "post", path="/v1/payouts", query_string="", api_base="https://api.stripe.com", post_data="amount=1100¤cy=usd", ) @pytest.mark.anyio async def test_payouts_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Payout.create_async( amount=1100, currency="usd", ) http_client_mock.assert_requested( "post", path="/v1/payouts", query_string="", post_data="amount=1100¤cy=usd", ) @pytest.mark.anyio async def test_payouts_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payouts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payouts.create_async( { "amount": 1100, "currency": "usd", } ) http_client_mock.assert_requested( "post", path="/v1/payouts", query_string="", api_base="https://api.stripe.com", post_data="amount=1100¤cy=usd", ) def test_payouts_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payouts/po_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payouts.update( "po_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/payouts/po_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_payouts_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Payout.modify( "po_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/payouts/po_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_payouts_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payouts/po_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payouts.update( "po_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/payouts/po_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_payouts_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Payout.modify_async( "po_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/payouts/po_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_payouts_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payouts/po_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payouts.update_async( "po_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/payouts/po_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_payouts_reverse_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payouts/po_xxxxxxxxxxxxx/reverse", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.payouts.reverse("po_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payouts/po_xxxxxxxxxxxxx/reverse", query_string="", api_base="https://api.stripe.com", ) def test_payouts_reverse_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Payout.reverse("po_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payouts/po_xxxxxxxxxxxxx/reverse", query_string="", ) def test_payouts_reverse_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payouts/po_xxxxxxxxxxxxx/reverse", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.payouts.reverse("po_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payouts/po_xxxxxxxxxxxxx/reverse", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_payouts_reverse_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Payout.reverse_async("po_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payouts/po_xxxxxxxxxxxxx/reverse", query_string="", ) @pytest.mark.anyio async def test_payouts_reverse_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/payouts/po_xxxxxxxxxxxxx/reverse", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.payouts.reverse_async("po_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/payouts/po_xxxxxxxxxxxxx/reverse", query_string="", api_base="https://api.stripe.com", ) def test_plans_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/plans/price_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.plans.delete("price_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/plans/price_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_plans_delete(self, http_client_mock: HTTPClientMock) -> None: stripe.Plan.delete("price_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/plans/price_xxxxxxxxxxxxx", query_string="", ) def test_plans_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/plans/price_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.plans.delete("price_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/plans/price_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_plans_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Plan.delete_async("price_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/plans/price_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_plans_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/plans/price_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.plans.delete_async("price_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/plans/price_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_plans_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/plans", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.plans.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/plans", query_string="limit=3", api_base="https://api.stripe.com", ) def test_plans_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Plan.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/plans", query_string="limit=3", ) def test_plans_get_service(self, http_client_mock: HTTPClientMock) -> None: http_client_mock.stub_request( "get", "/v1/plans", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.plans.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/plans", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_plans_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Plan.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/plans", query_string="limit=3", ) @pytest.mark.anyio async def test_plans_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/plans", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.plans.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/plans", query_string="limit=3", api_base="https://api.stripe.com", ) def test_plans_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/plans/price_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.plans.retrieve("price_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/plans/price_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_plans_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Plan.retrieve("price_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/plans/price_xxxxxxxxxxxxx", query_string="", ) def test_plans_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/plans/price_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.plans.retrieve("price_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/plans/price_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_plans_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Plan.retrieve_async("price_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/plans/price_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_plans_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/plans/price_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.plans.retrieve_async("price_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/plans/price_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_plans_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/plans", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.plans.create( { "amount": 2000, "currency": "usd", "interval": "month", "product": "prod_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/plans", query_string="", api_base="https://api.stripe.com", post_data="amount=2000¤cy=usd&interval=month&product=prod_xxxxxxxxxxxxx", ) def test_plans_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Plan.create( amount=2000, currency="usd", interval="month", product="prod_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/plans", query_string="", post_data="amount=2000¤cy=usd&interval=month&product=prod_xxxxxxxxxxxxx", ) def test_plans_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/plans", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.plans.create( { "amount": 2000, "currency": "usd", "interval": "month", "product": "prod_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/plans", query_string="", api_base="https://api.stripe.com", post_data="amount=2000¤cy=usd&interval=month&product=prod_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_plans_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Plan.create_async( amount=2000, currency="usd", interval="month", product="prod_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/plans", query_string="", post_data="amount=2000¤cy=usd&interval=month&product=prod_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_plans_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/plans", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.plans.create_async( { "amount": 2000, "currency": "usd", "interval": "month", "product": "prod_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/plans", query_string="", api_base="https://api.stripe.com", post_data="amount=2000¤cy=usd&interval=month&product=prod_xxxxxxxxxxxxx", ) def test_plans_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/plans", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.plans.create( { "amount": 2000, "currency": "usd", "interval": "month", "product": {"name": "My product"}, } ) http_client_mock.assert_requested( "post", path="/v1/plans", query_string="", api_base="https://api.stripe.com", post_data="amount=2000¤cy=usd&interval=month&product[name]=My%20product", ) def test_plans_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Plan.create( amount=2000, currency="usd", interval="month", product={"name": "My product"}, ) http_client_mock.assert_requested( "post", path="/v1/plans", query_string="", post_data="amount=2000¤cy=usd&interval=month&product[name]=My%20product", ) def test_plans_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/plans", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.plans.create( { "amount": 2000, "currency": "usd", "interval": "month", "product": {"name": "My product"}, } ) http_client_mock.assert_requested( "post", path="/v1/plans", query_string="", api_base="https://api.stripe.com", post_data="amount=2000¤cy=usd&interval=month&product[name]=My%20product", ) @pytest.mark.anyio async def test_plans_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Plan.create_async( amount=2000, currency="usd", interval="month", product={"name": "My product"}, ) http_client_mock.assert_requested( "post", path="/v1/plans", query_string="", post_data="amount=2000¤cy=usd&interval=month&product[name]=My%20product", ) @pytest.mark.anyio async def test_plans_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/plans", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.plans.create_async( { "amount": 2000, "currency": "usd", "interval": "month", "product": {"name": "My product"}, } ) http_client_mock.assert_requested( "post", path="/v1/plans", query_string="", api_base="https://api.stripe.com", post_data="amount=2000¤cy=usd&interval=month&product[name]=My%20product", ) def test_plans_post_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/plans/price_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.plans.update( "price_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/plans/price_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_plans_post_3(self, http_client_mock: HTTPClientMock) -> None: stripe.Plan.modify( "price_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/plans/price_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_plans_post_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/plans/price_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.plans.update( "price_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/plans/price_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_plans_post_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Plan.modify_async( "price_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/plans/price_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_plans_post_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/plans/price_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.plans.update_async( "price_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/plans/price_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_prices_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/prices", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.prices.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/prices", query_string="limit=3", api_base="https://api.stripe.com", ) def test_prices_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Price.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/prices", query_string="limit=3", ) def test_prices_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/prices", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.prices.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/prices", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_prices_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Price.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/prices", query_string="limit=3", ) @pytest.mark.anyio async def test_prices_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/prices", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.prices.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/prices", query_string="limit=3", api_base="https://api.stripe.com", ) def test_prices_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/prices/price_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.prices.retrieve("price_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/prices/price_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_prices_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Price.retrieve("price_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/prices/price_xxxxxxxxxxxxx", query_string="", ) def test_prices_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/prices/price_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.prices.retrieve("price_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/prices/price_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_prices_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Price.retrieve_async("price_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/prices/price_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_prices_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/prices/price_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.prices.retrieve_async("price_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/prices/price_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_prices_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/prices", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.prices.create( { "unit_amount": 2000, "currency": "usd", "currency_options": { "uah": {"unit_amount": 5000}, "eur": {"unit_amount": 1800}, }, "recurring": {"interval": "month"}, "product": "prod_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/prices", query_string="", api_base="https://api.stripe.com", post_data="unit_amount=2000¤cy=usd¤cy_options[uah][unit_amount]=5000¤cy_options[eur][unit_amount]=1800&recurring[interval]=month&product=prod_xxxxxxxxxxxxx", ) def test_prices_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Price.create( unit_amount=2000, currency="usd", currency_options={ "uah": {"unit_amount": 5000}, "eur": {"unit_amount": 1800}, }, recurring={"interval": "month"}, product="prod_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/prices", query_string="", post_data="unit_amount=2000¤cy=usd¤cy_options[uah][unit_amount]=5000¤cy_options[eur][unit_amount]=1800&recurring[interval]=month&product=prod_xxxxxxxxxxxxx", ) def test_prices_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/prices", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.prices.create( { "unit_amount": 2000, "currency": "usd", "currency_options": { "uah": {"unit_amount": 5000}, "eur": {"unit_amount": 1800}, }, "recurring": {"interval": "month"}, "product": "prod_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/prices", query_string="", api_base="https://api.stripe.com", post_data="unit_amount=2000¤cy=usd¤cy_options[uah][unit_amount]=5000¤cy_options[eur][unit_amount]=1800&recurring[interval]=month&product=prod_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_prices_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Price.create_async( unit_amount=2000, currency="usd", currency_options={ "uah": {"unit_amount": 5000}, "eur": {"unit_amount": 1800}, }, recurring={"interval": "month"}, product="prod_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/prices", query_string="", post_data="unit_amount=2000¤cy=usd¤cy_options[uah][unit_amount]=5000¤cy_options[eur][unit_amount]=1800&recurring[interval]=month&product=prod_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_prices_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/prices", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.prices.create_async( { "unit_amount": 2000, "currency": "usd", "currency_options": { "uah": {"unit_amount": 5000}, "eur": {"unit_amount": 1800}, }, "recurring": {"interval": "month"}, "product": "prod_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/prices", query_string="", api_base="https://api.stripe.com", post_data="unit_amount=2000¤cy=usd¤cy_options[uah][unit_amount]=5000¤cy_options[eur][unit_amount]=1800&recurring[interval]=month&product=prod_xxxxxxxxxxxxx", ) def test_prices_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/prices", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.prices.create( { "unit_amount": 2000, "currency": "usd", "recurring": {"interval": "month"}, "product": "prod_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/prices", query_string="", api_base="https://api.stripe.com", post_data="unit_amount=2000¤cy=usd&recurring[interval]=month&product=prod_xxxxxxxxxxxxx", ) def test_prices_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Price.create( unit_amount=2000, currency="usd", recurring={"interval": "month"}, product="prod_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/prices", query_string="", post_data="unit_amount=2000¤cy=usd&recurring[interval]=month&product=prod_xxxxxxxxxxxxx", ) def test_prices_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/prices", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.prices.create( { "unit_amount": 2000, "currency": "usd", "recurring": {"interval": "month"}, "product": "prod_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/prices", query_string="", api_base="https://api.stripe.com", post_data="unit_amount=2000¤cy=usd&recurring[interval]=month&product=prod_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_prices_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Price.create_async( unit_amount=2000, currency="usd", recurring={"interval": "month"}, product="prod_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/prices", query_string="", post_data="unit_amount=2000¤cy=usd&recurring[interval]=month&product=prod_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_prices_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/prices", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.prices.create_async( { "unit_amount": 2000, "currency": "usd", "recurring": {"interval": "month"}, "product": "prod_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/prices", query_string="", api_base="https://api.stripe.com", post_data="unit_amount=2000¤cy=usd&recurring[interval]=month&product=prod_xxxxxxxxxxxxx", ) def test_prices_post_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/prices/price_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.prices.update( "price_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/prices/price_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_prices_post_3(self, http_client_mock: HTTPClientMock) -> None: stripe.Price.modify( "price_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/prices/price_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_prices_post_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/prices/price_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.prices.update( "price_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/prices/price_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_prices_post_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Price.modify_async( "price_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/prices/price_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_prices_post_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/prices/price_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.prices.update_async( "price_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/prices/price_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_prices_search_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/prices/search", "query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.prices.search( { "query": "active:'true' AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/prices/search", query_string="query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) def test_prices_search_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Price.search( query="active:'true' AND metadata['order_id']:'6735'", ) http_client_mock.assert_requested( "get", path="/v1/prices/search", query_string="query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) def test_prices_search_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/prices/search", "query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.prices.search( { "query": "active:'true' AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/prices/search", query_string="query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_prices_search_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Price.search_async( query="active:'true' AND metadata['order_id']:'6735'", ) http_client_mock.assert_requested( "get", path="/v1/prices/search", query_string="query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) @pytest.mark.anyio async def test_prices_search_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/prices/search", "query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.prices.search_async( { "query": "active:'true' AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/prices/search", query_string="query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) def test_products_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/products/prod_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.products.delete("prod_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/products/prod_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_products_delete(self, http_client_mock: HTTPClientMock) -> None: stripe.Product.delete("prod_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/products/prod_xxxxxxxxxxxxx", query_string="", ) def test_products_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/products/prod_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.products.delete("prod_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/products/prod_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_products_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Product.delete_async("prod_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/products/prod_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_products_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/products/prod_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.products.delete_async("prod_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/products/prod_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_products_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/products", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.products.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/products", query_string="limit=3", api_base="https://api.stripe.com", ) def test_products_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Product.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/products", query_string="limit=3", ) def test_products_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/products", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.products.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/products", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_products_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Product.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/products", query_string="limit=3", ) @pytest.mark.anyio async def test_products_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/products", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.products.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/products", query_string="limit=3", api_base="https://api.stripe.com", ) def test_products_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/products/prod_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.products.retrieve("prod_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/products/prod_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_products_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Product.retrieve("prod_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/products/prod_xxxxxxxxxxxxx", query_string="", ) def test_products_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/products/prod_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.products.retrieve("prod_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/products/prod_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_products_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Product.retrieve_async("prod_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/products/prod_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_products_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/products/prod_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.products.retrieve_async("prod_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/products/prod_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_products_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/products", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.products.create({"name": "Gold Special"}) http_client_mock.assert_requested( "post", path="/v1/products", query_string="", api_base="https://api.stripe.com", post_data="name=Gold%20Special", ) def test_products_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Product.create(name="Gold Special") http_client_mock.assert_requested( "post", path="/v1/products", query_string="", post_data="name=Gold%20Special", ) def test_products_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/products", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.products.create({"name": "Gold Special"}) http_client_mock.assert_requested( "post", path="/v1/products", query_string="", api_base="https://api.stripe.com", post_data="name=Gold%20Special", ) @pytest.mark.anyio async def test_products_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Product.create_async(name="Gold Special") http_client_mock.assert_requested( "post", path="/v1/products", query_string="", post_data="name=Gold%20Special", ) @pytest.mark.anyio async def test_products_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/products", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.products.create_async({"name": "Gold Special"}) http_client_mock.assert_requested( "post", path="/v1/products", query_string="", api_base="https://api.stripe.com", post_data="name=Gold%20Special", ) def test_products_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/products/prod_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.products.update( "prod_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/products/prod_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_products_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Product.modify( "prod_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/products/prod_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_products_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/products/prod_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.products.update( "prod_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/products/prod_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_products_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Product.modify_async( "prod_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/products/prod_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_products_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/products/prod_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.products.update_async( "prod_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/products/prod_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_products_search_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/products/search", "query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.products.search( { "query": "active:'true' AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/products/search", query_string="query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) def test_products_search_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Product.search( query="active:'true' AND metadata['order_id']:'6735'", ) http_client_mock.assert_requested( "get", path="/v1/products/search", query_string="query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) def test_products_search_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/products/search", "query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.products.search( { "query": "active:'true' AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/products/search", query_string="query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_products_search_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Product.search_async( query="active:'true' AND metadata['order_id']:'6735'", ) http_client_mock.assert_requested( "get", path="/v1/products/search", query_string="query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) @pytest.mark.anyio async def test_products_search_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/products/search", "query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.products.search_async( { "query": "active:'true' AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/products/search", query_string="query=active%3A%27true%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) def test_promotion_codes_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/promotion_codes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.promotion_codes.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/promotion_codes", query_string="limit=3", api_base="https://api.stripe.com", ) def test_promotion_codes_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.PromotionCode.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/promotion_codes", query_string="limit=3", ) def test_promotion_codes_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/promotion_codes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.promotion_codes.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/promotion_codes", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_promotion_codes_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PromotionCode.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/promotion_codes", query_string="limit=3", ) @pytest.mark.anyio async def test_promotion_codes_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/promotion_codes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.promotion_codes.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/promotion_codes", query_string="limit=3", api_base="https://api.stripe.com", ) def test_promotion_codes_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/promotion_codes/promo_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.promotion_codes.retrieve("promo_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/promotion_codes/promo_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_promotion_codes_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.PromotionCode.retrieve("promo_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/promotion_codes/promo_xxxxxxxxxxxxx", query_string="", ) def test_promotion_codes_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/promotion_codes/promo_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.promotion_codes.retrieve("promo_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/promotion_codes/promo_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_promotion_codes_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PromotionCode.retrieve_async("promo_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/promotion_codes/promo_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_promotion_codes_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/promotion_codes/promo_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.promotion_codes.retrieve_async("promo_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/promotion_codes/promo_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_promotion_codes_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/promotion_codes", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.promotion_codes.create( { "promotion": {"type": "coupon", "coupon": "Z4OV52SU"}, } ) http_client_mock.assert_requested( "post", path="/v1/promotion_codes", query_string="", api_base="https://api.stripe.com", post_data="promotion[type]=coupon&promotion[coupon]=Z4OV52SU", ) def test_promotion_codes_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.PromotionCode.create( promotion={"type": "coupon", "coupon": "Z4OV52SU"}, ) http_client_mock.assert_requested( "post", path="/v1/promotion_codes", query_string="", post_data="promotion[type]=coupon&promotion[coupon]=Z4OV52SU", ) def test_promotion_codes_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/promotion_codes", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.promotion_codes.create( { "promotion": {"type": "coupon", "coupon": "Z4OV52SU"}, } ) http_client_mock.assert_requested( "post", path="/v1/promotion_codes", query_string="", api_base="https://api.stripe.com", post_data="promotion[type]=coupon&promotion[coupon]=Z4OV52SU", ) @pytest.mark.anyio async def test_promotion_codes_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PromotionCode.create_async( promotion={"type": "coupon", "coupon": "Z4OV52SU"}, ) http_client_mock.assert_requested( "post", path="/v1/promotion_codes", query_string="", post_data="promotion[type]=coupon&promotion[coupon]=Z4OV52SU", ) @pytest.mark.anyio async def test_promotion_codes_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/promotion_codes", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.promotion_codes.create_async( { "promotion": {"type": "coupon", "coupon": "Z4OV52SU"}, } ) http_client_mock.assert_requested( "post", path="/v1/promotion_codes", query_string="", api_base="https://api.stripe.com", post_data="promotion[type]=coupon&promotion[coupon]=Z4OV52SU", ) def test_promotion_codes_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/promotion_codes/promo_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.promotion_codes.update( "promo_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/promotion_codes/promo_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_promotion_codes_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.PromotionCode.modify( "promo_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/promotion_codes/promo_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_promotion_codes_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/promotion_codes/promo_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.promotion_codes.update( "promo_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/promotion_codes/promo_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_promotion_codes_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.PromotionCode.modify_async( "promo_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/promotion_codes/promo_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_promotion_codes_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/promotion_codes/promo_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.promotion_codes.update_async( "promo_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/promotion_codes/promo_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_quotes_accept_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/quotes/qt_xxxxxxxxxxxxx/accept", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.quotes.accept("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx/accept", query_string="", api_base="https://api.stripe.com", ) def test_quotes_accept_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Quote.accept("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx/accept", query_string="", ) def test_quotes_accept_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/quotes/qt_xxxxxxxxxxxxx/accept", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.quotes.accept("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx/accept", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_quotes_accept_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Quote.accept_async("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx/accept", query_string="", ) @pytest.mark.anyio async def test_quotes_accept_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/quotes/qt_xxxxxxxxxxxxx/accept", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.quotes.accept_async("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx/accept", query_string="", api_base="https://api.stripe.com", ) def test_quotes_cancel_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/quotes/qt_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.quotes.cancel("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_quotes_cancel_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Quote.cancel("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx/cancel", query_string="", ) def test_quotes_cancel_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/quotes/qt_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.quotes.cancel("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_quotes_cancel_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Quote.cancel_async("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx/cancel", query_string="", ) @pytest.mark.anyio async def test_quotes_cancel_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/quotes/qt_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.quotes.cancel_async("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_quotes_finalize_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/quotes/qt_xxxxxxxxxxxxx/finalize", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.quotes.finalize_quote("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx/finalize", query_string="", api_base="https://api.stripe.com", ) def test_quotes_finalize_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Quote.finalize_quote("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx/finalize", query_string="", ) def test_quotes_finalize_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/quotes/qt_xxxxxxxxxxxxx/finalize", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.quotes.finalize_quote("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx/finalize", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_quotes_finalize_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Quote.finalize_quote_async("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx/finalize", query_string="", ) @pytest.mark.anyio async def test_quotes_finalize_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/quotes/qt_xxxxxxxxxxxxx/finalize", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.quotes.finalize_quote_async("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx/finalize", query_string="", api_base="https://api.stripe.com", ) def test_quotes_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/quotes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.quotes.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/quotes", query_string="limit=3", api_base="https://api.stripe.com", ) def test_quotes_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Quote.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/quotes", query_string="limit=3", ) def test_quotes_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/quotes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.quotes.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/quotes", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_quotes_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Quote.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/quotes", query_string="limit=3", ) @pytest.mark.anyio async def test_quotes_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/quotes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.quotes.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/quotes", query_string="limit=3", api_base="https://api.stripe.com", ) def test_quotes_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/quotes/qt_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.quotes.retrieve("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/quotes/qt_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_quotes_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Quote.retrieve("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/quotes/qt_xxxxxxxxxxxxx", query_string="", ) def test_quotes_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/quotes/qt_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.quotes.retrieve("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/quotes/qt_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_quotes_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Quote.retrieve_async("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/quotes/qt_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_quotes_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/quotes/qt_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.quotes.retrieve_async("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/quotes/qt_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_quotes_line_items_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/quotes/qt_xxxxxxxxxxxxx/line_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.quotes.line_items.list("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/quotes/qt_xxxxxxxxxxxxx/line_items", query_string="", api_base="https://api.stripe.com", ) def test_quotes_line_items_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Quote.list_line_items("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/quotes/qt_xxxxxxxxxxxxx/line_items", query_string="", ) def test_quotes_line_items_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/quotes/qt_xxxxxxxxxxxxx/line_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.quotes.line_items.list("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/quotes/qt_xxxxxxxxxxxxx/line_items", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_quotes_line_items_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Quote.list_line_items_async("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/quotes/qt_xxxxxxxxxxxxx/line_items", query_string="", ) @pytest.mark.anyio async def test_quotes_line_items_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/quotes/qt_xxxxxxxxxxxxx/line_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.quotes.line_items.list_async("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/quotes/qt_xxxxxxxxxxxxx/line_items", query_string="", api_base="https://api.stripe.com", ) def test_quotes_pdf_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/quotes/qt_xxxxxxxxxxxxx/pdf", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.quotes.pdf("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/quotes/qt_xxxxxxxxxxxxx/pdf", query_string="", api_base="https://files.stripe.com", ) def test_quotes_pdf_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Quote.pdf("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/quotes/qt_xxxxxxxxxxxxx/pdf", query_string="", ) def test_quotes_pdf_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/quotes/qt_xxxxxxxxxxxxx/pdf", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.quotes.pdf("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/quotes/qt_xxxxxxxxxxxxx/pdf", query_string="", api_base="https://files.stripe.com", ) @pytest.mark.anyio async def test_quotes_pdf_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Quote.pdf_async("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/quotes/qt_xxxxxxxxxxxxx/pdf", query_string="", ) @pytest.mark.anyio async def test_quotes_pdf_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/quotes/qt_xxxxxxxxxxxxx/pdf", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.quotes.pdf_async("qt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/quotes/qt_xxxxxxxxxxxxx/pdf", query_string="", api_base="https://files.stripe.com", ) def test_quotes_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/quotes", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.quotes.create( { "customer": "cus_xxxxxxxxxxxxx", "line_items": [ {"price": "price_xxxxxxxxxxxxx", "quantity": 2} ], } ) http_client_mock.assert_requested( "post", path="/v1/quotes", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx&line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=2", ) def test_quotes_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Quote.create( customer="cus_xxxxxxxxxxxxx", line_items=[{"price": "price_xxxxxxxxxxxxx", "quantity": 2}], ) http_client_mock.assert_requested( "post", path="/v1/quotes", query_string="", post_data="customer=cus_xxxxxxxxxxxxx&line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=2", ) def test_quotes_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/quotes", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.quotes.create( { "customer": "cus_xxxxxxxxxxxxx", "line_items": [ {"price": "price_xxxxxxxxxxxxx", "quantity": 2} ], } ) http_client_mock.assert_requested( "post", path="/v1/quotes", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx&line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=2", ) @pytest.mark.anyio async def test_quotes_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Quote.create_async( customer="cus_xxxxxxxxxxxxx", line_items=[{"price": "price_xxxxxxxxxxxxx", "quantity": 2}], ) http_client_mock.assert_requested( "post", path="/v1/quotes", query_string="", post_data="customer=cus_xxxxxxxxxxxxx&line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=2", ) @pytest.mark.anyio async def test_quotes_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/quotes", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.quotes.create_async( { "customer": "cus_xxxxxxxxxxxxx", "line_items": [ {"price": "price_xxxxxxxxxxxxx", "quantity": 2} ], } ) http_client_mock.assert_requested( "post", path="/v1/quotes", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx&line_items[0][price]=price_xxxxxxxxxxxxx&line_items[0][quantity]=2", ) def test_quotes_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/quotes/qt_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.quotes.update( "qt_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_quotes_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Quote.modify( "qt_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_quotes_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/quotes/qt_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.quotes.update( "qt_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_quotes_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Quote.modify_async( "qt_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_quotes_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/quotes/qt_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.quotes.update_async( "qt_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/quotes/qt_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_radar_early_fraud_warnings_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/early_fraud_warnings", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.radar.early_fraud_warnings.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/radar/early_fraud_warnings", query_string="limit=3", api_base="https://api.stripe.com", ) def test_radar_early_fraud_warnings_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.radar.EarlyFraudWarning.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/radar/early_fraud_warnings", query_string="limit=3", ) def test_radar_early_fraud_warnings_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/early_fraud_warnings", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.radar.early_fraud_warnings.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/radar/early_fraud_warnings", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_radar_early_fraud_warnings_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.radar.EarlyFraudWarning.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/radar/early_fraud_warnings", query_string="limit=3", ) @pytest.mark.anyio async def test_radar_early_fraud_warnings_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/early_fraud_warnings", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.radar.early_fraud_warnings.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/radar/early_fraud_warnings", query_string="limit=3", api_base="https://api.stripe.com", ) def test_radar_early_fraud_warnings_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/early_fraud_warnings/issfr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.radar.early_fraud_warnings.retrieve("issfr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/radar/early_fraud_warnings/issfr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_radar_early_fraud_warnings_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.radar.EarlyFraudWarning.retrieve("issfr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/radar/early_fraud_warnings/issfr_xxxxxxxxxxxxx", query_string="", ) def test_radar_early_fraud_warnings_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/early_fraud_warnings/issfr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.radar.early_fraud_warnings.retrieve("issfr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/radar/early_fraud_warnings/issfr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_radar_early_fraud_warnings_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.radar.EarlyFraudWarning.retrieve_async( "issfr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/radar/early_fraud_warnings/issfr_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_radar_early_fraud_warnings_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/early_fraud_warnings/issfr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.radar.early_fraud_warnings.retrieve_async( "issfr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/radar/early_fraud_warnings/issfr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_radar_value_list_items_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.radar.value_list_items.delete("rsli_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_radar_value_list_items_delete( self, http_client_mock: HTTPClientMock ) -> None: stripe.radar.ValueListItem.delete("rsli_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", query_string="", ) def test_radar_value_list_items_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.radar.value_list_items.delete("rsli_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_radar_value_list_items_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.radar.ValueListItem.delete_async("rsli_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_radar_value_list_items_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.radar.value_list_items.delete_async( "rsli_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_radar_value_list_items_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/value_list_items", "limit=3&value_list=rsl_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.radar.value_list_items.list( { "limit": 3, "value_list": "rsl_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "get", path="/v1/radar/value_list_items", query_string="limit=3&value_list=rsl_xxxxxxxxxxxxx", api_base="https://api.stripe.com", ) def test_radar_value_list_items_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.radar.ValueListItem.list( limit=3, value_list="rsl_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/radar/value_list_items", query_string="limit=3&value_list=rsl_xxxxxxxxxxxxx", ) def test_radar_value_list_items_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/value_list_items", "limit=3&value_list=rsl_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.radar.value_list_items.list( { "limit": 3, "value_list": "rsl_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "get", path="/v1/radar/value_list_items", query_string="limit=3&value_list=rsl_xxxxxxxxxxxxx", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_radar_value_list_items_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.radar.ValueListItem.list_async( limit=3, value_list="rsl_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/radar/value_list_items", query_string="limit=3&value_list=rsl_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_radar_value_list_items_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/value_list_items", "limit=3&value_list=rsl_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.radar.value_list_items.list_async( { "limit": 3, "value_list": "rsl_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "get", path="/v1/radar/value_list_items", query_string="limit=3&value_list=rsl_xxxxxxxxxxxxx", api_base="https://api.stripe.com", ) def test_radar_value_list_items_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.radar.value_list_items.retrieve("rsli_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_radar_value_list_items_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.radar.ValueListItem.retrieve("rsli_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", query_string="", ) def test_radar_value_list_items_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.radar.value_list_items.retrieve("rsli_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_radar_value_list_items_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.radar.ValueListItem.retrieve_async("rsli_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_radar_value_list_items_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.radar.value_list_items.retrieve_async( "rsli_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/radar/value_list_items/rsli_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_radar_value_list_items_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/radar/value_list_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.radar.value_list_items.create( { "value_list": "rsl_xxxxxxxxxxxxx", "value": "1.2.3.4", } ) http_client_mock.assert_requested( "post", path="/v1/radar/value_list_items", query_string="", api_base="https://api.stripe.com", post_data="value_list=rsl_xxxxxxxxxxxxx&value=1.2.3.4", ) def test_radar_value_list_items_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.radar.ValueListItem.create( value_list="rsl_xxxxxxxxxxxxx", value="1.2.3.4", ) http_client_mock.assert_requested( "post", path="/v1/radar/value_list_items", query_string="", post_data="value_list=rsl_xxxxxxxxxxxxx&value=1.2.3.4", ) def test_radar_value_list_items_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/radar/value_list_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.radar.value_list_items.create( { "value_list": "rsl_xxxxxxxxxxxxx", "value": "1.2.3.4", } ) http_client_mock.assert_requested( "post", path="/v1/radar/value_list_items", query_string="", api_base="https://api.stripe.com", post_data="value_list=rsl_xxxxxxxxxxxxx&value=1.2.3.4", ) @pytest.mark.anyio async def test_radar_value_list_items_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.radar.ValueListItem.create_async( value_list="rsl_xxxxxxxxxxxxx", value="1.2.3.4", ) http_client_mock.assert_requested( "post", path="/v1/radar/value_list_items", query_string="", post_data="value_list=rsl_xxxxxxxxxxxxx&value=1.2.3.4", ) @pytest.mark.anyio async def test_radar_value_list_items_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/radar/value_list_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.radar.value_list_items.create_async( { "value_list": "rsl_xxxxxxxxxxxxx", "value": "1.2.3.4", } ) http_client_mock.assert_requested( "post", path="/v1/radar/value_list_items", query_string="", api_base="https://api.stripe.com", post_data="value_list=rsl_xxxxxxxxxxxxx&value=1.2.3.4", ) def test_radar_value_lists_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.radar.value_lists.delete("rsl_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_radar_value_lists_delete( self, http_client_mock: HTTPClientMock ) -> None: stripe.radar.ValueList.delete("rsl_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", query_string="", ) def test_radar_value_lists_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.radar.value_lists.delete("rsl_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_radar_value_lists_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.radar.ValueList.delete_async("rsl_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_radar_value_lists_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.radar.value_lists.delete_async("rsl_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_radar_value_lists_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/value_lists", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.radar.value_lists.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/radar/value_lists", query_string="limit=3", api_base="https://api.stripe.com", ) def test_radar_value_lists_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.radar.ValueList.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/radar/value_lists", query_string="limit=3", ) def test_radar_value_lists_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/value_lists", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.radar.value_lists.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/radar/value_lists", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_radar_value_lists_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.radar.ValueList.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/radar/value_lists", query_string="limit=3", ) @pytest.mark.anyio async def test_radar_value_lists_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/value_lists", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.radar.value_lists.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/radar/value_lists", query_string="limit=3", api_base="https://api.stripe.com", ) def test_radar_value_lists_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.radar.value_lists.retrieve("rsl_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_radar_value_lists_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.radar.ValueList.retrieve("rsl_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", query_string="", ) def test_radar_value_lists_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.radar.value_lists.retrieve("rsl_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_radar_value_lists_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.radar.ValueList.retrieve_async("rsl_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_radar_value_lists_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.radar.value_lists.retrieve_async("rsl_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_radar_value_lists_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/radar/value_lists", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.radar.value_lists.create( { "alias": "custom_ip_xxxxxxxxxxxxx", "name": "Custom IP Blocklist", "item_type": "ip_address", } ) http_client_mock.assert_requested( "post", path="/v1/radar/value_lists", query_string="", api_base="https://api.stripe.com", post_data="alias=custom_ip_xxxxxxxxxxxxx&name=Custom%20IP%20Blocklist&item_type=ip_address", ) def test_radar_value_lists_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.radar.ValueList.create( alias="custom_ip_xxxxxxxxxxxxx", name="Custom IP Blocklist", item_type="ip_address", ) http_client_mock.assert_requested( "post", path="/v1/radar/value_lists", query_string="", post_data="alias=custom_ip_xxxxxxxxxxxxx&name=Custom%20IP%20Blocklist&item_type=ip_address", ) def test_radar_value_lists_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/radar/value_lists", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.radar.value_lists.create( { "alias": "custom_ip_xxxxxxxxxxxxx", "name": "Custom IP Blocklist", "item_type": "ip_address", } ) http_client_mock.assert_requested( "post", path="/v1/radar/value_lists", query_string="", api_base="https://api.stripe.com", post_data="alias=custom_ip_xxxxxxxxxxxxx&name=Custom%20IP%20Blocklist&item_type=ip_address", ) @pytest.mark.anyio async def test_radar_value_lists_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.radar.ValueList.create_async( alias="custom_ip_xxxxxxxxxxxxx", name="Custom IP Blocklist", item_type="ip_address", ) http_client_mock.assert_requested( "post", path="/v1/radar/value_lists", query_string="", post_data="alias=custom_ip_xxxxxxxxxxxxx&name=Custom%20IP%20Blocklist&item_type=ip_address", ) @pytest.mark.anyio async def test_radar_value_lists_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/radar/value_lists", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.radar.value_lists.create_async( { "alias": "custom_ip_xxxxxxxxxxxxx", "name": "Custom IP Blocklist", "item_type": "ip_address", } ) http_client_mock.assert_requested( "post", path="/v1/radar/value_lists", query_string="", api_base="https://api.stripe.com", post_data="alias=custom_ip_xxxxxxxxxxxxx&name=Custom%20IP%20Blocklist&item_type=ip_address", ) def test_radar_value_lists_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.radar.value_lists.update( "rsl_xxxxxxxxxxxxx", {"name": "Updated IP Block List"}, ) http_client_mock.assert_requested( "post", path="/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="name=Updated%20IP%20Block%20List", ) def test_radar_value_lists_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.radar.ValueList.modify( "rsl_xxxxxxxxxxxxx", name="Updated IP Block List", ) http_client_mock.assert_requested( "post", path="/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", query_string="", post_data="name=Updated%20IP%20Block%20List", ) def test_radar_value_lists_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.radar.value_lists.update( "rsl_xxxxxxxxxxxxx", {"name": "Updated IP Block List"}, ) http_client_mock.assert_requested( "post", path="/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="name=Updated%20IP%20Block%20List", ) @pytest.mark.anyio async def test_radar_value_lists_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.radar.ValueList.modify_async( "rsl_xxxxxxxxxxxxx", name="Updated IP Block List", ) http_client_mock.assert_requested( "post", path="/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", query_string="", post_data="name=Updated%20IP%20Block%20List", ) @pytest.mark.anyio async def test_radar_value_lists_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.radar.value_lists.update_async( "rsl_xxxxxxxxxxxxx", {"name": "Updated IP Block List"}, ) http_client_mock.assert_requested( "post", path="/v1/radar/value_lists/rsl_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="name=Updated%20IP%20Block%20List", ) def test_refunds_cancel_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/refunds/re_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.refunds.cancel("re_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/refunds/re_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_refunds_cancel_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Refund.cancel("re_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/refunds/re_xxxxxxxxxxxxx/cancel", query_string="", ) def test_refunds_cancel_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/refunds/re_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.refunds.cancel("re_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/refunds/re_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_refunds_cancel_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Refund.cancel_async("re_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/refunds/re_xxxxxxxxxxxxx/cancel", query_string="", ) @pytest.mark.anyio async def test_refunds_cancel_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/refunds/re_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.refunds.cancel_async("re_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/refunds/re_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_refunds_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/refunds", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.refunds.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/refunds", query_string="limit=3", api_base="https://api.stripe.com", ) def test_refunds_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Refund.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/refunds", query_string="limit=3", ) def test_refunds_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/refunds", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.refunds.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/refunds", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_refunds_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Refund.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/refunds", query_string="limit=3", ) @pytest.mark.anyio async def test_refunds_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/refunds", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.refunds.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/refunds", query_string="limit=3", api_base="https://api.stripe.com", ) def test_refunds_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/refunds/re_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.refunds.retrieve("re_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/refunds/re_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_refunds_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Refund.retrieve("re_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/refunds/re_xxxxxxxxxxxxx", query_string="", ) def test_refunds_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/refunds/re_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.refunds.retrieve("re_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/refunds/re_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_refunds_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Refund.retrieve_async("re_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/refunds/re_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_refunds_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/refunds/re_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.refunds.retrieve_async("re_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/refunds/re_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_refunds_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/refunds", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.refunds.create({"charge": "ch_xxxxxxxxxxxxx"}) http_client_mock.assert_requested( "post", path="/v1/refunds", query_string="", api_base="https://api.stripe.com", post_data="charge=ch_xxxxxxxxxxxxx", ) def test_refunds_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Refund.create(charge="ch_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/refunds", query_string="", post_data="charge=ch_xxxxxxxxxxxxx", ) def test_refunds_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/refunds", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.refunds.create({"charge": "ch_xxxxxxxxxxxxx"}) http_client_mock.assert_requested( "post", path="/v1/refunds", query_string="", api_base="https://api.stripe.com", post_data="charge=ch_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_refunds_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Refund.create_async(charge="ch_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/refunds", query_string="", post_data="charge=ch_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_refunds_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/refunds", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.refunds.create_async({"charge": "ch_xxxxxxxxxxxxx"}) http_client_mock.assert_requested( "post", path="/v1/refunds", query_string="", api_base="https://api.stripe.com", post_data="charge=ch_xxxxxxxxxxxxx", ) def test_refunds_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/refunds/re_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.refunds.update( "re_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/refunds/re_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_refunds_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Refund.modify( "re_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/refunds/re_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_refunds_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/refunds/re_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.refunds.update( "re_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/refunds/re_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_refunds_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Refund.modify_async( "re_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/refunds/re_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_refunds_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/refunds/re_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.refunds.update_async( "re_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/refunds/re_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_reporting_report_runs_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reporting/report_runs", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.reporting.report_runs.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/reporting/report_runs", query_string="limit=3", api_base="https://api.stripe.com", ) def test_reporting_report_runs_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.reporting.ReportRun.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/reporting/report_runs", query_string="limit=3", ) def test_reporting_report_runs_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reporting/report_runs", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.reporting.report_runs.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/reporting/report_runs", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_reporting_report_runs_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.reporting.ReportRun.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/reporting/report_runs", query_string="limit=3", ) @pytest.mark.anyio async def test_reporting_report_runs_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reporting/report_runs", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.reporting.report_runs.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/reporting/report_runs", query_string="limit=3", api_base="https://api.stripe.com", ) def test_reporting_report_runs_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reporting/report_runs/frr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.reporting.report_runs.retrieve("frr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/reporting/report_runs/frr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_reporting_report_runs_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.reporting.ReportRun.retrieve("frr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/reporting/report_runs/frr_xxxxxxxxxxxxx", query_string="", ) def test_reporting_report_runs_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reporting/report_runs/frr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.reporting.report_runs.retrieve("frr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/reporting/report_runs/frr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_reporting_report_runs_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.reporting.ReportRun.retrieve_async("frr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/reporting/report_runs/frr_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_reporting_report_runs_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reporting/report_runs/frr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.reporting.report_runs.retrieve_async( "frr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/reporting/report_runs/frr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_reporting_report_runs_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/reporting/report_runs", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.reporting.report_runs.create( { "report_type": "balance.summary.1", "parameters": { "interval_start": 1522540800, "interval_end": 1525132800, }, } ) http_client_mock.assert_requested( "post", path="/v1/reporting/report_runs", query_string="", api_base="https://api.stripe.com", post_data="report_type=balance.summary.1¶meters[interval_start]=1522540800¶meters[interval_end]=1525132800", ) def test_reporting_report_runs_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.reporting.ReportRun.create( report_type="balance.summary.1", parameters={ "interval_start": 1522540800, "interval_end": 1525132800, }, ) http_client_mock.assert_requested( "post", path="/v1/reporting/report_runs", query_string="", post_data="report_type=balance.summary.1¶meters[interval_start]=1522540800¶meters[interval_end]=1525132800", ) def test_reporting_report_runs_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/reporting/report_runs", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.reporting.report_runs.create( { "report_type": "balance.summary.1", "parameters": { "interval_start": 1522540800, "interval_end": 1525132800, }, } ) http_client_mock.assert_requested( "post", path="/v1/reporting/report_runs", query_string="", api_base="https://api.stripe.com", post_data="report_type=balance.summary.1¶meters[interval_start]=1522540800¶meters[interval_end]=1525132800", ) @pytest.mark.anyio async def test_reporting_report_runs_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.reporting.ReportRun.create_async( report_type="balance.summary.1", parameters={ "interval_start": 1522540800, "interval_end": 1525132800, }, ) http_client_mock.assert_requested( "post", path="/v1/reporting/report_runs", query_string="", post_data="report_type=balance.summary.1¶meters[interval_start]=1522540800¶meters[interval_end]=1525132800", ) @pytest.mark.anyio async def test_reporting_report_runs_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/reporting/report_runs", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.reporting.report_runs.create_async( { "report_type": "balance.summary.1", "parameters": { "interval_start": 1522540800, "interval_end": 1525132800, }, } ) http_client_mock.assert_requested( "post", path="/v1/reporting/report_runs", query_string="", api_base="https://api.stripe.com", post_data="report_type=balance.summary.1¶meters[interval_start]=1522540800¶meters[interval_end]=1525132800", ) def test_reporting_report_types_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reporting/report_types", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.reporting.report_types.list() http_client_mock.assert_requested( "get", path="/v1/reporting/report_types", query_string="", api_base="https://api.stripe.com", ) def test_reporting_report_types_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.reporting.ReportType.list() http_client_mock.assert_requested( "get", path="/v1/reporting/report_types", query_string="", ) def test_reporting_report_types_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reporting/report_types", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.reporting.report_types.list() http_client_mock.assert_requested( "get", path="/v1/reporting/report_types", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_reporting_report_types_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.reporting.ReportType.list_async() http_client_mock.assert_requested( "get", path="/v1/reporting/report_types", query_string="", ) @pytest.mark.anyio async def test_reporting_report_types_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reporting/report_types", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.reporting.report_types.list_async() http_client_mock.assert_requested( "get", path="/v1/reporting/report_types", query_string="", api_base="https://api.stripe.com", ) def test_reporting_report_types_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reporting/report_types/balance.summary.1", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.reporting.report_types.retrieve("balance.summary.1") http_client_mock.assert_requested( "get", path="/v1/reporting/report_types/balance.summary.1", query_string="", api_base="https://api.stripe.com", ) def test_reporting_report_types_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.reporting.ReportType.retrieve("balance.summary.1") http_client_mock.assert_requested( "get", path="/v1/reporting/report_types/balance.summary.1", query_string="", ) def test_reporting_report_types_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reporting/report_types/balance.summary.1", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.reporting.report_types.retrieve("balance.summary.1") http_client_mock.assert_requested( "get", path="/v1/reporting/report_types/balance.summary.1", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_reporting_report_types_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.reporting.ReportType.retrieve_async("balance.summary.1") http_client_mock.assert_requested( "get", path="/v1/reporting/report_types/balance.summary.1", query_string="", ) @pytest.mark.anyio async def test_reporting_report_types_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reporting/report_types/balance.summary.1", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.reporting.report_types.retrieve_async( "balance.summary.1", ) http_client_mock.assert_requested( "get", path="/v1/reporting/report_types/balance.summary.1", query_string="", api_base="https://api.stripe.com", ) def test_reviews_approve_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/reviews/prv_xxxxxxxxxxxxx/approve", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.reviews.approve("prv_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/reviews/prv_xxxxxxxxxxxxx/approve", query_string="", api_base="https://api.stripe.com", ) def test_reviews_approve_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Review.approve("prv_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/reviews/prv_xxxxxxxxxxxxx/approve", query_string="", ) def test_reviews_approve_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/reviews/prv_xxxxxxxxxxxxx/approve", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.reviews.approve("prv_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/reviews/prv_xxxxxxxxxxxxx/approve", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_reviews_approve_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Review.approve_async("prv_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/reviews/prv_xxxxxxxxxxxxx/approve", query_string="", ) @pytest.mark.anyio async def test_reviews_approve_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/reviews/prv_xxxxxxxxxxxxx/approve", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.reviews.approve_async("prv_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/reviews/prv_xxxxxxxxxxxxx/approve", query_string="", api_base="https://api.stripe.com", ) def test_reviews_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reviews", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.reviews.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/reviews", query_string="limit=3", api_base="https://api.stripe.com", ) def test_reviews_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Review.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/reviews", query_string="limit=3", ) def test_reviews_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reviews", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.reviews.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/reviews", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_reviews_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Review.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/reviews", query_string="limit=3", ) @pytest.mark.anyio async def test_reviews_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reviews", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.reviews.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/reviews", query_string="limit=3", api_base="https://api.stripe.com", ) def test_reviews_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reviews/prv_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.reviews.retrieve("prv_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/reviews/prv_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_reviews_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Review.retrieve("prv_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/reviews/prv_xxxxxxxxxxxxx", query_string="", ) def test_reviews_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reviews/prv_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.reviews.retrieve("prv_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/reviews/prv_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_reviews_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Review.retrieve_async("prv_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/reviews/prv_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_reviews_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/reviews/prv_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.reviews.retrieve_async("prv_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/reviews/prv_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_setup_attempts_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/setup_attempts", "limit=3&setup_intent=si_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.setup_attempts.list({"limit": 3, "setup_intent": "si_xyz"}) http_client_mock.assert_requested( "get", path="/v1/setup_attempts", query_string="limit=3&setup_intent=si_xyz", api_base="https://api.stripe.com", ) def test_setup_attempts_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.SetupAttempt.list( limit=3, setup_intent="si_xyz", ) http_client_mock.assert_requested( "get", path="/v1/setup_attempts", query_string="limit=3&setup_intent=si_xyz", ) def test_setup_attempts_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/setup_attempts", "limit=3&setup_intent=si_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.setup_attempts.list({"limit": 3, "setup_intent": "si_xyz"}) http_client_mock.assert_requested( "get", path="/v1/setup_attempts", query_string="limit=3&setup_intent=si_xyz", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_setup_attempts_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SetupAttempt.list_async( limit=3, setup_intent="si_xyz", ) http_client_mock.assert_requested( "get", path="/v1/setup_attempts", query_string="limit=3&setup_intent=si_xyz", ) @pytest.mark.anyio async def test_setup_attempts_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/setup_attempts", "limit=3&setup_intent=si_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.setup_attempts.list_async( { "limit": 3, "setup_intent": "si_xyz", } ) http_client_mock.assert_requested( "get", path="/v1/setup_attempts", query_string="limit=3&setup_intent=si_xyz", api_base="https://api.stripe.com", ) def test_setup_intents_cancel_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents/seti_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.setup_intents.cancel("seti_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_setup_intents_cancel_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.SetupIntent.cancel("seti_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/cancel", query_string="", ) def test_setup_intents_cancel_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents/seti_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.setup_intents.cancel("seti_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_setup_intents_cancel_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SetupIntent.cancel_async("seti_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/cancel", query_string="", ) @pytest.mark.anyio async def test_setup_intents_cancel_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents/seti_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.setup_intents.cancel_async("seti_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_setup_intents_confirm_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents/seti_xxxxxxxxxxxxx/confirm", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.setup_intents.confirm( "seti_xxxxxxxxxxxxx", {"payment_method": "pm_card_visa"}, ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/confirm", query_string="", api_base="https://api.stripe.com", post_data="payment_method=pm_card_visa", ) def test_setup_intents_confirm_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.SetupIntent.confirm( "seti_xxxxxxxxxxxxx", payment_method="pm_card_visa", ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/confirm", query_string="", post_data="payment_method=pm_card_visa", ) def test_setup_intents_confirm_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents/seti_xxxxxxxxxxxxx/confirm", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.setup_intents.confirm( "seti_xxxxxxxxxxxxx", {"payment_method": "pm_card_visa"}, ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/confirm", query_string="", api_base="https://api.stripe.com", post_data="payment_method=pm_card_visa", ) @pytest.mark.anyio async def test_setup_intents_confirm_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SetupIntent.confirm_async( "seti_xxxxxxxxxxxxx", payment_method="pm_card_visa", ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/confirm", query_string="", post_data="payment_method=pm_card_visa", ) @pytest.mark.anyio async def test_setup_intents_confirm_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents/seti_xxxxxxxxxxxxx/confirm", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.setup_intents.confirm_async( "seti_xxxxxxxxxxxxx", {"payment_method": "pm_card_visa"}, ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/confirm", query_string="", api_base="https://api.stripe.com", post_data="payment_method=pm_card_visa", ) def test_setup_intents_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/setup_intents", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.setup_intents.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/setup_intents", query_string="limit=3", api_base="https://api.stripe.com", ) def test_setup_intents_get(self, http_client_mock: HTTPClientMock) -> None: stripe.SetupIntent.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/setup_intents", query_string="limit=3", ) def test_setup_intents_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/setup_intents", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.setup_intents.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/setup_intents", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_setup_intents_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SetupIntent.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/setup_intents", query_string="limit=3", ) @pytest.mark.anyio async def test_setup_intents_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/setup_intents", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.setup_intents.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/setup_intents", query_string="limit=3", api_base="https://api.stripe.com", ) def test_setup_intents_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/setup_intents/seti_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.setup_intents.retrieve("seti_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/setup_intents/seti_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_setup_intents_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.SetupIntent.retrieve("seti_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/setup_intents/seti_xxxxxxxxxxxxx", query_string="", ) def test_setup_intents_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/setup_intents/seti_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.setup_intents.retrieve("seti_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/setup_intents/seti_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_setup_intents_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SetupIntent.retrieve_async("seti_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/setup_intents/seti_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_setup_intents_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/setup_intents/seti_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.setup_intents.retrieve_async("seti_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/setup_intents/seti_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_setup_intents_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.setup_intents.create({"payment_method_types": ["card"]}) http_client_mock.assert_requested( "post", path="/v1/setup_intents", query_string="", api_base="https://api.stripe.com", post_data="payment_method_types[0]=card", ) def test_setup_intents_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.SetupIntent.create(payment_method_types=["card"]) http_client_mock.assert_requested( "post", path="/v1/setup_intents", query_string="", post_data="payment_method_types[0]=card", ) def test_setup_intents_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.setup_intents.create({"payment_method_types": ["card"]}) http_client_mock.assert_requested( "post", path="/v1/setup_intents", query_string="", api_base="https://api.stripe.com", post_data="payment_method_types[0]=card", ) @pytest.mark.anyio async def test_setup_intents_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SetupIntent.create_async(payment_method_types=["card"]) http_client_mock.assert_requested( "post", path="/v1/setup_intents", query_string="", post_data="payment_method_types[0]=card", ) @pytest.mark.anyio async def test_setup_intents_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.setup_intents.create_async( { "payment_method_types": ["card"], } ) http_client_mock.assert_requested( "post", path="/v1/setup_intents", query_string="", api_base="https://api.stripe.com", post_data="payment_method_types[0]=card", ) def test_setup_intents_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents/seti_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.setup_intents.update( "seti_xxxxxxxxxxxxx", {"metadata": {"user_id": "3435453"}}, ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[user_id]=3435453", ) def test_setup_intents_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.SetupIntent.modify( "seti_xxxxxxxxxxxxx", metadata={"user_id": "3435453"}, ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx", query_string="", post_data="metadata[user_id]=3435453", ) def test_setup_intents_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents/seti_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.setup_intents.update( "seti_xxxxxxxxxxxxx", {"metadata": {"user_id": "3435453"}}, ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[user_id]=3435453", ) @pytest.mark.anyio async def test_setup_intents_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SetupIntent.modify_async( "seti_xxxxxxxxxxxxx", metadata={"user_id": "3435453"}, ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx", query_string="", post_data="metadata[user_id]=3435453", ) @pytest.mark.anyio async def test_setup_intents_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents/seti_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.setup_intents.update_async( "seti_xxxxxxxxxxxxx", {"metadata": {"user_id": "3435453"}}, ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[user_id]=3435453", ) def test_setup_intents_verify_microdeposits_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.setup_intents.verify_microdeposits("seti_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", query_string="", api_base="https://api.stripe.com", ) def test_setup_intents_verify_microdeposits_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.SetupIntent.verify_microdeposits("seti_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", query_string="", ) def test_setup_intents_verify_microdeposits_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.setup_intents.verify_microdeposits("seti_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_setup_intents_verify_microdeposits_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SetupIntent.verify_microdeposits_async( "seti_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", query_string="", ) @pytest.mark.anyio async def test_setup_intents_verify_microdeposits_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.setup_intents.verify_microdeposits_async( "seti_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", query_string="", api_base="https://api.stripe.com", ) def test_setup_intents_verify_microdeposits_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.setup_intents.verify_microdeposits( "seti_xxxxxxxxxxxxx", {"amounts": [32, 45]}, ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", query_string="", api_base="https://api.stripe.com", post_data="amounts[0]=32&amounts[1]=45", ) def test_setup_intents_verify_microdeposits_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.SetupIntent.verify_microdeposits( "seti_xxxxxxxxxxxxx", amounts=[32, 45], ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", query_string="", post_data="amounts[0]=32&amounts[1]=45", ) def test_setup_intents_verify_microdeposits_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.setup_intents.verify_microdeposits( "seti_xxxxxxxxxxxxx", {"amounts": [32, 45]}, ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", query_string="", api_base="https://api.stripe.com", post_data="amounts[0]=32&amounts[1]=45", ) @pytest.mark.anyio async def test_setup_intents_verify_microdeposits_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SetupIntent.verify_microdeposits_async( "seti_xxxxxxxxxxxxx", amounts=[32, 45], ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", query_string="", post_data="amounts[0]=32&amounts[1]=45", ) @pytest.mark.anyio async def test_setup_intents_verify_microdeposits_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.setup_intents.verify_microdeposits_async( "seti_xxxxxxxxxxxxx", {"amounts": [32, 45]}, ) http_client_mock.assert_requested( "post", path="/v1/setup_intents/seti_xxxxxxxxxxxxx/verify_microdeposits", query_string="", api_base="https://api.stripe.com", post_data="amounts[0]=32&amounts[1]=45", ) def test_shipping_rates_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/shipping_rates", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.shipping_rates.list() http_client_mock.assert_requested( "get", path="/v1/shipping_rates", query_string="", api_base="https://api.stripe.com", ) def test_shipping_rates_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.ShippingRate.list() http_client_mock.assert_requested( "get", path="/v1/shipping_rates", query_string="", ) def test_shipping_rates_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/shipping_rates", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.shipping_rates.list() http_client_mock.assert_requested( "get", path="/v1/shipping_rates", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_shipping_rates_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.ShippingRate.list_async() http_client_mock.assert_requested( "get", path="/v1/shipping_rates", query_string="", ) @pytest.mark.anyio async def test_shipping_rates_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/shipping_rates", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.shipping_rates.list_async() http_client_mock.assert_requested( "get", path="/v1/shipping_rates", query_string="", api_base="https://api.stripe.com", ) def test_shipping_rates_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/shipping_rates", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.shipping_rates.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/shipping_rates", query_string="limit=3", api_base="https://api.stripe.com", ) def test_shipping_rates_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.ShippingRate.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/shipping_rates", query_string="limit=3", ) def test_shipping_rates_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/shipping_rates", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.shipping_rates.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/shipping_rates", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_shipping_rates_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.ShippingRate.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/shipping_rates", query_string="limit=3", ) @pytest.mark.anyio async def test_shipping_rates_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/shipping_rates", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.shipping_rates.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/shipping_rates", query_string="limit=3", api_base="https://api.stripe.com", ) def test_shipping_rates_get_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/shipping_rates/shr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.shipping_rates.retrieve("shr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/shipping_rates/shr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_shipping_rates_get_3( self, http_client_mock: HTTPClientMock ) -> None: stripe.ShippingRate.retrieve("shr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/shipping_rates/shr_xxxxxxxxxxxxx", query_string="", ) def test_shipping_rates_get_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/shipping_rates/shr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.shipping_rates.retrieve("shr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/shipping_rates/shr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_shipping_rates_get_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.ShippingRate.retrieve_async("shr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/shipping_rates/shr_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_shipping_rates_get_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/shipping_rates/shr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.shipping_rates.retrieve_async("shr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/shipping_rates/shr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_shipping_rates_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/shipping_rates", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.shipping_rates.create( { "display_name": "Sample Shipper", "fixed_amount": {"currency": "usd", "amount": 400}, "type": "fixed_amount", } ) http_client_mock.assert_requested( "post", path="/v1/shipping_rates", query_string="", api_base="https://api.stripe.com", post_data="display_name=Sample%20Shipper&fixed_amount[currency]=usd&fixed_amount[amount]=400&type=fixed_amount", ) def test_shipping_rates_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.ShippingRate.create( display_name="Sample Shipper", fixed_amount={"currency": "usd", "amount": 400}, type="fixed_amount", ) http_client_mock.assert_requested( "post", path="/v1/shipping_rates", query_string="", post_data="display_name=Sample%20Shipper&fixed_amount[currency]=usd&fixed_amount[amount]=400&type=fixed_amount", ) def test_shipping_rates_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/shipping_rates", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.shipping_rates.create( { "display_name": "Sample Shipper", "fixed_amount": {"currency": "usd", "amount": 400}, "type": "fixed_amount", } ) http_client_mock.assert_requested( "post", path="/v1/shipping_rates", query_string="", api_base="https://api.stripe.com", post_data="display_name=Sample%20Shipper&fixed_amount[currency]=usd&fixed_amount[amount]=400&type=fixed_amount", ) @pytest.mark.anyio async def test_shipping_rates_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.ShippingRate.create_async( display_name="Sample Shipper", fixed_amount={"currency": "usd", "amount": 400}, type="fixed_amount", ) http_client_mock.assert_requested( "post", path="/v1/shipping_rates", query_string="", post_data="display_name=Sample%20Shipper&fixed_amount[currency]=usd&fixed_amount[amount]=400&type=fixed_amount", ) @pytest.mark.anyio async def test_shipping_rates_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/shipping_rates", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.shipping_rates.create_async( { "display_name": "Sample Shipper", "fixed_amount": {"currency": "usd", "amount": 400}, "type": "fixed_amount", } ) http_client_mock.assert_requested( "post", path="/v1/shipping_rates", query_string="", api_base="https://api.stripe.com", post_data="display_name=Sample%20Shipper&fixed_amount[currency]=usd&fixed_amount[amount]=400&type=fixed_amount", ) def test_shipping_rates_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/shipping_rates", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.shipping_rates.create( { "display_name": "Ground shipping", "type": "fixed_amount", "fixed_amount": {"amount": 500, "currency": "usd"}, } ) http_client_mock.assert_requested( "post", path="/v1/shipping_rates", query_string="", api_base="https://api.stripe.com", post_data="display_name=Ground%20shipping&type=fixed_amount&fixed_amount[amount]=500&fixed_amount[currency]=usd", ) def test_shipping_rates_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.ShippingRate.create( display_name="Ground shipping", type="fixed_amount", fixed_amount={"amount": 500, "currency": "usd"}, ) http_client_mock.assert_requested( "post", path="/v1/shipping_rates", query_string="", post_data="display_name=Ground%20shipping&type=fixed_amount&fixed_amount[amount]=500&fixed_amount[currency]=usd", ) def test_shipping_rates_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/shipping_rates", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.shipping_rates.create( { "display_name": "Ground shipping", "type": "fixed_amount", "fixed_amount": {"amount": 500, "currency": "usd"}, } ) http_client_mock.assert_requested( "post", path="/v1/shipping_rates", query_string="", api_base="https://api.stripe.com", post_data="display_name=Ground%20shipping&type=fixed_amount&fixed_amount[amount]=500&fixed_amount[currency]=usd", ) @pytest.mark.anyio async def test_shipping_rates_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.ShippingRate.create_async( display_name="Ground shipping", type="fixed_amount", fixed_amount={"amount": 500, "currency": "usd"}, ) http_client_mock.assert_requested( "post", path="/v1/shipping_rates", query_string="", post_data="display_name=Ground%20shipping&type=fixed_amount&fixed_amount[amount]=500&fixed_amount[currency]=usd", ) @pytest.mark.anyio async def test_shipping_rates_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/shipping_rates", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.shipping_rates.create_async( { "display_name": "Ground shipping", "type": "fixed_amount", "fixed_amount": {"amount": 500, "currency": "usd"}, } ) http_client_mock.assert_requested( "post", path="/v1/shipping_rates", query_string="", api_base="https://api.stripe.com", post_data="display_name=Ground%20shipping&type=fixed_amount&fixed_amount[amount]=500&fixed_amount[currency]=usd", ) def test_shipping_rates_post_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/shipping_rates/shr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.shipping_rates.update( "shr_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/shipping_rates/shr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_shipping_rates_post_3( self, http_client_mock: HTTPClientMock ) -> None: stripe.ShippingRate.modify( "shr_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/shipping_rates/shr_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_shipping_rates_post_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/shipping_rates/shr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.shipping_rates.update( "shr_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/shipping_rates/shr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_shipping_rates_post_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.ShippingRate.modify_async( "shr_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/shipping_rates/shr_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_shipping_rates_post_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/shipping_rates/shr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.shipping_rates.update_async( "shr_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/shipping_rates/shr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_sigma_scheduled_query_runs_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/sigma/scheduled_query_runs", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.sigma.scheduled_query_runs.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/sigma/scheduled_query_runs", query_string="limit=3", api_base="https://api.stripe.com", ) def test_sigma_scheduled_query_runs_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.sigma.ScheduledQueryRun.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/sigma/scheduled_query_runs", query_string="limit=3", ) def test_sigma_scheduled_query_runs_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/sigma/scheduled_query_runs", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.sigma.scheduled_query_runs.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/sigma/scheduled_query_runs", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_sigma_scheduled_query_runs_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.sigma.ScheduledQueryRun.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/sigma/scheduled_query_runs", query_string="limit=3", ) @pytest.mark.anyio async def test_sigma_scheduled_query_runs_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/sigma/scheduled_query_runs", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.sigma.scheduled_query_runs.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/sigma/scheduled_query_runs", query_string="limit=3", api_base="https://api.stripe.com", ) def test_sigma_scheduled_query_runs_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/sigma/scheduled_query_runs/sqr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.sigma.scheduled_query_runs.retrieve("sqr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/sigma/scheduled_query_runs/sqr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_sigma_scheduled_query_runs_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.sigma.ScheduledQueryRun.retrieve("sqr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/sigma/scheduled_query_runs/sqr_xxxxxxxxxxxxx", query_string="", ) def test_sigma_scheduled_query_runs_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/sigma/scheduled_query_runs/sqr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.sigma.scheduled_query_runs.retrieve("sqr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/sigma/scheduled_query_runs/sqr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_sigma_scheduled_query_runs_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.sigma.ScheduledQueryRun.retrieve_async( "sqr_xxxxxxxxxxxxx" ) http_client_mock.assert_requested( "get", path="/v1/sigma/scheduled_query_runs/sqr_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_sigma_scheduled_query_runs_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/sigma/scheduled_query_runs/sqr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.sigma.scheduled_query_runs.retrieve_async( "sqr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/sigma/scheduled_query_runs/sqr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_sources_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/sources/src_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.sources.retrieve("src_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/sources/src_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_sources_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Source.retrieve("src_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/sources/src_xxxxxxxxxxxxx", query_string="", ) def test_sources_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/sources/src_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.sources.retrieve("src_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/sources/src_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_sources_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Source.retrieve_async("src_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/sources/src_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_sources_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/sources/src_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.sources.retrieve_async("src_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/sources/src_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_sources_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/sources/src_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.sources.retrieve("src_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/sources/src_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_sources_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Source.retrieve("src_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/sources/src_xxxxxxxxxxxxx", query_string="", ) def test_sources_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/sources/src_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.sources.retrieve("src_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/sources/src_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_sources_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Source.retrieve_async("src_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/sources/src_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_sources_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/sources/src_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.sources.retrieve_async("src_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/sources/src_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_sources_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/sources/src_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.sources.update( "src_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/sources/src_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_sources_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Source.modify( "src_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/sources/src_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_sources_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/sources/src_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.sources.update( "src_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/sources/src_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_sources_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Source.modify_async( "src_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/sources/src_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_sources_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/sources/src_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.sources.update_async( "src_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/sources/src_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_subscription_items_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/subscription_items/si_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscription_items.delete("si_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/subscription_items/si_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_subscription_items_delete( self, http_client_mock: HTTPClientMock ) -> None: stripe.SubscriptionItem.delete("si_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/subscription_items/si_xxxxxxxxxxxxx", query_string="", ) def test_subscription_items_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/subscription_items/si_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscription_items.delete("si_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/subscription_items/si_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_subscription_items_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SubscriptionItem.delete_async("si_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/subscription_items/si_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_subscription_items_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/subscription_items/si_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscription_items.delete_async("si_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/subscription_items/si_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_subscription_items_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscription_items", "subscription=sub_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscription_items.list({"subscription": "sub_xxxxxxxxxxxxx"}) http_client_mock.assert_requested( "get", path="/v1/subscription_items", query_string="subscription=sub_xxxxxxxxxxxxx", api_base="https://api.stripe.com", ) def test_subscription_items_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.SubscriptionItem.list(subscription="sub_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/subscription_items", query_string="subscription=sub_xxxxxxxxxxxxx", ) def test_subscription_items_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscription_items", "subscription=sub_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscription_items.list( {"subscription": "sub_xxxxxxxxxxxxx"} ) http_client_mock.assert_requested( "get", path="/v1/subscription_items", query_string="subscription=sub_xxxxxxxxxxxxx", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_subscription_items_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SubscriptionItem.list_async( subscription="sub_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/subscription_items", query_string="subscription=sub_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_subscription_items_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscription_items", "subscription=sub_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscription_items.list_async( { "subscription": "sub_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "get", path="/v1/subscription_items", query_string="subscription=sub_xxxxxxxxxxxxx", api_base="https://api.stripe.com", ) def test_subscription_items_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscription_items/si_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscription_items.retrieve("si_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/subscription_items/si_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_subscription_items_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.SubscriptionItem.retrieve("si_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/subscription_items/si_xxxxxxxxxxxxx", query_string="", ) def test_subscription_items_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscription_items/si_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscription_items.retrieve("si_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/subscription_items/si_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_subscription_items_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SubscriptionItem.retrieve_async("si_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/subscription_items/si_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_subscription_items_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscription_items/si_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscription_items.retrieve_async("si_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/subscription_items/si_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_subscription_items_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscription_items.create( { "subscription": "sub_xxxxxxxxxxxxx", "price": "price_xxxxxxxxxxxxx", "quantity": 2, } ) http_client_mock.assert_requested( "post", path="/v1/subscription_items", query_string="", api_base="https://api.stripe.com", post_data="subscription=sub_xxxxxxxxxxxxx&price=price_xxxxxxxxxxxxx&quantity=2", ) def test_subscription_items_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.SubscriptionItem.create( subscription="sub_xxxxxxxxxxxxx", price="price_xxxxxxxxxxxxx", quantity=2, ) http_client_mock.assert_requested( "post", path="/v1/subscription_items", query_string="", post_data="subscription=sub_xxxxxxxxxxxxx&price=price_xxxxxxxxxxxxx&quantity=2", ) def test_subscription_items_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscription_items.create( { "subscription": "sub_xxxxxxxxxxxxx", "price": "price_xxxxxxxxxxxxx", "quantity": 2, } ) http_client_mock.assert_requested( "post", path="/v1/subscription_items", query_string="", api_base="https://api.stripe.com", post_data="subscription=sub_xxxxxxxxxxxxx&price=price_xxxxxxxxxxxxx&quantity=2", ) @pytest.mark.anyio async def test_subscription_items_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SubscriptionItem.create_async( subscription="sub_xxxxxxxxxxxxx", price="price_xxxxxxxxxxxxx", quantity=2, ) http_client_mock.assert_requested( "post", path="/v1/subscription_items", query_string="", post_data="subscription=sub_xxxxxxxxxxxxx&price=price_xxxxxxxxxxxxx&quantity=2", ) @pytest.mark.anyio async def test_subscription_items_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscription_items.create_async( { "subscription": "sub_xxxxxxxxxxxxx", "price": "price_xxxxxxxxxxxxx", "quantity": 2, } ) http_client_mock.assert_requested( "post", path="/v1/subscription_items", query_string="", api_base="https://api.stripe.com", post_data="subscription=sub_xxxxxxxxxxxxx&price=price_xxxxxxxxxxxxx&quantity=2", ) def test_subscription_items_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_items/si_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscription_items.update( "si_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/subscription_items/si_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_subscription_items_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.SubscriptionItem.modify( "si_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/subscription_items/si_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_subscription_items_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_items/si_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscription_items.update( "si_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/subscription_items/si_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_subscription_items_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SubscriptionItem.modify_async( "si_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/subscription_items/si_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_subscription_items_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_items/si_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscription_items.update_async( "si_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/subscription_items/si_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_subscription_schedules_cancel_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscription_schedules.cancel("sub_sched_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_subscription_schedules_cancel_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.SubscriptionSchedule.cancel("sub_sched_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/cancel", query_string="", ) def test_subscription_schedules_cancel_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscription_schedules.cancel("sub_sched_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_subscription_schedules_cancel_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SubscriptionSchedule.cancel_async( "sub_sched_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/cancel", query_string="", ) @pytest.mark.anyio async def test_subscription_schedules_cancel_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscription_schedules.cancel_async( "sub_sched_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_subscription_schedules_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscription_schedules", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscription_schedules.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/subscription_schedules", query_string="limit=3", api_base="https://api.stripe.com", ) def test_subscription_schedules_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.SubscriptionSchedule.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/subscription_schedules", query_string="limit=3", ) def test_subscription_schedules_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscription_schedules", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscription_schedules.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/subscription_schedules", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_subscription_schedules_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SubscriptionSchedule.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/subscription_schedules", query_string="limit=3", ) @pytest.mark.anyio async def test_subscription_schedules_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscription_schedules", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscription_schedules.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/subscription_schedules", query_string="limit=3", api_base="https://api.stripe.com", ) def test_subscription_schedules_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscription_schedules.retrieve("sub_sched_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_subscription_schedules_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.SubscriptionSchedule.retrieve("sub_sched_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", query_string="", ) def test_subscription_schedules_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscription_schedules.retrieve("sub_sched_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_subscription_schedules_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SubscriptionSchedule.retrieve_async( "sub_sched_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_subscription_schedules_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscription_schedules.retrieve_async( "sub_sched_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_subscription_schedules_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_schedules", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscription_schedules.create( { "customer": "cus_xxxxxxxxxxxxx", "start_date": 1676070661, "end_behavior": "release", "phases": [ { "items": [ {"price": "price_xxxxxxxxxxxxx", "quantity": 1} ] }, ], } ) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx&start_date=1676070661&end_behavior=release&phases[0][items][0][price]=price_xxxxxxxxxxxxx&phases[0][items][0][quantity]=1", ) def test_subscription_schedules_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.SubscriptionSchedule.create( customer="cus_xxxxxxxxxxxxx", start_date=1676070661, end_behavior="release", phases=[ {"items": [{"price": "price_xxxxxxxxxxxxx", "quantity": 1}]}, ], ) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules", query_string="", post_data="customer=cus_xxxxxxxxxxxxx&start_date=1676070661&end_behavior=release&phases[0][items][0][price]=price_xxxxxxxxxxxxx&phases[0][items][0][quantity]=1", ) def test_subscription_schedules_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_schedules", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscription_schedules.create( { "customer": "cus_xxxxxxxxxxxxx", "start_date": 1676070661, "end_behavior": "release", "phases": [ { "items": [ {"price": "price_xxxxxxxxxxxxx", "quantity": 1} ] }, ], } ) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx&start_date=1676070661&end_behavior=release&phases[0][items][0][price]=price_xxxxxxxxxxxxx&phases[0][items][0][quantity]=1", ) @pytest.mark.anyio async def test_subscription_schedules_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SubscriptionSchedule.create_async( customer="cus_xxxxxxxxxxxxx", start_date=1676070661, end_behavior="release", phases=[ {"items": [{"price": "price_xxxxxxxxxxxxx", "quantity": 1}]}, ], ) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules", query_string="", post_data="customer=cus_xxxxxxxxxxxxx&start_date=1676070661&end_behavior=release&phases[0][items][0][price]=price_xxxxxxxxxxxxx&phases[0][items][0][quantity]=1", ) @pytest.mark.anyio async def test_subscription_schedules_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_schedules", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscription_schedules.create_async( { "customer": "cus_xxxxxxxxxxxxx", "start_date": 1676070661, "end_behavior": "release", "phases": [ { "items": [ {"price": "price_xxxxxxxxxxxxx", "quantity": 1} ] }, ], } ) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx&start_date=1676070661&end_behavior=release&phases[0][items][0][price]=price_xxxxxxxxxxxxx&phases[0][items][0][quantity]=1", ) def test_subscription_schedules_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscription_schedules.update( "sub_sched_xxxxxxxxxxxxx", {"end_behavior": "release"}, ) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="end_behavior=release", ) def test_subscription_schedules_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.SubscriptionSchedule.modify( "sub_sched_xxxxxxxxxxxxx", end_behavior="release", ) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", query_string="", post_data="end_behavior=release", ) def test_subscription_schedules_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscription_schedules.update( "sub_sched_xxxxxxxxxxxxx", {"end_behavior": "release"}, ) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="end_behavior=release", ) @pytest.mark.anyio async def test_subscription_schedules_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SubscriptionSchedule.modify_async( "sub_sched_xxxxxxxxxxxxx", end_behavior="release", ) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", query_string="", post_data="end_behavior=release", ) @pytest.mark.anyio async def test_subscription_schedules_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscription_schedules.update_async( "sub_sched_xxxxxxxxxxxxx", {"end_behavior": "release"}, ) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="end_behavior=release", ) def test_subscription_schedules_release_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/release", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscription_schedules.release("sub_sched_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/release", query_string="", api_base="https://api.stripe.com", ) def test_subscription_schedules_release_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.SubscriptionSchedule.release("sub_sched_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/release", query_string="", ) def test_subscription_schedules_release_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/release", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscription_schedules.release("sub_sched_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/release", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_subscription_schedules_release_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.SubscriptionSchedule.release_async( "sub_sched_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/release", query_string="", ) @pytest.mark.anyio async def test_subscription_schedules_release_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/release", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscription_schedules.release_async( "sub_sched_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/subscription_schedules/sub_sched_xxxxxxxxxxxxx/release", query_string="", api_base="https://api.stripe.com", ) def test_subscriptions_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/subscriptions/sub_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscriptions.cancel("sub_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/subscriptions/sub_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_subscriptions_delete( self, http_client_mock: HTTPClientMock ) -> None: stripe.Subscription.cancel("sub_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/subscriptions/sub_xxxxxxxxxxxxx", query_string="", ) def test_subscriptions_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/subscriptions/sub_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscriptions.cancel("sub_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/subscriptions/sub_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_subscriptions_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Subscription.cancel_async("sub_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/subscriptions/sub_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_subscriptions_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/subscriptions/sub_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscriptions.cancel_async("sub_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/subscriptions/sub_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_subscriptions_discount_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/subscriptions/sub_xyz/discount", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscriptions.delete_discount("sub_xyz") http_client_mock.assert_requested( "delete", path="/v1/subscriptions/sub_xyz/discount", query_string="", api_base="https://api.stripe.com", ) def test_subscriptions_discount_delete( self, http_client_mock: HTTPClientMock ) -> None: stripe.Subscription.delete_discount("sub_xyz") http_client_mock.assert_requested( "delete", path="/v1/subscriptions/sub_xyz/discount", query_string="", ) def test_subscriptions_discount_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/subscriptions/sub_xyz/discount", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscriptions.delete_discount("sub_xyz") http_client_mock.assert_requested( "delete", path="/v1/subscriptions/sub_xyz/discount", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_subscriptions_discount_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Subscription.delete_discount_async("sub_xyz") http_client_mock.assert_requested( "delete", path="/v1/subscriptions/sub_xyz/discount", query_string="", ) @pytest.mark.anyio async def test_subscriptions_discount_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/subscriptions/sub_xyz/discount", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscriptions.delete_discount_async("sub_xyz") http_client_mock.assert_requested( "delete", path="/v1/subscriptions/sub_xyz/discount", query_string="", api_base="https://api.stripe.com", ) def test_subscriptions_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscriptions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscriptions.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/subscriptions", query_string="limit=3", api_base="https://api.stripe.com", ) def test_subscriptions_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Subscription.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/subscriptions", query_string="limit=3", ) def test_subscriptions_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscriptions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscriptions.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/subscriptions", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_subscriptions_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Subscription.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/subscriptions", query_string="limit=3", ) @pytest.mark.anyio async def test_subscriptions_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscriptions", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscriptions.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/subscriptions", query_string="limit=3", api_base="https://api.stripe.com", ) def test_subscriptions_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscriptions/sub_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscriptions.retrieve("sub_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/subscriptions/sub_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_subscriptions_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Subscription.retrieve("sub_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/subscriptions/sub_xxxxxxxxxxxxx", query_string="", ) def test_subscriptions_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscriptions/sub_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscriptions.retrieve("sub_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/subscriptions/sub_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_subscriptions_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Subscription.retrieve_async("sub_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/subscriptions/sub_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_subscriptions_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscriptions/sub_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscriptions.retrieve_async("sub_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/subscriptions/sub_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_subscriptions_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscriptions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscriptions.create( { "customer": "cus_xxxxxxxxxxxxx", "items": [{"price": "price_xxxxxxxxxxxxx"}], } ) http_client_mock.assert_requested( "post", path="/v1/subscriptions", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx&items[0][price]=price_xxxxxxxxxxxxx", ) def test_subscriptions_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Subscription.create( customer="cus_xxxxxxxxxxxxx", items=[{"price": "price_xxxxxxxxxxxxx"}], ) http_client_mock.assert_requested( "post", path="/v1/subscriptions", query_string="", post_data="customer=cus_xxxxxxxxxxxxx&items[0][price]=price_xxxxxxxxxxxxx", ) def test_subscriptions_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscriptions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscriptions.create( { "customer": "cus_xxxxxxxxxxxxx", "items": [{"price": "price_xxxxxxxxxxxxx"}], } ) http_client_mock.assert_requested( "post", path="/v1/subscriptions", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx&items[0][price]=price_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_subscriptions_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Subscription.create_async( customer="cus_xxxxxxxxxxxxx", items=[{"price": "price_xxxxxxxxxxxxx"}], ) http_client_mock.assert_requested( "post", path="/v1/subscriptions", query_string="", post_data="customer=cus_xxxxxxxxxxxxx&items[0][price]=price_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_subscriptions_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscriptions", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscriptions.create_async( { "customer": "cus_xxxxxxxxxxxxx", "items": [{"price": "price_xxxxxxxxxxxxx"}], } ) http_client_mock.assert_requested( "post", path="/v1/subscriptions", query_string="", api_base="https://api.stripe.com", post_data="customer=cus_xxxxxxxxxxxxx&items[0][price]=price_xxxxxxxxxxxxx", ) def test_subscriptions_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscriptions/sub_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscriptions.update( "sub_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/subscriptions/sub_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_subscriptions_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Subscription.modify( "sub_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/subscriptions/sub_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_subscriptions_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscriptions/sub_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscriptions.update( "sub_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/subscriptions/sub_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_subscriptions_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Subscription.modify_async( "sub_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/subscriptions/sub_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_subscriptions_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/subscriptions/sub_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscriptions.update_async( "sub_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/subscriptions/sub_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_subscriptions_search_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscriptions/search", "query=status%3A%27active%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.subscriptions.search( { "query": "status:'active' AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/subscriptions/search", query_string="query=status%3A%27active%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) def test_subscriptions_search_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Subscription.search( query="status:'active' AND metadata['order_id']:'6735'", ) http_client_mock.assert_requested( "get", path="/v1/subscriptions/search", query_string="query=status%3A%27active%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) def test_subscriptions_search_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscriptions/search", "query=status%3A%27active%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.subscriptions.search( { "query": "status:'active' AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/subscriptions/search", query_string="query=status%3A%27active%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_subscriptions_search_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Subscription.search_async( query="status:'active' AND metadata['order_id']:'6735'", ) http_client_mock.assert_requested( "get", path="/v1/subscriptions/search", query_string="query=status%3A%27active%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) @pytest.mark.anyio async def test_subscriptions_search_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/subscriptions/search", "query=status%3A%27active%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.subscriptions.search_async( { "query": "status:'active' AND metadata['order_id']:'6735'", } ) http_client_mock.assert_requested( "get", path="/v1/subscriptions/search", query_string="query=status%3A%27active%27%20AND%20metadata%5B%27order_id%27%5D%3A%276735%27", api_base="https://api.stripe.com", ) def test_tax_calculations_line_items_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax/calculations/xxx/line_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax.calculations.line_items.list("xxx") http_client_mock.assert_requested( "get", path="/v1/tax/calculations/xxx/line_items", query_string="", api_base="https://api.stripe.com", ) def test_tax_calculations_line_items_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.tax.Calculation.list_line_items("xxx") http_client_mock.assert_requested( "get", path="/v1/tax/calculations/xxx/line_items", query_string="", ) def test_tax_calculations_line_items_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax/calculations/xxx/line_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax.calculations.line_items.list("xxx") http_client_mock.assert_requested( "get", path="/v1/tax/calculations/xxx/line_items", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_tax_calculations_line_items_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.tax.Calculation.list_line_items_async("xxx") http_client_mock.assert_requested( "get", path="/v1/tax/calculations/xxx/line_items", query_string="", ) @pytest.mark.anyio async def test_tax_calculations_line_items_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax/calculations/xxx/line_items", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax.calculations.line_items.list_async("xxx") http_client_mock.assert_requested( "get", path="/v1/tax/calculations/xxx/line_items", query_string="", api_base="https://api.stripe.com", ) def test_tax_calculations_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax/calculations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax.calculations.create( { "currency": "usd", "line_items": [{"amount": 1000, "reference": "L1"}], "customer_details": { "address": { "line1": "354 Oyster Point Blvd", "city": "South San Francisco", "state": "CA", "postal_code": "94080", "country": "US", }, "address_source": "shipping", }, } ) http_client_mock.assert_requested( "post", path="/v1/tax/calculations", query_string="", api_base="https://api.stripe.com", post_data="currency=usd&line_items[0][amount]=1000&line_items[0][reference]=L1&customer_details[address][line1]=354%20Oyster%20Point%20Blvd&customer_details[address][city]=South%20San%20Francisco&customer_details[address][state]=CA&customer_details[address][postal_code]=94080&customer_details[address][country]=US&customer_details[address_source]=shipping", ) def test_tax_calculations_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.tax.Calculation.create( currency="usd", line_items=[{"amount": 1000, "reference": "L1"}], customer_details={ "address": { "line1": "354 Oyster Point Blvd", "city": "South San Francisco", "state": "CA", "postal_code": "94080", "country": "US", }, "address_source": "shipping", }, ) http_client_mock.assert_requested( "post", path="/v1/tax/calculations", query_string="", post_data="currency=usd&line_items[0][amount]=1000&line_items[0][reference]=L1&customer_details[address][line1]=354%20Oyster%20Point%20Blvd&customer_details[address][city]=South%20San%20Francisco&customer_details[address][state]=CA&customer_details[address][postal_code]=94080&customer_details[address][country]=US&customer_details[address_source]=shipping", ) def test_tax_calculations_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax/calculations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax.calculations.create( { "currency": "usd", "line_items": [{"amount": 1000, "reference": "L1"}], "customer_details": { "address": { "line1": "354 Oyster Point Blvd", "city": "South San Francisco", "state": "CA", "postal_code": "94080", "country": "US", }, "address_source": "shipping", }, } ) http_client_mock.assert_requested( "post", path="/v1/tax/calculations", query_string="", api_base="https://api.stripe.com", post_data="currency=usd&line_items[0][amount]=1000&line_items[0][reference]=L1&customer_details[address][line1]=354%20Oyster%20Point%20Blvd&customer_details[address][city]=South%20San%20Francisco&customer_details[address][state]=CA&customer_details[address][postal_code]=94080&customer_details[address][country]=US&customer_details[address_source]=shipping", ) @pytest.mark.anyio async def test_tax_calculations_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.tax.Calculation.create_async( currency="usd", line_items=[{"amount": 1000, "reference": "L1"}], customer_details={ "address": { "line1": "354 Oyster Point Blvd", "city": "South San Francisco", "state": "CA", "postal_code": "94080", "country": "US", }, "address_source": "shipping", }, ) http_client_mock.assert_requested( "post", path="/v1/tax/calculations", query_string="", post_data="currency=usd&line_items[0][amount]=1000&line_items[0][reference]=L1&customer_details[address][line1]=354%20Oyster%20Point%20Blvd&customer_details[address][city]=South%20San%20Francisco&customer_details[address][state]=CA&customer_details[address][postal_code]=94080&customer_details[address][country]=US&customer_details[address_source]=shipping", ) @pytest.mark.anyio async def test_tax_calculations_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax/calculations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax.calculations.create_async( { "currency": "usd", "line_items": [{"amount": 1000, "reference": "L1"}], "customer_details": { "address": { "line1": "354 Oyster Point Blvd", "city": "South San Francisco", "state": "CA", "postal_code": "94080", "country": "US", }, "address_source": "shipping", }, } ) http_client_mock.assert_requested( "post", path="/v1/tax/calculations", query_string="", api_base="https://api.stripe.com", post_data="currency=usd&line_items[0][amount]=1000&line_items[0][reference]=L1&customer_details[address][line1]=354%20Oyster%20Point%20Blvd&customer_details[address][city]=South%20San%20Francisco&customer_details[address][state]=CA&customer_details[address][postal_code]=94080&customer_details[address][country]=US&customer_details[address_source]=shipping", ) def test_tax_codes_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_codes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax_codes.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/tax_codes", query_string="limit=3", api_base="https://api.stripe.com", ) def test_tax_codes_get(self, http_client_mock: HTTPClientMock) -> None: stripe.TaxCode.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/tax_codes", query_string="limit=3", ) def test_tax_codes_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_codes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax_codes.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/tax_codes", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_tax_codes_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.TaxCode.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/tax_codes", query_string="limit=3", ) @pytest.mark.anyio async def test_tax_codes_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_codes", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax_codes.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/tax_codes", query_string="limit=3", api_base="https://api.stripe.com", ) def test_tax_codes_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_codes/txcd_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax_codes.retrieve("txcd_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/tax_codes/txcd_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_tax_codes_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.TaxCode.retrieve("txcd_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/tax_codes/txcd_xxxxxxxxxxxxx", query_string="", ) def test_tax_codes_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_codes/txcd_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax_codes.retrieve("txcd_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/tax_codes/txcd_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_tax_codes_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.TaxCode.retrieve_async("txcd_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/tax_codes/txcd_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_tax_codes_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_codes/txcd_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax_codes.retrieve_async("txcd_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/tax_codes/txcd_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_tax_ids_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/tax_ids/taxid_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax_ids.delete("taxid_123") http_client_mock.assert_requested( "delete", path="/v1/tax_ids/taxid_123", query_string="", api_base="https://api.stripe.com", ) def test_tax_ids_delete(self, http_client_mock: HTTPClientMock) -> None: stripe.TaxId.delete("taxid_123") http_client_mock.assert_requested( "delete", path="/v1/tax_ids/taxid_123", query_string="", ) def test_tax_ids_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/tax_ids/taxid_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax_ids.delete("taxid_123") http_client_mock.assert_requested( "delete", path="/v1/tax_ids/taxid_123", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_tax_ids_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.TaxId.delete_async("taxid_123") http_client_mock.assert_requested( "delete", path="/v1/tax_ids/taxid_123", query_string="", ) @pytest.mark.anyio async def test_tax_ids_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/tax_ids/taxid_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax_ids.delete_async("taxid_123") http_client_mock.assert_requested( "delete", path="/v1/tax_ids/taxid_123", query_string="", api_base="https://api.stripe.com", ) def test_tax_ids_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_ids", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax_ids.list() http_client_mock.assert_requested( "get", path="/v1/tax_ids", query_string="", api_base="https://api.stripe.com", ) def test_tax_ids_get(self, http_client_mock: HTTPClientMock) -> None: stripe.TaxId.list() http_client_mock.assert_requested( "get", path="/v1/tax_ids", query_string="", ) def test_tax_ids_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_ids", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax_ids.list() http_client_mock.assert_requested( "get", path="/v1/tax_ids", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_tax_ids_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.TaxId.list_async() http_client_mock.assert_requested( "get", path="/v1/tax_ids", query_string="", ) @pytest.mark.anyio async def test_tax_ids_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_ids", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax_ids.list_async() http_client_mock.assert_requested( "get", path="/v1/tax_ids", query_string="", api_base="https://api.stripe.com", ) def test_tax_ids_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_ids/taxid_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax_ids.retrieve("taxid_123") http_client_mock.assert_requested( "get", path="/v1/tax_ids/taxid_123", query_string="", api_base="https://api.stripe.com", ) def test_tax_ids_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.TaxId.retrieve("taxid_123") http_client_mock.assert_requested( "get", path="/v1/tax_ids/taxid_123", query_string="", ) def test_tax_ids_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_ids/taxid_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax_ids.retrieve("taxid_123") http_client_mock.assert_requested( "get", path="/v1/tax_ids/taxid_123", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_tax_ids_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.TaxId.retrieve_async("taxid_123") http_client_mock.assert_requested( "get", path="/v1/tax_ids/taxid_123", query_string="", ) @pytest.mark.anyio async def test_tax_ids_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_ids/taxid_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax_ids.retrieve_async("taxid_123") http_client_mock.assert_requested( "get", path="/v1/tax_ids/taxid_123", query_string="", api_base="https://api.stripe.com", ) def test_tax_ids_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax_ids", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax_ids.create({"type": "eu_vat", "value": "123"}) http_client_mock.assert_requested( "post", path="/v1/tax_ids", query_string="", api_base="https://api.stripe.com", post_data="type=eu_vat&value=123", ) def test_tax_ids_post(self, http_client_mock: HTTPClientMock) -> None: stripe.TaxId.create( type="eu_vat", value="123", ) http_client_mock.assert_requested( "post", path="/v1/tax_ids", query_string="", post_data="type=eu_vat&value=123", ) def test_tax_ids_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax_ids", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax_ids.create({"type": "eu_vat", "value": "123"}) http_client_mock.assert_requested( "post", path="/v1/tax_ids", query_string="", api_base="https://api.stripe.com", post_data="type=eu_vat&value=123", ) @pytest.mark.anyio async def test_tax_ids_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.TaxId.create_async( type="eu_vat", value="123", ) http_client_mock.assert_requested( "post", path="/v1/tax_ids", query_string="", post_data="type=eu_vat&value=123", ) @pytest.mark.anyio async def test_tax_ids_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax_ids", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax_ids.create_async( {"type": "eu_vat", "value": "123"} ) http_client_mock.assert_requested( "post", path="/v1/tax_ids", query_string="", api_base="https://api.stripe.com", post_data="type=eu_vat&value=123", ) def test_tax_rates_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_rates", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax_rates.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/tax_rates", query_string="limit=3", api_base="https://api.stripe.com", ) def test_tax_rates_get(self, http_client_mock: HTTPClientMock) -> None: stripe.TaxRate.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/tax_rates", query_string="limit=3", ) def test_tax_rates_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_rates", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax_rates.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/tax_rates", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_tax_rates_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.TaxRate.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/tax_rates", query_string="limit=3", ) @pytest.mark.anyio async def test_tax_rates_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_rates", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax_rates.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/tax_rates", query_string="limit=3", api_base="https://api.stripe.com", ) def test_tax_rates_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_rates/txr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax_rates.retrieve("txr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/tax_rates/txr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_tax_rates_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.TaxRate.retrieve("txr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/tax_rates/txr_xxxxxxxxxxxxx", query_string="", ) def test_tax_rates_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_rates/txr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax_rates.retrieve("txr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/tax_rates/txr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_tax_rates_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.TaxRate.retrieve_async("txr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/tax_rates/txr_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_tax_rates_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax_rates/txr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax_rates.retrieve_async("txr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/tax_rates/txr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_tax_rates_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax_rates", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax_rates.create( { "display_name": "VAT", "description": "VAT Germany", "jurisdiction": "DE", "percentage": 16, "inclusive": False, } ) http_client_mock.assert_requested( "post", path="/v1/tax_rates", query_string="", api_base="https://api.stripe.com", post_data="display_name=VAT&description=VAT%20Germany&jurisdiction=DE&percentage=16&inclusive=false", ) def test_tax_rates_post(self, http_client_mock: HTTPClientMock) -> None: stripe.TaxRate.create( display_name="VAT", description="VAT Germany", jurisdiction="DE", percentage=16, inclusive=False, ) http_client_mock.assert_requested( "post", path="/v1/tax_rates", query_string="", post_data="display_name=VAT&description=VAT%20Germany&jurisdiction=DE&percentage=16&inclusive=false", ) def test_tax_rates_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax_rates", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax_rates.create( { "display_name": "VAT", "description": "VAT Germany", "jurisdiction": "DE", "percentage": 16, "inclusive": False, } ) http_client_mock.assert_requested( "post", path="/v1/tax_rates", query_string="", api_base="https://api.stripe.com", post_data="display_name=VAT&description=VAT%20Germany&jurisdiction=DE&percentage=16&inclusive=false", ) @pytest.mark.anyio async def test_tax_rates_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.TaxRate.create_async( display_name="VAT", description="VAT Germany", jurisdiction="DE", percentage=16, inclusive=False, ) http_client_mock.assert_requested( "post", path="/v1/tax_rates", query_string="", post_data="display_name=VAT&description=VAT%20Germany&jurisdiction=DE&percentage=16&inclusive=false", ) @pytest.mark.anyio async def test_tax_rates_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax_rates", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax_rates.create_async( { "display_name": "VAT", "description": "VAT Germany", "jurisdiction": "DE", "percentage": 16, "inclusive": False, } ) http_client_mock.assert_requested( "post", path="/v1/tax_rates", query_string="", api_base="https://api.stripe.com", post_data="display_name=VAT&description=VAT%20Germany&jurisdiction=DE&percentage=16&inclusive=false", ) def test_tax_rates_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax_rates/txr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax_rates.update( "txr_xxxxxxxxxxxxx", {"active": False}, ) http_client_mock.assert_requested( "post", path="/v1/tax_rates/txr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="active=false", ) def test_tax_rates_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.TaxRate.modify( "txr_xxxxxxxxxxxxx", active=False, ) http_client_mock.assert_requested( "post", path="/v1/tax_rates/txr_xxxxxxxxxxxxx", query_string="", post_data="active=false", ) def test_tax_rates_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax_rates/txr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax_rates.update( "txr_xxxxxxxxxxxxx", {"active": False}, ) http_client_mock.assert_requested( "post", path="/v1/tax_rates/txr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="active=false", ) @pytest.mark.anyio async def test_tax_rates_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.TaxRate.modify_async( "txr_xxxxxxxxxxxxx", active=False, ) http_client_mock.assert_requested( "post", path="/v1/tax_rates/txr_xxxxxxxxxxxxx", query_string="", post_data="active=false", ) @pytest.mark.anyio async def test_tax_rates_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax_rates/txr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax_rates.update_async( "txr_xxxxxxxxxxxxx", {"active": False}, ) http_client_mock.assert_requested( "post", path="/v1/tax_rates/txr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="active=false", ) def test_tax_registrations_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax/registrations", "status=all", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax.registrations.list({"status": "all"}) http_client_mock.assert_requested( "get", path="/v1/tax/registrations", query_string="status=all", api_base="https://api.stripe.com", ) def test_tax_registrations_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.tax.Registration.list(status="all") http_client_mock.assert_requested( "get", path="/v1/tax/registrations", query_string="status=all", ) def test_tax_registrations_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax/registrations", "status=all", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax.registrations.list({"status": "all"}) http_client_mock.assert_requested( "get", path="/v1/tax/registrations", query_string="status=all", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_tax_registrations_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.tax.Registration.list_async(status="all") http_client_mock.assert_requested( "get", path="/v1/tax/registrations", query_string="status=all", ) @pytest.mark.anyio async def test_tax_registrations_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax/registrations", "status=all", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax.registrations.list_async({"status": "all"}) http_client_mock.assert_requested( "get", path="/v1/tax/registrations", query_string="status=all", api_base="https://api.stripe.com", ) def test_tax_registrations_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax/registrations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax.registrations.create( { "country": "IE", "country_options": {"ie": {"type": "oss_union"}}, "active_from": "now", } ) http_client_mock.assert_requested( "post", path="/v1/tax/registrations", query_string="", api_base="https://api.stripe.com", post_data="country=IE&country_options[ie][type]=oss_union&active_from=now", ) def test_tax_registrations_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.tax.Registration.create( country="IE", country_options={"ie": {"type": "oss_union"}}, active_from="now", ) http_client_mock.assert_requested( "post", path="/v1/tax/registrations", query_string="", post_data="country=IE&country_options[ie][type]=oss_union&active_from=now", ) def test_tax_registrations_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax/registrations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax.registrations.create( { "country": "IE", "country_options": {"ie": {"type": "oss_union"}}, "active_from": "now", } ) http_client_mock.assert_requested( "post", path="/v1/tax/registrations", query_string="", api_base="https://api.stripe.com", post_data="country=IE&country_options[ie][type]=oss_union&active_from=now", ) @pytest.mark.anyio async def test_tax_registrations_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.tax.Registration.create_async( country="IE", country_options={"ie": {"type": "oss_union"}}, active_from="now", ) http_client_mock.assert_requested( "post", path="/v1/tax/registrations", query_string="", post_data="country=IE&country_options[ie][type]=oss_union&active_from=now", ) @pytest.mark.anyio async def test_tax_registrations_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax/registrations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax.registrations.create_async( { "country": "IE", "country_options": {"ie": {"type": "oss_union"}}, "active_from": "now", } ) http_client_mock.assert_requested( "post", path="/v1/tax/registrations", query_string="", api_base="https://api.stripe.com", post_data="country=IE&country_options[ie][type]=oss_union&active_from=now", ) def test_tax_registrations_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax/registrations/taxreg_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax.registrations.update( "taxreg_xxxxxxxxxxxxx", {"expires_at": "now"}, ) http_client_mock.assert_requested( "post", path="/v1/tax/registrations/taxreg_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="expires_at=now", ) def test_tax_registrations_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.tax.Registration.modify( "taxreg_xxxxxxxxxxxxx", expires_at="now", ) http_client_mock.assert_requested( "post", path="/v1/tax/registrations/taxreg_xxxxxxxxxxxxx", query_string="", post_data="expires_at=now", ) def test_tax_registrations_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax/registrations/taxreg_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax.registrations.update( "taxreg_xxxxxxxxxxxxx", {"expires_at": "now"}, ) http_client_mock.assert_requested( "post", path="/v1/tax/registrations/taxreg_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="expires_at=now", ) @pytest.mark.anyio async def test_tax_registrations_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.tax.Registration.modify_async( "taxreg_xxxxxxxxxxxxx", expires_at="now", ) http_client_mock.assert_requested( "post", path="/v1/tax/registrations/taxreg_xxxxxxxxxxxxx", query_string="", post_data="expires_at=now", ) @pytest.mark.anyio async def test_tax_registrations_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax/registrations/taxreg_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax.registrations.update_async( "taxreg_xxxxxxxxxxxxx", {"expires_at": "now"}, ) http_client_mock.assert_requested( "post", path="/v1/tax/registrations/taxreg_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="expires_at=now", ) def test_tax_settings_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax/settings", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax.settings.retrieve() http_client_mock.assert_requested( "get", path="/v1/tax/settings", query_string="", api_base="https://api.stripe.com", ) def test_tax_settings_get(self, http_client_mock: HTTPClientMock) -> None: stripe.tax.Settings.retrieve() http_client_mock.assert_requested( "get", path="/v1/tax/settings", query_string="", ) def test_tax_settings_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax/settings", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax.settings.retrieve() http_client_mock.assert_requested( "get", path="/v1/tax/settings", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_tax_settings_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.tax.Settings.retrieve_async() http_client_mock.assert_requested( "get", path="/v1/tax/settings", query_string="", ) @pytest.mark.anyio async def test_tax_settings_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tax/settings", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax.settings.retrieve_async() http_client_mock.assert_requested( "get", path="/v1/tax/settings", query_string="", api_base="https://api.stripe.com", ) def test_tax_settings_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax/settings", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax.settings.update({"defaults": {"tax_code": "txcd_10000000"}}) http_client_mock.assert_requested( "post", path="/v1/tax/settings", query_string="", api_base="https://api.stripe.com", post_data="defaults[tax_code]=txcd_10000000", ) def test_tax_settings_post(self, http_client_mock: HTTPClientMock) -> None: stripe.tax.Settings.modify(defaults={"tax_code": "txcd_10000000"}) http_client_mock.assert_requested( "post", path="/v1/tax/settings", query_string="", post_data="defaults[tax_code]=txcd_10000000", ) def test_tax_settings_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax/settings", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax.settings.update( { "defaults": {"tax_code": "txcd_10000000"}, } ) http_client_mock.assert_requested( "post", path="/v1/tax/settings", query_string="", api_base="https://api.stripe.com", post_data="defaults[tax_code]=txcd_10000000", ) @pytest.mark.anyio async def test_tax_settings_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.tax.Settings.modify_async( defaults={"tax_code": "txcd_10000000"}, ) http_client_mock.assert_requested( "post", path="/v1/tax/settings", query_string="", post_data="defaults[tax_code]=txcd_10000000", ) @pytest.mark.anyio async def test_tax_settings_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax/settings", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax.settings.update_async( { "defaults": {"tax_code": "txcd_10000000"}, } ) http_client_mock.assert_requested( "post", path="/v1/tax/settings", query_string="", api_base="https://api.stripe.com", post_data="defaults[tax_code]=txcd_10000000", ) def test_tax_transactions_create_from_calculation_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax/transactions/create_from_calculation", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tax.transactions.create_from_calculation( { "calculation": "xxx", "reference": "yyy", } ) http_client_mock.assert_requested( "post", path="/v1/tax/transactions/create_from_calculation", query_string="", api_base="https://api.stripe.com", post_data="calculation=xxx&reference=yyy", ) def test_tax_transactions_create_from_calculation_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.tax.Transaction.create_from_calculation( calculation="xxx", reference="yyy", ) http_client_mock.assert_requested( "post", path="/v1/tax/transactions/create_from_calculation", query_string="", post_data="calculation=xxx&reference=yyy", ) def test_tax_transactions_create_from_calculation_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax/transactions/create_from_calculation", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tax.transactions.create_from_calculation( { "calculation": "xxx", "reference": "yyy", } ) http_client_mock.assert_requested( "post", path="/v1/tax/transactions/create_from_calculation", query_string="", api_base="https://api.stripe.com", post_data="calculation=xxx&reference=yyy", ) @pytest.mark.anyio async def test_tax_transactions_create_from_calculation_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.tax.Transaction.create_from_calculation_async( calculation="xxx", reference="yyy", ) http_client_mock.assert_requested( "post", path="/v1/tax/transactions/create_from_calculation", query_string="", post_data="calculation=xxx&reference=yyy", ) @pytest.mark.anyio async def test_tax_transactions_create_from_calculation_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tax/transactions/create_from_calculation", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tax.transactions.create_from_calculation_async( { "calculation": "xxx", "reference": "yyy", } ) http_client_mock.assert_requested( "post", path="/v1/tax/transactions/create_from_calculation", query_string="", api_base="https://api.stripe.com", post_data="calculation=xxx&reference=yyy", ) def test_terminal_configurations_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/terminal/configurations/uc_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.configurations.delete("uc_123") http_client_mock.assert_requested( "delete", path="/v1/terminal/configurations/uc_123", query_string="", api_base="https://api.stripe.com", ) def test_terminal_configurations_delete( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Configuration.delete("uc_123") http_client_mock.assert_requested( "delete", path="/v1/terminal/configurations/uc_123", query_string="", ) def test_terminal_configurations_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/terminal/configurations/uc_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.configurations.delete("uc_123") http_client_mock.assert_requested( "delete", path="/v1/terminal/configurations/uc_123", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_terminal_configurations_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Configuration.delete_async("uc_123") http_client_mock.assert_requested( "delete", path="/v1/terminal/configurations/uc_123", query_string="", ) @pytest.mark.anyio async def test_terminal_configurations_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/terminal/configurations/uc_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.configurations.delete_async("uc_123") http_client_mock.assert_requested( "delete", path="/v1/terminal/configurations/uc_123", query_string="", api_base="https://api.stripe.com", ) def test_terminal_configurations_delete_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.configurations.delete("tmc_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_terminal_configurations_delete_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Configuration.delete("tmc_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", query_string="", ) def test_terminal_configurations_delete_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.configurations.delete("tmc_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_terminal_configurations_delete_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Configuration.delete_async("tmc_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_terminal_configurations_delete_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.configurations.delete_async( "tmc_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_terminal_configurations_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/configurations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.configurations.list() http_client_mock.assert_requested( "get", path="/v1/terminal/configurations", query_string="", api_base="https://api.stripe.com", ) def test_terminal_configurations_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Configuration.list() http_client_mock.assert_requested( "get", path="/v1/terminal/configurations", query_string="", ) def test_terminal_configurations_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/configurations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.configurations.list() http_client_mock.assert_requested( "get", path="/v1/terminal/configurations", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_terminal_configurations_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Configuration.list_async() http_client_mock.assert_requested( "get", path="/v1/terminal/configurations", query_string="", ) @pytest.mark.anyio async def test_terminal_configurations_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/configurations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.configurations.list_async() http_client_mock.assert_requested( "get", path="/v1/terminal/configurations", query_string="", api_base="https://api.stripe.com", ) def test_terminal_configurations_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/configurations/uc_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.configurations.retrieve("uc_123") http_client_mock.assert_requested( "get", path="/v1/terminal/configurations/uc_123", query_string="", api_base="https://api.stripe.com", ) def test_terminal_configurations_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Configuration.retrieve("uc_123") http_client_mock.assert_requested( "get", path="/v1/terminal/configurations/uc_123", query_string="", ) def test_terminal_configurations_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/configurations/uc_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.configurations.retrieve("uc_123") http_client_mock.assert_requested( "get", path="/v1/terminal/configurations/uc_123", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_terminal_configurations_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Configuration.retrieve_async("uc_123") http_client_mock.assert_requested( "get", path="/v1/terminal/configurations/uc_123", query_string="", ) @pytest.mark.anyio async def test_terminal_configurations_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/configurations/uc_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.configurations.retrieve_async("uc_123") http_client_mock.assert_requested( "get", path="/v1/terminal/configurations/uc_123", query_string="", api_base="https://api.stripe.com", ) def test_terminal_configurations_get_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/configurations", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.configurations.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/terminal/configurations", query_string="limit=3", api_base="https://api.stripe.com", ) def test_terminal_configurations_get_3( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Configuration.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/terminal/configurations", query_string="limit=3", ) def test_terminal_configurations_get_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/configurations", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.configurations.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/terminal/configurations", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_terminal_configurations_get_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Configuration.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/terminal/configurations", query_string="limit=3", ) @pytest.mark.anyio async def test_terminal_configurations_get_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/configurations", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.configurations.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/terminal/configurations", query_string="limit=3", api_base="https://api.stripe.com", ) def test_terminal_configurations_get_4_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.configurations.retrieve("tmc_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_terminal_configurations_get_4( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Configuration.retrieve("tmc_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", query_string="", ) def test_terminal_configurations_get_4_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.configurations.retrieve("tmc_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_terminal_configurations_get_4_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Configuration.retrieve_async("tmc_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_terminal_configurations_get_4_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.configurations.retrieve_async( "tmc_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_terminal_configurations_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/configurations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.configurations.create() http_client_mock.assert_requested( "post", path="/v1/terminal/configurations", query_string="", api_base="https://api.stripe.com", ) def test_terminal_configurations_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Configuration.create() http_client_mock.assert_requested( "post", path="/v1/terminal/configurations", query_string="", ) def test_terminal_configurations_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/configurations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.configurations.create() http_client_mock.assert_requested( "post", path="/v1/terminal/configurations", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_terminal_configurations_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Configuration.create_async() http_client_mock.assert_requested( "post", path="/v1/terminal/configurations", query_string="", ) @pytest.mark.anyio async def test_terminal_configurations_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/configurations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.configurations.create_async() http_client_mock.assert_requested( "post", path="/v1/terminal/configurations", query_string="", api_base="https://api.stripe.com", ) def test_terminal_configurations_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/configurations/uc_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.configurations.update( "uc_123", {"tipping": {"usd": {"fixed_amounts": [10]}}}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/configurations/uc_123", query_string="", api_base="https://api.stripe.com", post_data="tipping[usd][fixed_amounts][0]=10", ) def test_terminal_configurations_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Configuration.modify( "uc_123", tipping={"usd": {"fixed_amounts": [10]}}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/configurations/uc_123", query_string="", post_data="tipping[usd][fixed_amounts][0]=10", ) def test_terminal_configurations_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/configurations/uc_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.configurations.update( "uc_123", {"tipping": {"usd": {"fixed_amounts": [10]}}}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/configurations/uc_123", query_string="", api_base="https://api.stripe.com", post_data="tipping[usd][fixed_amounts][0]=10", ) @pytest.mark.anyio async def test_terminal_configurations_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Configuration.modify_async( "uc_123", tipping={"usd": {"fixed_amounts": [10]}}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/configurations/uc_123", query_string="", post_data="tipping[usd][fixed_amounts][0]=10", ) @pytest.mark.anyio async def test_terminal_configurations_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/configurations/uc_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.configurations.update_async( "uc_123", {"tipping": {"usd": {"fixed_amounts": [10]}}}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/configurations/uc_123", query_string="", api_base="https://api.stripe.com", post_data="tipping[usd][fixed_amounts][0]=10", ) def test_terminal_configurations_post_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/configurations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.configurations.create( { "bbpos_wisepos_e": {"splashscreen": "file_xxxxxxxxxxxxx"}, } ) http_client_mock.assert_requested( "post", path="/v1/terminal/configurations", query_string="", api_base="https://api.stripe.com", post_data="bbpos_wisepos_e[splashscreen]=file_xxxxxxxxxxxxx", ) def test_terminal_configurations_post_3( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Configuration.create( bbpos_wisepos_e={"splashscreen": "file_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/configurations", query_string="", post_data="bbpos_wisepos_e[splashscreen]=file_xxxxxxxxxxxxx", ) def test_terminal_configurations_post_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/configurations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.configurations.create( { "bbpos_wisepos_e": {"splashscreen": "file_xxxxxxxxxxxxx"}, } ) http_client_mock.assert_requested( "post", path="/v1/terminal/configurations", query_string="", api_base="https://api.stripe.com", post_data="bbpos_wisepos_e[splashscreen]=file_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_terminal_configurations_post_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Configuration.create_async( bbpos_wisepos_e={"splashscreen": "file_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/configurations", query_string="", post_data="bbpos_wisepos_e[splashscreen]=file_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_terminal_configurations_post_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/configurations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.configurations.create_async( { "bbpos_wisepos_e": {"splashscreen": "file_xxxxxxxxxxxxx"}, } ) http_client_mock.assert_requested( "post", path="/v1/terminal/configurations", query_string="", api_base="https://api.stripe.com", post_data="bbpos_wisepos_e[splashscreen]=file_xxxxxxxxxxxxx", ) def test_terminal_configurations_post_4_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.configurations.update( "tmc_xxxxxxxxxxxxx", {"bbpos_wisepos_e": {"splashscreen": "file_xxxxxxxxxxxxx"}}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="bbpos_wisepos_e[splashscreen]=file_xxxxxxxxxxxxx", ) def test_terminal_configurations_post_4( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Configuration.modify( "tmc_xxxxxxxxxxxxx", bbpos_wisepos_e={"splashscreen": "file_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", query_string="", post_data="bbpos_wisepos_e[splashscreen]=file_xxxxxxxxxxxxx", ) def test_terminal_configurations_post_4_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.configurations.update( "tmc_xxxxxxxxxxxxx", {"bbpos_wisepos_e": {"splashscreen": "file_xxxxxxxxxxxxx"}}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="bbpos_wisepos_e[splashscreen]=file_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_terminal_configurations_post_4_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Configuration.modify_async( "tmc_xxxxxxxxxxxxx", bbpos_wisepos_e={"splashscreen": "file_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", query_string="", post_data="bbpos_wisepos_e[splashscreen]=file_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_terminal_configurations_post_4_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.configurations.update_async( "tmc_xxxxxxxxxxxxx", {"bbpos_wisepos_e": {"splashscreen": "file_xxxxxxxxxxxxx"}}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/configurations/tmc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="bbpos_wisepos_e[splashscreen]=file_xxxxxxxxxxxxx", ) def test_terminal_connection_tokens_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/connection_tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.connection_tokens.create() http_client_mock.assert_requested( "post", path="/v1/terminal/connection_tokens", query_string="", api_base="https://api.stripe.com", ) def test_terminal_connection_tokens_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.ConnectionToken.create() http_client_mock.assert_requested( "post", path="/v1/terminal/connection_tokens", query_string="", ) def test_terminal_connection_tokens_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/connection_tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.connection_tokens.create() http_client_mock.assert_requested( "post", path="/v1/terminal/connection_tokens", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_terminal_connection_tokens_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.ConnectionToken.create_async() http_client_mock.assert_requested( "post", path="/v1/terminal/connection_tokens", query_string="", ) @pytest.mark.anyio async def test_terminal_connection_tokens_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/connection_tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.connection_tokens.create_async() http_client_mock.assert_requested( "post", path="/v1/terminal/connection_tokens", query_string="", api_base="https://api.stripe.com", ) def test_terminal_locations_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/terminal/locations/tml_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.locations.delete("tml_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/terminal/locations/tml_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_terminal_locations_delete( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Location.delete("tml_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/terminal/locations/tml_xxxxxxxxxxxxx", query_string="", ) def test_terminal_locations_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/terminal/locations/tml_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.locations.delete("tml_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/terminal/locations/tml_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_terminal_locations_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Location.delete_async("tml_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/terminal/locations/tml_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_terminal_locations_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/terminal/locations/tml_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.locations.delete_async("tml_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/terminal/locations/tml_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_terminal_locations_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/locations", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.locations.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/terminal/locations", query_string="limit=3", api_base="https://api.stripe.com", ) def test_terminal_locations_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Location.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/terminal/locations", query_string="limit=3", ) def test_terminal_locations_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/locations", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.locations.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/terminal/locations", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_terminal_locations_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Location.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/terminal/locations", query_string="limit=3", ) @pytest.mark.anyio async def test_terminal_locations_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/locations", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.locations.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/terminal/locations", query_string="limit=3", api_base="https://api.stripe.com", ) def test_terminal_locations_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/locations/tml_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.locations.retrieve("tml_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/terminal/locations/tml_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_terminal_locations_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Location.retrieve("tml_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/terminal/locations/tml_xxxxxxxxxxxxx", query_string="", ) def test_terminal_locations_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/locations/tml_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.locations.retrieve("tml_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/terminal/locations/tml_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_terminal_locations_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Location.retrieve_async("tml_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/terminal/locations/tml_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_terminal_locations_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/locations/tml_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.locations.retrieve_async("tml_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/terminal/locations/tml_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_terminal_locations_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/locations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.locations.create( { "display_name": "My First Store", "address": { "line1": "1234 Main Street", "city": "San Francisco", "postal_code": "94111", "state": "CA", "country": "US", }, } ) http_client_mock.assert_requested( "post", path="/v1/terminal/locations", query_string="", api_base="https://api.stripe.com", post_data="display_name=My%20First%20Store&address[line1]=1234%20Main%20Street&address[city]=San%20Francisco&address[postal_code]=94111&address[state]=CA&address[country]=US", ) def test_terminal_locations_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Location.create( display_name="My First Store", address={ "line1": "1234 Main Street", "city": "San Francisco", "postal_code": "94111", "state": "CA", "country": "US", }, ) http_client_mock.assert_requested( "post", path="/v1/terminal/locations", query_string="", post_data="display_name=My%20First%20Store&address[line1]=1234%20Main%20Street&address[city]=San%20Francisco&address[postal_code]=94111&address[state]=CA&address[country]=US", ) def test_terminal_locations_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/locations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.locations.create( { "display_name": "My First Store", "address": { "line1": "1234 Main Street", "city": "San Francisco", "postal_code": "94111", "state": "CA", "country": "US", }, } ) http_client_mock.assert_requested( "post", path="/v1/terminal/locations", query_string="", api_base="https://api.stripe.com", post_data="display_name=My%20First%20Store&address[line1]=1234%20Main%20Street&address[city]=San%20Francisco&address[postal_code]=94111&address[state]=CA&address[country]=US", ) @pytest.mark.anyio async def test_terminal_locations_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Location.create_async( display_name="My First Store", address={ "line1": "1234 Main Street", "city": "San Francisco", "postal_code": "94111", "state": "CA", "country": "US", }, ) http_client_mock.assert_requested( "post", path="/v1/terminal/locations", query_string="", post_data="display_name=My%20First%20Store&address[line1]=1234%20Main%20Street&address[city]=San%20Francisco&address[postal_code]=94111&address[state]=CA&address[country]=US", ) @pytest.mark.anyio async def test_terminal_locations_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/locations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.locations.create_async( { "display_name": "My First Store", "address": { "line1": "1234 Main Street", "city": "San Francisco", "postal_code": "94111", "state": "CA", "country": "US", }, } ) http_client_mock.assert_requested( "post", path="/v1/terminal/locations", query_string="", api_base="https://api.stripe.com", post_data="display_name=My%20First%20Store&address[line1]=1234%20Main%20Street&address[city]=San%20Francisco&address[postal_code]=94111&address[state]=CA&address[country]=US", ) def test_terminal_locations_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/locations/tml_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.locations.update( "tml_xxxxxxxxxxxxx", {"display_name": "My First Store"}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/locations/tml_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="display_name=My%20First%20Store", ) def test_terminal_locations_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Location.modify( "tml_xxxxxxxxxxxxx", display_name="My First Store", ) http_client_mock.assert_requested( "post", path="/v1/terminal/locations/tml_xxxxxxxxxxxxx", query_string="", post_data="display_name=My%20First%20Store", ) def test_terminal_locations_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/locations/tml_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.locations.update( "tml_xxxxxxxxxxxxx", {"display_name": "My First Store"}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/locations/tml_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="display_name=My%20First%20Store", ) @pytest.mark.anyio async def test_terminal_locations_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Location.modify_async( "tml_xxxxxxxxxxxxx", display_name="My First Store", ) http_client_mock.assert_requested( "post", path="/v1/terminal/locations/tml_xxxxxxxxxxxxx", query_string="", post_data="display_name=My%20First%20Store", ) @pytest.mark.anyio async def test_terminal_locations_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/locations/tml_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.locations.update_async( "tml_xxxxxxxxxxxxx", {"display_name": "My First Store"}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/locations/tml_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="display_name=My%20First%20Store", ) def test_terminal_readers_cancel_action_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx/cancel_action", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.readers.cancel_action("tmr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx/cancel_action", query_string="", api_base="https://api.stripe.com", ) def test_terminal_readers_cancel_action_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Reader.cancel_action("tmr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx/cancel_action", query_string="", ) def test_terminal_readers_cancel_action_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx/cancel_action", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.readers.cancel_action("tmr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx/cancel_action", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_terminal_readers_cancel_action_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Reader.cancel_action_async("tmr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx/cancel_action", query_string="", ) @pytest.mark.anyio async def test_terminal_readers_cancel_action_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx/cancel_action", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.readers.cancel_action_async( "tmr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx/cancel_action", query_string="", api_base="https://api.stripe.com", ) def test_terminal_readers_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.readers.delete("tmr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_terminal_readers_delete( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Reader.delete("tmr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx", query_string="", ) def test_terminal_readers_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.readers.delete("tmr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_terminal_readers_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Reader.delete_async("tmr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_terminal_readers_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.readers.delete_async("tmr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_terminal_readers_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/readers", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.readers.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/terminal/readers", query_string="limit=3", api_base="https://api.stripe.com", ) def test_terminal_readers_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Reader.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/terminal/readers", query_string="limit=3", ) def test_terminal_readers_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/readers", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.readers.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/terminal/readers", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_terminal_readers_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Reader.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/terminal/readers", query_string="limit=3", ) @pytest.mark.anyio async def test_terminal_readers_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/readers", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.readers.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/terminal/readers", query_string="limit=3", api_base="https://api.stripe.com", ) def test_terminal_readers_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.readers.retrieve("tmr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_terminal_readers_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Reader.retrieve("tmr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx", query_string="", ) def test_terminal_readers_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.readers.retrieve("tmr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_terminal_readers_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Reader.retrieve_async("tmr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_terminal_readers_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.readers.retrieve_async("tmr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_terminal_readers_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/readers", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.readers.create( { "registration_code": "puppies-plug-could", "label": "Blue Rabbit", "location": "tml_1234", } ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers", query_string="", api_base="https://api.stripe.com", post_data="registration_code=puppies-plug-could&label=Blue%20Rabbit&location=tml_1234", ) def test_terminal_readers_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Reader.create( registration_code="puppies-plug-could", label="Blue Rabbit", location="tml_1234", ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers", query_string="", post_data="registration_code=puppies-plug-could&label=Blue%20Rabbit&location=tml_1234", ) def test_terminal_readers_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/readers", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.readers.create( { "registration_code": "puppies-plug-could", "label": "Blue Rabbit", "location": "tml_1234", } ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers", query_string="", api_base="https://api.stripe.com", post_data="registration_code=puppies-plug-could&label=Blue%20Rabbit&location=tml_1234", ) @pytest.mark.anyio async def test_terminal_readers_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Reader.create_async( registration_code="puppies-plug-could", label="Blue Rabbit", location="tml_1234", ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers", query_string="", post_data="registration_code=puppies-plug-could&label=Blue%20Rabbit&location=tml_1234", ) @pytest.mark.anyio async def test_terminal_readers_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/readers", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.readers.create_async( { "registration_code": "puppies-plug-could", "label": "Blue Rabbit", "location": "tml_1234", } ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers", query_string="", api_base="https://api.stripe.com", post_data="registration_code=puppies-plug-could&label=Blue%20Rabbit&location=tml_1234", ) def test_terminal_readers_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.readers.update( "tmr_xxxxxxxxxxxxx", {"label": "Blue Rabbit"}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="label=Blue%20Rabbit", ) def test_terminal_readers_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Reader.modify( "tmr_xxxxxxxxxxxxx", label="Blue Rabbit", ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx", query_string="", post_data="label=Blue%20Rabbit", ) def test_terminal_readers_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.readers.update( "tmr_xxxxxxxxxxxxx", {"label": "Blue Rabbit"}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="label=Blue%20Rabbit", ) @pytest.mark.anyio async def test_terminal_readers_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Reader.modify_async( "tmr_xxxxxxxxxxxxx", label="Blue Rabbit", ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx", query_string="", post_data="label=Blue%20Rabbit", ) @pytest.mark.anyio async def test_terminal_readers_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.readers.update_async( "tmr_xxxxxxxxxxxxx", {"label": "Blue Rabbit"}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="label=Blue%20Rabbit", ) def test_terminal_readers_process_payment_intent_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_payment_intent", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.readers.process_payment_intent( "tmr_xxxxxxxxxxxxx", {"payment_intent": "pi_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_payment_intent", query_string="", api_base="https://api.stripe.com", post_data="payment_intent=pi_xxxxxxxxxxxxx", ) def test_terminal_readers_process_payment_intent_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Reader.process_payment_intent( "tmr_xxxxxxxxxxxxx", payment_intent="pi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_payment_intent", query_string="", post_data="payment_intent=pi_xxxxxxxxxxxxx", ) def test_terminal_readers_process_payment_intent_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_payment_intent", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.readers.process_payment_intent( "tmr_xxxxxxxxxxxxx", {"payment_intent": "pi_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_payment_intent", query_string="", api_base="https://api.stripe.com", post_data="payment_intent=pi_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_terminal_readers_process_payment_intent_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Reader.process_payment_intent_async( "tmr_xxxxxxxxxxxxx", payment_intent="pi_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_payment_intent", query_string="", post_data="payment_intent=pi_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_terminal_readers_process_payment_intent_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_payment_intent", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.readers.process_payment_intent_async( "tmr_xxxxxxxxxxxxx", {"payment_intent": "pi_xxxxxxxxxxxxx"}, ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_payment_intent", query_string="", api_base="https://api.stripe.com", post_data="payment_intent=pi_xxxxxxxxxxxxx", ) def test_terminal_readers_process_setup_intent_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_setup_intent", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.terminal.readers.process_setup_intent( "tmr_xxxxxxxxxxxxx", { "setup_intent": "seti_xxxxxxxxxxxxx", "allow_redisplay": "always", }, ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_setup_intent", query_string="", api_base="https://api.stripe.com", post_data="setup_intent=seti_xxxxxxxxxxxxx&allow_redisplay=always", ) def test_terminal_readers_process_setup_intent_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.terminal.Reader.process_setup_intent( "tmr_xxxxxxxxxxxxx", setup_intent="seti_xxxxxxxxxxxxx", allow_redisplay="always", ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_setup_intent", query_string="", post_data="setup_intent=seti_xxxxxxxxxxxxx&allow_redisplay=always", ) def test_terminal_readers_process_setup_intent_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_setup_intent", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.terminal.readers.process_setup_intent( "tmr_xxxxxxxxxxxxx", { "setup_intent": "seti_xxxxxxxxxxxxx", "allow_redisplay": "always", }, ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_setup_intent", query_string="", api_base="https://api.stripe.com", post_data="setup_intent=seti_xxxxxxxxxxxxx&allow_redisplay=always", ) @pytest.mark.anyio async def test_terminal_readers_process_setup_intent_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.terminal.Reader.process_setup_intent_async( "tmr_xxxxxxxxxxxxx", setup_intent="seti_xxxxxxxxxxxxx", allow_redisplay="always", ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_setup_intent", query_string="", post_data="setup_intent=seti_xxxxxxxxxxxxx&allow_redisplay=always", ) @pytest.mark.anyio async def test_terminal_readers_process_setup_intent_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_setup_intent", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.terminal.readers.process_setup_intent_async( "tmr_xxxxxxxxxxxxx", { "setup_intent": "seti_xxxxxxxxxxxxx", "allow_redisplay": "always", }, ) http_client_mock.assert_requested( "post", path="/v1/terminal/readers/tmr_xxxxxxxxxxxxx/process_setup_intent", query_string="", api_base="https://api.stripe.com", post_data="setup_intent=seti_xxxxxxxxxxxxx&allow_redisplay=always", ) def test_test_helpers_customers_fund_cash_balance_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/customers/cus_123/fund_cash_balance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.customers.fund_cash_balance( "cus_123", {"amount": 30, "currency": "eur"}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/customers/cus_123/fund_cash_balance", query_string="", api_base="https://api.stripe.com", post_data="amount=30¤cy=eur", ) def test_test_helpers_customers_fund_cash_balance_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Customer.TestHelpers.fund_cash_balance( "cus_123", amount=30, currency="eur", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/customers/cus_123/fund_cash_balance", query_string="", post_data="amount=30¤cy=eur", ) def test_test_helpers_customers_fund_cash_balance_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/customers/cus_123/fund_cash_balance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.customers.fund_cash_balance( "cus_123", {"amount": 30, "currency": "eur"}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/customers/cus_123/fund_cash_balance", query_string="", api_base="https://api.stripe.com", post_data="amount=30¤cy=eur", ) @pytest.mark.anyio async def test_test_helpers_customers_fund_cash_balance_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Customer.TestHelpers.fund_cash_balance_async( "cus_123", amount=30, currency="eur", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/customers/cus_123/fund_cash_balance", query_string="", post_data="amount=30¤cy=eur", ) @pytest.mark.anyio async def test_test_helpers_customers_fund_cash_balance_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/customers/cus_123/fund_cash_balance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.customers.fund_cash_balance_async( "cus_123", {"amount": 30, "currency": "eur"}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/customers/cus_123/fund_cash_balance", query_string="", api_base="https://api.stripe.com", post_data="amount=30¤cy=eur", ) def test_test_helpers_issuing_authorizations_capture_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/authorizations/example_authorization/capture", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.issuing.authorizations.capture( "example_authorization", { "capture_amount": 100, "close_authorization": True, "purchase_details": { "flight": { "departure_at": 1633651200, "passenger_name": "John Doe", "refundable": True, "segments": [ { "arrival_airport_code": "SFO", "carrier": "Delta", "departure_airport_code": "LAX", "flight_number": "DL100", "service_class": "Economy", "stopover_allowed": True, }, ], "travel_agency": "Orbitz", }, "fuel": { "type": "diesel", "unit": "liter", "unit_cost_decimal": "3.5", "quantity_decimal": "10", }, "lodging": {"check_in_at": 1633651200, "nights": 2}, "receipt": [ { "description": "Room charge", "quantity": "1", "total": 200, "unit_cost": 200, }, ], "reference": "foo", }, }, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/capture", query_string="", api_base="https://api.stripe.com", post_data="capture_amount=100&close_authorization=true&purchase_details[flight][departure_at]=1633651200&purchase_details[flight][passenger_name]=John%20Doe&purchase_details[flight][refundable]=true&purchase_details[flight][segments][0][arrival_airport_code]=SFO&purchase_details[flight][segments][0][carrier]=Delta&purchase_details[flight][segments][0][departure_airport_code]=LAX&purchase_details[flight][segments][0][flight_number]=DL100&purchase_details[flight][segments][0][service_class]=Economy&purchase_details[flight][segments][0][stopover_allowed]=true&purchase_details[flight][travel_agency]=Orbitz&purchase_details[fuel][type]=diesel&purchase_details[fuel][unit]=liter&purchase_details[fuel][unit_cost_decimal]=3.5&purchase_details[fuel][quantity_decimal]=10&purchase_details[lodging][check_in_at]=1633651200&purchase_details[lodging][nights]=2&purchase_details[receipt][0][description]=Room%20charge&purchase_details[receipt][0][quantity]=1&purchase_details[receipt][0][total]=200&purchase_details[receipt][0][unit_cost]=200&purchase_details[reference]=foo", ) def test_test_helpers_issuing_authorizations_capture_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Authorization.TestHelpers.capture( "example_authorization", capture_amount=100, close_authorization=True, purchase_details={ "flight": { "departure_at": 1633651200, "passenger_name": "John Doe", "refundable": True, "segments": [ { "arrival_airport_code": "SFO", "carrier": "Delta", "departure_airport_code": "LAX", "flight_number": "DL100", "service_class": "Economy", "stopover_allowed": True, }, ], "travel_agency": "Orbitz", }, "fuel": { "type": "diesel", "unit": "liter", "unit_cost_decimal": "3.5", "quantity_decimal": "10", }, "lodging": {"check_in_at": 1633651200, "nights": 2}, "receipt": [ { "description": "Room charge", "quantity": "1", "total": 200, "unit_cost": 200, }, ], "reference": "foo", }, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/capture", query_string="", post_data="capture_amount=100&close_authorization=true&purchase_details[flight][departure_at]=1633651200&purchase_details[flight][passenger_name]=John%20Doe&purchase_details[flight][refundable]=true&purchase_details[flight][segments][0][arrival_airport_code]=SFO&purchase_details[flight][segments][0][carrier]=Delta&purchase_details[flight][segments][0][departure_airport_code]=LAX&purchase_details[flight][segments][0][flight_number]=DL100&purchase_details[flight][segments][0][service_class]=Economy&purchase_details[flight][segments][0][stopover_allowed]=true&purchase_details[flight][travel_agency]=Orbitz&purchase_details[fuel][type]=diesel&purchase_details[fuel][unit]=liter&purchase_details[fuel][unit_cost_decimal]=3.5&purchase_details[fuel][quantity_decimal]=10&purchase_details[lodging][check_in_at]=1633651200&purchase_details[lodging][nights]=2&purchase_details[receipt][0][description]=Room%20charge&purchase_details[receipt][0][quantity]=1&purchase_details[receipt][0][total]=200&purchase_details[receipt][0][unit_cost]=200&purchase_details[reference]=foo", ) def test_test_helpers_issuing_authorizations_capture_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/authorizations/example_authorization/capture", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.issuing.authorizations.capture( "example_authorization", { "capture_amount": 100, "close_authorization": True, "purchase_details": { "flight": { "departure_at": 1633651200, "passenger_name": "John Doe", "refundable": True, "segments": [ { "arrival_airport_code": "SFO", "carrier": "Delta", "departure_airport_code": "LAX", "flight_number": "DL100", "service_class": "Economy", "stopover_allowed": True, }, ], "travel_agency": "Orbitz", }, "fuel": { "type": "diesel", "unit": "liter", "unit_cost_decimal": "3.5", "quantity_decimal": "10", }, "lodging": {"check_in_at": 1633651200, "nights": 2}, "receipt": [ { "description": "Room charge", "quantity": "1", "total": 200, "unit_cost": 200, }, ], "reference": "foo", }, }, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/capture", query_string="", api_base="https://api.stripe.com", post_data="capture_amount=100&close_authorization=true&purchase_details[flight][departure_at]=1633651200&purchase_details[flight][passenger_name]=John%20Doe&purchase_details[flight][refundable]=true&purchase_details[flight][segments][0][arrival_airport_code]=SFO&purchase_details[flight][segments][0][carrier]=Delta&purchase_details[flight][segments][0][departure_airport_code]=LAX&purchase_details[flight][segments][0][flight_number]=DL100&purchase_details[flight][segments][0][service_class]=Economy&purchase_details[flight][segments][0][stopover_allowed]=true&purchase_details[flight][travel_agency]=Orbitz&purchase_details[fuel][type]=diesel&purchase_details[fuel][unit]=liter&purchase_details[fuel][unit_cost_decimal]=3.5&purchase_details[fuel][quantity_decimal]=10&purchase_details[lodging][check_in_at]=1633651200&purchase_details[lodging][nights]=2&purchase_details[receipt][0][description]=Room%20charge&purchase_details[receipt][0][quantity]=1&purchase_details[receipt][0][total]=200&purchase_details[receipt][0][unit_cost]=200&purchase_details[reference]=foo", ) @pytest.mark.anyio async def test_test_helpers_issuing_authorizations_capture_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Authorization.TestHelpers.capture_async( "example_authorization", capture_amount=100, close_authorization=True, purchase_details={ "flight": { "departure_at": 1633651200, "passenger_name": "John Doe", "refundable": True, "segments": [ { "arrival_airport_code": "SFO", "carrier": "Delta", "departure_airport_code": "LAX", "flight_number": "DL100", "service_class": "Economy", "stopover_allowed": True, }, ], "travel_agency": "Orbitz", }, "fuel": { "type": "diesel", "unit": "liter", "unit_cost_decimal": "3.5", "quantity_decimal": "10", }, "lodging": {"check_in_at": 1633651200, "nights": 2}, "receipt": [ { "description": "Room charge", "quantity": "1", "total": 200, "unit_cost": 200, }, ], "reference": "foo", }, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/capture", query_string="", post_data="capture_amount=100&close_authorization=true&purchase_details[flight][departure_at]=1633651200&purchase_details[flight][passenger_name]=John%20Doe&purchase_details[flight][refundable]=true&purchase_details[flight][segments][0][arrival_airport_code]=SFO&purchase_details[flight][segments][0][carrier]=Delta&purchase_details[flight][segments][0][departure_airport_code]=LAX&purchase_details[flight][segments][0][flight_number]=DL100&purchase_details[flight][segments][0][service_class]=Economy&purchase_details[flight][segments][0][stopover_allowed]=true&purchase_details[flight][travel_agency]=Orbitz&purchase_details[fuel][type]=diesel&purchase_details[fuel][unit]=liter&purchase_details[fuel][unit_cost_decimal]=3.5&purchase_details[fuel][quantity_decimal]=10&purchase_details[lodging][check_in_at]=1633651200&purchase_details[lodging][nights]=2&purchase_details[receipt][0][description]=Room%20charge&purchase_details[receipt][0][quantity]=1&purchase_details[receipt][0][total]=200&purchase_details[receipt][0][unit_cost]=200&purchase_details[reference]=foo", ) @pytest.mark.anyio async def test_test_helpers_issuing_authorizations_capture_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/authorizations/example_authorization/capture", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.issuing.authorizations.capture_async( "example_authorization", { "capture_amount": 100, "close_authorization": True, "purchase_details": { "flight": { "departure_at": 1633651200, "passenger_name": "John Doe", "refundable": True, "segments": [ { "arrival_airport_code": "SFO", "carrier": "Delta", "departure_airport_code": "LAX", "flight_number": "DL100", "service_class": "Economy", "stopover_allowed": True, }, ], "travel_agency": "Orbitz", }, "fuel": { "type": "diesel", "unit": "liter", "unit_cost_decimal": "3.5", "quantity_decimal": "10", }, "lodging": {"check_in_at": 1633651200, "nights": 2}, "receipt": [ { "description": "Room charge", "quantity": "1", "total": 200, "unit_cost": 200, }, ], "reference": "foo", }, }, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/capture", query_string="", api_base="https://api.stripe.com", post_data="capture_amount=100&close_authorization=true&purchase_details[flight][departure_at]=1633651200&purchase_details[flight][passenger_name]=John%20Doe&purchase_details[flight][refundable]=true&purchase_details[flight][segments][0][arrival_airport_code]=SFO&purchase_details[flight][segments][0][carrier]=Delta&purchase_details[flight][segments][0][departure_airport_code]=LAX&purchase_details[flight][segments][0][flight_number]=DL100&purchase_details[flight][segments][0][service_class]=Economy&purchase_details[flight][segments][0][stopover_allowed]=true&purchase_details[flight][travel_agency]=Orbitz&purchase_details[fuel][type]=diesel&purchase_details[fuel][unit]=liter&purchase_details[fuel][unit_cost_decimal]=3.5&purchase_details[fuel][quantity_decimal]=10&purchase_details[lodging][check_in_at]=1633651200&purchase_details[lodging][nights]=2&purchase_details[receipt][0][description]=Room%20charge&purchase_details[receipt][0][quantity]=1&purchase_details[receipt][0][total]=200&purchase_details[receipt][0][unit_cost]=200&purchase_details[reference]=foo", ) def test_test_helpers_issuing_authorizations_expire_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/authorizations/example_authorization/expire", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.issuing.authorizations.expire( "example_authorization", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/expire", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_issuing_authorizations_expire_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Authorization.TestHelpers.expire( "example_authorization" ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/expire", query_string="", ) def test_test_helpers_issuing_authorizations_expire_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/authorizations/example_authorization/expire", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.issuing.authorizations.expire( "example_authorization", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/expire", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_issuing_authorizations_expire_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Authorization.TestHelpers.expire_async( "example_authorization", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/expire", query_string="", ) @pytest.mark.anyio async def test_test_helpers_issuing_authorizations_expire_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/authorizations/example_authorization/expire", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.issuing.authorizations.expire_async( "example_authorization", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/expire", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_issuing_authorizations_increment_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/authorizations/example_authorization/increment", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.issuing.authorizations.increment( "example_authorization", {"increment_amount": 50, "is_amount_controllable": True}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/increment", query_string="", api_base="https://api.stripe.com", post_data="increment_amount=50&is_amount_controllable=true", ) def test_test_helpers_issuing_authorizations_increment_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Authorization.TestHelpers.increment( "example_authorization", increment_amount=50, is_amount_controllable=True, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/increment", query_string="", post_data="increment_amount=50&is_amount_controllable=true", ) def test_test_helpers_issuing_authorizations_increment_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/authorizations/example_authorization/increment", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.issuing.authorizations.increment( "example_authorization", {"increment_amount": 50, "is_amount_controllable": True}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/increment", query_string="", api_base="https://api.stripe.com", post_data="increment_amount=50&is_amount_controllable=true", ) @pytest.mark.anyio async def test_test_helpers_issuing_authorizations_increment_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Authorization.TestHelpers.increment_async( "example_authorization", increment_amount=50, is_amount_controllable=True, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/increment", query_string="", post_data="increment_amount=50&is_amount_controllable=true", ) @pytest.mark.anyio async def test_test_helpers_issuing_authorizations_increment_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/authorizations/example_authorization/increment", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.issuing.authorizations.increment_async( "example_authorization", {"increment_amount": 50, "is_amount_controllable": True}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/increment", query_string="", api_base="https://api.stripe.com", post_data="increment_amount=50&is_amount_controllable=true", ) def test_test_helpers_issuing_authorizations_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/authorizations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.issuing.authorizations.create( { "amount": 100, "amount_details": {"atm_fee": 10, "cashback_amount": 5}, "authorization_method": "chip", "card": "foo", "currency": "usd", "is_amount_controllable": True, "merchant_data": { "category": "ac_refrigeration_repair", "city": "foo", "country": "bar", "name": "foo", "network_id": "bar", "postal_code": "foo", "state": "bar", "terminal_id": "foo", }, "network_data": {"acquiring_institution_id": "foo"}, "verification_data": { "address_line1_check": "mismatch", "address_postal_code_check": "match", "cvc_check": "match", "expiry_check": "mismatch", }, "wallet": "apple_pay", } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations", query_string="", api_base="https://api.stripe.com", post_data="amount=100&amount_details[atm_fee]=10&amount_details[cashback_amount]=5&authorization_method=chip&card=foo¤cy=usd&is_amount_controllable=true&merchant_data[category]=ac_refrigeration_repair&merchant_data[city]=foo&merchant_data[country]=bar&merchant_data[name]=foo&merchant_data[network_id]=bar&merchant_data[postal_code]=foo&merchant_data[state]=bar&merchant_data[terminal_id]=foo&network_data[acquiring_institution_id]=foo&verification_data[address_line1_check]=mismatch&verification_data[address_postal_code_check]=match&verification_data[cvc_check]=match&verification_data[expiry_check]=mismatch&wallet=apple_pay", ) def test_test_helpers_issuing_authorizations_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Authorization.TestHelpers.create( amount=100, amount_details={"atm_fee": 10, "cashback_amount": 5}, authorization_method="chip", card="foo", currency="usd", is_amount_controllable=True, merchant_data={ "category": "ac_refrigeration_repair", "city": "foo", "country": "bar", "name": "foo", "network_id": "bar", "postal_code": "foo", "state": "bar", "terminal_id": "foo", }, network_data={"acquiring_institution_id": "foo"}, verification_data={ "address_line1_check": "mismatch", "address_postal_code_check": "match", "cvc_check": "match", "expiry_check": "mismatch", }, wallet="apple_pay", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations", query_string="", post_data="amount=100&amount_details[atm_fee]=10&amount_details[cashback_amount]=5&authorization_method=chip&card=foo¤cy=usd&is_amount_controllable=true&merchant_data[category]=ac_refrigeration_repair&merchant_data[city]=foo&merchant_data[country]=bar&merchant_data[name]=foo&merchant_data[network_id]=bar&merchant_data[postal_code]=foo&merchant_data[state]=bar&merchant_data[terminal_id]=foo&network_data[acquiring_institution_id]=foo&verification_data[address_line1_check]=mismatch&verification_data[address_postal_code_check]=match&verification_data[cvc_check]=match&verification_data[expiry_check]=mismatch&wallet=apple_pay", ) def test_test_helpers_issuing_authorizations_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/authorizations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.issuing.authorizations.create( { "amount": 100, "amount_details": {"atm_fee": 10, "cashback_amount": 5}, "authorization_method": "chip", "card": "foo", "currency": "usd", "is_amount_controllable": True, "merchant_data": { "category": "ac_refrigeration_repair", "city": "foo", "country": "bar", "name": "foo", "network_id": "bar", "postal_code": "foo", "state": "bar", "terminal_id": "foo", }, "network_data": {"acquiring_institution_id": "foo"}, "verification_data": { "address_line1_check": "mismatch", "address_postal_code_check": "match", "cvc_check": "match", "expiry_check": "mismatch", }, "wallet": "apple_pay", } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations", query_string="", api_base="https://api.stripe.com", post_data="amount=100&amount_details[atm_fee]=10&amount_details[cashback_amount]=5&authorization_method=chip&card=foo¤cy=usd&is_amount_controllable=true&merchant_data[category]=ac_refrigeration_repair&merchant_data[city]=foo&merchant_data[country]=bar&merchant_data[name]=foo&merchant_data[network_id]=bar&merchant_data[postal_code]=foo&merchant_data[state]=bar&merchant_data[terminal_id]=foo&network_data[acquiring_institution_id]=foo&verification_data[address_line1_check]=mismatch&verification_data[address_postal_code_check]=match&verification_data[cvc_check]=match&verification_data[expiry_check]=mismatch&wallet=apple_pay", ) @pytest.mark.anyio async def test_test_helpers_issuing_authorizations_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Authorization.TestHelpers.create_async( amount=100, amount_details={"atm_fee": 10, "cashback_amount": 5}, authorization_method="chip", card="foo", currency="usd", is_amount_controllable=True, merchant_data={ "category": "ac_refrigeration_repair", "city": "foo", "country": "bar", "name": "foo", "network_id": "bar", "postal_code": "foo", "state": "bar", "terminal_id": "foo", }, network_data={"acquiring_institution_id": "foo"}, verification_data={ "address_line1_check": "mismatch", "address_postal_code_check": "match", "cvc_check": "match", "expiry_check": "mismatch", }, wallet="apple_pay", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations", query_string="", post_data="amount=100&amount_details[atm_fee]=10&amount_details[cashback_amount]=5&authorization_method=chip&card=foo¤cy=usd&is_amount_controllable=true&merchant_data[category]=ac_refrigeration_repair&merchant_data[city]=foo&merchant_data[country]=bar&merchant_data[name]=foo&merchant_data[network_id]=bar&merchant_data[postal_code]=foo&merchant_data[state]=bar&merchant_data[terminal_id]=foo&network_data[acquiring_institution_id]=foo&verification_data[address_line1_check]=mismatch&verification_data[address_postal_code_check]=match&verification_data[cvc_check]=match&verification_data[expiry_check]=mismatch&wallet=apple_pay", ) @pytest.mark.anyio async def test_test_helpers_issuing_authorizations_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/authorizations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.issuing.authorizations.create_async( { "amount": 100, "amount_details": {"atm_fee": 10, "cashback_amount": 5}, "authorization_method": "chip", "card": "foo", "currency": "usd", "is_amount_controllable": True, "merchant_data": { "category": "ac_refrigeration_repair", "city": "foo", "country": "bar", "name": "foo", "network_id": "bar", "postal_code": "foo", "state": "bar", "terminal_id": "foo", }, "network_data": {"acquiring_institution_id": "foo"}, "verification_data": { "address_line1_check": "mismatch", "address_postal_code_check": "match", "cvc_check": "match", "expiry_check": "mismatch", }, "wallet": "apple_pay", } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations", query_string="", api_base="https://api.stripe.com", post_data="amount=100&amount_details[atm_fee]=10&amount_details[cashback_amount]=5&authorization_method=chip&card=foo¤cy=usd&is_amount_controllable=true&merchant_data[category]=ac_refrigeration_repair&merchant_data[city]=foo&merchant_data[country]=bar&merchant_data[name]=foo&merchant_data[network_id]=bar&merchant_data[postal_code]=foo&merchant_data[state]=bar&merchant_data[terminal_id]=foo&network_data[acquiring_institution_id]=foo&verification_data[address_line1_check]=mismatch&verification_data[address_postal_code_check]=match&verification_data[cvc_check]=match&verification_data[expiry_check]=mismatch&wallet=apple_pay", ) def test_test_helpers_issuing_authorizations_reverse_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/authorizations/example_authorization/reverse", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.issuing.authorizations.reverse( "example_authorization", {"reverse_amount": 20}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/reverse", query_string="", api_base="https://api.stripe.com", post_data="reverse_amount=20", ) def test_test_helpers_issuing_authorizations_reverse_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Authorization.TestHelpers.reverse( "example_authorization", reverse_amount=20, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/reverse", query_string="", post_data="reverse_amount=20", ) def test_test_helpers_issuing_authorizations_reverse_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/authorizations/example_authorization/reverse", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.issuing.authorizations.reverse( "example_authorization", {"reverse_amount": 20}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/reverse", query_string="", api_base="https://api.stripe.com", post_data="reverse_amount=20", ) @pytest.mark.anyio async def test_test_helpers_issuing_authorizations_reverse_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Authorization.TestHelpers.reverse_async( "example_authorization", reverse_amount=20, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/reverse", query_string="", post_data="reverse_amount=20", ) @pytest.mark.anyio async def test_test_helpers_issuing_authorizations_reverse_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/authorizations/example_authorization/reverse", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.issuing.authorizations.reverse_async( "example_authorization", {"reverse_amount": 20}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/authorizations/example_authorization/reverse", query_string="", api_base="https://api.stripe.com", post_data="reverse_amount=20", ) def test_test_helpers_issuing_cards_shipping_deliver_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/cards/card_123/shipping/deliver", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.issuing.cards.deliver_card("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/deliver", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_issuing_cards_shipping_deliver_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Card.TestHelpers.deliver_card("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/deliver", query_string="", ) def test_test_helpers_issuing_cards_shipping_deliver_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/cards/card_123/shipping/deliver", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.issuing.cards.deliver_card("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/deliver", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_issuing_cards_shipping_deliver_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Card.TestHelpers.deliver_card_async("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/deliver", query_string="", ) @pytest.mark.anyio async def test_test_helpers_issuing_cards_shipping_deliver_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/cards/card_123/shipping/deliver", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.issuing.cards.deliver_card_async( "card_123", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/deliver", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_issuing_cards_shipping_fail_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/cards/card_123/shipping/fail", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.issuing.cards.fail_card("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/fail", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_issuing_cards_shipping_fail_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Card.TestHelpers.fail_card("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/fail", query_string="", ) def test_test_helpers_issuing_cards_shipping_fail_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/cards/card_123/shipping/fail", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.issuing.cards.fail_card("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/fail", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_issuing_cards_shipping_fail_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Card.TestHelpers.fail_card_async("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/fail", query_string="", ) @pytest.mark.anyio async def test_test_helpers_issuing_cards_shipping_fail_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/cards/card_123/shipping/fail", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.issuing.cards.fail_card_async("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/fail", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_issuing_cards_shipping_return_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/cards/card_123/shipping/return", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.issuing.cards.return_card("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/return", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_issuing_cards_shipping_return_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Card.TestHelpers.return_card("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/return", query_string="", ) def test_test_helpers_issuing_cards_shipping_return_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/cards/card_123/shipping/return", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.issuing.cards.return_card("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/return", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_issuing_cards_shipping_return_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Card.TestHelpers.return_card_async("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/return", query_string="", ) @pytest.mark.anyio async def test_test_helpers_issuing_cards_shipping_return_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/cards/card_123/shipping/return", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.issuing.cards.return_card_async( "card_123" ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/return", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_issuing_cards_shipping_ship_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/cards/card_123/shipping/ship", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.issuing.cards.ship_card("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/ship", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_issuing_cards_shipping_ship_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Card.TestHelpers.ship_card("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/ship", query_string="", ) def test_test_helpers_issuing_cards_shipping_ship_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/cards/card_123/shipping/ship", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.issuing.cards.ship_card("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/ship", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_issuing_cards_shipping_ship_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Card.TestHelpers.ship_card_async("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/ship", query_string="", ) @pytest.mark.anyio async def test_test_helpers_issuing_cards_shipping_ship_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/cards/card_123/shipping/ship", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.issuing.cards.ship_card_async("card_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/cards/card_123/shipping/ship", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_issuing_personalization_designs_activate_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/personalization_designs/pd_xyz/activate", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.issuing.personalization_designs.activate("pd_xyz") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/personalization_designs/pd_xyz/activate", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_issuing_personalization_designs_activate_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.PersonalizationDesign.TestHelpers.activate("pd_xyz") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/personalization_designs/pd_xyz/activate", query_string="", ) def test_test_helpers_issuing_personalization_designs_activate_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/personalization_designs/pd_xyz/activate", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.issuing.personalization_designs.activate( "pd_xyz", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/personalization_designs/pd_xyz/activate", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_issuing_personalization_designs_activate_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.PersonalizationDesign.TestHelpers.activate_async( "pd_xyz", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/personalization_designs/pd_xyz/activate", query_string="", ) @pytest.mark.anyio async def test_test_helpers_issuing_personalization_designs_activate_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/personalization_designs/pd_xyz/activate", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.issuing.personalization_designs.activate_async( "pd_xyz" ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/personalization_designs/pd_xyz/activate", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_issuing_personalization_designs_deactivate_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/personalization_designs/pd_xyz/deactivate", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.issuing.personalization_designs.deactivate( "pd_xyz" ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/personalization_designs/pd_xyz/deactivate", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_issuing_personalization_designs_deactivate_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.PersonalizationDesign.TestHelpers.deactivate("pd_xyz") http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/personalization_designs/pd_xyz/deactivate", query_string="", ) def test_test_helpers_issuing_personalization_designs_deactivate_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/personalization_designs/pd_xyz/deactivate", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.issuing.personalization_designs.deactivate( "pd_xyz", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/personalization_designs/pd_xyz/deactivate", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_issuing_personalization_designs_deactivate_post_async( self, http_client_mock: HTTPClientMock ) -> None: await ( stripe.issuing.PersonalizationDesign.TestHelpers.deactivate_async( "pd_xyz", ) ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/personalization_designs/pd_xyz/deactivate", query_string="", ) @pytest.mark.anyio async def test_test_helpers_issuing_personalization_designs_deactivate_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/personalization_designs/pd_xyz/deactivate", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.issuing.personalization_designs.deactivate_async( "pd_xyz" ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/personalization_designs/pd_xyz/deactivate", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_issuing_personalization_designs_reject_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/personalization_designs/pd_xyz/reject", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.issuing.personalization_designs.reject( "pd_xyz", {"rejection_reasons": {"card_logo": ["geographic_location"]}}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/personalization_designs/pd_xyz/reject", query_string="", api_base="https://api.stripe.com", post_data="rejection_reasons[card_logo][0]=geographic_location", ) def test_test_helpers_issuing_personalization_designs_reject_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.PersonalizationDesign.TestHelpers.reject( "pd_xyz", rejection_reasons={"card_logo": ["geographic_location"]}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/personalization_designs/pd_xyz/reject", query_string="", post_data="rejection_reasons[card_logo][0]=geographic_location", ) def test_test_helpers_issuing_personalization_designs_reject_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/personalization_designs/pd_xyz/reject", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.issuing.personalization_designs.reject( "pd_xyz", {"rejection_reasons": {"card_logo": ["geographic_location"]}}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/personalization_designs/pd_xyz/reject", query_string="", api_base="https://api.stripe.com", post_data="rejection_reasons[card_logo][0]=geographic_location", ) @pytest.mark.anyio async def test_test_helpers_issuing_personalization_designs_reject_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.PersonalizationDesign.TestHelpers.reject_async( "pd_xyz", rejection_reasons={"card_logo": ["geographic_location"]}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/personalization_designs/pd_xyz/reject", query_string="", post_data="rejection_reasons[card_logo][0]=geographic_location", ) @pytest.mark.anyio async def test_test_helpers_issuing_personalization_designs_reject_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/personalization_designs/pd_xyz/reject", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.issuing.personalization_designs.reject_async( "pd_xyz", {"rejection_reasons": {"card_logo": ["geographic_location"]}}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/personalization_designs/pd_xyz/reject", query_string="", api_base="https://api.stripe.com", post_data="rejection_reasons[card_logo][0]=geographic_location", ) def test_test_helpers_issuing_transactions_create_force_capture_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/transactions/create_force_capture", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.issuing.transactions.create_force_capture( { "amount": 100, "card": "foo", "currency": "usd", "merchant_data": { "category": "ac_refrigeration_repair", "city": "foo", "country": "US", "name": "foo", "network_id": "bar", "postal_code": "10001", "state": "NY", "terminal_id": "foo", }, "purchase_details": { "flight": { "departure_at": 1633651200, "passenger_name": "John Doe", "refundable": True, "segments": [ { "arrival_airport_code": "SFO", "carrier": "Delta", "departure_airport_code": "LAX", "flight_number": "DL100", "service_class": "Economy", "stopover_allowed": True, }, ], "travel_agency": "Orbitz", }, "fuel": { "type": "diesel", "unit": "liter", "unit_cost_decimal": "3.5", "quantity_decimal": "10", }, "lodging": {"check_in_at": 1533651200, "nights": 2}, "receipt": [ { "description": "Room charge", "quantity": "1", "total": 200, "unit_cost": 200, }, ], "reference": "foo", }, } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/transactions/create_force_capture", query_string="", api_base="https://api.stripe.com", post_data="amount=100&card=foo¤cy=usd&merchant_data[category]=ac_refrigeration_repair&merchant_data[city]=foo&merchant_data[country]=US&merchant_data[name]=foo&merchant_data[network_id]=bar&merchant_data[postal_code]=10001&merchant_data[state]=NY&merchant_data[terminal_id]=foo&purchase_details[flight][departure_at]=1633651200&purchase_details[flight][passenger_name]=John%20Doe&purchase_details[flight][refundable]=true&purchase_details[flight][segments][0][arrival_airport_code]=SFO&purchase_details[flight][segments][0][carrier]=Delta&purchase_details[flight][segments][0][departure_airport_code]=LAX&purchase_details[flight][segments][0][flight_number]=DL100&purchase_details[flight][segments][0][service_class]=Economy&purchase_details[flight][segments][0][stopover_allowed]=true&purchase_details[flight][travel_agency]=Orbitz&purchase_details[fuel][type]=diesel&purchase_details[fuel][unit]=liter&purchase_details[fuel][unit_cost_decimal]=3.5&purchase_details[fuel][quantity_decimal]=10&purchase_details[lodging][check_in_at]=1533651200&purchase_details[lodging][nights]=2&purchase_details[receipt][0][description]=Room%20charge&purchase_details[receipt][0][quantity]=1&purchase_details[receipt][0][total]=200&purchase_details[receipt][0][unit_cost]=200&purchase_details[reference]=foo", ) def test_test_helpers_issuing_transactions_create_force_capture_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Transaction.TestHelpers.create_force_capture( amount=100, card="foo", currency="usd", merchant_data={ "category": "ac_refrigeration_repair", "city": "foo", "country": "US", "name": "foo", "network_id": "bar", "postal_code": "10001", "state": "NY", "terminal_id": "foo", }, purchase_details={ "flight": { "departure_at": 1633651200, "passenger_name": "John Doe", "refundable": True, "segments": [ { "arrival_airport_code": "SFO", "carrier": "Delta", "departure_airport_code": "LAX", "flight_number": "DL100", "service_class": "Economy", "stopover_allowed": True, }, ], "travel_agency": "Orbitz", }, "fuel": { "type": "diesel", "unit": "liter", "unit_cost_decimal": "3.5", "quantity_decimal": "10", }, "lodging": {"check_in_at": 1533651200, "nights": 2}, "receipt": [ { "description": "Room charge", "quantity": "1", "total": 200, "unit_cost": 200, }, ], "reference": "foo", }, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/transactions/create_force_capture", query_string="", post_data="amount=100&card=foo¤cy=usd&merchant_data[category]=ac_refrigeration_repair&merchant_data[city]=foo&merchant_data[country]=US&merchant_data[name]=foo&merchant_data[network_id]=bar&merchant_data[postal_code]=10001&merchant_data[state]=NY&merchant_data[terminal_id]=foo&purchase_details[flight][departure_at]=1633651200&purchase_details[flight][passenger_name]=John%20Doe&purchase_details[flight][refundable]=true&purchase_details[flight][segments][0][arrival_airport_code]=SFO&purchase_details[flight][segments][0][carrier]=Delta&purchase_details[flight][segments][0][departure_airport_code]=LAX&purchase_details[flight][segments][0][flight_number]=DL100&purchase_details[flight][segments][0][service_class]=Economy&purchase_details[flight][segments][0][stopover_allowed]=true&purchase_details[flight][travel_agency]=Orbitz&purchase_details[fuel][type]=diesel&purchase_details[fuel][unit]=liter&purchase_details[fuel][unit_cost_decimal]=3.5&purchase_details[fuel][quantity_decimal]=10&purchase_details[lodging][check_in_at]=1533651200&purchase_details[lodging][nights]=2&purchase_details[receipt][0][description]=Room%20charge&purchase_details[receipt][0][quantity]=1&purchase_details[receipt][0][total]=200&purchase_details[receipt][0][unit_cost]=200&purchase_details[reference]=foo", ) def test_test_helpers_issuing_transactions_create_force_capture_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/transactions/create_force_capture", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.issuing.transactions.create_force_capture( { "amount": 100, "card": "foo", "currency": "usd", "merchant_data": { "category": "ac_refrigeration_repair", "city": "foo", "country": "US", "name": "foo", "network_id": "bar", "postal_code": "10001", "state": "NY", "terminal_id": "foo", }, "purchase_details": { "flight": { "departure_at": 1633651200, "passenger_name": "John Doe", "refundable": True, "segments": [ { "arrival_airport_code": "SFO", "carrier": "Delta", "departure_airport_code": "LAX", "flight_number": "DL100", "service_class": "Economy", "stopover_allowed": True, }, ], "travel_agency": "Orbitz", }, "fuel": { "type": "diesel", "unit": "liter", "unit_cost_decimal": "3.5", "quantity_decimal": "10", }, "lodging": {"check_in_at": 1533651200, "nights": 2}, "receipt": [ { "description": "Room charge", "quantity": "1", "total": 200, "unit_cost": 200, }, ], "reference": "foo", }, } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/transactions/create_force_capture", query_string="", api_base="https://api.stripe.com", post_data="amount=100&card=foo¤cy=usd&merchant_data[category]=ac_refrigeration_repair&merchant_data[city]=foo&merchant_data[country]=US&merchant_data[name]=foo&merchant_data[network_id]=bar&merchant_data[postal_code]=10001&merchant_data[state]=NY&merchant_data[terminal_id]=foo&purchase_details[flight][departure_at]=1633651200&purchase_details[flight][passenger_name]=John%20Doe&purchase_details[flight][refundable]=true&purchase_details[flight][segments][0][arrival_airport_code]=SFO&purchase_details[flight][segments][0][carrier]=Delta&purchase_details[flight][segments][0][departure_airport_code]=LAX&purchase_details[flight][segments][0][flight_number]=DL100&purchase_details[flight][segments][0][service_class]=Economy&purchase_details[flight][segments][0][stopover_allowed]=true&purchase_details[flight][travel_agency]=Orbitz&purchase_details[fuel][type]=diesel&purchase_details[fuel][unit]=liter&purchase_details[fuel][unit_cost_decimal]=3.5&purchase_details[fuel][quantity_decimal]=10&purchase_details[lodging][check_in_at]=1533651200&purchase_details[lodging][nights]=2&purchase_details[receipt][0][description]=Room%20charge&purchase_details[receipt][0][quantity]=1&purchase_details[receipt][0][total]=200&purchase_details[receipt][0][unit_cost]=200&purchase_details[reference]=foo", ) @pytest.mark.anyio async def test_test_helpers_issuing_transactions_create_force_capture_post_async( self, http_client_mock: HTTPClientMock ) -> None: await ( stripe.issuing.Transaction.TestHelpers.create_force_capture_async( amount=100, card="foo", currency="usd", merchant_data={ "category": "ac_refrigeration_repair", "city": "foo", "country": "US", "name": "foo", "network_id": "bar", "postal_code": "10001", "state": "NY", "terminal_id": "foo", }, purchase_details={ "flight": { "departure_at": 1633651200, "passenger_name": "John Doe", "refundable": True, "segments": [ { "arrival_airport_code": "SFO", "carrier": "Delta", "departure_airport_code": "LAX", "flight_number": "DL100", "service_class": "Economy", "stopover_allowed": True, }, ], "travel_agency": "Orbitz", }, "fuel": { "type": "diesel", "unit": "liter", "unit_cost_decimal": "3.5", "quantity_decimal": "10", }, "lodging": {"check_in_at": 1533651200, "nights": 2}, "receipt": [ { "description": "Room charge", "quantity": "1", "total": 200, "unit_cost": 200, }, ], "reference": "foo", }, ) ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/transactions/create_force_capture", query_string="", post_data="amount=100&card=foo¤cy=usd&merchant_data[category]=ac_refrigeration_repair&merchant_data[city]=foo&merchant_data[country]=US&merchant_data[name]=foo&merchant_data[network_id]=bar&merchant_data[postal_code]=10001&merchant_data[state]=NY&merchant_data[terminal_id]=foo&purchase_details[flight][departure_at]=1633651200&purchase_details[flight][passenger_name]=John%20Doe&purchase_details[flight][refundable]=true&purchase_details[flight][segments][0][arrival_airport_code]=SFO&purchase_details[flight][segments][0][carrier]=Delta&purchase_details[flight][segments][0][departure_airport_code]=LAX&purchase_details[flight][segments][0][flight_number]=DL100&purchase_details[flight][segments][0][service_class]=Economy&purchase_details[flight][segments][0][stopover_allowed]=true&purchase_details[flight][travel_agency]=Orbitz&purchase_details[fuel][type]=diesel&purchase_details[fuel][unit]=liter&purchase_details[fuel][unit_cost_decimal]=3.5&purchase_details[fuel][quantity_decimal]=10&purchase_details[lodging][check_in_at]=1533651200&purchase_details[lodging][nights]=2&purchase_details[receipt][0][description]=Room%20charge&purchase_details[receipt][0][quantity]=1&purchase_details[receipt][0][total]=200&purchase_details[receipt][0][unit_cost]=200&purchase_details[reference]=foo", ) @pytest.mark.anyio async def test_test_helpers_issuing_transactions_create_force_capture_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/transactions/create_force_capture", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.issuing.transactions.create_force_capture_async( { "amount": 100, "card": "foo", "currency": "usd", "merchant_data": { "category": "ac_refrigeration_repair", "city": "foo", "country": "US", "name": "foo", "network_id": "bar", "postal_code": "10001", "state": "NY", "terminal_id": "foo", }, "purchase_details": { "flight": { "departure_at": 1633651200, "passenger_name": "John Doe", "refundable": True, "segments": [ { "arrival_airport_code": "SFO", "carrier": "Delta", "departure_airport_code": "LAX", "flight_number": "DL100", "service_class": "Economy", "stopover_allowed": True, }, ], "travel_agency": "Orbitz", }, "fuel": { "type": "diesel", "unit": "liter", "unit_cost_decimal": "3.5", "quantity_decimal": "10", }, "lodging": {"check_in_at": 1533651200, "nights": 2}, "receipt": [ { "description": "Room charge", "quantity": "1", "total": 200, "unit_cost": 200, }, ], "reference": "foo", }, } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/transactions/create_force_capture", query_string="", api_base="https://api.stripe.com", post_data="amount=100&card=foo¤cy=usd&merchant_data[category]=ac_refrigeration_repair&merchant_data[city]=foo&merchant_data[country]=US&merchant_data[name]=foo&merchant_data[network_id]=bar&merchant_data[postal_code]=10001&merchant_data[state]=NY&merchant_data[terminal_id]=foo&purchase_details[flight][departure_at]=1633651200&purchase_details[flight][passenger_name]=John%20Doe&purchase_details[flight][refundable]=true&purchase_details[flight][segments][0][arrival_airport_code]=SFO&purchase_details[flight][segments][0][carrier]=Delta&purchase_details[flight][segments][0][departure_airport_code]=LAX&purchase_details[flight][segments][0][flight_number]=DL100&purchase_details[flight][segments][0][service_class]=Economy&purchase_details[flight][segments][0][stopover_allowed]=true&purchase_details[flight][travel_agency]=Orbitz&purchase_details[fuel][type]=diesel&purchase_details[fuel][unit]=liter&purchase_details[fuel][unit_cost_decimal]=3.5&purchase_details[fuel][quantity_decimal]=10&purchase_details[lodging][check_in_at]=1533651200&purchase_details[lodging][nights]=2&purchase_details[receipt][0][description]=Room%20charge&purchase_details[receipt][0][quantity]=1&purchase_details[receipt][0][total]=200&purchase_details[receipt][0][unit_cost]=200&purchase_details[reference]=foo", ) def test_test_helpers_issuing_transactions_create_unlinked_refund_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/transactions/create_unlinked_refund", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.issuing.transactions.create_unlinked_refund( { "amount": 100, "card": "foo", "currency": "usd", "merchant_data": { "category": "ac_refrigeration_repair", "city": "foo", "country": "bar", "name": "foo", "network_id": "bar", "postal_code": "foo", "state": "bar", "terminal_id": "foo", }, "purchase_details": { "flight": { "departure_at": 1533651200, "passenger_name": "John Doe", "refundable": True, "segments": [ { "arrival_airport_code": "SFO", "carrier": "Delta", "departure_airport_code": "LAX", "flight_number": "DL100", "service_class": "Economy", "stopover_allowed": True, }, ], "travel_agency": "Orbitz", }, "fuel": { "type": "diesel", "unit": "liter", "unit_cost_decimal": "3.5", "quantity_decimal": "10", }, "lodging": {"check_in_at": 1533651200, "nights": 2}, "receipt": [ { "description": "Room charge", "quantity": "1", "total": 200, "unit_cost": 200, }, ], "reference": "foo", }, } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/transactions/create_unlinked_refund", query_string="", api_base="https://api.stripe.com", post_data="amount=100&card=foo¤cy=usd&merchant_data[category]=ac_refrigeration_repair&merchant_data[city]=foo&merchant_data[country]=bar&merchant_data[name]=foo&merchant_data[network_id]=bar&merchant_data[postal_code]=foo&merchant_data[state]=bar&merchant_data[terminal_id]=foo&purchase_details[flight][departure_at]=1533651200&purchase_details[flight][passenger_name]=John%20Doe&purchase_details[flight][refundable]=true&purchase_details[flight][segments][0][arrival_airport_code]=SFO&purchase_details[flight][segments][0][carrier]=Delta&purchase_details[flight][segments][0][departure_airport_code]=LAX&purchase_details[flight][segments][0][flight_number]=DL100&purchase_details[flight][segments][0][service_class]=Economy&purchase_details[flight][segments][0][stopover_allowed]=true&purchase_details[flight][travel_agency]=Orbitz&purchase_details[fuel][type]=diesel&purchase_details[fuel][unit]=liter&purchase_details[fuel][unit_cost_decimal]=3.5&purchase_details[fuel][quantity_decimal]=10&purchase_details[lodging][check_in_at]=1533651200&purchase_details[lodging][nights]=2&purchase_details[receipt][0][description]=Room%20charge&purchase_details[receipt][0][quantity]=1&purchase_details[receipt][0][total]=200&purchase_details[receipt][0][unit_cost]=200&purchase_details[reference]=foo", ) def test_test_helpers_issuing_transactions_create_unlinked_refund_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Transaction.TestHelpers.create_unlinked_refund( amount=100, card="foo", currency="usd", merchant_data={ "category": "ac_refrigeration_repair", "city": "foo", "country": "bar", "name": "foo", "network_id": "bar", "postal_code": "foo", "state": "bar", "terminal_id": "foo", }, purchase_details={ "flight": { "departure_at": 1533651200, "passenger_name": "John Doe", "refundable": True, "segments": [ { "arrival_airport_code": "SFO", "carrier": "Delta", "departure_airport_code": "LAX", "flight_number": "DL100", "service_class": "Economy", "stopover_allowed": True, }, ], "travel_agency": "Orbitz", }, "fuel": { "type": "diesel", "unit": "liter", "unit_cost_decimal": "3.5", "quantity_decimal": "10", }, "lodging": {"check_in_at": 1533651200, "nights": 2}, "receipt": [ { "description": "Room charge", "quantity": "1", "total": 200, "unit_cost": 200, }, ], "reference": "foo", }, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/transactions/create_unlinked_refund", query_string="", post_data="amount=100&card=foo¤cy=usd&merchant_data[category]=ac_refrigeration_repair&merchant_data[city]=foo&merchant_data[country]=bar&merchant_data[name]=foo&merchant_data[network_id]=bar&merchant_data[postal_code]=foo&merchant_data[state]=bar&merchant_data[terminal_id]=foo&purchase_details[flight][departure_at]=1533651200&purchase_details[flight][passenger_name]=John%20Doe&purchase_details[flight][refundable]=true&purchase_details[flight][segments][0][arrival_airport_code]=SFO&purchase_details[flight][segments][0][carrier]=Delta&purchase_details[flight][segments][0][departure_airport_code]=LAX&purchase_details[flight][segments][0][flight_number]=DL100&purchase_details[flight][segments][0][service_class]=Economy&purchase_details[flight][segments][0][stopover_allowed]=true&purchase_details[flight][travel_agency]=Orbitz&purchase_details[fuel][type]=diesel&purchase_details[fuel][unit]=liter&purchase_details[fuel][unit_cost_decimal]=3.5&purchase_details[fuel][quantity_decimal]=10&purchase_details[lodging][check_in_at]=1533651200&purchase_details[lodging][nights]=2&purchase_details[receipt][0][description]=Room%20charge&purchase_details[receipt][0][quantity]=1&purchase_details[receipt][0][total]=200&purchase_details[receipt][0][unit_cost]=200&purchase_details[reference]=foo", ) def test_test_helpers_issuing_transactions_create_unlinked_refund_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/transactions/create_unlinked_refund", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.issuing.transactions.create_unlinked_refund( { "amount": 100, "card": "foo", "currency": "usd", "merchant_data": { "category": "ac_refrigeration_repair", "city": "foo", "country": "bar", "name": "foo", "network_id": "bar", "postal_code": "foo", "state": "bar", "terminal_id": "foo", }, "purchase_details": { "flight": { "departure_at": 1533651200, "passenger_name": "John Doe", "refundable": True, "segments": [ { "arrival_airport_code": "SFO", "carrier": "Delta", "departure_airport_code": "LAX", "flight_number": "DL100", "service_class": "Economy", "stopover_allowed": True, }, ], "travel_agency": "Orbitz", }, "fuel": { "type": "diesel", "unit": "liter", "unit_cost_decimal": "3.5", "quantity_decimal": "10", }, "lodging": {"check_in_at": 1533651200, "nights": 2}, "receipt": [ { "description": "Room charge", "quantity": "1", "total": 200, "unit_cost": 200, }, ], "reference": "foo", }, } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/transactions/create_unlinked_refund", query_string="", api_base="https://api.stripe.com", post_data="amount=100&card=foo¤cy=usd&merchant_data[category]=ac_refrigeration_repair&merchant_data[city]=foo&merchant_data[country]=bar&merchant_data[name]=foo&merchant_data[network_id]=bar&merchant_data[postal_code]=foo&merchant_data[state]=bar&merchant_data[terminal_id]=foo&purchase_details[flight][departure_at]=1533651200&purchase_details[flight][passenger_name]=John%20Doe&purchase_details[flight][refundable]=true&purchase_details[flight][segments][0][arrival_airport_code]=SFO&purchase_details[flight][segments][0][carrier]=Delta&purchase_details[flight][segments][0][departure_airport_code]=LAX&purchase_details[flight][segments][0][flight_number]=DL100&purchase_details[flight][segments][0][service_class]=Economy&purchase_details[flight][segments][0][stopover_allowed]=true&purchase_details[flight][travel_agency]=Orbitz&purchase_details[fuel][type]=diesel&purchase_details[fuel][unit]=liter&purchase_details[fuel][unit_cost_decimal]=3.5&purchase_details[fuel][quantity_decimal]=10&purchase_details[lodging][check_in_at]=1533651200&purchase_details[lodging][nights]=2&purchase_details[receipt][0][description]=Room%20charge&purchase_details[receipt][0][quantity]=1&purchase_details[receipt][0][total]=200&purchase_details[receipt][0][unit_cost]=200&purchase_details[reference]=foo", ) @pytest.mark.anyio async def test_test_helpers_issuing_transactions_create_unlinked_refund_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Transaction.TestHelpers.create_unlinked_refund_async( amount=100, card="foo", currency="usd", merchant_data={ "category": "ac_refrigeration_repair", "city": "foo", "country": "bar", "name": "foo", "network_id": "bar", "postal_code": "foo", "state": "bar", "terminal_id": "foo", }, purchase_details={ "flight": { "departure_at": 1533651200, "passenger_name": "John Doe", "refundable": True, "segments": [ { "arrival_airport_code": "SFO", "carrier": "Delta", "departure_airport_code": "LAX", "flight_number": "DL100", "service_class": "Economy", "stopover_allowed": True, }, ], "travel_agency": "Orbitz", }, "fuel": { "type": "diesel", "unit": "liter", "unit_cost_decimal": "3.5", "quantity_decimal": "10", }, "lodging": {"check_in_at": 1533651200, "nights": 2}, "receipt": [ { "description": "Room charge", "quantity": "1", "total": 200, "unit_cost": 200, }, ], "reference": "foo", }, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/transactions/create_unlinked_refund", query_string="", post_data="amount=100&card=foo¤cy=usd&merchant_data[category]=ac_refrigeration_repair&merchant_data[city]=foo&merchant_data[country]=bar&merchant_data[name]=foo&merchant_data[network_id]=bar&merchant_data[postal_code]=foo&merchant_data[state]=bar&merchant_data[terminal_id]=foo&purchase_details[flight][departure_at]=1533651200&purchase_details[flight][passenger_name]=John%20Doe&purchase_details[flight][refundable]=true&purchase_details[flight][segments][0][arrival_airport_code]=SFO&purchase_details[flight][segments][0][carrier]=Delta&purchase_details[flight][segments][0][departure_airport_code]=LAX&purchase_details[flight][segments][0][flight_number]=DL100&purchase_details[flight][segments][0][service_class]=Economy&purchase_details[flight][segments][0][stopover_allowed]=true&purchase_details[flight][travel_agency]=Orbitz&purchase_details[fuel][type]=diesel&purchase_details[fuel][unit]=liter&purchase_details[fuel][unit_cost_decimal]=3.5&purchase_details[fuel][quantity_decimal]=10&purchase_details[lodging][check_in_at]=1533651200&purchase_details[lodging][nights]=2&purchase_details[receipt][0][description]=Room%20charge&purchase_details[receipt][0][quantity]=1&purchase_details[receipt][0][total]=200&purchase_details[receipt][0][unit_cost]=200&purchase_details[reference]=foo", ) @pytest.mark.anyio async def test_test_helpers_issuing_transactions_create_unlinked_refund_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/transactions/create_unlinked_refund", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.issuing.transactions.create_unlinked_refund_async( { "amount": 100, "card": "foo", "currency": "usd", "merchant_data": { "category": "ac_refrigeration_repair", "city": "foo", "country": "bar", "name": "foo", "network_id": "bar", "postal_code": "foo", "state": "bar", "terminal_id": "foo", }, "purchase_details": { "flight": { "departure_at": 1533651200, "passenger_name": "John Doe", "refundable": True, "segments": [ { "arrival_airport_code": "SFO", "carrier": "Delta", "departure_airport_code": "LAX", "flight_number": "DL100", "service_class": "Economy", "stopover_allowed": True, }, ], "travel_agency": "Orbitz", }, "fuel": { "type": "diesel", "unit": "liter", "unit_cost_decimal": "3.5", "quantity_decimal": "10", }, "lodging": {"check_in_at": 1533651200, "nights": 2}, "receipt": [ { "description": "Room charge", "quantity": "1", "total": 200, "unit_cost": 200, }, ], "reference": "foo", }, } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/transactions/create_unlinked_refund", query_string="", api_base="https://api.stripe.com", post_data="amount=100&card=foo¤cy=usd&merchant_data[category]=ac_refrigeration_repair&merchant_data[city]=foo&merchant_data[country]=bar&merchant_data[name]=foo&merchant_data[network_id]=bar&merchant_data[postal_code]=foo&merchant_data[state]=bar&merchant_data[terminal_id]=foo&purchase_details[flight][departure_at]=1533651200&purchase_details[flight][passenger_name]=John%20Doe&purchase_details[flight][refundable]=true&purchase_details[flight][segments][0][arrival_airport_code]=SFO&purchase_details[flight][segments][0][carrier]=Delta&purchase_details[flight][segments][0][departure_airport_code]=LAX&purchase_details[flight][segments][0][flight_number]=DL100&purchase_details[flight][segments][0][service_class]=Economy&purchase_details[flight][segments][0][stopover_allowed]=true&purchase_details[flight][travel_agency]=Orbitz&purchase_details[fuel][type]=diesel&purchase_details[fuel][unit]=liter&purchase_details[fuel][unit_cost_decimal]=3.5&purchase_details[fuel][quantity_decimal]=10&purchase_details[lodging][check_in_at]=1533651200&purchase_details[lodging][nights]=2&purchase_details[receipt][0][description]=Room%20charge&purchase_details[receipt][0][quantity]=1&purchase_details[receipt][0][total]=200&purchase_details[receipt][0][unit_cost]=200&purchase_details[reference]=foo", ) def test_test_helpers_issuing_transactions_refund_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/transactions/example_transaction/refund", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.issuing.transactions.refund( "example_transaction", {"refund_amount": 50}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/transactions/example_transaction/refund", query_string="", api_base="https://api.stripe.com", post_data="refund_amount=50", ) def test_test_helpers_issuing_transactions_refund_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.issuing.Transaction.TestHelpers.refund( "example_transaction", refund_amount=50, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/transactions/example_transaction/refund", query_string="", post_data="refund_amount=50", ) def test_test_helpers_issuing_transactions_refund_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/transactions/example_transaction/refund", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.issuing.transactions.refund( "example_transaction", {"refund_amount": 50}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/transactions/example_transaction/refund", query_string="", api_base="https://api.stripe.com", post_data="refund_amount=50", ) @pytest.mark.anyio async def test_test_helpers_issuing_transactions_refund_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.issuing.Transaction.TestHelpers.refund_async( "example_transaction", refund_amount=50, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/transactions/example_transaction/refund", query_string="", post_data="refund_amount=50", ) @pytest.mark.anyio async def test_test_helpers_issuing_transactions_refund_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/issuing/transactions/example_transaction/refund", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.issuing.transactions.refund_async( "example_transaction", {"refund_amount": 50}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/issuing/transactions/example_transaction/refund", query_string="", api_base="https://api.stripe.com", post_data="refund_amount=50", ) def test_test_helpers_refunds_expire_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/refunds/re_123/expire", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.refunds.expire("re_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/refunds/re_123/expire", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_refunds_expire_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Refund.TestHelpers.expire("re_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/refunds/re_123/expire", query_string="", ) def test_test_helpers_refunds_expire_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/refunds/re_123/expire", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.refunds.expire("re_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/refunds/re_123/expire", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_refunds_expire_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Refund.TestHelpers.expire_async("re_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/refunds/re_123/expire", query_string="", ) @pytest.mark.anyio async def test_test_helpers_refunds_expire_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/refunds/re_123/expire", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.refunds.expire_async("re_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/refunds/re_123/expire", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_test_clocks_advance_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/test_clocks/clock_xyz/advance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.test_clocks.advance( "clock_xyz", {"frozen_time": 142}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks/clock_xyz/advance", query_string="", api_base="https://api.stripe.com", post_data="frozen_time=142", ) def test_test_helpers_test_clocks_advance_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.test_helpers.TestClock.advance( "clock_xyz", frozen_time=142, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks/clock_xyz/advance", query_string="", post_data="frozen_time=142", ) def test_test_helpers_test_clocks_advance_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/test_clocks/clock_xyz/advance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.test_clocks.advance( "clock_xyz", {"frozen_time": 142}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks/clock_xyz/advance", query_string="", api_base="https://api.stripe.com", post_data="frozen_time=142", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_advance_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.test_helpers.TestClock.advance_async( "clock_xyz", frozen_time=142, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks/clock_xyz/advance", query_string="", post_data="frozen_time=142", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_advance_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/test_clocks/clock_xyz/advance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.test_clocks.advance_async( "clock_xyz", {"frozen_time": 142}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks/clock_xyz/advance", query_string="", api_base="https://api.stripe.com", post_data="frozen_time=142", ) def test_test_helpers_test_clocks_advance_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx/advance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.test_clocks.advance( "clock_xxxxxxxxxxxxx", {"frozen_time": 1675552261}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx/advance", query_string="", api_base="https://api.stripe.com", post_data="frozen_time=1675552261", ) def test_test_helpers_test_clocks_advance_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.test_helpers.TestClock.advance( "clock_xxxxxxxxxxxxx", frozen_time=1675552261, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx/advance", query_string="", post_data="frozen_time=1675552261", ) def test_test_helpers_test_clocks_advance_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx/advance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.test_clocks.advance( "clock_xxxxxxxxxxxxx", {"frozen_time": 1675552261}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx/advance", query_string="", api_base="https://api.stripe.com", post_data="frozen_time=1675552261", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_advance_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.test_helpers.TestClock.advance_async( "clock_xxxxxxxxxxxxx", frozen_time=1675552261, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx/advance", query_string="", post_data="frozen_time=1675552261", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_advance_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx/advance", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.test_clocks.advance_async( "clock_xxxxxxxxxxxxx", {"frozen_time": 1675552261}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx/advance", query_string="", api_base="https://api.stripe.com", post_data="frozen_time=1675552261", ) def test_test_helpers_test_clocks_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/test_helpers/test_clocks/clock_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.test_clocks.delete("clock_xyz") http_client_mock.assert_requested( "delete", path="/v1/test_helpers/test_clocks/clock_xyz", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_test_clocks_delete( self, http_client_mock: HTTPClientMock ) -> None: stripe.test_helpers.TestClock.delete("clock_xyz") http_client_mock.assert_requested( "delete", path="/v1/test_helpers/test_clocks/clock_xyz", query_string="", ) def test_test_helpers_test_clocks_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/test_helpers/test_clocks/clock_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.test_clocks.delete("clock_xyz") http_client_mock.assert_requested( "delete", path="/v1/test_helpers/test_clocks/clock_xyz", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.test_helpers.TestClock.delete_async("clock_xyz") http_client_mock.assert_requested( "delete", path="/v1/test_helpers/test_clocks/clock_xyz", query_string="", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/test_helpers/test_clocks/clock_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.test_clocks.delete_async("clock_xyz") http_client_mock.assert_requested( "delete", path="/v1/test_helpers/test_clocks/clock_xyz", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_test_clocks_delete_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.test_clocks.delete("clock_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_test_clocks_delete_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.test_helpers.TestClock.delete("clock_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", query_string="", ) def test_test_helpers_test_clocks_delete_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.test_clocks.delete("clock_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_delete_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.test_helpers.TestClock.delete_async("clock_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_delete_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.test_clocks.delete_async( "clock_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "delete", path="/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_test_clocks_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/test_helpers/test_clocks", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.test_clocks.list() http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_test_clocks_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.test_helpers.TestClock.list() http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks", query_string="", ) def test_test_helpers_test_clocks_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/test_helpers/test_clocks", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.test_clocks.list() http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.test_helpers.TestClock.list_async() http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks", query_string="", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/test_helpers/test_clocks", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.test_clocks.list_async() http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_test_clocks_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/test_helpers/test_clocks/clock_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.test_clocks.retrieve("clock_xyz") http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks/clock_xyz", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_test_clocks_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.test_helpers.TestClock.retrieve("clock_xyz") http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks/clock_xyz", query_string="", ) def test_test_helpers_test_clocks_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/test_helpers/test_clocks/clock_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.test_clocks.retrieve("clock_xyz") http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks/clock_xyz", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.test_helpers.TestClock.retrieve_async("clock_xyz") http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks/clock_xyz", query_string="", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/test_helpers/test_clocks/clock_xyz", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.test_clocks.retrieve_async("clock_xyz") http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks/clock_xyz", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_test_clocks_get_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/test_helpers/test_clocks", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.test_clocks.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks", query_string="limit=3", api_base="https://api.stripe.com", ) def test_test_helpers_test_clocks_get_3( self, http_client_mock: HTTPClientMock ) -> None: stripe.test_helpers.TestClock.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks", query_string="limit=3", ) def test_test_helpers_test_clocks_get_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/test_helpers/test_clocks", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.test_clocks.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_get_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.test_helpers.TestClock.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks", query_string="limit=3", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_get_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/test_helpers/test_clocks", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.test_clocks.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks", query_string="limit=3", api_base="https://api.stripe.com", ) def test_test_helpers_test_clocks_get_4_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.test_clocks.retrieve("clock_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_test_clocks_get_4( self, http_client_mock: HTTPClientMock ) -> None: stripe.test_helpers.TestClock.retrieve("clock_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", query_string="", ) def test_test_helpers_test_clocks_get_4_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.test_clocks.retrieve("clock_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_get_4_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.test_helpers.TestClock.retrieve_async( "clock_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_get_4_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.test_clocks.retrieve_async( "clock_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/test_helpers/test_clocks/clock_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_test_clocks_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/test_clocks", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.test_clocks.create( { "frozen_time": 123, "name": "cogsworth", } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks", query_string="", api_base="https://api.stripe.com", post_data="frozen_time=123&name=cogsworth", ) def test_test_helpers_test_clocks_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.test_helpers.TestClock.create( frozen_time=123, name="cogsworth", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks", query_string="", post_data="frozen_time=123&name=cogsworth", ) def test_test_helpers_test_clocks_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/test_clocks", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.test_clocks.create( { "frozen_time": 123, "name": "cogsworth", } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks", query_string="", api_base="https://api.stripe.com", post_data="frozen_time=123&name=cogsworth", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.test_helpers.TestClock.create_async( frozen_time=123, name="cogsworth", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks", query_string="", post_data="frozen_time=123&name=cogsworth", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/test_clocks", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.test_clocks.create_async( { "frozen_time": 123, "name": "cogsworth", } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks", query_string="", api_base="https://api.stripe.com", post_data="frozen_time=123&name=cogsworth", ) def test_test_helpers_test_clocks_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/test_clocks", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.test_clocks.create({"frozen_time": 1577836800}) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks", query_string="", api_base="https://api.stripe.com", post_data="frozen_time=1577836800", ) def test_test_helpers_test_clocks_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.test_helpers.TestClock.create(frozen_time=1577836800) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks", query_string="", post_data="frozen_time=1577836800", ) def test_test_helpers_test_clocks_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/test_clocks", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.test_clocks.create({"frozen_time": 1577836800}) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks", query_string="", api_base="https://api.stripe.com", post_data="frozen_time=1577836800", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.test_helpers.TestClock.create_async( frozen_time=1577836800 ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks", query_string="", post_data="frozen_time=1577836800", ) @pytest.mark.anyio async def test_test_helpers_test_clocks_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/test_clocks", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.test_clocks.create_async( { "frozen_time": 1577836800, } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/test_clocks", query_string="", api_base="https://api.stripe.com", post_data="frozen_time=1577836800", ) def test_test_helpers_treasury_inbound_transfers_fail_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/inbound_transfers/ibt_123/fail", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.treasury.inbound_transfers.fail( "ibt_123", {"failure_details": {"code": "account_closed"}}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/inbound_transfers/ibt_123/fail", query_string="", api_base="https://api.stripe.com", post_data="failure_details[code]=account_closed", ) def test_test_helpers_treasury_inbound_transfers_fail_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.InboundTransfer.TestHelpers.fail( "ibt_123", failure_details={"code": "account_closed"}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/inbound_transfers/ibt_123/fail", query_string="", post_data="failure_details[code]=account_closed", ) def test_test_helpers_treasury_inbound_transfers_fail_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/inbound_transfers/ibt_123/fail", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.treasury.inbound_transfers.fail( "ibt_123", {"failure_details": {"code": "account_closed"}}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/inbound_transfers/ibt_123/fail", query_string="", api_base="https://api.stripe.com", post_data="failure_details[code]=account_closed", ) @pytest.mark.anyio async def test_test_helpers_treasury_inbound_transfers_fail_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.InboundTransfer.TestHelpers.fail_async( "ibt_123", failure_details={"code": "account_closed"}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/inbound_transfers/ibt_123/fail", query_string="", post_data="failure_details[code]=account_closed", ) @pytest.mark.anyio async def test_test_helpers_treasury_inbound_transfers_fail_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/inbound_transfers/ibt_123/fail", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.treasury.inbound_transfers.fail_async( "ibt_123", {"failure_details": {"code": "account_closed"}}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/inbound_transfers/ibt_123/fail", query_string="", api_base="https://api.stripe.com", post_data="failure_details[code]=account_closed", ) def test_test_helpers_treasury_inbound_transfers_return_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/inbound_transfers/ibt_123/return", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.treasury.inbound_transfers.return_inbound_transfer( "ibt_123", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/inbound_transfers/ibt_123/return", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_treasury_inbound_transfers_return_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.InboundTransfer.TestHelpers.return_inbound_transfer( "ibt_123", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/inbound_transfers/ibt_123/return", query_string="", ) def test_test_helpers_treasury_inbound_transfers_return_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/inbound_transfers/ibt_123/return", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.treasury.inbound_transfers.return_inbound_transfer( "ibt_123" ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/inbound_transfers/ibt_123/return", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_treasury_inbound_transfers_return_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.InboundTransfer.TestHelpers.return_inbound_transfer_async( "ibt_123", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/inbound_transfers/ibt_123/return", query_string="", ) @pytest.mark.anyio async def test_test_helpers_treasury_inbound_transfers_return_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/inbound_transfers/ibt_123/return", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.treasury.inbound_transfers.return_inbound_transfer_async( "ibt_123" ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/inbound_transfers/ibt_123/return", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_treasury_inbound_transfers_succeed_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/inbound_transfers/ibt_123/succeed", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.treasury.inbound_transfers.succeed("ibt_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/inbound_transfers/ibt_123/succeed", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_treasury_inbound_transfers_succeed_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.InboundTransfer.TestHelpers.succeed("ibt_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/inbound_transfers/ibt_123/succeed", query_string="", ) def test_test_helpers_treasury_inbound_transfers_succeed_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/inbound_transfers/ibt_123/succeed", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.treasury.inbound_transfers.succeed("ibt_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/inbound_transfers/ibt_123/succeed", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_treasury_inbound_transfers_succeed_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.InboundTransfer.TestHelpers.succeed_async( "ibt_123", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/inbound_transfers/ibt_123/succeed", query_string="", ) @pytest.mark.anyio async def test_test_helpers_treasury_inbound_transfers_succeed_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/inbound_transfers/ibt_123/succeed", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.treasury.inbound_transfers.succeed_async( "ibt_123", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/inbound_transfers/ibt_123/succeed", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_treasury_outbound_transfers_fail_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/outbound_transfers/obt_123/fail", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.treasury.outbound_transfers.fail("obt_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/outbound_transfers/obt_123/fail", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_treasury_outbound_transfers_fail_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.OutboundTransfer.TestHelpers.fail("obt_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/outbound_transfers/obt_123/fail", query_string="", ) def test_test_helpers_treasury_outbound_transfers_fail_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/outbound_transfers/obt_123/fail", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.treasury.outbound_transfers.fail("obt_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/outbound_transfers/obt_123/fail", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_treasury_outbound_transfers_fail_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.OutboundTransfer.TestHelpers.fail_async( "obt_123" ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/outbound_transfers/obt_123/fail", query_string="", ) @pytest.mark.anyio async def test_test_helpers_treasury_outbound_transfers_fail_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/outbound_transfers/obt_123/fail", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.treasury.outbound_transfers.fail_async( "obt_123", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/outbound_transfers/obt_123/fail", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_treasury_outbound_transfers_post_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/outbound_transfers/obt_123/post", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.treasury.outbound_transfers.post("obt_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/outbound_transfers/obt_123/post", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_treasury_outbound_transfers_post_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.OutboundTransfer.TestHelpers.post("obt_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/outbound_transfers/obt_123/post", query_string="", ) def test_test_helpers_treasury_outbound_transfers_post_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/outbound_transfers/obt_123/post", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.treasury.outbound_transfers.post("obt_123") http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/outbound_transfers/obt_123/post", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_test_helpers_treasury_outbound_transfers_post_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.OutboundTransfer.TestHelpers.post_async( "obt_123" ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/outbound_transfers/obt_123/post", query_string="", ) @pytest.mark.anyio async def test_test_helpers_treasury_outbound_transfers_post_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/outbound_transfers/obt_123/post", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.treasury.outbound_transfers.post_async( "obt_123", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/outbound_transfers/obt_123/post", query_string="", api_base="https://api.stripe.com", ) def test_test_helpers_treasury_outbound_transfers_return_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/outbound_transfers/obt_123/return", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.treasury.outbound_transfers.return_outbound_transfer( "obt_123", {"returned_details": {"code": "account_closed"}}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/outbound_transfers/obt_123/return", query_string="", api_base="https://api.stripe.com", post_data="returned_details[code]=account_closed", ) def test_test_helpers_treasury_outbound_transfers_return_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.OutboundTransfer.TestHelpers.return_outbound_transfer( "obt_123", returned_details={"code": "account_closed"}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/outbound_transfers/obt_123/return", query_string="", post_data="returned_details[code]=account_closed", ) def test_test_helpers_treasury_outbound_transfers_return_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/outbound_transfers/obt_123/return", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.treasury.outbound_transfers.return_outbound_transfer( "obt_123", {"returned_details": {"code": "account_closed"}}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/outbound_transfers/obt_123/return", query_string="", api_base="https://api.stripe.com", post_data="returned_details[code]=account_closed", ) @pytest.mark.anyio async def test_test_helpers_treasury_outbound_transfers_return_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.OutboundTransfer.TestHelpers.return_outbound_transfer_async( "obt_123", returned_details={"code": "account_closed"}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/outbound_transfers/obt_123/return", query_string="", post_data="returned_details[code]=account_closed", ) @pytest.mark.anyio async def test_test_helpers_treasury_outbound_transfers_return_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/outbound_transfers/obt_123/return", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.treasury.outbound_transfers.return_outbound_transfer_async( "obt_123", {"returned_details": {"code": "account_closed"}}, ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/outbound_transfers/obt_123/return", query_string="", api_base="https://api.stripe.com", post_data="returned_details[code]=account_closed", ) def test_test_helpers_treasury_received_credits_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/received_credits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.treasury.received_credits.create( { "financial_account": "fa_123", "network": "ach", "amount": 1234, "currency": "usd", } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/received_credits", query_string="", api_base="https://api.stripe.com", post_data="financial_account=fa_123&network=ach&amount=1234¤cy=usd", ) def test_test_helpers_treasury_received_credits_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.ReceivedCredit.TestHelpers.create( financial_account="fa_123", network="ach", amount=1234, currency="usd", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/received_credits", query_string="", post_data="financial_account=fa_123&network=ach&amount=1234¤cy=usd", ) def test_test_helpers_treasury_received_credits_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/received_credits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.treasury.received_credits.create( { "financial_account": "fa_123", "network": "ach", "amount": 1234, "currency": "usd", } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/received_credits", query_string="", api_base="https://api.stripe.com", post_data="financial_account=fa_123&network=ach&amount=1234¤cy=usd", ) @pytest.mark.anyio async def test_test_helpers_treasury_received_credits_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.ReceivedCredit.TestHelpers.create_async( financial_account="fa_123", network="ach", amount=1234, currency="usd", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/received_credits", query_string="", post_data="financial_account=fa_123&network=ach&amount=1234¤cy=usd", ) @pytest.mark.anyio async def test_test_helpers_treasury_received_credits_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/received_credits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.treasury.received_credits.create_async( { "financial_account": "fa_123", "network": "ach", "amount": 1234, "currency": "usd", } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/received_credits", query_string="", api_base="https://api.stripe.com", post_data="financial_account=fa_123&network=ach&amount=1234¤cy=usd", ) def test_test_helpers_treasury_received_debits_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/received_debits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.test_helpers.treasury.received_debits.create( { "financial_account": "fa_123", "network": "ach", "amount": 1234, "currency": "usd", } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/received_debits", query_string="", api_base="https://api.stripe.com", post_data="financial_account=fa_123&network=ach&amount=1234¤cy=usd", ) def test_test_helpers_treasury_received_debits_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.ReceivedDebit.TestHelpers.create( financial_account="fa_123", network="ach", amount=1234, currency="usd", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/received_debits", query_string="", post_data="financial_account=fa_123&network=ach&amount=1234¤cy=usd", ) def test_test_helpers_treasury_received_debits_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/received_debits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.test_helpers.treasury.received_debits.create( { "financial_account": "fa_123", "network": "ach", "amount": 1234, "currency": "usd", } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/received_debits", query_string="", api_base="https://api.stripe.com", post_data="financial_account=fa_123&network=ach&amount=1234¤cy=usd", ) @pytest.mark.anyio async def test_test_helpers_treasury_received_debits_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.ReceivedDebit.TestHelpers.create_async( financial_account="fa_123", network="ach", amount=1234, currency="usd", ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/received_debits", query_string="", post_data="financial_account=fa_123&network=ach&amount=1234¤cy=usd", ) @pytest.mark.anyio async def test_test_helpers_treasury_received_debits_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/test_helpers/treasury/received_debits", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.test_helpers.treasury.received_debits.create_async( { "financial_account": "fa_123", "network": "ach", "amount": 1234, "currency": "usd", } ) http_client_mock.assert_requested( "post", path="/v1/test_helpers/treasury/received_debits", query_string="", api_base="https://api.stripe.com", post_data="financial_account=fa_123&network=ach&amount=1234¤cy=usd", ) def test_tokens_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tokens/tok_xxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tokens.retrieve("tok_xxxx") http_client_mock.assert_requested( "get", path="/v1/tokens/tok_xxxx", query_string="", api_base="https://api.stripe.com", ) def test_tokens_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Token.retrieve("tok_xxxx") http_client_mock.assert_requested( "get", path="/v1/tokens/tok_xxxx", query_string="", ) def test_tokens_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tokens/tok_xxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tokens.retrieve("tok_xxxx") http_client_mock.assert_requested( "get", path="/v1/tokens/tok_xxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_tokens_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Token.retrieve_async("tok_xxxx") http_client_mock.assert_requested( "get", path="/v1/tokens/tok_xxxx", query_string="", ) @pytest.mark.anyio async def test_tokens_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/tokens/tok_xxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tokens.retrieve_async("tok_xxxx") http_client_mock.assert_requested( "get", path="/v1/tokens/tok_xxxx", query_string="", api_base="https://api.stripe.com", ) def test_tokens_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tokens.create( { "card": { "number": "4242424242424242", "exp_month": "5", "exp_year": "2023", "cvc": "314", }, } ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="card[number]=4242424242424242&card[exp_month]=5&card[exp_year]=2023&card[cvc]=314", ) def test_tokens_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Token.create( card={ "number": "4242424242424242", "exp_month": "5", "exp_year": "2023", "cvc": "314", }, ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", post_data="card[number]=4242424242424242&card[exp_month]=5&card[exp_year]=2023&card[cvc]=314", ) def test_tokens_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tokens.create( { "card": { "number": "4242424242424242", "exp_month": "5", "exp_year": "2023", "cvc": "314", }, } ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="card[number]=4242424242424242&card[exp_month]=5&card[exp_year]=2023&card[cvc]=314", ) @pytest.mark.anyio async def test_tokens_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Token.create_async( card={ "number": "4242424242424242", "exp_month": "5", "exp_year": "2023", "cvc": "314", }, ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", post_data="card[number]=4242424242424242&card[exp_month]=5&card[exp_year]=2023&card[cvc]=314", ) @pytest.mark.anyio async def test_tokens_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tokens.create_async( { "card": { "number": "4242424242424242", "exp_month": "5", "exp_year": "2023", "cvc": "314", }, } ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="card[number]=4242424242424242&card[exp_month]=5&card[exp_year]=2023&card[cvc]=314", ) def test_tokens_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tokens.create( { "bank_account": { "country": "US", "currency": "usd", "account_holder_name": "Jenny Rosen", "account_holder_type": "individual", "routing_number": "110000000", "account_number": "000123456789", }, } ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="bank_account[country]=US&bank_account[currency]=usd&bank_account[account_holder_name]=Jenny%20Rosen&bank_account[account_holder_type]=individual&bank_account[routing_number]=110000000&bank_account[account_number]=000123456789", ) def test_tokens_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Token.create( bank_account={ "country": "US", "currency": "usd", "account_holder_name": "Jenny Rosen", "account_holder_type": "individual", "routing_number": "110000000", "account_number": "000123456789", }, ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", post_data="bank_account[country]=US&bank_account[currency]=usd&bank_account[account_holder_name]=Jenny%20Rosen&bank_account[account_holder_type]=individual&bank_account[routing_number]=110000000&bank_account[account_number]=000123456789", ) def test_tokens_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tokens.create( { "bank_account": { "country": "US", "currency": "usd", "account_holder_name": "Jenny Rosen", "account_holder_type": "individual", "routing_number": "110000000", "account_number": "000123456789", }, } ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="bank_account[country]=US&bank_account[currency]=usd&bank_account[account_holder_name]=Jenny%20Rosen&bank_account[account_holder_type]=individual&bank_account[routing_number]=110000000&bank_account[account_number]=000123456789", ) @pytest.mark.anyio async def test_tokens_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Token.create_async( bank_account={ "country": "US", "currency": "usd", "account_holder_name": "Jenny Rosen", "account_holder_type": "individual", "routing_number": "110000000", "account_number": "000123456789", }, ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", post_data="bank_account[country]=US&bank_account[currency]=usd&bank_account[account_holder_name]=Jenny%20Rosen&bank_account[account_holder_type]=individual&bank_account[routing_number]=110000000&bank_account[account_number]=000123456789", ) @pytest.mark.anyio async def test_tokens_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tokens.create_async( { "bank_account": { "country": "US", "currency": "usd", "account_holder_name": "Jenny Rosen", "account_holder_type": "individual", "routing_number": "110000000", "account_number": "000123456789", }, } ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="bank_account[country]=US&bank_account[currency]=usd&bank_account[account_holder_name]=Jenny%20Rosen&bank_account[account_holder_type]=individual&bank_account[routing_number]=110000000&bank_account[account_number]=000123456789", ) def test_tokens_post_3_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tokens.create({"pii": {"id_number": "000000000"}}) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="pii[id_number]=000000000", ) def test_tokens_post_3(self, http_client_mock: HTTPClientMock) -> None: stripe.Token.create(pii={"id_number": "000000000"}) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", post_data="pii[id_number]=000000000", ) def test_tokens_post_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tokens.create({"pii": {"id_number": "000000000"}}) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="pii[id_number]=000000000", ) @pytest.mark.anyio async def test_tokens_post_3_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Token.create_async(pii={"id_number": "000000000"}) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", post_data="pii[id_number]=000000000", ) @pytest.mark.anyio async def test_tokens_post_3_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tokens.create_async( {"pii": {"id_number": "000000000"}} ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="pii[id_number]=000000000", ) def test_tokens_post_4_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tokens.create( { "account": { "individual": {"first_name": "Jane", "last_name": "Doe"}, "tos_shown_and_accepted": True, }, } ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="account[individual][first_name]=Jane&account[individual][last_name]=Doe&account[tos_shown_and_accepted]=true", ) def test_tokens_post_4(self, http_client_mock: HTTPClientMock) -> None: stripe.Token.create( account={ "individual": {"first_name": "Jane", "last_name": "Doe"}, "tos_shown_and_accepted": True, }, ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", post_data="account[individual][first_name]=Jane&account[individual][last_name]=Doe&account[tos_shown_and_accepted]=true", ) def test_tokens_post_4_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tokens.create( { "account": { "individual": {"first_name": "Jane", "last_name": "Doe"}, "tos_shown_and_accepted": True, }, } ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="account[individual][first_name]=Jane&account[individual][last_name]=Doe&account[tos_shown_and_accepted]=true", ) @pytest.mark.anyio async def test_tokens_post_4_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Token.create_async( account={ "individual": {"first_name": "Jane", "last_name": "Doe"}, "tos_shown_and_accepted": True, }, ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", post_data="account[individual][first_name]=Jane&account[individual][last_name]=Doe&account[tos_shown_and_accepted]=true", ) @pytest.mark.anyio async def test_tokens_post_4_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tokens.create_async( { "account": { "individual": {"first_name": "Jane", "last_name": "Doe"}, "tos_shown_and_accepted": True, }, } ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="account[individual][first_name]=Jane&account[individual][last_name]=Doe&account[tos_shown_and_accepted]=true", ) def test_tokens_post_5_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tokens.create( { "person": { "first_name": "Jane", "last_name": "Doe", "relationship": {"owner": True}, }, } ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="person[first_name]=Jane&person[last_name]=Doe&person[relationship][owner]=true", ) def test_tokens_post_5(self, http_client_mock: HTTPClientMock) -> None: stripe.Token.create( person={ "first_name": "Jane", "last_name": "Doe", "relationship": {"owner": True}, }, ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", post_data="person[first_name]=Jane&person[last_name]=Doe&person[relationship][owner]=true", ) def test_tokens_post_5_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tokens.create( { "person": { "first_name": "Jane", "last_name": "Doe", "relationship": {"owner": True}, }, } ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="person[first_name]=Jane&person[last_name]=Doe&person[relationship][owner]=true", ) @pytest.mark.anyio async def test_tokens_post_5_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Token.create_async( person={ "first_name": "Jane", "last_name": "Doe", "relationship": {"owner": True}, }, ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", post_data="person[first_name]=Jane&person[last_name]=Doe&person[relationship][owner]=true", ) @pytest.mark.anyio async def test_tokens_post_5_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tokens.create_async( { "person": { "first_name": "Jane", "last_name": "Doe", "relationship": {"owner": True}, }, } ) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="person[first_name]=Jane&person[last_name]=Doe&person[relationship][owner]=true", ) def test_tokens_post_6_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.tokens.create({"cvc_update": {"cvc": "123"}}) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="cvc_update[cvc]=123", ) def test_tokens_post_6(self, http_client_mock: HTTPClientMock) -> None: stripe.Token.create(cvc_update={"cvc": "123"}) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", post_data="cvc_update[cvc]=123", ) def test_tokens_post_6_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.tokens.create({"cvc_update": {"cvc": "123"}}) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="cvc_update[cvc]=123", ) @pytest.mark.anyio async def test_tokens_post_6_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Token.create_async(cvc_update={"cvc": "123"}) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", post_data="cvc_update[cvc]=123", ) @pytest.mark.anyio async def test_tokens_post_6_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/tokens", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.tokens.create_async({"cvc_update": {"cvc": "123"}}) http_client_mock.assert_requested( "post", path="/v1/tokens", query_string="", api_base="https://api.stripe.com", post_data="cvc_update[cvc]=123", ) def test_topups_cancel_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/topups/tu_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.topups.cancel("tu_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/topups/tu_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_topups_cancel_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Topup.cancel("tu_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/topups/tu_xxxxxxxxxxxxx/cancel", query_string="", ) def test_topups_cancel_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/topups/tu_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.topups.cancel("tu_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/topups/tu_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_topups_cancel_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Topup.cancel_async("tu_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/topups/tu_xxxxxxxxxxxxx/cancel", query_string="", ) @pytest.mark.anyio async def test_topups_cancel_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/topups/tu_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.topups.cancel_async("tu_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/topups/tu_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_topups_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/topups", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.topups.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/topups", query_string="limit=3", api_base="https://api.stripe.com", ) def test_topups_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Topup.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/topups", query_string="limit=3", ) def test_topups_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/topups", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.topups.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/topups", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_topups_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Topup.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/topups", query_string="limit=3", ) @pytest.mark.anyio async def test_topups_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/topups", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.topups.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/topups", query_string="limit=3", api_base="https://api.stripe.com", ) def test_topups_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/topups/tu_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.topups.retrieve("tu_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/topups/tu_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_topups_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Topup.retrieve("tu_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/topups/tu_xxxxxxxxxxxxx", query_string="", ) def test_topups_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/topups/tu_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.topups.retrieve("tu_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/topups/tu_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_topups_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Topup.retrieve_async("tu_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/topups/tu_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_topups_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/topups/tu_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.topups.retrieve_async("tu_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/topups/tu_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_topups_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/topups", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.topups.create( { "amount": 2000, "currency": "usd", "description": "Top-up for Jenny Rosen", "statement_descriptor": "Top-up", } ) http_client_mock.assert_requested( "post", path="/v1/topups", query_string="", api_base="https://api.stripe.com", post_data="amount=2000¤cy=usd&description=Top-up%20for%20Jenny%20Rosen&statement_descriptor=Top-up", ) def test_topups_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Topup.create( amount=2000, currency="usd", description="Top-up for Jenny Rosen", statement_descriptor="Top-up", ) http_client_mock.assert_requested( "post", path="/v1/topups", query_string="", post_data="amount=2000¤cy=usd&description=Top-up%20for%20Jenny%20Rosen&statement_descriptor=Top-up", ) def test_topups_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/topups", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.topups.create( { "amount": 2000, "currency": "usd", "description": "Top-up for Jenny Rosen", "statement_descriptor": "Top-up", } ) http_client_mock.assert_requested( "post", path="/v1/topups", query_string="", api_base="https://api.stripe.com", post_data="amount=2000¤cy=usd&description=Top-up%20for%20Jenny%20Rosen&statement_descriptor=Top-up", ) @pytest.mark.anyio async def test_topups_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Topup.create_async( amount=2000, currency="usd", description="Top-up for Jenny Rosen", statement_descriptor="Top-up", ) http_client_mock.assert_requested( "post", path="/v1/topups", query_string="", post_data="amount=2000¤cy=usd&description=Top-up%20for%20Jenny%20Rosen&statement_descriptor=Top-up", ) @pytest.mark.anyio async def test_topups_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/topups", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.topups.create_async( { "amount": 2000, "currency": "usd", "description": "Top-up for Jenny Rosen", "statement_descriptor": "Top-up", } ) http_client_mock.assert_requested( "post", path="/v1/topups", query_string="", api_base="https://api.stripe.com", post_data="amount=2000¤cy=usd&description=Top-up%20for%20Jenny%20Rosen&statement_descriptor=Top-up", ) def test_topups_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/topups/tu_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.topups.update( "tu_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/topups/tu_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_topups_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Topup.modify( "tu_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/topups/tu_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_topups_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/topups/tu_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.topups.update( "tu_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/topups/tu_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_topups_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Topup.modify_async( "tu_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/topups/tu_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_topups_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/topups/tu_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.topups.update_async( "tu_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/topups/tu_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_transfers_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/transfers", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.transfers.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/transfers", query_string="limit=3", api_base="https://api.stripe.com", ) def test_transfers_get(self, http_client_mock: HTTPClientMock) -> None: stripe.Transfer.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/transfers", query_string="limit=3", ) def test_transfers_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/transfers", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.transfers.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/transfers", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_transfers_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Transfer.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/transfers", query_string="limit=3", ) @pytest.mark.anyio async def test_transfers_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/transfers", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.transfers.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/transfers", query_string="limit=3", api_base="https://api.stripe.com", ) def test_transfers_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/transfers/tr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.transfers.retrieve("tr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/transfers/tr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_transfers_get_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Transfer.retrieve("tr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/transfers/tr_xxxxxxxxxxxxx", query_string="", ) def test_transfers_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/transfers/tr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.transfers.retrieve("tr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/transfers/tr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_transfers_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Transfer.retrieve_async("tr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/transfers/tr_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_transfers_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/transfers/tr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.transfers.retrieve_async("tr_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/transfers/tr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_transfers_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/transfers", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.transfers.create( { "amount": 400, "currency": "usd", "destination": "acct_xxxxxxxxxxxxx", "transfer_group": "ORDER_95", } ) http_client_mock.assert_requested( "post", path="/v1/transfers", query_string="", api_base="https://api.stripe.com", post_data="amount=400¤cy=usd&destination=acct_xxxxxxxxxxxxx&transfer_group=ORDER_95", ) def test_transfers_post(self, http_client_mock: HTTPClientMock) -> None: stripe.Transfer.create( amount=400, currency="usd", destination="acct_xxxxxxxxxxxxx", transfer_group="ORDER_95", ) http_client_mock.assert_requested( "post", path="/v1/transfers", query_string="", post_data="amount=400¤cy=usd&destination=acct_xxxxxxxxxxxxx&transfer_group=ORDER_95", ) def test_transfers_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/transfers", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.transfers.create( { "amount": 400, "currency": "usd", "destination": "acct_xxxxxxxxxxxxx", "transfer_group": "ORDER_95", } ) http_client_mock.assert_requested( "post", path="/v1/transfers", query_string="", api_base="https://api.stripe.com", post_data="amount=400¤cy=usd&destination=acct_xxxxxxxxxxxxx&transfer_group=ORDER_95", ) @pytest.mark.anyio async def test_transfers_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Transfer.create_async( amount=400, currency="usd", destination="acct_xxxxxxxxxxxxx", transfer_group="ORDER_95", ) http_client_mock.assert_requested( "post", path="/v1/transfers", query_string="", post_data="amount=400¤cy=usd&destination=acct_xxxxxxxxxxxxx&transfer_group=ORDER_95", ) @pytest.mark.anyio async def test_transfers_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/transfers", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.transfers.create_async( { "amount": 400, "currency": "usd", "destination": "acct_xxxxxxxxxxxxx", "transfer_group": "ORDER_95", } ) http_client_mock.assert_requested( "post", path="/v1/transfers", query_string="", api_base="https://api.stripe.com", post_data="amount=400¤cy=usd&destination=acct_xxxxxxxxxxxxx&transfer_group=ORDER_95", ) def test_transfers_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/transfers/tr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.transfers.update( "tr_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/transfers/tr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_transfers_post_2(self, http_client_mock: HTTPClientMock) -> None: stripe.Transfer.modify( "tr_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/transfers/tr_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_transfers_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/transfers/tr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.transfers.update( "tr_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/transfers/tr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_transfers_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Transfer.modify_async( "tr_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/transfers/tr_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_transfers_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/transfers/tr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.transfers.update_async( "tr_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/transfers/tr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_transfers_reversals_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/transfers/tr_xxxxxxxxxxxxx/reversals", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.transfers.reversals.list( "tr_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals", query_string="limit=3", api_base="https://api.stripe.com", ) def test_transfers_reversals_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.Transfer.list_reversals( "tr_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals", query_string="limit=3", ) def test_transfers_reversals_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/transfers/tr_xxxxxxxxxxxxx/reversals", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.transfers.reversals.list( "tr_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_transfers_reversals_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Transfer.list_reversals_async( "tr_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals", query_string="limit=3", ) @pytest.mark.anyio async def test_transfers_reversals_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/transfers/tr_xxxxxxxxxxxxx/reversals", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.transfers.reversals.list_async( "tr_xxxxxxxxxxxxx", {"limit": 3}, ) http_client_mock.assert_requested( "get", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals", query_string="limit=3", api_base="https://api.stripe.com", ) def test_transfers_reversals_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.transfers.reversals.retrieve( "tr_xxxxxxxxxxxxx", "trr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_transfers_reversals_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Transfer.retrieve_reversal( "tr_xxxxxxxxxxxxx", "trr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", query_string="", ) def test_transfers_reversals_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.transfers.reversals.retrieve( "tr_xxxxxxxxxxxxx", "trr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_transfers_reversals_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Transfer.retrieve_reversal_async( "tr_xxxxxxxxxxxxx", "trr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_transfers_reversals_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.transfers.reversals.retrieve_async( "tr_xxxxxxxxxxxxx", "trr_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_transfers_reversals_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/transfers/tr_xxxxxxxxxxxxx/reversals", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.transfers.reversals.create( "tr_xxxxxxxxxxxxx", {"amount": 100}, ) http_client_mock.assert_requested( "post", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals", query_string="", api_base="https://api.stripe.com", post_data="amount=100", ) def test_transfers_reversals_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.Transfer.create_reversal( "tr_xxxxxxxxxxxxx", amount=100, ) http_client_mock.assert_requested( "post", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals", query_string="", post_data="amount=100", ) def test_transfers_reversals_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/transfers/tr_xxxxxxxxxxxxx/reversals", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.transfers.reversals.create( "tr_xxxxxxxxxxxxx", {"amount": 100}, ) http_client_mock.assert_requested( "post", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals", query_string="", api_base="https://api.stripe.com", post_data="amount=100", ) @pytest.mark.anyio async def test_transfers_reversals_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Transfer.create_reversal_async( "tr_xxxxxxxxxxxxx", amount=100, ) http_client_mock.assert_requested( "post", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals", query_string="", post_data="amount=100", ) @pytest.mark.anyio async def test_transfers_reversals_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/transfers/tr_xxxxxxxxxxxxx/reversals", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.transfers.reversals.create_async( "tr_xxxxxxxxxxxxx", {"amount": 100}, ) http_client_mock.assert_requested( "post", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals", query_string="", api_base="https://api.stripe.com", post_data="amount=100", ) def test_transfers_reversals_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.transfers.reversals.update( "tr_xxxxxxxxxxxxx", "trr_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_transfers_reversals_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.Transfer.modify_reversal( "tr_xxxxxxxxxxxxx", "trr_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_transfers_reversals_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.transfers.reversals.update( "tr_xxxxxxxxxxxxx", "trr_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_transfers_reversals_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.Transfer.modify_reversal_async( "tr_xxxxxxxxxxxxx", "trr_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_transfers_reversals_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.transfers.reversals.update_async( "tr_xxxxxxxxxxxxx", "trr_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/transfers/tr_xxxxxxxxxxxxx/reversals/trr_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_treasury_credit_reversals_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/credit_reversals", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.credit_reversals.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/credit_reversals", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_credit_reversals_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.CreditReversal.list( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/credit_reversals", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) def test_treasury_credit_reversals_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/credit_reversals", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.credit_reversals.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/credit_reversals", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_credit_reversals_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.CreditReversal.list_async( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/credit_reversals", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) @pytest.mark.anyio async def test_treasury_credit_reversals_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/credit_reversals", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.credit_reversals.list_async( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/credit_reversals", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_credit_reversals_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/credit_reversals/credrev_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.credit_reversals.retrieve("credrev_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/credit_reversals/credrev_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_credit_reversals_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.CreditReversal.retrieve("credrev_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/credit_reversals/credrev_xxxxxxxxxxxxx", query_string="", ) def test_treasury_credit_reversals_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/credit_reversals/credrev_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.credit_reversals.retrieve("credrev_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/credit_reversals/credrev_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_credit_reversals_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.CreditReversal.retrieve_async( "credrev_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/credit_reversals/credrev_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_treasury_credit_reversals_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/credit_reversals/credrev_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.credit_reversals.retrieve_async( "credrev_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/credit_reversals/credrev_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_credit_reversals_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/credit_reversals", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.credit_reversals.create( { "received_credit": "rc_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/treasury/credit_reversals", query_string="", api_base="https://api.stripe.com", post_data="received_credit=rc_xxxxxxxxxxxxx", ) def test_treasury_credit_reversals_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.CreditReversal.create( received_credit="rc_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/treasury/credit_reversals", query_string="", post_data="received_credit=rc_xxxxxxxxxxxxx", ) def test_treasury_credit_reversals_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/credit_reversals", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.credit_reversals.create( { "received_credit": "rc_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/treasury/credit_reversals", query_string="", api_base="https://api.stripe.com", post_data="received_credit=rc_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_treasury_credit_reversals_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.CreditReversal.create_async( received_credit="rc_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/treasury/credit_reversals", query_string="", post_data="received_credit=rc_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_treasury_credit_reversals_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/credit_reversals", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.credit_reversals.create_async( { "received_credit": "rc_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/treasury/credit_reversals", query_string="", api_base="https://api.stripe.com", post_data="received_credit=rc_xxxxxxxxxxxxx", ) def test_treasury_debit_reversals_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/debit_reversals", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.debit_reversals.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/debit_reversals", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_debit_reversals_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.DebitReversal.list( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/debit_reversals", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) def test_treasury_debit_reversals_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/debit_reversals", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.debit_reversals.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/debit_reversals", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_debit_reversals_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.DebitReversal.list_async( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/debit_reversals", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) @pytest.mark.anyio async def test_treasury_debit_reversals_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/debit_reversals", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.debit_reversals.list_async( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/debit_reversals", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_debit_reversals_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/debit_reversals/debrev_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.debit_reversals.retrieve("debrev_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/debit_reversals/debrev_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_debit_reversals_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.DebitReversal.retrieve("debrev_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/debit_reversals/debrev_xxxxxxxxxxxxx", query_string="", ) def test_treasury_debit_reversals_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/debit_reversals/debrev_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.debit_reversals.retrieve("debrev_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/debit_reversals/debrev_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_debit_reversals_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.DebitReversal.retrieve_async( "debrev_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/debit_reversals/debrev_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_treasury_debit_reversals_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/debit_reversals/debrev_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.debit_reversals.retrieve_async( "debrev_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/debit_reversals/debrev_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_debit_reversals_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/debit_reversals", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.debit_reversals.create( { "received_debit": "rd_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/treasury/debit_reversals", query_string="", api_base="https://api.stripe.com", post_data="received_debit=rd_xxxxxxxxxxxxx", ) def test_treasury_debit_reversals_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.DebitReversal.create(received_debit="rd_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/treasury/debit_reversals", query_string="", post_data="received_debit=rd_xxxxxxxxxxxxx", ) def test_treasury_debit_reversals_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/debit_reversals", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.debit_reversals.create( { "received_debit": "rd_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/treasury/debit_reversals", query_string="", api_base="https://api.stripe.com", post_data="received_debit=rd_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_treasury_debit_reversals_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.DebitReversal.create_async( received_debit="rd_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/treasury/debit_reversals", query_string="", post_data="received_debit=rd_xxxxxxxxxxxxx", ) @pytest.mark.anyio async def test_treasury_debit_reversals_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/debit_reversals", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.debit_reversals.create_async( { "received_debit": "rd_xxxxxxxxxxxxx", } ) http_client_mock.assert_requested( "post", path="/v1/treasury/debit_reversals", query_string="", api_base="https://api.stripe.com", post_data="received_debit=rd_xxxxxxxxxxxxx", ) def test_treasury_financial_accounts_features_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx/features", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.financial_accounts.features.retrieve( "fa_xxxxxxxxxxxxx" ) http_client_mock.assert_requested( "get", path="/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx/features", query_string="", api_base="https://api.stripe.com", ) def test_treasury_financial_accounts_features_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.FinancialAccount.retrieve_features("fa_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx/features", query_string="", ) def test_treasury_financial_accounts_features_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx/features", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.financial_accounts.features.retrieve( "fa_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx/features", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_financial_accounts_features_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.FinancialAccount.retrieve_features_async( "fa_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx/features", query_string="", ) @pytest.mark.anyio async def test_treasury_financial_accounts_features_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx/features", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.financial_accounts.features.retrieve_async( "fa_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx/features", query_string="", api_base="https://api.stripe.com", ) def test_treasury_financial_accounts_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/financial_accounts", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.financial_accounts.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/treasury/financial_accounts", query_string="limit=3", api_base="https://api.stripe.com", ) def test_treasury_financial_accounts_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.FinancialAccount.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/treasury/financial_accounts", query_string="limit=3", ) def test_treasury_financial_accounts_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/financial_accounts", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.financial_accounts.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/treasury/financial_accounts", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_financial_accounts_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.FinancialAccount.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/treasury/financial_accounts", query_string="limit=3", ) @pytest.mark.anyio async def test_treasury_financial_accounts_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/financial_accounts", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.financial_accounts.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/treasury/financial_accounts", query_string="limit=3", api_base="https://api.stripe.com", ) def test_treasury_financial_accounts_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.financial_accounts.retrieve("fa_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_financial_accounts_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.FinancialAccount.retrieve("fa_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", query_string="", ) def test_treasury_financial_accounts_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.financial_accounts.retrieve("fa_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_financial_accounts_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.FinancialAccount.retrieve_async( "fa_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_treasury_financial_accounts_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.financial_accounts.retrieve_async( "fa_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_financial_accounts_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/financial_accounts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.financial_accounts.create( { "supported_currencies": ["usd"], "features": {}, } ) http_client_mock.assert_requested( "post", path="/v1/treasury/financial_accounts", query_string="", api_base="https://api.stripe.com", post_data="supported_currencies[0]=usd", ) def test_treasury_financial_accounts_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.FinancialAccount.create( supported_currencies=["usd"], features={}, ) http_client_mock.assert_requested( "post", path="/v1/treasury/financial_accounts", query_string="", post_data="supported_currencies[0]=usd", ) def test_treasury_financial_accounts_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/financial_accounts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.financial_accounts.create( { "supported_currencies": ["usd"], "features": {}, } ) http_client_mock.assert_requested( "post", path="/v1/treasury/financial_accounts", query_string="", api_base="https://api.stripe.com", post_data="supported_currencies[0]=usd", ) @pytest.mark.anyio async def test_treasury_financial_accounts_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.FinancialAccount.create_async( supported_currencies=["usd"], features={}, ) http_client_mock.assert_requested( "post", path="/v1/treasury/financial_accounts", query_string="", post_data="supported_currencies[0]=usd", ) @pytest.mark.anyio async def test_treasury_financial_accounts_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/financial_accounts", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.financial_accounts.create_async( { "supported_currencies": ["usd"], "features": {}, } ) http_client_mock.assert_requested( "post", path="/v1/treasury/financial_accounts", query_string="", api_base="https://api.stripe.com", post_data="supported_currencies[0]=usd", ) def test_treasury_financial_accounts_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.financial_accounts.update( "fa_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_treasury_financial_accounts_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.FinancialAccount.modify( "fa_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) def test_treasury_financial_accounts_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.financial_accounts.update( "fa_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_treasury_financial_accounts_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.FinancialAccount.modify_async( "fa_xxxxxxxxxxxxx", metadata={"order_id": "6735"}, ) http_client_mock.assert_requested( "post", path="/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", query_string="", post_data="metadata[order_id]=6735", ) @pytest.mark.anyio async def test_treasury_financial_accounts_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.financial_accounts.update_async( "fa_xxxxxxxxxxxxx", {"metadata": {"order_id": "6735"}}, ) http_client_mock.assert_requested( "post", path="/v1/treasury/financial_accounts/fa_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="metadata[order_id]=6735", ) def test_treasury_inbound_transfers_cancel_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.inbound_transfers.cancel("ibt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_treasury_inbound_transfers_cancel_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.InboundTransfer.cancel("ibt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx/cancel", query_string="", ) def test_treasury_inbound_transfers_cancel_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.inbound_transfers.cancel("ibt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_inbound_transfers_cancel_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.InboundTransfer.cancel_async("ibt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx/cancel", query_string="", ) @pytest.mark.anyio async def test_treasury_inbound_transfers_cancel_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.inbound_transfers.cancel_async( "ibt_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_treasury_inbound_transfers_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/inbound_transfers", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.inbound_transfers.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/inbound_transfers", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_inbound_transfers_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.InboundTransfer.list( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/inbound_transfers", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) def test_treasury_inbound_transfers_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/inbound_transfers", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.inbound_transfers.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/inbound_transfers", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_inbound_transfers_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.InboundTransfer.list_async( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/inbound_transfers", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) @pytest.mark.anyio async def test_treasury_inbound_transfers_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/inbound_transfers", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.inbound_transfers.list_async( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/inbound_transfers", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_inbound_transfers_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.inbound_transfers.retrieve("ibt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_inbound_transfers_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.InboundTransfer.retrieve("ibt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx", query_string="", ) def test_treasury_inbound_transfers_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.inbound_transfers.retrieve("ibt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_inbound_transfers_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.InboundTransfer.retrieve_async( "ibt_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_treasury_inbound_transfers_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.inbound_transfers.retrieve_async( "ibt_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/inbound_transfers/ibt_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_inbound_transfers_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/inbound_transfers", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.inbound_transfers.create( { "financial_account": "fa_xxxxxxxxxxxxx", "amount": 10000, "currency": "usd", "origin_payment_method": "pm_xxxxxxxxxxxxx", "description": "InboundTransfer from my bank account", } ) http_client_mock.assert_requested( "post", path="/v1/treasury/inbound_transfers", query_string="", api_base="https://api.stripe.com", post_data="financial_account=fa_xxxxxxxxxxxxx&amount=10000¤cy=usd&origin_payment_method=pm_xxxxxxxxxxxxx&description=InboundTransfer%20from%20my%20bank%20account", ) def test_treasury_inbound_transfers_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.InboundTransfer.create( financial_account="fa_xxxxxxxxxxxxx", amount=10000, currency="usd", origin_payment_method="pm_xxxxxxxxxxxxx", description="InboundTransfer from my bank account", ) http_client_mock.assert_requested( "post", path="/v1/treasury/inbound_transfers", query_string="", post_data="financial_account=fa_xxxxxxxxxxxxx&amount=10000¤cy=usd&origin_payment_method=pm_xxxxxxxxxxxxx&description=InboundTransfer%20from%20my%20bank%20account", ) def test_treasury_inbound_transfers_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/inbound_transfers", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.inbound_transfers.create( { "financial_account": "fa_xxxxxxxxxxxxx", "amount": 10000, "currency": "usd", "origin_payment_method": "pm_xxxxxxxxxxxxx", "description": "InboundTransfer from my bank account", } ) http_client_mock.assert_requested( "post", path="/v1/treasury/inbound_transfers", query_string="", api_base="https://api.stripe.com", post_data="financial_account=fa_xxxxxxxxxxxxx&amount=10000¤cy=usd&origin_payment_method=pm_xxxxxxxxxxxxx&description=InboundTransfer%20from%20my%20bank%20account", ) @pytest.mark.anyio async def test_treasury_inbound_transfers_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.InboundTransfer.create_async( financial_account="fa_xxxxxxxxxxxxx", amount=10000, currency="usd", origin_payment_method="pm_xxxxxxxxxxxxx", description="InboundTransfer from my bank account", ) http_client_mock.assert_requested( "post", path="/v1/treasury/inbound_transfers", query_string="", post_data="financial_account=fa_xxxxxxxxxxxxx&amount=10000¤cy=usd&origin_payment_method=pm_xxxxxxxxxxxxx&description=InboundTransfer%20from%20my%20bank%20account", ) @pytest.mark.anyio async def test_treasury_inbound_transfers_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/inbound_transfers", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.inbound_transfers.create_async( { "financial_account": "fa_xxxxxxxxxxxxx", "amount": 10000, "currency": "usd", "origin_payment_method": "pm_xxxxxxxxxxxxx", "description": "InboundTransfer from my bank account", } ) http_client_mock.assert_requested( "post", path="/v1/treasury/inbound_transfers", query_string="", api_base="https://api.stripe.com", post_data="financial_account=fa_xxxxxxxxxxxxx&amount=10000¤cy=usd&origin_payment_method=pm_xxxxxxxxxxxxx&description=InboundTransfer%20from%20my%20bank%20account", ) def test_treasury_outbound_payments_cancel_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.outbound_payments.cancel("bot_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_treasury_outbound_payments_cancel_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.OutboundPayment.cancel("bot_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx/cancel", query_string="", ) def test_treasury_outbound_payments_cancel_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.outbound_payments.cancel("bot_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_outbound_payments_cancel_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.OutboundPayment.cancel_async("bot_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx/cancel", query_string="", ) @pytest.mark.anyio async def test_treasury_outbound_payments_cancel_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.outbound_payments.cancel_async( "bot_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_treasury_outbound_payments_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/outbound_payments", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.outbound_payments.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_payments", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_outbound_payments_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.OutboundPayment.list( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_payments", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) def test_treasury_outbound_payments_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/outbound_payments", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.outbound_payments.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_payments", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_outbound_payments_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.OutboundPayment.list_async( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_payments", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) @pytest.mark.anyio async def test_treasury_outbound_payments_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/outbound_payments", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.outbound_payments.list_async( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_payments", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_outbound_payments_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.outbound_payments.retrieve("bot_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_outbound_payments_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.OutboundPayment.retrieve("bot_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx", query_string="", ) def test_treasury_outbound_payments_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.outbound_payments.retrieve("bot_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_outbound_payments_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.OutboundPayment.retrieve_async( "bot_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_treasury_outbound_payments_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.outbound_payments.retrieve_async( "bot_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_payments/bot_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_outbound_payments_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/outbound_payments", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.outbound_payments.create( { "financial_account": "fa_xxxxxxxxxxxxx", "amount": 10000, "currency": "usd", "customer": "cus_xxxxxxxxxxxxx", "destination_payment_method": "pm_xxxxxxxxxxxxx", "description": "OutboundPayment to a 3rd party", } ) http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_payments", query_string="", api_base="https://api.stripe.com", post_data="financial_account=fa_xxxxxxxxxxxxx&amount=10000¤cy=usd&customer=cus_xxxxxxxxxxxxx&destination_payment_method=pm_xxxxxxxxxxxxx&description=OutboundPayment%20to%20a%203rd%20party", ) def test_treasury_outbound_payments_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.OutboundPayment.create( financial_account="fa_xxxxxxxxxxxxx", amount=10000, currency="usd", customer="cus_xxxxxxxxxxxxx", destination_payment_method="pm_xxxxxxxxxxxxx", description="OutboundPayment to a 3rd party", ) http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_payments", query_string="", post_data="financial_account=fa_xxxxxxxxxxxxx&amount=10000¤cy=usd&customer=cus_xxxxxxxxxxxxx&destination_payment_method=pm_xxxxxxxxxxxxx&description=OutboundPayment%20to%20a%203rd%20party", ) def test_treasury_outbound_payments_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/outbound_payments", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.outbound_payments.create( { "financial_account": "fa_xxxxxxxxxxxxx", "amount": 10000, "currency": "usd", "customer": "cus_xxxxxxxxxxxxx", "destination_payment_method": "pm_xxxxxxxxxxxxx", "description": "OutboundPayment to a 3rd party", } ) http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_payments", query_string="", api_base="https://api.stripe.com", post_data="financial_account=fa_xxxxxxxxxxxxx&amount=10000¤cy=usd&customer=cus_xxxxxxxxxxxxx&destination_payment_method=pm_xxxxxxxxxxxxx&description=OutboundPayment%20to%20a%203rd%20party", ) @pytest.mark.anyio async def test_treasury_outbound_payments_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.OutboundPayment.create_async( financial_account="fa_xxxxxxxxxxxxx", amount=10000, currency="usd", customer="cus_xxxxxxxxxxxxx", destination_payment_method="pm_xxxxxxxxxxxxx", description="OutboundPayment to a 3rd party", ) http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_payments", query_string="", post_data="financial_account=fa_xxxxxxxxxxxxx&amount=10000¤cy=usd&customer=cus_xxxxxxxxxxxxx&destination_payment_method=pm_xxxxxxxxxxxxx&description=OutboundPayment%20to%20a%203rd%20party", ) @pytest.mark.anyio async def test_treasury_outbound_payments_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/outbound_payments", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.outbound_payments.create_async( { "financial_account": "fa_xxxxxxxxxxxxx", "amount": 10000, "currency": "usd", "customer": "cus_xxxxxxxxxxxxx", "destination_payment_method": "pm_xxxxxxxxxxxxx", "description": "OutboundPayment to a 3rd party", } ) http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_payments", query_string="", api_base="https://api.stripe.com", post_data="financial_account=fa_xxxxxxxxxxxxx&amount=10000¤cy=usd&customer=cus_xxxxxxxxxxxxx&destination_payment_method=pm_xxxxxxxxxxxxx&description=OutboundPayment%20to%20a%203rd%20party", ) def test_treasury_outbound_transfers_cancel_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.outbound_transfers.cancel("obt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_treasury_outbound_transfers_cancel_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.OutboundTransfer.cancel("obt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx/cancel", query_string="", ) def test_treasury_outbound_transfers_cancel_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.outbound_transfers.cancel("obt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_outbound_transfers_cancel_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.OutboundTransfer.cancel_async( "obt_xxxxxxxxxxxxx" ) http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx/cancel", query_string="", ) @pytest.mark.anyio async def test_treasury_outbound_transfers_cancel_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx/cancel", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.outbound_transfers.cancel_async( "obt_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx/cancel", query_string="", api_base="https://api.stripe.com", ) def test_treasury_outbound_transfers_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/outbound_transfers", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.outbound_transfers.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_transfers", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_outbound_transfers_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.OutboundTransfer.list( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_transfers", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) def test_treasury_outbound_transfers_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/outbound_transfers", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.outbound_transfers.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_transfers", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_outbound_transfers_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.OutboundTransfer.list_async( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_transfers", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) @pytest.mark.anyio async def test_treasury_outbound_transfers_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/outbound_transfers", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.outbound_transfers.list_async( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_transfers", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_outbound_transfers_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.outbound_transfers.retrieve("obt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_outbound_transfers_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.OutboundTransfer.retrieve("obt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx", query_string="", ) def test_treasury_outbound_transfers_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.outbound_transfers.retrieve("obt_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_outbound_transfers_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.OutboundTransfer.retrieve_async( "obt_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_treasury_outbound_transfers_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.outbound_transfers.retrieve_async( "obt_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/outbound_transfers/obt_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_outbound_transfers_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/outbound_transfers", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.outbound_transfers.create( { "financial_account": "fa_xxxxxxxxxxxxx", "destination_payment_method": "pm_xxxxxxxxxxxxx", "amount": 500, "currency": "usd", "description": "OutboundTransfer to my external bank account", } ) http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_transfers", query_string="", api_base="https://api.stripe.com", post_data="financial_account=fa_xxxxxxxxxxxxx&destination_payment_method=pm_xxxxxxxxxxxxx&amount=500¤cy=usd&description=OutboundTransfer%20to%20my%20external%20bank%20account", ) def test_treasury_outbound_transfers_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.OutboundTransfer.create( financial_account="fa_xxxxxxxxxxxxx", destination_payment_method="pm_xxxxxxxxxxxxx", amount=500, currency="usd", description="OutboundTransfer to my external bank account", ) http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_transfers", query_string="", post_data="financial_account=fa_xxxxxxxxxxxxx&destination_payment_method=pm_xxxxxxxxxxxxx&amount=500¤cy=usd&description=OutboundTransfer%20to%20my%20external%20bank%20account", ) def test_treasury_outbound_transfers_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/outbound_transfers", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.outbound_transfers.create( { "financial_account": "fa_xxxxxxxxxxxxx", "destination_payment_method": "pm_xxxxxxxxxxxxx", "amount": 500, "currency": "usd", "description": "OutboundTransfer to my external bank account", } ) http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_transfers", query_string="", api_base="https://api.stripe.com", post_data="financial_account=fa_xxxxxxxxxxxxx&destination_payment_method=pm_xxxxxxxxxxxxx&amount=500¤cy=usd&description=OutboundTransfer%20to%20my%20external%20bank%20account", ) @pytest.mark.anyio async def test_treasury_outbound_transfers_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.OutboundTransfer.create_async( financial_account="fa_xxxxxxxxxxxxx", destination_payment_method="pm_xxxxxxxxxxxxx", amount=500, currency="usd", description="OutboundTransfer to my external bank account", ) http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_transfers", query_string="", post_data="financial_account=fa_xxxxxxxxxxxxx&destination_payment_method=pm_xxxxxxxxxxxxx&amount=500¤cy=usd&description=OutboundTransfer%20to%20my%20external%20bank%20account", ) @pytest.mark.anyio async def test_treasury_outbound_transfers_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/treasury/outbound_transfers", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.outbound_transfers.create_async( { "financial_account": "fa_xxxxxxxxxxxxx", "destination_payment_method": "pm_xxxxxxxxxxxxx", "amount": 500, "currency": "usd", "description": "OutboundTransfer to my external bank account", } ) http_client_mock.assert_requested( "post", path="/v1/treasury/outbound_transfers", query_string="", api_base="https://api.stripe.com", post_data="financial_account=fa_xxxxxxxxxxxxx&destination_payment_method=pm_xxxxxxxxxxxxx&amount=500¤cy=usd&description=OutboundTransfer%20to%20my%20external%20bank%20account", ) def test_treasury_received_credits_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/received_credits", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.received_credits.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/received_credits", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_received_credits_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.ReceivedCredit.list( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/received_credits", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) def test_treasury_received_credits_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/received_credits", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.received_credits.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/received_credits", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_received_credits_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.ReceivedCredit.list_async( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/received_credits", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) @pytest.mark.anyio async def test_treasury_received_credits_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/received_credits", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.received_credits.list_async( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/received_credits", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_received_credits_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/received_credits/rc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.received_credits.retrieve("rc_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/received_credits/rc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_received_credits_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.ReceivedCredit.retrieve("rc_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/received_credits/rc_xxxxxxxxxxxxx", query_string="", ) def test_treasury_received_credits_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/received_credits/rc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.received_credits.retrieve("rc_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/received_credits/rc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_received_credits_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.ReceivedCredit.retrieve_async("rc_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/received_credits/rc_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_treasury_received_credits_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/received_credits/rc_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.received_credits.retrieve_async( "rc_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/received_credits/rc_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_received_debits_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/received_debits", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.received_debits.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/received_debits", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_received_debits_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.ReceivedDebit.list( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/received_debits", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) def test_treasury_received_debits_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/received_debits", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.received_debits.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/received_debits", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_received_debits_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.ReceivedDebit.list_async( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/received_debits", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) @pytest.mark.anyio async def test_treasury_received_debits_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/received_debits", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.received_debits.list_async( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/received_debits", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_received_debits_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/received_debits/rd_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.received_debits.retrieve("rd_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/received_debits/rd_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_received_debits_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.ReceivedDebit.retrieve("rd_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/received_debits/rd_xxxxxxxxxxxxx", query_string="", ) def test_treasury_received_debits_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/received_debits/rd_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.received_debits.retrieve("rd_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/received_debits/rd_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_received_debits_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.ReceivedDebit.retrieve_async("rd_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/received_debits/rd_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_treasury_received_debits_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/received_debits/rd_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.received_debits.retrieve_async( "rd_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/received_debits/rd_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_transaction_entries_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/transaction_entries", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.transaction_entries.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/transaction_entries", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_transaction_entries_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.TransactionEntry.list( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/transaction_entries", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) def test_treasury_transaction_entries_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/transaction_entries", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.transaction_entries.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/transaction_entries", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_transaction_entries_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.TransactionEntry.list_async( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/transaction_entries", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) @pytest.mark.anyio async def test_treasury_transaction_entries_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/transaction_entries", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.transaction_entries.list_async( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/transaction_entries", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_transaction_entries_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/transaction_entries/trxne_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.transaction_entries.retrieve("trxne_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/transaction_entries/trxne_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_transaction_entries_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.TransactionEntry.retrieve("trxne_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/transaction_entries/trxne_xxxxxxxxxxxxx", query_string="", ) def test_treasury_transaction_entries_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/transaction_entries/trxne_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.transaction_entries.retrieve("trxne_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/transaction_entries/trxne_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_transaction_entries_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.TransactionEntry.retrieve_async( "trxne_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/transaction_entries/trxne_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_treasury_transaction_entries_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/transaction_entries/trxne_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.transaction_entries.retrieve_async( "trxne_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/transaction_entries/trxne_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_transactions_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/transactions", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.transactions.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/transactions", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_transactions_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.Transaction.list( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/transactions", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) def test_treasury_transactions_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/transactions", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.transactions.list( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/transactions", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_transactions_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.Transaction.list_async( financial_account="fa_xxxxxxxxxxxxx", limit=3, ) http_client_mock.assert_requested( "get", path="/v1/treasury/transactions", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", ) @pytest.mark.anyio async def test_treasury_transactions_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/transactions", "financial_account=fa_xxxxxxxxxxxxx&limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.transactions.list_async( { "financial_account": "fa_xxxxxxxxxxxxx", "limit": 3, } ) http_client_mock.assert_requested( "get", path="/v1/treasury/transactions", query_string="financial_account=fa_xxxxxxxxxxxxx&limit=3", api_base="https://api.stripe.com", ) def test_treasury_transactions_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/transactions/trxn_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.treasury.transactions.retrieve("trxn_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/transactions/trxn_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_treasury_transactions_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.treasury.Transaction.retrieve("trxn_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/transactions/trxn_xxxxxxxxxxxxx", query_string="", ) def test_treasury_transactions_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/transactions/trxn_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.treasury.transactions.retrieve("trxn_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/transactions/trxn_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_treasury_transactions_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.treasury.Transaction.retrieve_async("trxn_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/treasury/transactions/trxn_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_treasury_transactions_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/treasury/transactions/trxn_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.treasury.transactions.retrieve_async( "trxn_xxxxxxxxxxxxx", ) http_client_mock.assert_requested( "get", path="/v1/treasury/transactions/trxn_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_webhook_endpoints_delete_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/webhook_endpoints/we_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.webhook_endpoints.delete("we_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/webhook_endpoints/we_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_webhook_endpoints_delete( self, http_client_mock: HTTPClientMock ) -> None: stripe.WebhookEndpoint.delete("we_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/webhook_endpoints/we_xxxxxxxxxxxxx", query_string="", ) def test_webhook_endpoints_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/webhook_endpoints/we_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.webhook_endpoints.delete("we_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/webhook_endpoints/we_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_webhook_endpoints_delete_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.WebhookEndpoint.delete_async("we_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/webhook_endpoints/we_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_webhook_endpoints_delete_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v1/webhook_endpoints/we_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.webhook_endpoints.delete_async("we_xxxxxxxxxxxxx") http_client_mock.assert_requested( "delete", path="/v1/webhook_endpoints/we_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_webhook_endpoints_get_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/webhook_endpoints", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.webhook_endpoints.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/webhook_endpoints", query_string="limit=3", api_base="https://api.stripe.com", ) def test_webhook_endpoints_get( self, http_client_mock: HTTPClientMock ) -> None: stripe.WebhookEndpoint.list(limit=3) http_client_mock.assert_requested( "get", path="/v1/webhook_endpoints", query_string="limit=3", ) def test_webhook_endpoints_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/webhook_endpoints", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.webhook_endpoints.list({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/webhook_endpoints", query_string="limit=3", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_webhook_endpoints_get_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.WebhookEndpoint.list_async(limit=3) http_client_mock.assert_requested( "get", path="/v1/webhook_endpoints", query_string="limit=3", ) @pytest.mark.anyio async def test_webhook_endpoints_get_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/webhook_endpoints", "limit=3", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.webhook_endpoints.list_async({"limit": 3}) http_client_mock.assert_requested( "get", path="/v1/webhook_endpoints", query_string="limit=3", api_base="https://api.stripe.com", ) def test_webhook_endpoints_get_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/webhook_endpoints/we_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.webhook_endpoints.retrieve("we_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/webhook_endpoints/we_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_webhook_endpoints_get_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.WebhookEndpoint.retrieve("we_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/webhook_endpoints/we_xxxxxxxxxxxxx", query_string="", ) def test_webhook_endpoints_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/webhook_endpoints/we_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.webhook_endpoints.retrieve("we_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/webhook_endpoints/we_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) @pytest.mark.anyio async def test_webhook_endpoints_get_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.WebhookEndpoint.retrieve_async("we_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/webhook_endpoints/we_xxxxxxxxxxxxx", query_string="", ) @pytest.mark.anyio async def test_webhook_endpoints_get_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v1/webhook_endpoints/we_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.webhook_endpoints.retrieve_async("we_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/webhook_endpoints/we_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", ) def test_webhook_endpoints_post_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/webhook_endpoints", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.webhook_endpoints.create( { "url": "https://example.com/my/webhook/endpoint", "enabled_events": ["charge.failed", "charge.succeeded"], } ) http_client_mock.assert_requested( "post", path="/v1/webhook_endpoints", query_string="", api_base="https://api.stripe.com", post_data="url=https%3A%2F%2Fexample.com%2Fmy%2Fwebhook%2Fendpoint&enabled_events[0]=charge.failed&enabled_events[1]=charge.succeeded", ) def test_webhook_endpoints_post( self, http_client_mock: HTTPClientMock ) -> None: stripe.WebhookEndpoint.create( url="https://example.com/my/webhook/endpoint", enabled_events=["charge.failed", "charge.succeeded"], ) http_client_mock.assert_requested( "post", path="/v1/webhook_endpoints", query_string="", post_data="url=https%3A%2F%2Fexample.com%2Fmy%2Fwebhook%2Fendpoint&enabled_events[0]=charge.failed&enabled_events[1]=charge.succeeded", ) def test_webhook_endpoints_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/webhook_endpoints", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.webhook_endpoints.create( { "url": "https://example.com/my/webhook/endpoint", "enabled_events": ["charge.failed", "charge.succeeded"], } ) http_client_mock.assert_requested( "post", path="/v1/webhook_endpoints", query_string="", api_base="https://api.stripe.com", post_data="url=https%3A%2F%2Fexample.com%2Fmy%2Fwebhook%2Fendpoint&enabled_events[0]=charge.failed&enabled_events[1]=charge.succeeded", ) @pytest.mark.anyio async def test_webhook_endpoints_post_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.WebhookEndpoint.create_async( url="https://example.com/my/webhook/endpoint", enabled_events=["charge.failed", "charge.succeeded"], ) http_client_mock.assert_requested( "post", path="/v1/webhook_endpoints", query_string="", post_data="url=https%3A%2F%2Fexample.com%2Fmy%2Fwebhook%2Fendpoint&enabled_events[0]=charge.failed&enabled_events[1]=charge.succeeded", ) @pytest.mark.anyio async def test_webhook_endpoints_post_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/webhook_endpoints", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.webhook_endpoints.create_async( { "url": "https://example.com/my/webhook/endpoint", "enabled_events": ["charge.failed", "charge.succeeded"], } ) http_client_mock.assert_requested( "post", path="/v1/webhook_endpoints", query_string="", api_base="https://api.stripe.com", post_data="url=https%3A%2F%2Fexample.com%2Fmy%2Fwebhook%2Fendpoint&enabled_events[0]=charge.failed&enabled_events[1]=charge.succeeded", ) def test_webhook_endpoints_post_2_service_non_namespaced( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/webhook_endpoints/we_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.webhook_endpoints.update( "we_xxxxxxxxxxxxx", {"url": "https://example.com/new_endpoint"}, ) http_client_mock.assert_requested( "post", path="/v1/webhook_endpoints/we_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="url=https%3A%2F%2Fexample.com%2Fnew_endpoint", ) def test_webhook_endpoints_post_2( self, http_client_mock: HTTPClientMock ) -> None: stripe.WebhookEndpoint.modify( "we_xxxxxxxxxxxxx", url="https://example.com/new_endpoint", ) http_client_mock.assert_requested( "post", path="/v1/webhook_endpoints/we_xxxxxxxxxxxxx", query_string="", post_data="url=https%3A%2F%2Fexample.com%2Fnew_endpoint", ) def test_webhook_endpoints_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/webhook_endpoints/we_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v1.webhook_endpoints.update( "we_xxxxxxxxxxxxx", {"url": "https://example.com/new_endpoint"}, ) http_client_mock.assert_requested( "post", path="/v1/webhook_endpoints/we_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="url=https%3A%2F%2Fexample.com%2Fnew_endpoint", ) @pytest.mark.anyio async def test_webhook_endpoints_post_2_async( self, http_client_mock: HTTPClientMock ) -> None: await stripe.WebhookEndpoint.modify_async( "we_xxxxxxxxxxxxx", url="https://example.com/new_endpoint", ) http_client_mock.assert_requested( "post", path="/v1/webhook_endpoints/we_xxxxxxxxxxxxx", query_string="", post_data="url=https%3A%2F%2Fexample.com%2Fnew_endpoint", ) @pytest.mark.anyio async def test_webhook_endpoints_post_2_service_async( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v1/webhook_endpoints/we_xxxxxxxxxxxxx", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) await client.v1.webhook_endpoints.update_async( "we_xxxxxxxxxxxxx", {"url": "https://example.com/new_endpoint"}, ) http_client_mock.assert_requested( "post", path="/v1/webhook_endpoints/we_xxxxxxxxxxxxx", query_string="", api_base="https://api.stripe.com", post_data="url=https%3A%2F%2Fexample.com%2Fnew_endpoint", ) def test_v2_billing_meter_event_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v2/billing/meter_events", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.billing.meter_events.create( { "event_name": "event_name", "payload": {"key": "payload"}, } ) http_client_mock.assert_requested( "post", path="/v2/billing/meter_events", query_string="", api_base="https://api.stripe.com", post_data='{"event_name":"event_name","payload":{"key":"payload"}}', is_json=True, ) def test_v2_billing_meter_event_adjustment_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v2/billing/meter_event_adjustments", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.billing.meter_event_adjustments.create( { "cancel": {"identifier": "identifier"}, "event_name": "event_name", "type": "cancel", } ) http_client_mock.assert_requested( "post", path="/v2/billing/meter_event_adjustments", query_string="", api_base="https://api.stripe.com", post_data='{"cancel":{"identifier":"identifier"},"event_name":"event_name","type":"cancel"}', is_json=True, ) def test_v2_billing_meter_event_session_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v2/billing/meter_event_session", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.billing.meter_event_session.create() http_client_mock.assert_requested( "post", path="/v2/billing/meter_event_session", query_string="", api_base="https://api.stripe.com", post_data="{}", is_json=True, ) def test_v2_billing_meter_event_stream_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v2/billing/meter_event_stream", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.billing.meter_event_stream.create( { "events": [ { "event_name": "event_name", "identifier": "identifier", "payload": {"key": "payload"}, "timestamp": "1970-01-01T15:18:46.294Z", }, ], } ) http_client_mock.assert_requested( "post", path="/v2/billing/meter_event_stream", query_string="", api_base="https://meter-events.stripe.com", post_data='{"events":[{"event_name":"event_name","identifier":"identifier","payload":{"key":"payload"},"timestamp":"1970-01-01T15:18:46.294Z"}]}', is_json=True, ) def test_v2_core_event_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v2/core/events", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.core.events.list() http_client_mock.assert_requested( "get", path="/v2/core/events", query_string="", api_base="https://api.stripe.com", ) def test_v2_core_event_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v2/core/events/id_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.core.events.retrieve("id_123") http_client_mock.assert_requested( "get", path="/v2/core/events/id_123", query_string="", api_base="https://api.stripe.com", ) def test_v2_core_event_destination_get_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v2/core/event_destinations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.core.event_destinations.list() http_client_mock.assert_requested( "get", path="/v2/core/event_destinations", query_string="", api_base="https://api.stripe.com", ) def test_v2_core_event_destination_post_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v2/core/event_destinations", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.core.event_destinations.create( { "enabled_events": ["enabled_events"], "event_payload": "thin", "name": "name", "type": "amazon_eventbridge", } ) http_client_mock.assert_requested( "post", path="/v2/core/event_destinations", query_string="", api_base="https://api.stripe.com", post_data='{"enabled_events":["enabled_events"],"event_payload":"thin","name":"name","type":"amazon_eventbridge"}', is_json=True, ) def test_v2_core_event_destination_delete_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "delete", "/v2/core/event_destinations/id_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.core.event_destinations.delete("id_123") http_client_mock.assert_requested( "delete", path="/v2/core/event_destinations/id_123", query_string="", api_base="https://api.stripe.com", ) def test_v2_core_event_destination_get_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "get", "/v2/core/event_destinations/id_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.core.event_destinations.retrieve("id_123") http_client_mock.assert_requested( "get", path="/v2/core/event_destinations/id_123", query_string="", api_base="https://api.stripe.com", ) def test_v2_core_event_destination_post_2_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v2/core/event_destinations/id_123", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.core.event_destinations.update("id_123") http_client_mock.assert_requested( "post", path="/v2/core/event_destinations/id_123", query_string="", api_base="https://api.stripe.com", post_data="{}", is_json=True, ) def test_v2_core_event_destination_post_3_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v2/core/event_destinations/id_123/disable", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.core.event_destinations.disable("id_123") http_client_mock.assert_requested( "post", path="/v2/core/event_destinations/id_123/disable", query_string="", api_base="https://api.stripe.com", post_data="{}", is_json=True, ) def test_v2_core_event_destination_post_4_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v2/core/event_destinations/id_123/enable", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.core.event_destinations.enable("id_123") http_client_mock.assert_requested( "post", path="/v2/core/event_destinations/id_123/enable", query_string="", api_base="https://api.stripe.com", post_data="{}", is_json=True, ) def test_v2_core_event_destination_post_5_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v2/core/event_destinations/id_123/ping", ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.core.event_destinations.ping("id_123") http_client_mock.assert_requested( "post", path="/v2/core/event_destinations/id_123/ping", query_string="", api_base="https://api.stripe.com", post_data="{}", is_json=True, ) def test_temporary_session_expired_error_service( self, http_client_mock: HTTPClientMock ) -> None: http_client_mock.stub_request( "post", "/v2/billing/meter_event_stream", rbody='{"error":{"type":"temporary_session_expired","code":"billing_meter_event_session_expired"}}', rcode=400, ) client = StripeClient( "sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) try: client.v2.billing.meter_event_stream.create( { "events": [ { "event_name": "event_name", "payload": {"key": "payload"}, }, ], } ) except _error.TemporarySessionExpiredError: pass http_client_mock.assert_requested( "post", path="/v2/billing/meter_event_stream", query_string="", api_base="https://meter-events.stripe.com", post_data='{"events":[{"event_name":"event_name","payload":{"key":"payload"}}]}', is_json=True, ) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3890622 stripe-13.2.0/tests/test_http_client.py0000644000000000000000000017637315102753431015143 0ustar00import io import base64 import json import sys from typing import Any, Callable, Dict, List, Optional from unittest.mock import MagicMock, Mock, call, patch import pytest from typing_extensions import Type if sys.version_info >= (3, 8): from unittest.mock import AsyncMock else: from mock import AsyncMock from contextlib import contextmanager import urllib3 import stripe from stripe import APIConnectionError, _http_client from stripe._encode import _api_encode from stripe._http_client import ( AIOHTTPClient, HTTPXClient, NoImportFoundAsyncClient, PycurlClient, RequestsClient, ) from stripe._http_client import ( UrlFetchClient as AppEngineClient, ) from stripe._http_client import ( UrllibClient as BuiltinClient, ) VALID_API_METHODS = ("get", "post", "delete") @pytest.fixture def mocked_request_lib(): return MagicMock() SUPPORTED_LIBS = frozenset( ("google.appengine.api", "requests", "pycurl", "httpx", "aiohttp", "anyio") ) @pytest.fixture def mock_import(): """ A pytest fixture that simulates a specific set of libraries being available. Right now it hardcodes information about our `SUPPORTED_LIBS`, but we could make it more general. usage: with patch("builtins.__import__") as mocked_import_fn: mocked_import_fn.side_effect = mock_import(['a', 'b', 'c']) # assuming SUPPORTED_LIBS is a,b,c import a # works (MagicMock if `a` isn't installed for real) import d # importError import pytest # is a regular import, only works if pytest is actually installed """ orig_import = __import__ def create_mocked_import(available_libs: List[str]): def _mocked_import(name, *args): """ emulate packages being missing by throwing early if they're not supposed to be here. """ if name in SUPPORTED_LIBS and name not in available_libs: raise ImportError() try: # if it's not supposed to be missing, try and import it for real return orig_import(name, *args) except ImportError: # we don't have some of our 3rd party options (like the GAE module) available, but the import needs to succeed return MagicMock() return _mocked_import return create_mocked_import class TestImports: @pytest.mark.parametrize( ["available_libs", "expected"], [ [["google.appengine.api"], AppEngineClient], [["google.appengine.api", "requests"], AppEngineClient], [["requests"], RequestsClient], [["requests", "pycurl"], RequestsClient], [["pycurl"], PycurlClient], [[], BuiltinClient], ], ) def test_default_httpclient_from_imports( self, available_libs, expected, mock_import ): with patch("builtins.__import__") as mocked_import_fn: mocked_import_fn.side_effect = mock_import(available_libs) client = _http_client.new_default_http_client() assert isinstance(client, expected) @pytest.mark.parametrize( ["available_libs", "expected"], [ # needs both httpx and anyio [["httpx"], NoImportFoundAsyncClient], [["anyio"], NoImportFoundAsyncClient], [["httpx", "anyio"], HTTPXClient], # having only one required lib means we proceed [["anyio", "aiohttp"], AIOHTTPClient], [["aiohttp"], AIOHTTPClient], [[], NoImportFoundAsyncClient], ], ) def test_default_async_httpclient_from_imports( self, available_libs, expected, mock_import ): with patch("builtins.__import__") as mocked_import_fn: mocked_import_fn.side_effect = mock_import(available_libs) client = _http_client.new_http_client_async_fallback() assert isinstance(client, expected) MakeReqFunc = Callable[[str, str, Dict[str, str], Optional[str]], Any] class TestRetrySleepTimeDefaultHttpClient: def assert_sleep_times( self, client: _http_client.HTTPClient, expected: List[float] ): # the sleep duration for a request after N retries actual = [ client._sleep_time_seconds(i + 1) for i in range(len(expected)) ] assert expected == actual @contextmanager def mock_max_delay(self, new_value): original_value = _http_client.HTTPClient.MAX_DELAY _http_client.HTTPClient.MAX_DELAY = new_value try: yield self finally: _http_client.HTTPClient.MAX_DELAY = original_value def test_sleep_time_exponential_back_off(self): client = _http_client.new_default_http_client() client._add_jitter_time = lambda sleep_seconds: sleep_seconds with self.mock_max_delay(10): self.assert_sleep_times(client, []) def test_initial_delay_as_minimum(self): client = _http_client.new_default_http_client() client._add_jitter_time = lambda sleep_seconds: sleep_seconds * 0.001 initial_delay = _http_client.HTTPClient.INITIAL_DELAY self.assert_sleep_times(client, [initial_delay] * 5) def test_maximum_delay(self): client = _http_client.new_default_http_client() client._add_jitter_time = lambda sleep_seconds: sleep_seconds max_delay = _http_client.HTTPClient.MAX_DELAY expected = [0.5, 1.0, 2.0, 4.0, max_delay, max_delay, max_delay] self.assert_sleep_times(client, expected) def test_retry_after_header(self): client = _http_client.new_default_http_client() client._add_jitter_time = lambda sleep_seconds: sleep_seconds # Prefer retry-after if it's bigger assert 30 == client._sleep_time_seconds( 2, (None, 409, {"retry-after": "30"}) ) # Prefer default if it's bigger assert 2 == client._sleep_time_seconds( 3, (None, 409, {"retry-after": "1"}) ) # Ignore crazy-big values assert 1 == client._sleep_time_seconds( 2, (None, 409, {"retry-after": "300"}) ) def test_randomness_added(self): client = _http_client.new_default_http_client() random_value = 0.8 client._add_jitter_time = ( lambda sleep_seconds: sleep_seconds * random_value ) base_value = _http_client.HTTPClient.INITIAL_DELAY * random_value with self.mock_max_delay(10): expected = [ _http_client.HTTPClient.INITIAL_DELAY, base_value * 2, base_value * 4, base_value * 8, base_value * 16, ] self.assert_sleep_times(client, expected) def test_jitter_has_randomness_but_within_range(self): client = _http_client.new_default_http_client() jittered_ones = set( map(lambda _: client._add_jitter_time(1), list(range(100))) ) assert len(jittered_ones) > 1 assert all(0.5 <= val <= 1 for val in jittered_ones) class TestRetryConditionsDefaultHttpClient: def test_should_retry_on_codes(self): one_xx = list(range(100, 104)) two_xx = list(range(200, 209)) three_xx = list(range(300, 308)) four_xx = list(range(400, 431)) client = _http_client.new_default_http_client() codes = one_xx + two_xx + three_xx + four_xx codes.remove(409) # These status codes should not be retried by default. for code in codes: assert ( client._should_retry( (None, code, None), None, 0, max_network_retries=1 ) is False ) # These status codes should be retried by default. assert ( client._should_retry( (None, 409, None), None, 0, max_network_retries=1 ) is True ) assert ( client._should_retry( (None, 500, None), None, 0, max_network_retries=1 ) is True ) assert ( client._should_retry( (None, 503, None), None, 0, max_network_retries=1 ) is True ) def test_should_retry_on_error(self, mocker): client = _http_client.new_default_http_client() api_connection_error = Mock() api_connection_error.should_retry = True assert ( client._should_retry( None, api_connection_error, 0, max_network_retries=1 ) is True ) api_connection_error.should_retry = False assert ( client._should_retry( None, api_connection_error, 0, max_network_retries=1 ) is False ) def test_should_retry_on_stripe_should_retry_true(self, mocker): client = _http_client.new_default_http_client() headers = {"stripe-should-retry": "true"} # Ordinarily, we would not retry a 400, but with the header as true, we would. assert ( client._should_retry( (None, 400, {}), None, 0, max_network_retries=1 ) is False ) assert ( client._should_retry( (None, 400, headers), None, 0, max_network_retries=1 ) is True ) def test_should_retry_on_stripe_should_retry_false(self, mocker): client = _http_client.new_default_http_client() headers = {"stripe-should-retry": "false"} # Ordinarily, we would retry a 500, but with the header as false, we would not. assert ( client._should_retry( (None, 500, {}), None, 0, max_network_retries=1 ) is True ) assert ( client._should_retry( (None, 500, headers), None, 0, max_network_retries=1 ) is False ) def test_should_retry_on_num_retries(self, mocker): client = _http_client.new_default_http_client() max_test_retries = 10 api_connection_error = Mock() api_connection_error.should_retry = True assert ( client._should_retry( None, api_connection_error, max_test_retries + 1, max_network_retries=max_test_retries, ) is False ) assert ( client._should_retry( (None, 409, None), None, max_test_retries + 1, max_network_retries=max_test_retries, ) is False ) class TestHTTPClient: @pytest.fixture(autouse=True) def setup_stripe(self): orig_attrs = {"enable_telemetry": stripe.enable_telemetry} stripe.enable_telemetry = False yield stripe.enable_telemetry = orig_attrs["enable_telemetry"] def test_sends_telemetry_on_second_request(self, mocker): class TestClient(_http_client.HTTPClient): pass stripe.enable_telemetry = True url = "http://fake.url" client = TestClient() client.request = mocker.MagicMock( return_value=["", 200, {"Request-Id": "req_123"}] ) _, code, _ = client.request_with_retries("get", url, {}, None) assert code == 200 client.request.assert_called_with("get", url, {}, None) client.request = mocker.MagicMock( return_value=["", 200, {"Request-Id": "req_234"}] ) _, code, _ = client.request_with_retries("get", url, {}, None) assert code == 200 args, _ = client.request.call_args assert "X-Stripe-Client-Telemetry" in args[2] telemetry = json.loads(args[2]["X-Stripe-Client-Telemetry"]) assert telemetry["last_request_metrics"]["request_id"] == "req_123" class ClientTestBase: REQUEST_CLIENT: Type[_http_client.HTTPClient] valid_url = "https://api.stripe.com/foo" # only some clients support proxies PROXY = None # certain test classes depend on re-initializing the client because they've modified the mocked lib before it goes in ALWAYS_INIT_CLIENT = False # allow customizing client creation CLIENT_KWARGS = None @pytest.fixture def make_client(self, mocked_request_lib): def _make_client(**kwargs): client = self.REQUEST_CLIENT( verify_ssl_certs=True, proxy=self.PROXY, _lib=mocked_request_lib, **kwargs, ) # speed up all retries client._sleep_time_seconds = ( lambda num_retries, response=None: 0.0001 ) return client return _make_client @pytest.fixture def client(self, make_client): return make_client() @pytest.fixture def make_request(self, make_client, client) -> MakeReqFunc: def _make_request( method, url, headers, post_data, client_kwargs=None, max_retries=None, ): # reuse the fixture client, if possible if client_kwargs or self.CLIENT_KWARGS or self.ALWAYS_INIT_CLIENT: local_client = make_client( **{ **(self.CLIENT_KWARGS or {}), **(client_kwargs or {}), } ) else: local_client = client return local_client.request_with_retries( method, url, headers, post_data, max_network_retries=max_retries, ) return _make_request @pytest.fixture def make_streamed_request(self, make_client, client) -> MakeReqFunc: def _make_request_stream( method, url, headers, post_data, client_kwargs=None, max_retries=None, ): if client_kwargs or self.CLIENT_KWARGS or self.ALWAYS_INIT_CLIENT: local_client = make_client( **(client_kwargs or self.CLIENT_KWARGS or {}) ) else: local_client = client return local_client.request_stream_with_retries( method, url, headers, post_data, max_network_retries=max_retries, ) return _make_request_stream @pytest.fixture def make_async_request(self, make_client, client) -> MakeReqFunc: def _make_request_async( method, url, headers, post_data, client_kwargs=None, max_retries=None, ): if client_kwargs or self.CLIENT_KWARGS or self.ALWAYS_INIT_CLIENT: local_client = make_client( **(client_kwargs or {}), **(self.CLIENT_KWARGS or {}), ) else: local_client = client return local_client.request_with_retries_async( method, url, headers, post_data, max_network_retries=max_retries, ) return _make_request_async @pytest.fixture def make_async_stream_request(self, make_client, client) -> MakeReqFunc: async def _make_request_stream_async( method, url, headers, post_data, client_kwargs=None, max_retries=None, ): if client_kwargs or self.CLIENT_KWARGS or self.ALWAYS_INIT_CLIENT: local_client = make_client( **(client_kwargs or {}), **(self.CLIENT_KWARGS or {}), ) else: local_client = client return await local_client.request_stream_with_retries_async( method, url, headers, post_data, max_network_retries=max_retries, ) return _make_request_stream_async @pytest.fixture def mock_response(self): def mock_response(mock, body, code): raise NotImplementedError( "You must implement this in your test subclass" ) return mock_response @pytest.fixture def mock_error(self): def mock_error(mock, error): raise NotImplementedError( "You must implement this in your test subclass" ) return mock_error @pytest.fixture def check_call(self): def check_call( mock, method, abs_url, headers, params, is_streaming=False ): raise NotImplementedError( "You must implement this in your test subclass" ) return check_call def test_request( self, mocked_request_lib, make_request: MakeReqFunc, mock_response, check_call, ): mock_response(mocked_request_lib, '{"foo": "baz"}', 200) for method in VALID_API_METHODS: abs_url = self.valid_url data = "" if method != "post": abs_url = f"{abs_url}?{data}" data = None headers = {"my-header": "header val"} body, code, _ = make_request(method, abs_url, headers, data) assert code == 200 assert body == '{"foo": "baz"}' check_call(mocked_request_lib, method, abs_url, data, headers) def test_request_stream( self, mocked_request_lib, make_streamed_request, mock_response ): for method in VALID_API_METHODS: mock_response(mocked_request_lib, "some streamed content", 200) abs_url = self.valid_url data = "" if method != "post": abs_url = "%s?%s" % (abs_url, data) data = None headers = {"my-header": "header val"} stream, code, _ = make_streamed_request( method, abs_url, headers, data ) assert code == 200 body_content = None # Here we need to convert and align all content on one type (string) # as some clients return a string stream others a byte stream. if hasattr(stream, "read"): body_content = stream.read() if hasattr(body_content, "decode"): body_content = body_content.decode("utf-8") elif hasattr(stream, "__iter__"): body_content = "".join( [chunk.decode("utf-8") for chunk in stream] ) assert body_content == "some streamed content" def test_exception(self, mocked_request_lib, mock_error, make_request): mock_error(mocked_request_lib) with pytest.raises(APIConnectionError): make_request("get", self.valid_url, {}, None, mocked_request_lib) class RequestsVerify(object): def __eq__(self, other): return other and other.endswith("stripe/data/ca-certificates.crt") class TestRequestsClient(ClientTestBase): REQUEST_CLIENT: Type[_http_client.RequestsClient] = ( _http_client.RequestsClient ) PROXY = "http://slap/" @pytest.fixture def session(self): return MagicMock() @pytest.fixture def mock_response(self, session): def _mock_response(mock, body, code): result = Mock() result.content = body result.status_code = code result.headers = {} result.raw = urllib3.response.HTTPResponse( body=io.BytesIO(str.encode(body)), preload_content=False, status=code, ) session.request = MagicMock(return_value=result) mock.Session = MagicMock(return_value=session) return _mock_response @pytest.fixture def mock_error(self, session): def _mock_error(mock): # The first kind of request exceptions we catch mock.exceptions.SSLError = Exception session.request.side_effect = mock.exceptions.SSLError() mock.Session = MagicMock(return_value=session) return _mock_error @pytest.fixture def check_call(self, session): def _check_call( _, method, url, post_data, headers, is_streaming=False, timeout=80, times=None, ): times = times or 1 pargs = (method, url) kwargs = { "headers": headers, "data": post_data, "verify": RequestsVerify(), "proxies": {"http": "http://slap/", "https": "http://slap/"}, "timeout": timeout, } if is_streaming: kwargs["stream"] = True calls = [call(*pargs, **kwargs) for _ in range(times)] session.request.assert_has_calls(calls) return _check_call def test_timeout( self, mocked_request_lib, mock_response, check_call, make_request ): headers = {"my-header": "header val"} data = "" mock_response(mocked_request_lib, '{"foo": "baz"}', 200) make_request( "POST", self.valid_url, headers, data, client_kwargs={"timeout": 5} ) check_call(None, "POST", self.valid_url, data, headers, timeout=5) def test_request_stream_forwards_stream_param( self, mocked_request_lib, mock_response, check_call, make_streamed_request: MakeReqFunc, ): mock_response(mocked_request_lib, "some streamed content", 200) make_streamed_request("GET", self.valid_url, {}, None) check_call(None, "GET", self.valid_url, None, {}, is_streaming=True) class TestRequestClientRetryBehavior(TestRequestsClient): PROXY = "http://slap/" max_retries = 3 @pytest.fixture def response(self): def response(code=200, headers=None): result = Mock() result.content = "{}" result.status_code = code result.headers = headers or {} result.raw = urllib3.response.HTTPResponse( body=io.BytesIO(str.encode(result.content)), preload_content=False, status=code, ) return result return response @pytest.fixture def mock_retry(self, session, mocked_request_lib): def _mock_retry( retry_error_num=0, no_retry_error_num=0, responses=None ): if responses is None: responses = [] # Mocking classes of exception we catch. Any group of exceptions # with the same inheritance pattern will work request_root_error_class = Exception mocked_request_lib.exceptions.RequestException = ( request_root_error_class ) no_retry_parent_class = LookupError no_retry_child_class = KeyError mocked_request_lib.exceptions.SSLError = no_retry_parent_class no_retry_errors = [no_retry_child_class()] * no_retry_error_num retry_parent_class = EnvironmentError retry_child_class = IOError mocked_request_lib.exceptions.Timeout = retry_parent_class mocked_request_lib.exceptions.ConnectionError = retry_parent_class retry_errors = [retry_child_class()] * retry_error_num # Include mock responses as possible side-effects # to simulate returning proper results after some exceptions session.request.side_effect = ( retry_errors + no_retry_errors + responses ) mocked_request_lib.Session = MagicMock(return_value=session) return mocked_request_lib return _mock_retry @pytest.fixture def check_call_numbers(self, check_call): valid_url = self.valid_url def _check_call_numbers(times, is_streaming=False): check_call( None, "GET", valid_url, None, {}, times=times, is_streaming=is_streaming, ) return _check_call_numbers def test_retry_error_until_response( self, mock_retry, response, check_call_numbers, make_request ): mock_retry(retry_error_num=1, responses=[response(code=202)]) _, code, _ = make_request( "GET", self.valid_url, {}, None, max_retries=self.max_retries ) assert code == 202 check_call_numbers(2) def test_retry_error_until_exceeded( self, mock_retry, check_call_numbers, make_request ): mock_retry(retry_error_num=self.max_retries) with pytest.raises(APIConnectionError): make_request( "GET", self.valid_url, {}, None, max_retries=self.max_retries ) check_call_numbers(self.max_retries) def test_no_retry_error( self, mock_retry, check_call_numbers, make_request ): mock_retry(no_retry_error_num=self.max_retries) with pytest.raises(APIConnectionError): make_request( "GET", self.valid_url, {}, None, max_retries=self.max_retries ) check_call_numbers(1) def test_retry_codes( self, mock_retry, response, check_call_numbers, make_request ): mock_retry(responses=[response(code=409), response(code=202)]) _, code, _ = make_request( "GET", self.valid_url, {}, None, max_retries=self.max_retries ) assert code == 202 check_call_numbers(2) def test_retry_codes_until_exceeded( self, mock_retry, response, check_call_numbers, make_request ): mock_retry(responses=[response(code=409)] * (self.max_retries + 1)) _, code, _ = make_request( "GET", self.valid_url, {}, None, max_retries=self.max_retries ) assert code == 409 check_call_numbers(self.max_retries + 1) def test_retry_request_stream_error_until_response( self, mock_retry, response, check_call_numbers, make_streamed_request, ): mock_retry(retry_error_num=1, responses=[response(code=202)]) _, code, _ = make_streamed_request( "GET", self.valid_url, {}, None, max_retries=self.max_retries ) assert code == 202 check_call_numbers(2, is_streaming=True) def test_retry_request_stream_error_until_exceeded( self, mock_retry, check_call_numbers, make_streamed_request, ): mock_retry(retry_error_num=self.max_retries) with pytest.raises(APIConnectionError): make_streamed_request( "GET", self.valid_url, {}, None, max_retries=self.max_retries ) check_call_numbers(self.max_retries, is_streaming=True) def test_no_retry_request_stream_error( self, mock_retry, check_call_numbers, make_streamed_request, ): mock_retry(no_retry_error_num=self.max_retries) with pytest.raises(APIConnectionError): make_streamed_request( "GET", self.valid_url, {}, None, max_retries=self.max_retries ) check_call_numbers(1, is_streaming=True) def test_retry_request_stream_codes( self, mock_retry, response, check_call_numbers, make_streamed_request, ): mock_retry(responses=[response(code=409), response(code=202)]) _, code, _ = make_streamed_request( "GET", self.valid_url, {}, None, max_retries=self.max_retries ) assert code == 202 check_call_numbers(2, is_streaming=True) def test_retry_request_stream_codes_until_exceeded( self, mock_retry, response, check_call_numbers, make_streamed_request, ): mock_retry(responses=[response(code=409)] * (self.max_retries + 1)) _, code, _ = make_streamed_request( "GET", self.valid_url, {}, None, max_retries=self.max_retries ) assert code == 409 check_call_numbers(self.max_retries + 1, is_streaming=True) @pytest.fixture def connection_error(self, client): def connection_error(given_exception): with pytest.raises(APIConnectionError) as error: client._handle_request_error(given_exception) return error.value return connection_error def test_handle_request_error_should_retry( self, connection_error, mock_retry ): mocked_lib = mock_retry() error = connection_error(mocked_lib.exceptions.Timeout()) assert error.should_retry error = connection_error(mocked_lib.exceptions.ConnectionError()) assert error.should_retry def test_handle_request_error_should_not_retry( self, connection_error, mock_retry ): request_mock = mock_retry() error = connection_error(request_mock.exceptions.SSLError()) assert error.should_retry is False assert "not verify Stripe's SSL certificate" in error.user_message error = connection_error(request_mock.exceptions.RequestException()) assert error.should_retry is False # Mimic non-requests exception as not being children of Exception, # See mock_retry for the exceptions setup error = connection_error(BaseException("")) assert error.should_retry is False assert "configuration issue locally" in error.user_message # Skip inherited basic requests client tests def test_request(self): pass def test_exception(self): pass def test_timeout(self): pass class TestUrlFetchClient(ClientTestBase): REQUEST_CLIENT = _http_client.UrlFetchClient @pytest.fixture def mock_response(self): def mock_response(mocked_lib, body, code): result = Mock() result.content = body result.status_code = code result.headers = {} mocked_lib.fetch = Mock(return_value=result) return result return mock_response @pytest.fixture def mock_error(self): def mock_error(mock): mock.Error = mock.InvalidURLError = Exception mock.fetch.side_effect = mock.InvalidURLError() return mock_error @pytest.fixture def check_call(self): def check_call( mock, method, url, post_data, headers, is_streaming=False ): mock.fetch.assert_called_with( url=url, method=method, headers=headers, validate_certificate=True, deadline=55, payload=post_data, ) return check_call class TestUrllibClient(ClientTestBase): REQUEST_CLIENT: Type[_http_client.UrllibClient] = _http_client.UrllibClient USE_PROXY = False request_object: Any @pytest.fixture def mock_response(self): def mock_response(mocked_lib, body, code): response = Mock() response.read = MagicMock(return_value=body) response.code = code response.info = Mock(return_value={}) self.request_object = Mock() mocked_lib.Request = Mock(return_value=self.request_object) opener = Mock() opener.open = Mock(return_value=response) mocked_lib.build_opener = Mock(return_value=opener) mocked_lib.build_opener.open = opener.open mocked_lib.ProxyHandler = Mock(return_value=opener) mocked_lib.urlopen = Mock(return_value=response) return mock_response @pytest.fixture def mock_error(self): def mock_error(mock): mock.urlopen.side_effect = ValueError mock.build_opener().open.side_effect = ValueError mock.build_opener.reset_mock() return mock_error @pytest.fixture def check_call(self, client): def _check_call( mocked_lib, method, url, post_data, headers, is_streaming=False, ): if isinstance(post_data, str): post_data = post_data.encode("utf-8") mocked_lib.Request.assert_called_with(url, post_data, headers) if client._proxy: assert isinstance(client._proxy, dict) mocked_lib.ProxyHandler.assert_called_with(client._proxy) mocked_lib.build_opener.open.assert_called_with( self.request_object ) assert not mocked_lib.urlopen.called else: mocked_lib.urlopen.assert_called_with(self.request_object) assert not mocked_lib.build_opener.called assert not mocked_lib.build_opener.open.called return _check_call class TestUrllibClientHttpsProxy(TestUrllibClient): USE_PROXY = True ALWAYS_INIT_CLIENT = True class TestPycurlClient(ClientTestBase): REQUEST_CLIENT: Type[_http_client.PycurlClient] = _http_client.PycurlClient ALWAYS_INIT_CLIENT = True @pytest.fixture def curl_mock(self): return Mock() @pytest.fixture def request_mock(self, mocker, mocked_request_lib, curl_mock): mocked_request_lib.Curl = Mock(return_value=curl_mock) return curl_mock @pytest.fixture def bio_mock(self, mocker): bio_patcher = mocker.patch("stripe._http_client.BytesIO") bio_mock = Mock() bio_patcher.return_value = bio_mock return bio_mock @pytest.fixture def mock_response(self, mocker, bio_mock): def mock_response(mock, body, code): bio_mock.getvalue = mocker.MagicMock( return_value=body.encode("utf-8") ) bio_mock.read = mocker.MagicMock(return_value=body.encode("utf-8")) # Set up the getinfo method on the curl instance curl_instance = mock.Curl() curl_instance.getinfo = mocker.MagicMock(return_value=code) return mock_response @pytest.fixture def mock_error(self): def _mock_error(mock): class FakeException(BaseException): @property def args(self): return ("foo", "bar") # Set the pycurl.error class on the mocked lib mock.error = FakeException # Create a curl mock that will raise the exception on perform() curl_instance = MagicMock() curl_instance.perform.side_effect = FakeException() mock.Curl.return_value = curl_instance return _mock_error @pytest.fixture def check_call(self, client): def _check_call( mocked_lib, method, url, post_data, headers, is_streaming=False ): # The mock parameter should be the curl instance, but it's being passed the mocked_request_lib # Get the actual curl mock instance curl_mock = mocked_lib.Curl() if client._proxy: proxy = client._get_proxy(url) assert proxy is not None if proxy.hostname: curl_mock.setopt.assert_any_call( mocked_lib.PROXY, proxy.hostname ) if proxy.port: curl_mock.setopt.assert_any_call( mocked_lib.PROXYPORT, proxy.port ) if proxy.username or proxy.password: curl_mock.setopt.assert_any_call( mocked_lib.PROXYUSERPWD, "%s:%s" % (proxy.username, proxy.password), ) # A note on methodology here: we don't necessarily need to verify # _every_ call to setopt, but check a few of them to make sure the # right thing is happening. Keep an eye specifically on conditional # statements where things are more likely to go wrong. curl_mock.setopt.assert_any_call(mocked_lib.NOSIGNAL, 1) curl_mock.setopt.assert_any_call(mocked_lib.URL, url) if method == "get": curl_mock.setopt.assert_any_call(mocked_lib.HTTPGET, 1) elif method == "post": curl_mock.setopt.assert_any_call(mocked_lib.POST, 1) else: curl_mock.setopt.assert_any_call( mocked_lib.CUSTOMREQUEST, method.upper() ) curl_mock.perform.assert_any_call() return _check_call class TestPycurlClientHttpProxy(TestPycurlClient): PROXY = "http://user:withPwd@slap:8888/" class TestPycurlClientHttpsProxy(TestPycurlClient): PROXY = {"http": "http://slap:8888/", "https": "http://slap2:444/"} class TestAPIEncode: def test_encode_dict(self): body = {"foo": {"dob": {"month": 1}, "name": "bat"}} values = [t for t in _api_encode(body, "V1")] assert ("foo[dob][month]", 1) in values assert ("foo[name]", "bat") in values def test_encode_array(self): body = {"foo": [{"dob": {"month": 1}, "name": "bat"}]} values = [t for t in _api_encode(body, "V1")] assert ("foo[0][dob][month]", 1) in values assert ("foo[0][name]", "bat") in values def test_encode_v2_array(self): body = {"foo": [{"dob": {"month": 1}, "name": "bat"}]} values = [t for t in _api_encode(body, "V2")] assert ("foo[dob][month]", 1) in values assert ("foo[name]", "bat") in values class TestHTTPXClient(ClientTestBase): REQUEST_CLIENT: Type[_http_client.HTTPXClient] = _http_client.HTTPXClient PROXY = "http://slap/" # ALWAYS_INIT_CLIENT= True CLIENT_KWARGS = {"allow_sync_methods": True} @pytest.fixture def request_mock(self, mocked_request_lib): # Set up the httpx library mock structure async_client_instance = Mock() sync_client_instance = Mock() mocked_request_lib.AsyncClient = Mock( return_value=async_client_instance ) mocked_request_lib.Client = Mock(return_value=sync_client_instance) return mocked_request_lib @pytest.fixture def mock_response(self, request_mock): def _mock_response(mock, body="", code=200): result = Mock() result.content = body async def aiter_bytes(): yield bytes(body, "utf-8") def iter_bytes(): yield bytes(body, "utf-8") result.aiter_bytes = aiter_bytes result.iter_bytes = iter_bytes result.status_code = code result.headers = {} async def do_buffered(*args, **kwargs): return result async def do_stream(*args, **kwargs): return result async_mock = AsyncMock(side_effect=do_buffered) async_mock_stream = AsyncMock(side_effect=do_stream) request_mock.Client().send = Mock(return_value=result) request_mock.Client().request = Mock(return_value=result) request_mock.AsyncClient().send = async_mock_stream request_mock.AsyncClient().request = async_mock return result return _mock_response @pytest.fixture def mock_error(self, mocker, request_mock): def _mock_error(mock): # The first kind of request exceptions we catch mock.exceptions.SSLError = Exception request_mock.AsyncClient().request.side_effect = ( mock.exceptions.SSLError() ) return _mock_error @pytest.fixture def check_call(self, request_mock, mocker): def _check_call( mock, method, url, post_data, headers, is_streaming=False, timeout=80, times=None, ): times = times or 1 args = (method, url) kwargs = { "headers": headers, "data": post_data or {}, "timeout": timeout, "proxies": {"http": "http://slap/", "https": "http://slap/"}, } if is_streaming: kwargs["stream"] = True calls = [mocker.call(*args, **kwargs) for _ in range(times)] request_mock.Client().request.assert_has_calls(calls) return _check_call @pytest.fixture def check_call_async(self, request_mock, mocker): def _check_call_async( mock, method, url, post_data, headers, is_streaming=False, timeout=80, times=None, ): times = times or 1 args = (method, url) kwargs = { "headers": headers, "data": post_data, "timeout": timeout, "proxies": {"http": "http://slap/", "https": "http://slap/"}, } if is_streaming: kwargs["stream"] = True calls = [mocker.call(*args, **kwargs) for _ in range(times)] request_mock.AsyncClient().request.assert_has_calls(calls) return _check_call_async @pytest.mark.anyio async def test_request_async( self, request_mock, mock_response, check_call_async, make_async_request ): mock_response(request_mock, '{"foo": "baz"}', 200) for method in VALID_API_METHODS: abs_url = self.valid_url data = {} if method != "post": abs_url = "%s?%s" % (abs_url, data) data = {} headers = {"my-header": "header val"} body, code, _ = await make_async_request( method, abs_url, headers, data ) assert code == 200 assert body == '{"foo": "baz"}' check_call_async(request_mock, method, abs_url, data, headers) @pytest.mark.anyio async def test_request_stream_async( self, mocker, request_mock, mock_response, check_call, make_async_stream_request, ): for method in VALID_API_METHODS: mock_response(request_mock, "some streamed content", 200) abs_url = self.valid_url data = "" if method != "post": abs_url = "%s?%s" % (abs_url, data) data = None headers = {"my-header": "header val"} stream, code, _ = await make_async_stream_request( method, abs_url, headers, data ) assert code == 200 # Here we need to convert and align all content on one type (string) # as some clients return a string stream others a byte stream. body_content = b"".join([x async for x in stream]) if hasattr(body_content, "decode"): body_content = body_content.decode("utf-8") assert body_content == "some streamed content" mocker.resetall() @pytest.mark.anyio async def test_exception( self, request_mock, mock_error, make_async_request ): mock_error(request_mock) with pytest.raises(stripe.APIConnectionError): await make_async_request("get", self.valid_url, {}, None) @pytest.mark.anyio def test_timeout( self, request_mock, mock_response, check_call, make_request ): headers = {"my-header": "header val"} data = {} mock_response(request_mock, '{"foo": "baz"}', 200) make_request("POST", self.valid_url, headers, data, {"timeout": 5}) check_call( request_mock, "POST", self.valid_url, data, headers, timeout=5 ) @pytest.mark.anyio async def test_timeout_async( self, request_mock, mock_response, check_call_async, make_async_request ): headers = {"my-header": "header val"} data = {} mock_response(request_mock, '{"foo": "baz"}', 200) await make_async_request( "POST", self.valid_url, headers, data, {"timeout": 5} ) check_call_async( request_mock, "POST", self.valid_url, data, headers, timeout=5 ) @pytest.mark.anyio async def test_request_stream_forwards_stream_param(self): # TODO pass def test_allow_sync_methods(self, request_mock, mock_response): client = self.REQUEST_CLIENT(_lib=request_mock) assert client._client is None with pytest.raises(RuntimeError): client.request("GET", "http://foo", {}) with pytest.raises(RuntimeError): client.request_stream("GET", "http://foo", {}) client = self.REQUEST_CLIENT( allow_sync_methods=True, _lib=request_mock ) assert client._client is not None mock_response(request_mock, '{"foo": "baz"}', 200) client.request("GET", "http://foo", {}) mock_response(request_mock, '{"foo": "baz"}', 200) client.request_stream("GET", "http://foo", {}) class TestHTTPXClientRetryBehavior(TestHTTPXClient): responses = None max_retries = 3 ALWAYS_INIT_CLIENT = True @pytest.fixture def mock_retry(self, mocked_request_lib): def _mock_retry( retry_error_num=0, no_retry_error_num=0, responses=None ): # Store the mocked request lib for use in make_client if responses is None: responses = [] # Mocking classes of exception we catch. Any group of exceptions # with the same inheritance pattern will work request_root_error_class = Exception mocked_request_lib.exceptions.RequestException = ( request_root_error_class ) no_retry_parent_class = LookupError no_retry_child_class = KeyError mocked_request_lib.exceptions.SSLError = no_retry_parent_class no_retry_errors = [no_retry_child_class()] * no_retry_error_num retry_parent_class = EnvironmentError retry_child_class = IOError mocked_request_lib.exceptions.Timeout = retry_parent_class mocked_request_lib.exceptions.ConnectionError = retry_parent_class retry_errors = [retry_child_class()] * retry_error_num # Include mock responses as possible side-effects # to simulate returning proper results after some exceptions results = retry_errors + no_retry_errors + responses mocked_request_lib.AsyncClient().request = AsyncMock( side_effect=results ) self.responses = results return mocked_request_lib return _mock_retry @pytest.fixture def check_call_numbers(self, check_call_async): valid_url = self.valid_url def _check_call_numbers(times, is_streaming=False): check_call_async( None, "GET", valid_url, {}, {}, times=times, is_streaming=is_streaming, ) return _check_call_numbers @pytest.fixture def make_async_request_with_args(self, make_async_request): async def _make_async_request(): return await make_async_request( "GET", self.valid_url, {}, None, max_retries=self.max_retries ) return _make_async_request @pytest.mark.anyio async def test_retry_error_until_response( self, mock_retry, mock_response, check_call_numbers, request_mock, make_async_request_with_args, ): mock_retry( retry_error_num=1, responses=[mock_response(request_mock, code=202)], ) _, code, _ = await make_async_request_with_args() assert code == 202 check_call_numbers(2) @pytest.mark.anyio async def test_retry_error_until_exceeded( self, mock_retry, make_async_request_with_args, check_call_numbers ): mock_retry(retry_error_num=3) with pytest.raises(stripe.APIConnectionError): await make_async_request_with_args() check_call_numbers(self.max_retries) @pytest.mark.anyio async def test_no_retry_error( self, mock_retry, make_async_request_with_args, check_call_numbers ): mock_retry(no_retry_error_num=self.max_retries) with pytest.raises(stripe.APIConnectionError): await make_async_request_with_args() check_call_numbers(1) @pytest.mark.anyio async def test_retry_codes( self, mock_retry, mock_response, make_async_request_with_args, request_mock, check_call_numbers, ): mock_retry( responses=[ mock_response(request_mock, code=409), mock_response(request_mock, code=202), ] ) _, code, _ = await make_async_request_with_args() assert code == 202 check_call_numbers(2) @pytest.mark.anyio async def test_retry_codes_until_exceeded( self, mock_retry, mock_response, make_async_request_with_args, request_mock, check_call_numbers, ): mock_retry( responses=[mock_response(request_mock, code=409)] * (self.max_retries + 1) ) _, code, _ = await make_async_request_with_args() assert code == 409 check_call_numbers(self.max_retries + 1) @pytest.fixture def connection_error(self, client): def _connection_error(given_exception): with pytest.raises(stripe.APIConnectionError) as error: client._handle_request_error(given_exception) return error.value return _connection_error def test_handle_request_error_should_retry( self, connection_error, mock_retry ): request_mock = mock_retry() error = connection_error(request_mock.exceptions.Timeout()) assert error.should_retry error = connection_error(request_mock.exceptions.ConnectionError()) assert error.should_retry # Skip inherited basic client tests def test_request(self): pass def test_request_async(self): pass def test_timeout(self): pass def test_timeout_async(self): pass class TestAIOHTTPClient(ClientTestBase): REQUEST_CLIENT: Type[_http_client.AIOHTTPClient] = ( _http_client.AIOHTTPClient ) PROXY = "http://slap/" @pytest.fixture def mock_response(self, mocker, mocked_request_lib): def mock_response(mock, body=None, code=200): if body is None: body = {} class Content: def __aiter__(self): async def chunk(): yield ( bytes(body, "utf-8") if isinstance(body, str) else body ) return chunk() async def read(self): return body class Result: def __init__(self): self.content = Content() self.status = code self.headers = {} result = Result() mocked_request_lib.ClientSession().request = AsyncMock( return_value=result ) return result return mock_response @pytest.fixture def mock_error(self, mocker, mocked_request_lib): def mock_error(mock): # The first kind of request exceptions we catch mock.exceptions.SSLError = Exception mocked_request_lib.ClientSession().request.side_effect = ( mock.exceptions.SSLError() ) return mock_error @pytest.fixture def check_call(self, mocked_request_lib, mocker): def check_call( mock, method, url, post_data, headers, is_streaming=False, timeout=80, times=None, ): times = times or 1 args = (method, url) kwargs = { "headers": headers, "data": post_data or {}, "timeout": timeout, "proxies": {"http": "http://slap/", "https": "http://slap/"}, } if is_streaming: kwargs["stream"] = True calls = [mocker.call(*args, **kwargs) for _ in range(times)] mocked_request_lib.ClientSession().request.assert_has_calls(calls) return check_call @pytest.fixture def check_call_async(self, mocked_request_lib, mocker): def check_call_async( method, url, post_data, headers, is_streaming=False, timeout=80, times=None, ): times = times or 1 args = (method, url) kwargs = { "headers": headers, "data": post_data, "timeout": timeout, "proxy": "http://slap/", } calls = [mocker.call(*args, **kwargs) for _ in range(times)] mocked_request_lib.ClientSession().request.assert_has_calls(calls) return check_call_async def test_request(self): pass def test_request_stream(self): pass @pytest.mark.parametrize("anyio_backend", ["asyncio"]) @pytest.mark.anyio async def test_request_async( self, mocked_request_lib, mock_response, check_call_async, make_async_request, ): mock_response(mocked_request_lib, '{"foo": "baz"}', 200) for method in VALID_API_METHODS: abs_url = self.valid_url data = {} if method != "post": abs_url = "%s?%s" % (abs_url, data) data = {} headers = {"my-header": "header val"} body, code, _ = await make_async_request( method, abs_url, headers, data ) assert code == 200 assert body == '{"foo": "baz"}' check_call_async(method, abs_url, data, headers) @pytest.mark.parametrize("anyio_backend", ["asyncio"]) @pytest.mark.anyio async def test_request_stream_async( self, mocked_request_lib, mock_response, make_async_stream_request, ): for method in VALID_API_METHODS: mock_response(mocked_request_lib, "some streamed content", 200) abs_url = self.valid_url data = "" if method != "post": abs_url = "%s?%s" % (abs_url, data) data = None headers = {"my-header": "header val"} stream, code, _ = await make_async_stream_request( method, abs_url, headers, data ) assert code == 200 # Here we need to convert and align all content on one type (string) # as some clients return a string stream others a byte stream. body_content = b"".join([x async for x in stream]) if hasattr(body_content, "decode"): body_content = body_content.decode("utf-8") assert body_content == "some streamed content" @pytest.mark.parametrize("anyio_backend", ["asyncio"]) @pytest.mark.anyio async def test_exception( self, mocked_request_lib, mock_error, make_async_request ): mock_error(mocked_request_lib) with pytest.raises(stripe.APIConnectionError): await make_async_request("get", self.valid_url, {}, None) def test_timeout(self): pass @pytest.mark.parametrize("anyio_backend", ["asyncio"]) @pytest.mark.anyio async def test_timeout_async( self, mocked_request_lib, mock_response, check_call_async, make_async_request, ): headers = {"my-header": "header val"} data = {} mock_response(mocked_request_lib, '{"foo": "baz"}', 200) await make_async_request( "POST", self.valid_url, headers, data, client_kwargs={"timeout": 5} ) check_call_async( "POST", self.valid_url, data, headers, timeout=5, ) @pytest.mark.parametrize("anyio_backend", ["asyncio"]) @pytest.mark.anyio async def test_request_stream_forwards_stream_param(self): # TODO pass class TestAIOHTTPClientRetryBehavior(TestAIOHTTPClient): responses = None _mocked_request_lib = None max_retries = 3 @pytest.fixture def mock_retry(self, mocked_request_lib): def mock_retry( retry_error_num=0, no_retry_error_num=0, responses=None ): # Store the mocked request lib for use in make_client self._mocked_request_lib = mocked_request_lib if responses is None: responses = [] # Mocking classes of exception we catch. Any group of exceptions # with the same inheritance pattern will work request_root_error_class = Exception mocked_request_lib.exceptions.RequestException = ( request_root_error_class ) no_retry_parent_class = LookupError no_retry_child_class = KeyError mocked_request_lib.exceptions.SSLError = no_retry_parent_class no_retry_errors = [no_retry_child_class()] * no_retry_error_num retry_parent_class = EnvironmentError retry_child_class = IOError mocked_request_lib.exceptions.Timeout = retry_parent_class mocked_request_lib.exceptions.ConnectionError = retry_parent_class retry_errors = [retry_child_class()] * retry_error_num # Include mock responses as possible side-effects # to simulate returning proper results after some exceptions results = retry_errors + no_retry_errors + responses mocked_request_lib.ClientSession().request = AsyncMock( side_effect=results ) self.responses = results return mocked_request_lib return mock_retry @pytest.fixture def check_call_numbers(self, check_call_async): valid_url = self.valid_url def check_call_numbers(times, is_streaming=False): check_call_async( "GET", valid_url, None, {}, times=times, is_streaming=is_streaming, ) return check_call_numbers @pytest.fixture def make_async_request_with_args(self, make_async_request): async def _make_async_request(): return await make_async_request( "GET", self.valid_url, {}, None, max_retries=self.max_retries ) return _make_async_request @pytest.mark.parametrize("anyio_backend", ["asyncio"]) @pytest.mark.anyio async def test_retry_error_until_response( self, mock_retry, mock_response, check_call_numbers, mocked_request_lib, make_async_request_with_args, ): mock_retry( retry_error_num=1, responses=[mock_response(mocked_request_lib, code=202)], ) _, code, _ = await make_async_request_with_args() assert code == 202 check_call_numbers(2) @pytest.mark.parametrize("anyio_backend", ["asyncio"]) @pytest.mark.anyio async def test_retry_error_until_exceeded( self, mock_retry, check_call_numbers, make_async_request_with_args ): mock_retry(retry_error_num=self.max_retries) with pytest.raises(stripe.APIConnectionError): await make_async_request_with_args() check_call_numbers(self.max_retries) @pytest.mark.parametrize("anyio_backend", ["asyncio"]) @pytest.mark.anyio async def test_no_retry_error( self, mock_retry, check_call_numbers, make_async_request_with_args ): mock_retry(no_retry_error_num=self.max_retries) with pytest.raises(stripe.APIConnectionError): await make_async_request_with_args() check_call_numbers(1) @pytest.mark.parametrize("anyio_backend", ["asyncio"]) @pytest.mark.anyio async def test_retry_codes( self, mock_retry, mock_response, mocked_request_lib, check_call_numbers, make_async_request_with_args, ): mock_retry( responses=[ mock_response(mocked_request_lib, code=409), mock_response(mocked_request_lib, code=202), ] ) _, code, _ = await make_async_request_with_args() assert code == 202 check_call_numbers(2) @pytest.mark.parametrize("anyio_backend", ["asyncio"]) @pytest.mark.anyio async def test_retry_codes_until_exceeded( self, mock_retry, mock_response, mocked_request_lib, check_call_numbers, make_async_request_with_args, ): mock_retry( responses=[mock_response(mocked_request_lib, code=409)] * (self.max_retries + 1) ) _, code, _ = await make_async_request_with_args() assert code == 409 check_call_numbers(self.max_retries + 1) def connection_error(self, client, given_exception): with pytest.raises(stripe.APIConnectionError) as error: client._handle_request_error(given_exception) return error.value @pytest.mark.parametrize("anyio_backend", ["asyncio"]) @pytest.mark.anyio async def test_handle_request_error_should_retry( self, mock_retry, anyio_backend ): client = self.REQUEST_CLIENT() mocked_request_lib = mock_retry() error = self.connection_error( client, mocked_request_lib.exceptions.Timeout() ) assert error.should_retry error = self.connection_error( client, mocked_request_lib.exceptions.ConnectionError() ) assert error.should_retry # Skip inherited basic client tests def test_request(self): pass def test_request_async(self): pass def test_timeout(self): pass def test_timeout_async(self): pass class TestLiveHTTPClients: """ Tests that actually make HTTP requests in order to test functionality (like https) end to end. """ @pytest.mark.anyio async def test_httpx_request_async_https(self): """ Test to ensure that httpx https calls succeed by making a live test call to the public stripe API. """ method = "get" abs_url = "https://api.stripe.com/v1/balance" data = {} client = _http_client.HTTPXClient(verify_ssl_certs=True) # the public test secret key, as found on https://docs.stripe.com/keys#obtain-api-keys test_api_key = "sk_test_BQokikJOvBiI2HlWgH4olfQ2" basic_auth = base64.b64encode( (test_api_key + ":").encode("utf-8") ).decode("utf-8") headers = {"Authorization": "Basic " + basic_auth} _, code, _ = await client.request_with_retries_async( method, abs_url, headers, data ) assert code >= 200 and code < 400 ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3890622 stripe-13.2.0/tests/test_integration.py0000644000000000000000000004356115102753431015141 0ustar00import platform from threading import Thread, Lock import json import warnings import time import httpx import aiohttp import sys import stripe import pytest from queue import Queue from collections import defaultdict from typing import List, Dict, Tuple, Optional from stripe._stripe_client import StripeClient from stripe._http_client import new_default_http_client if platform.python_implementation() == "PyPy": pytest.skip("skip integration tests with PyPy", allow_module_level=True) from http.server import BaseHTTPRequestHandler, HTTPServer class MyTestHandler(BaseHTTPRequestHandler): num_requests = 0 requests = defaultdict(Queue) @classmethod def _add_request(cls, req): q = cls.requests[id(cls)] q.put(req) @classmethod def get_requests(cls, n) -> List[BaseHTTPRequestHandler]: reqs = [] for _ in range(n): reqs.append(cls.requests[id(cls)].get(False)) assert cls.requests[id(cls)].empty() return reqs def do_GET(self): return self._do_request() def do_POST(self): return self._do_request() def _do_request(self): n = self.__class__.num_requests self.__class__.num_requests += 1 self._add_request(self) provided_status, provided_headers, provided_body = self.do_request(n) status = provided_status or self.default_status headers = provided_headers or self.default_headers body = provided_body or self.default_body content_length = len(body) self.send_response(status) for header_name, header_value in headers.items(): self.send_header(header_name, header_value) self.send_header("Content-Length", str(content_length)) self.end_headers() self.wfile.write(body) return default_status = 200 default_headers = {"Content-Type": "application/json; charset=utf-8"} default_body = json.dumps({}).encode("utf-8") def do_request( self, n: int ) -> Tuple[Optional[int], Optional[Dict[str, str]], Optional[bytes]]: return (self.default_status, self.default_headers, self.default_body) class TestIntegration(object): mock_server = None @pytest.fixture(autouse=True) def close_mock_server(self): yield if self.mock_server: self.mock_server.shutdown() self.mock_server.server_close() self.mock_server_thread.join() @pytest.fixture(autouse=True) def setup_stripe(self): orig_attrs = { "api_base": stripe.api_base, "upload_api_base": stripe.upload_api_base, "api_key": stripe.api_key, "default_http_client": stripe.default_http_client, "enable_telemetry": stripe.enable_telemetry, "max_network_retries": stripe.max_network_retries, "proxy": stripe.proxy, } stripe.api_base = "http://localhost:12111" # stripe-mock stripe.upload_api_base = "http://localhost:12111" # stripe-mock stripe.api_key = "sk_test_123" stripe.default_http_client = None stripe._default_proxy = None stripe.enable_telemetry = False stripe.max_network_retries = 3 yield stripe.api_base = orig_attrs["api_base"] stripe.upload_api_base = orig_attrs["api_base"] stripe.api_key = orig_attrs["api_key"] stripe.default_http_client = orig_attrs["default_http_client"] stripe.enable_telemetry = orig_attrs["enable_telemetry"] stripe.max_network_retries = orig_attrs["max_network_retries"] stripe.proxy = orig_attrs["proxy"] def setup_mock_server(self, handler): # Configure mock server. # Passing 0 as the port will cause a random free port to be chosen. self.mock_server = HTTPServer(("localhost", 0), handler) _, self.mock_server_port = self.mock_server.server_address # Start running mock server in a separate thread. # Daemon threads automatically shut down when the main process exits. self.mock_server_thread = Thread(target=self.mock_server.serve_forever) self.mock_server_thread.daemon = True self.mock_server_thread.start() def test_hits_api_base(self): class MockServerRequestHandler(MyTestHandler): pass self.setup_mock_server(MockServerRequestHandler) stripe.api_base = "http://localhost:%s" % self.mock_server_port stripe.Balance.retrieve() reqs = MockServerRequestHandler.get_requests(1) assert reqs[0].path == "/v1/balance" def test_hits_proxy_through_default_http_client(self): class MockServerRequestHandler(MyTestHandler): pass self.setup_mock_server(MockServerRequestHandler) stripe.proxy = "http://localhost:%s" % self.mock_server_port stripe.Balance.retrieve() assert MockServerRequestHandler.num_requests == 1 stripe.proxy = "http://bad-url" with warnings.catch_warnings(record=True) as w: stripe.Balance.retrieve() assert len(w) == 1 assert "stripe.proxy was updated after sending a request" in str( w[0].message ) assert MockServerRequestHandler.num_requests == 2 def test_hits_proxy_through_custom_client(self): class MockServerRequestHandler(MyTestHandler): pass self.setup_mock_server(MockServerRequestHandler) stripe.default_http_client = stripe.new_default_http_client( proxy="http://localhost:%s" % self.mock_server_port ) stripe.Balance.retrieve() assert MockServerRequestHandler.num_requests == 1 def test_hits_proxy_through_stripe_client_proxy(self): class MockServerRequestHandler(MyTestHandler): pass self.setup_mock_server(MockServerRequestHandler) client = stripe.StripeClient( "sk_test_123", proxy="http://localhost:%s" % self.mock_server_port, base_addresses={"api": "http://localhost:12111"}, ) client.balance.retrieve() assert MockServerRequestHandler.num_requests == 1 def test_hits_proxy_through_stripe_client_http_client(self): class MockServerRequestHandler(MyTestHandler): pass self.setup_mock_server(MockServerRequestHandler) client = stripe.StripeClient( "sk_test_123", http_client=new_default_http_client( proxy="http://localhost:%s" % self.mock_server_port ), base_addresses={"api": "http://localhost:12111"}, ) client.balance.retrieve() assert MockServerRequestHandler.num_requests == 1 def test_passes_client_telemetry_when_enabled(self): class MockServerRequestHandler(MyTestHandler): def do_request(self, req_num): if req_num == 0: time.sleep(31 / 1000) # 31 ms return [ 200, { "Content-Type": "application/json; charset=utf-8", "Request-Id": "req_%s" % (req_num + 1), }, None, ] self.setup_mock_server(MockServerRequestHandler) stripe.api_base = "http://localhost:%s" % self.mock_server_port stripe.enable_telemetry = True cus = stripe.Customer("cus_xyz") cus.description = "hello" cus.save() stripe.Customer.retrieve("cus_xyz") stripe.Customer.retrieve("cus_xyz") reqs = MockServerRequestHandler.get_requests(3) # req 1 assert not reqs[0].headers.get("x-stripe-client-telemetry") # req 2 telemetry_raw = reqs[1].headers.get("x-stripe-client-telemetry") assert telemetry_raw is not None telemetry = json.loads(telemetry_raw) assert "last_request_metrics" in telemetry duration_ms = telemetry["last_request_metrics"]["request_duration_ms"] # The first request took 31 ms, so the client perceived # latency shouldn't be outside this range. assert 30 < duration_ms < 300 usage = telemetry["last_request_metrics"]["usage"] assert usage == ["save"] # req 3 telemetry_raw = reqs[2].headers.get("x-stripe-client-telemetry") assert telemetry_raw is not None metrics = json.loads(telemetry_raw)["last_request_metrics"] assert metrics["request_id"] == "req_2" assert "usage" not in metrics def test_uses_thread_local_client_telemetry(self): class MockServerRequestHandler(MyTestHandler): local_num_requests = 0 seen_metrics = set() stats_lock = Lock() def do_request(self, _n): with self.__class__.stats_lock: self.__class__.local_num_requests += 1 req_num = self.__class__.local_num_requests raw_telemetry = self.headers.get("X-Stripe-Client-Telemetry") if raw_telemetry: telemetry = json.loads(raw_telemetry) req_id = telemetry["last_request_metrics"]["request_id"] with self.__class__.stats_lock: self.__class__.seen_metrics.add(req_id) return [ 200, { "Content-Type": "application/json; charset=utf-8", "Request-Id": "req_%s" % (req_num), }, None, ] self.setup_mock_server(MockServerRequestHandler) stripe.api_base = "http://localhost:%s" % self.mock_server_port stripe.enable_telemetry = True stripe.default_http_client = stripe.RequestsClient() def work(): stripe.Balance.retrieve() stripe.Balance.retrieve() threads = [Thread(target=work) for _ in range(10)] for t in threads: t.start() for t in threads: t.join() assert MockServerRequestHandler.num_requests == 20 assert len(MockServerRequestHandler.seen_metrics) == 10 @pytest.mark.anyio async def test_measures_stripe_client_telemetry(self): class MockServerRequestHandler(MyTestHandler): def do_request(self, req_num): return [ 200, { "Content-Type": "application/json; charset=utf-8", "Request-Id": "req_%s" % (req_num + 1), }, None, ] self.setup_mock_server(MockServerRequestHandler) stripe.enable_telemetry = True client = stripe.StripeClient( "sk_test_123", base_addresses={ "api": "http://localhost:%s" % self.mock_server_port }, ) await client.customers.create_async() await client.customers.create_async() reqs = MockServerRequestHandler.get_requests(2) telemetry_raw = reqs[1].headers.get("x-stripe-client-telemetry") assert telemetry_raw is not None telemetry = json.loads(telemetry_raw) assert "last_request_metrics" in telemetry usage = telemetry["last_request_metrics"]["usage"] assert usage == ["stripe_client", "async"] @pytest.mark.anyio @pytest.fixture(params=["aiohttp", "httpx"]) async def async_http_client(self, request, anyio_backend): if request.param == "httpx": return stripe.HTTPXClient() elif request.param == "aiohttp": if anyio_backend != "asyncio": return pytest.skip("aiohttp only works with asyncio") return stripe.AIOHTTPClient() else: raise ValueError(f"Unknown http client name: {request.param}") @pytest.fixture async def set_global_async_http_client(self, async_http_client): stripe.default_http_client = async_http_client async def test_async_raw_request_success( self, set_global_async_http_client ): class MockServerRequestHandler(MyTestHandler): default_body = '{"id": "cus_123", "object": "customer"}'.encode( "utf-8" ) pass self.setup_mock_server(MockServerRequestHandler) client = StripeClient( "sk_test_123", base_addresses={ "api": "http://localhost:%s" % self.mock_server_port }, ) resp = await client.raw_request_async( "post", "/v1/customers", description="My test customer" ) cus = client.deserialize(resp.data, api_mode="V1") reqs = MockServerRequestHandler.get_requests(1) req = reqs[0] assert req.path == "/v1/customers" assert req.command == "POST" assert isinstance(cus, stripe.Customer) async def test_async_raw_request_timeout( self, set_global_async_http_client ): class MockServerRequestHandler(MyTestHandler): def do_request(self, n): time.sleep(0.02) return super().do_request(n) self.setup_mock_server(MockServerRequestHandler) # If we set HTTPX's generic timeout the test is flaky (sometimes it's a ReadTimeout, sometimes its a ConnectTimeout) # so we set only the read timeout specifically. hc = stripe.default_http_client expected_message = "" if isinstance(hc, stripe.HTTPXClient): hc._timeout = httpx.Timeout(None, read=0.01) expected_message = "A ReadTimeout was raised" elif isinstance(hc, stripe.AIOHTTPClient): hc._timeout = aiohttp.ClientTimeout(sock_read=0.01) # aiohttp timeout error message is different in different versions. # aiohttp(3.8.6) supported by Python 3.7, the error is called ServerTimeoutError. # aiohttp(>3.10.0) supported by Python 3.8+, the error is called SocketTimeoutError. # Ref PR: https://github.com/aio-libs/aiohttp/issues/7801 if sys.version_info >= (3, 8): expected_message = "A SocketTimeoutError was raised" else: expected_message = "A ServerTimeoutError was raised" else: raise ValueError(f"Unknown http client: {hc.name}") exception = None try: client = StripeClient( "sk_test_123", http_client=hc, base_addresses={ "api": "http://localhost:%s" % self.mock_server_port }, max_network_retries=0, ) await client.raw_request_async( "post", "/v1/customers", description="My test customer" ) except stripe.APIConnectionError as e: exception = e assert exception is not None assert expected_message in str(exception.user_message) async def test_async_raw_request_retries( self, set_global_async_http_client ): class MockServerRequestHandler(MyTestHandler): def do_request(self, n): if n == 0: return ( 500, {"Request-Id": "req_1"}, b'{"error": {"message": "Internal server error"}}', ) return (200, None, None) pass self.setup_mock_server(MockServerRequestHandler) client = StripeClient( "sk_test_123", base_addresses={ "api": "http://localhost:%s" % self.mock_server_port }, max_network_retries=stripe.max_network_retries, ) await client.raw_request_async( "post", "/v1/customers", description="My test customer" ) reqs = MockServerRequestHandler.get_requests(2) req = reqs[0] assert req.path == "/v1/customers" async def test_async_raw_request_unretryable( self, set_global_async_http_client ): class MockServerRequestHandler(MyTestHandler): def do_request(self, n): return ( 401, {"Request-Id": "req_1"}, b'{"error": {"message": "Unauthorized"}}', ) pass self.setup_mock_server(MockServerRequestHandler) exception = None try: client = StripeClient( "sk_test_123", base_addresses={ "api": "http://localhost:%s" % self.mock_server_port }, ) await client.raw_request_async( "post", "/v1/customers", description="My test customer" ) except stripe.AuthenticationError as e: exception = e MockServerRequestHandler.get_requests(1) assert exception is not None assert "Unauthorized" in str(exception.user_message) async def test_async_httpx_stream(self, set_global_async_http_client): class MockServerRequestHandler(MyTestHandler): def do_request(self, n): return (200, None, b"hello") self.setup_mock_server(MockServerRequestHandler) stripe.upload_api_base = "http://localhost:%s" % self.mock_server_port result = await stripe.Quote.pdf_async("qt_123") assert str(await result.read_async(), "utf-8") == "hello" async def test_async_httpx_stream_error( self, set_global_async_http_client ): class MockServerRequestHandler(MyTestHandler): def do_request(self, n): return (400, None, b'{"error": {"message": "bad request"}}') self.setup_mock_server(MockServerRequestHandler) stripe.upload_api_base = "http://localhost:%s" % self.mock_server_port try: await stripe.Quote.pdf_async("qt_123") except stripe.InvalidRequestError as e: assert "bad request" in str(e.user_message) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3890622 stripe-13.2.0/tests/test_multipart_data_generator.py0000644000000000000000000000566415102753431017700 0ustar00# -*- coding: utf-8 -*- import re import io from stripe._multipart_data_generator import MultipartDataGenerator class TestMultipartDataGenerator(object): def run_test_multipart_data_with_file(self, test_file): params = { "key1": b"ASCII value", "key2": "Üñìçôdé value", "key3": test_file, "key4": { "string": "Hello!", "int": 234, "float": 3.14159, "bool": True, "dict": {"foo": "bar"}, }, } generator = MultipartDataGenerator() generator.add_params(params) http_body = generator.get_post_data().decode("utf-8") assert re.search( r"Content-Disposition: form-data; name=\"key1\"", http_body ) assert re.search(r"ASCII value", http_body) assert re.search( r"Content-Disposition: form-data; name=\"key2\"", http_body ) assert re.search(r"Üñìçôdé value", http_body) assert re.search( r"Content-Disposition: form-data; name=\"key3\"; " r"filename=\".+\"", http_body, ) assert re.search(r"Content-Type: application/octet-stream", http_body) assert re.search( r"Content-Disposition: form-data; name=\"key4\[string\]\"", http_body, ) assert re.search(r"Hello!", http_body) assert re.search( r"Content-Disposition: form-data; name=\"key4\[int\]\"", http_body ) assert re.search(r"234", http_body) assert re.search( r"Content-Disposition: form-data; name=\"key4\[float\]\"", http_body, ) assert re.search(r"3.14159", http_body) assert re.search( r"Content-Disposition: form-data; name=\"key4\[bool\]\"", http_body ) assert re.search(r"true", http_body) assert re.search( r"Content-Disposition: form-data; name=\"key4\[dict\]\[foo\]\"", http_body, ) assert re.search(r"bar", http_body) test_file.seek(0) file_contents = test_file.read() if isinstance(file_contents, bytes): file_contents = file_contents.decode("utf-8") assert http_body.find(file_contents) != -1 def test_multipart_data_file_text(self): with open(__file__, mode="r") as test_file: self.run_test_multipart_data_with_file(test_file) def test_multipart_data_file_binary(self): with open(__file__, mode="rb") as test_file: self.run_test_multipart_data_with_file(test_file) def test_multipart_data_stringio(self): string = io.StringIO("foo") self.run_test_multipart_data_with_file(string) def test_multipart_data_unicode_file_name(self): string = io.StringIO("foo") string.name = "паспорт.png" self.run_test_multipart_data_with_file(string) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3890622 stripe-13.2.0/tests/test_oauth.py0000644000000000000000000000476315102753431013737 0ustar00from urllib.parse import parse_qs, urlparse import stripe class TestOAuth(object): def test_authorize_url(self): url = stripe.OAuth.authorize_url( scope="read_write", state="csrf_token", stripe_user={ "email": "test@example.com", "url": "https://example.com/profile/test", "country": "US", }, ) o = urlparse(url) params = parse_qs(o.query) url_express = stripe.OAuth.authorize_url( express=True, scope="read_write", state="csrf_token" ) o_express = urlparse(url_express) assert o.scheme == "https" assert o.netloc == "connect.stripe.com" assert o.path == "/oauth/authorize" assert o_express.path == "/express/oauth/authorize" assert params["client_id"] == ["ca_123"] assert params["scope"] == ["read_write"] assert params["stripe_user[email]"] == ["test@example.com"] assert params["stripe_user[url]"] == [ "https://example.com/profile/test" ] assert params["stripe_user[country]"] == ["US"] def test_token(self, http_client_mock): http_client_mock.stub_request( "post", path="/oauth/token", rbody='{"access_token":"sk_access_token","scope":"read_only","livemode":"false","token_type":"bearer","refresh_token":"sk_refresh_token","stripe_user_id":"acct_test","stripe_publishable_key":"pk_test"}', ) resp = stripe.OAuth.token( grant_type="authorization_code", code="this_is_an_authorization_code", ) http_client_mock.assert_requested( "post", api_base=stripe.connect_api_base, path="/oauth/token", post_data="grant_type=authorization_code&code=this_is_an_authorization_code", ) assert resp["access_token"] == "sk_access_token" def test_deauthorize(self, http_client_mock): http_client_mock.stub_request( "post", path="/oauth/deauthorize", rbody='{"stripe_user_id":"acct_test_deauth"}', ) resp = stripe.OAuth.deauthorize(stripe_user_id="acct_test_deauth") http_client_mock.assert_requested( "post", api_base=stripe.connect_api_base, path="/oauth/deauthorize", post_data="client_id=ca_123&stripe_user_id=acct_test_deauth", ) assert resp["stripe_user_id"] == "acct_test_deauth" ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3890622 stripe-13.2.0/tests/test_oauth_error.py0000644000000000000000000000052215102753431015135 0ustar00# -*- coding: utf-8 -*- from stripe import oauth_error class TestOAuthError(object): def test_error_object(self): err = oauth_error.OAuthError( "message", "description", json_body={"error": "some_oauth_error"} ) assert err.error is not None assert err.error.error == "some_oauth_error" ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3890622 stripe-13.2.0/tests/test_raw_request.py0000644000000000000000000001527315102753431015156 0ustar00from __future__ import absolute_import, division, print_function import datetime import stripe from tests.test_api_requestor import GMT1 class TestRawRequest(object): ENCODE_INPUTS = { "type": "standard", "int": 123, "datetime": datetime.datetime(2013, 1, 1, second=1, tzinfo=GMT1()), } POST_REL_URL = "/v1/accounts" GET_REL_URL = "/v1/accounts/acct_123" POST_REL_URL_V2 = "/v2/billing/meter_event_session" GET_REL_URL_V2 = "/v2/accounts/acct_123" def test_form_request_get( self, http_client_mock, stripe_mock_stripe_client ): http_client_mock.stub_request( "get", path=self.GET_REL_URL, rbody='{"id": "acct_123", "object": "account"}', rcode=200, rheaders={}, ) resp = stripe_mock_stripe_client.raw_request("get", self.GET_REL_URL) http_client_mock.assert_requested("get", path=self.GET_REL_URL) deserialized = stripe_mock_stripe_client.deserialize( resp, api_mode="V1" ) assert isinstance(deserialized, stripe.Account) def test_form_request_post( self, http_client_mock, stripe_mock_stripe_client ): http_client_mock.stub_request( "post", path=self.POST_REL_URL, rbody='{"id": "acct_123", "object": "account"}', rcode=200, rheaders={}, ) expectation = "type=standard&int=123&datetime=1356994801" resp = stripe_mock_stripe_client.raw_request( "post", self.POST_REL_URL, **self.ENCODE_INPUTS ) http_client_mock.assert_requested( "post", path=self.POST_REL_URL, content_type="application/x-www-form-urlencoded", post_data=expectation, ) deserialized = stripe_mock_stripe_client.deserialize( resp, api_mode="V1" ) assert isinstance(deserialized, stripe.Account) def test_v2_request_post( self, http_client_mock, stripe_mock_stripe_client ): http_client_mock.stub_request( "post", path=self.POST_REL_URL_V2, rbody='{"id": "bmes_123", "object": "v2.billing.meter_event_session"}', rcode=200, rheaders={}, ) params = dict({}, **self.ENCODE_INPUTS) expectation = ( '{"type": "standard", "int": 123, "datetime": 1356994801}' ) resp = stripe_mock_stripe_client.raw_request( "post", self.POST_REL_URL_V2, **params ) http_client_mock.assert_requested( "post", path=self.POST_REL_URL_V2, content_type="application/json", post_data=expectation, is_json=True, ) deserialized = stripe_mock_stripe_client.deserialize( resp, api_mode="V2" ) assert isinstance(deserialized, stripe.v2.billing.MeterEventSession) def test_form_request_with_extra_headers( self, http_client_mock, stripe_mock_stripe_client ): http_client_mock.stub_request( "get", path=self.GET_REL_URL, rbody='{"id": "acct_123", "object": "account"}', rcode=200, rheaders={}, ) extra_headers = {"foo": "bar", "Stripe-Account": "acct_123"} params = {"headers": extra_headers} stripe_mock_stripe_client.raw_request( "get", self.GET_REL_URL, **params ) http_client_mock.assert_requested( "get", path=self.GET_REL_URL, extra_headers=extra_headers, ) def test_v2_request_default_api_version( self, http_client_mock, stripe_mock_stripe_client ): http_client_mock.stub_request( "get", path=self.GET_REL_URL_V2, rbody='{"id": "acct_123", "object": "account"}', rcode=200, rheaders={}, ) params = {} stripe_mock_stripe_client.raw_request( "get", self.GET_REL_URL_V2, **params ) http_client_mock.assert_requested( "get", path=self.GET_REL_URL_V2, ) def test_v2_request_overridden_api_version( self, http_client_mock, stripe_mock_stripe_client ): http_client_mock.stub_request( "post", path=self.POST_REL_URL_V2, rbody='{"id": "acct_123", "object": "account"}', rcode=200, rheaders={}, ) stripe_version_override = "2023-05-15.preview" params = { "stripe_version": stripe_version_override, } stripe_mock_stripe_client.raw_request( "post", self.POST_REL_URL_V2, **params ) http_client_mock.assert_requested( "post", path=self.POST_REL_URL_V2, content_type="application/json", stripe_version=stripe_version_override, post_data="{}", is_json=True, ) # TODO(jar) this test is not applicable yet, but may be some day # @pytest.mark.anyio # async def test_form_request_get_async( # self, http_client_mock, stripe_mock_stripe_client # ): # http_client_mock.stub_request( # "get", # path=self.GET_REL_URL, # rbody='{"id": "acct_123", "object": "account"}', # rcode=200, # rheaders={}, # ) # # resp = await stripe_mock_stripe_client.raw_request_async( # "get", self.GET_REL_URL # ) # # http_client_mock.assert_requested("get", path=self.GET_REL_URL) # # deserialized = stripe_mock_stripe_client.deserialize(resp) # assert isinstance(deserialized, stripe.Account) # def test_raw_request_usage_reported( self, http_client_mock, stripe_mock_stripe_client ): http_client_mock.stub_request( "post", path=self.POST_REL_URL, rbody='{"id": "acct_123", "object": "account"}', rcode=200, rheaders={}, ) expectation = "type=standard&int=123&datetime=1356994801" resp = stripe_mock_stripe_client.raw_request( "post", self.POST_REL_URL, **self.ENCODE_INPUTS ) http_client_mock.assert_requested( "post", path=self.POST_REL_URL, content_type="application/x-www-form-urlencoded", post_data=expectation, usage=["raw_request"], ) deserialized = stripe_mock_stripe_client.deserialize( resp, api_mode="V1" ) assert isinstance(deserialized, stripe.Account) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3890622 stripe-13.2.0/tests/test_request_options.py0000644000000000000000000000426015102753431016052 0ustar00from stripe._request_options import ( RequestOptions, merge_options, extract_options_from_dict, ) from stripe._requestor_options import RequestorOptions class TestRequestOptions(object): def test_merge(self): options = RequestorOptions( api_key="sk_test_123", stripe_account="acct_123", base_addresses={"api": "https://api.stripe.com"}, ) other: RequestOptions = { "api_key": "sk_test_456", "stripe_version": "2020-01-01", "headers": {"foo": "bar"}, } merged = merge_options(options, other) assert merged.get("api_key") == "sk_test_456" assert merged.get("stripe_version") == "2020-01-01" assert merged.get("stripe_account") == "acct_123" assert merged.get("headers") == {"foo": "bar"} def test_merge_none(self): options = RequestorOptions( api_key="sk_test_123", stripe_account="acct_123", base_addresses={"api": "https://api.stripe.com"}, ) merged = merge_options(options, None) assert merged.get("api_key") == "sk_test_123" assert merged.get("stripe_version") is None assert merged.get("stripe_account") == "acct_123" assert merged.get("headers") is None def test_extract_from_dict(self): options, remaining = extract_options_from_dict( { "api_key": "sk_test_123", "stripe_version": "2020-01-01", "stripe_account": "acct_123", "stripe_context": "wksp_123", "idempotency_key": "idemp_123", "headers": { "X-Stripe-Header": "Some-Value", }, "foo": "bar", } ) assert options.get("api_key") == "sk_test_123" assert options.get("stripe_version") == "2020-01-01" assert options.get("stripe_account") == "acct_123" assert options.get("stripe_context") == "wksp_123" assert options.get("idempotency_key") == "idemp_123" assert options.get("headers") == {"X-Stripe-Header": "Some-Value"} assert remaining == {"foo": "bar"} ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3890622 stripe-13.2.0/tests/test_requestor_options.py0000644000000000000000000000625315102753431016417 0ustar00import stripe from stripe._requestor_options import ( RequestorOptions, _GlobalRequestorOptions, ) class TestRequestorOptions(object): def test_to_dict(self): requestor = RequestorOptions( api_key="sk_test_123", stripe_account="acct_123", stripe_context="wksp_123", stripe_version="2019-12-03", base_addresses={ "api": "https://api.example.com", "connect": "https://connect.example.com", "files": "https://files.example.com", }, max_network_retries=3, ) assert requestor.to_dict() == { "api_key": "sk_test_123", "stripe_account": "acct_123", "stripe_context": "wksp_123", "stripe_version": "2019-12-03", "base_addresses": { "api": "https://api.example.com", "connect": "https://connect.example.com", "files": "https://files.example.com", }, "max_network_retries": 3, } def test_global_options_get_updated( self, ): global_options = _GlobalRequestorOptions() orig_api_key = stripe.api_key orig_api_base = stripe.api_base orig_connect_base = stripe.connect_api_base orig_upload_base = stripe.upload_api_base orig_meter_events_base = stripe.meter_events_api_base orig_max_network_retries = stripe.max_network_retries assert global_options.api_key == orig_api_key assert global_options.base_addresses["api"] == orig_api_base assert global_options.base_addresses["connect"] == orig_connect_base assert global_options.base_addresses["files"] == orig_upload_base assert ( global_options.base_addresses["meter_events"] == orig_meter_events_base ) assert global_options.stripe_account is None stripe.api_key = "sk_test_555555555" stripe.api_base = "https://api.example.com" stripe.connect_api_base = "https://connect.example.com" stripe.upload_api_base = "https://upload.example.com" stripe.meter_events_api_base = "https://meter-events.example.com" stripe.max_network_retries = 3 assert global_options.api_key == "sk_test_555555555" assert ( global_options.base_addresses["api"] == "https://api.example.com" ) assert ( global_options.base_addresses["connect"] == "https://connect.example.com" ) assert ( global_options.base_addresses["files"] == "https://upload.example.com" ) assert ( global_options.base_addresses["meter_events"] == "https://meter-events.example.com" ) assert global_options.stripe_account is None assert global_options.max_network_retries == 3 stripe.api_key = orig_api_key stripe.api_base = orig_api_base stripe.connect_api_base = orig_connect_base stripe.upload_api_base = orig_upload_base stripe.meter_events_api_base = orig_meter_events_base stripe.max_network_retries = orig_max_network_retries ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3890622 stripe-13.2.0/tests/test_stripe_client.py0000644000000000000000000003570615102753431015464 0ustar00from __future__ import absolute_import, division, print_function import stripe import pytest from stripe.v2.core._event import Event from stripe._http_client import new_default_http_client from stripe.events._v1_billing_meter_error_report_triggered_event import ( V1BillingMeterErrorReportTriggeredEvent, ) from stripe._error import AuthenticationError class TestStripeClient(object): def test_constructor_with_posargs(self): client = stripe.StripeClient("sk_test_456") assert client._requestor.api_key == "sk_test_456" def test_v1_customers_retrieve( self, stripe_mock_stripe_client, http_client_mock ): method = "get" path = "/v1/customers/cus_xxxxxxxxxxxxx" http_client_mock.stub_request( method, path=path, rbody='{"id": "cus_xxxxxxxxxxxxx","object": "customer"}', rcode=200, rheaders={}, ) customer = stripe_mock_stripe_client.customers.retrieve( "cus_xxxxxxxxxxxxx" ) http_client_mock.assert_requested(method, path=path) assert customer.id is not None def test_v2_events_retrieve(self, http_client_mock): method = "get" path = "/v2/core/events/evt_123" http_client_mock.stub_request( method, path=path, rbody='{"id": "evt_123","object": "v2.core.event", "type": "v1.billing.meter.error_report_triggered"}', rcode=200, rheaders={}, ) client = stripe.StripeClient( api_key="keyinfo_test_123", http_client=http_client_mock.get_mock_http_client(), ) event = client.v2.core.events.retrieve("evt_123") http_client_mock.assert_requested( method, api_base=stripe.DEFAULT_API_BASE, path=path, api_key="keyinfo_test_123", ) assert event.id is not None assert isinstance(event, Event) assert isinstance(event, V1BillingMeterErrorReportTriggeredEvent) def test_no_api_key(self): with pytest.raises(AuthenticationError): stripe.StripeClient(None) # type: ignore def test_http_client_and_options_overlap(self): with pytest.raises(ValueError): stripe.StripeClient( api_key="sk_test_123", http_client=new_default_http_client(), proxy="http://localhost:8080", ) with pytest.raises(ValueError): stripe.StripeClient( api_key="sk_test_123", http_client=new_default_http_client(), verify_ssl_certs=False, ) def test_client_level_options(self, http_client_mock): method = "get" path = "/v1/customers/cus_xxxxxxxxxxxxx" http_client_mock.stub_request( method, path=path, rbody='{"id": "cus_xxxxxxxxxxxxx","object": "customer"}', rcode=200, rheaders={}, ) api_base = "https://example.com" api_key = "sk_test_456" stripe_account = "acct_123" stripe_context = "wksp_123" stripe_client = stripe.StripeClient( api_key=api_key, http_client=http_client_mock.get_mock_http_client(), base_addresses={"api": api_base}, stripe_account=stripe_account, stripe_context=stripe_context, ) stripe_client.customers.retrieve("cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( method, api_base=api_base, path=path, api_key=api_key, stripe_account=stripe_account, stripe_context=stripe_context, stripe_version=stripe.api_version, ) def test_uses_default_api_base_if_none_specified(self, http_client_mock): http_client_mock.stub_request( "get", "/v1/customers/cus_xxxxxxxxxxxxx", ) stripe.StripeClient( api_key="sk_test_123", http_client=http_client_mock.get_mock_http_client(), ).customers.retrieve("cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", api_key="sk_test_123", api_base=stripe.DEFAULT_API_BASE, ) def test_request_level_options(self, http_client_mock): method = "get" path = "/v1/customers/cus_xxxxxxxxxxxxx" http_client_mock.stub_request( method, path=path, rbody='{"id": "cus_xxxxxxxxxxxxx","object": "customer"}', rcode=200, rheaders={}, ) client_api_base = "https://example.com" client_api_key = "sk_test_456" client_stripe_account = "acct_123" client_stripe_context = "wksp_123" request_api_key = "sk_test_789" request_stripe_account = "acct_456" request_stripe_context = "wksp_456" stripe_client = stripe.StripeClient( api_key=client_api_key, http_client=http_client_mock.get_mock_http_client(), base_addresses={"api": client_api_base}, stripe_account=client_stripe_account, stripe_context=client_stripe_context, ) stripe_client.customers.retrieve( "cus_xxxxxxxxxxxxx", options={ "api_key": request_api_key, "stripe_account": request_stripe_account, "stripe_context": request_stripe_context, }, ) http_client_mock.assert_requested( method, api_base=client_api_base, path=path, api_key=request_api_key, stripe_account=request_stripe_account, stripe_context=request_stripe_context, stripe_version=stripe.api_version, ) def test_separate_clients_have_separate_options(self, http_client_mock): method = "get" path = "/v1/customers/cus_xxxxxxxxxxxxx" http_client_mock.stub_request( method, path=path, rbody='{"id": "cus_xxxxxxxxxxxxx","object": "customer"}', rcode=200, rheaders={}, ) stripe_client_1 = stripe.StripeClient( api_key="sk_test_123", base_addresses={"api": "https://example.com"}, http_client=http_client_mock.get_mock_http_client(), ) stripe_client_2 = stripe.StripeClient( api_key="sk_test_456", base_addresses={"api": "https://example2.com"}, http_client=http_client_mock.get_mock_http_client(), ) stripe_client_1.customers.retrieve("cus_xxxxxxxxxxxxx") stripe_client_2.customers.retrieve("cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( method, api_base="https://example.com", path=path, api_key="sk_test_123", stripe_version=stripe.api_version, ) http_client_mock.assert_requested( method, api_base="https://example2.com", path=path, api_key="sk_test_456", stripe_version=stripe.api_version, ) def test_v2_encodes_none_as_null(self, http_client_mock): http_client_mock.stub_request( "post", path="/v2/billing/meter_events", rbody='{"event_name": "cool", "payload": {}, "identifier": null}', rcode=200, rheaders={}, ) client = stripe.StripeClient( api_key="sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) client.v2.billing.meter_events.create( {"event_name": "cool", "payload": {}, "identifier": None} # type: ignore - None is not valid for `identifier` ) http_client_mock.assert_requested( "post", content_type="application/json", post_data='{"event_name": "cool", "payload": {}, "identifier": null}', is_json=True, ) def test_carries_over_requestor_options_to_resource( self, http_client_mock ): client = stripe.StripeClient( api_key="sk_test_123", stripe_account="acct_123", base_addresses={ "api": "https://example.com", }, http_client=http_client_mock.get_mock_http_client(), ) http_client_mock.stub_request( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", rbody='{"id": "cus_xxxxxxxxxxxxx","object": "customer"}', rcode=200, rheaders={}, ) cus = client.customers.retrieve("cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", api_key="sk_test_123", stripe_account="acct_123", api_base="https://example.com", ) http_client_mock.stub_request( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx", rbody='{"id": "cus_xxxxxxxxxxxxx","object": "customer"}', rcode=200, rheaders={}, ) cus.delete() http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx", api_key="sk_test_123", stripe_account="acct_123", api_base="https://example.com", ) def test_user_options_are_not_mutated(self, http_client_mock): client = stripe.StripeClient( http_client=http_client_mock.get_mock_http_client(), api_key="sk_test_abc", ) http_client_mock.stub_request( "get", path="/v2/core/events", query_string="object_id=obj_123", rbody='{"data": [{"id": "x"}], "next_page": "page_2"}', rcode=200, rheaders={}, ) my_options: stripe.RequestOptions = {"api_key": "sk_test_xyz"} client.v2.core.events.list( {"object_id": "obj_123"}, options=my_options ) assert my_options == {"api_key": "sk_test_xyz"} def test_carries_over_request_options_to_resource(self, http_client_mock): client = stripe.StripeClient( api_key="sk_test_123", stripe_account="acct_123", stripe_version="2019-12-03", http_client=http_client_mock.get_mock_http_client(), ) http_client_mock.stub_request( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", rbody='{"id": "cus_xxxxxxxxxxxxx","object": "customer"}', rcode=200, rheaders={}, ) cus = client.customers.retrieve( "cus_xxxxxxxxxxxxx", {}, { "api_key": "sk_test_456", "stripe_version": "2023-12-03", "stripe_account": "acct_456", }, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", api_key="sk_test_456", stripe_account="acct_456", stripe_version="2023-12-03", ) http_client_mock.stub_request( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx", rbody='{"id": "cus_xxxxxxxxxxxxx","object": "customer"}', rcode=200, rheaders={}, ) cus.delete() assert cus._requestor is not client._requestor http_client_mock.assert_requested( "delete", path="/v1/customers/cus_xxxxxxxxxxxxx", api_key="sk_test_456", stripe_account="acct_456", stripe_version="2023-12-03", ) def test_respects_max_network_retries_in_request_options( self, http_client_mock ): client = stripe.StripeClient( api_key="sk_test_123", http_client=http_client_mock.get_mock_http_client(), ) http_client_mock.stub_request( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", rbody='{"id": "cus_xxxxxxxxxxxxx","object": "customer"}', rcode=200, rheaders={}, ) client.customers.retrieve( "cus_xxxxxxxxxxxxx", {}, { "max_network_retries": 2, }, ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", api_key="sk_test_123", max_network_retries=2, ) def test_respects_max_network_retries_in_client_options( self, http_client_mock ): client = stripe.StripeClient( api_key="sk_test_123", http_client=http_client_mock.get_mock_http_client(), max_network_retries=2, ) http_client_mock.stub_request( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", rbody='{"id": "cus_xxxxxxxxxxxxx","object": "customer"}', rcode=200, rheaders={}, ) client.customers.retrieve("cus_xxxxxxxxxxxxx") http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", api_key="sk_test_123", max_network_retries=2, ) def test_prefers_max_network_retries_in_request_options( self, http_client_mock ): client = stripe.StripeClient( api_key="sk_test_123", http_client=http_client_mock.get_mock_http_client(), max_network_retries=2, ) http_client_mock.stub_request( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", rbody='{"id": "cus_xxxxxxxxxxxxx","object": "customer"}', rcode=200, rheaders={}, ) client.customers.retrieve( "cus_xxxxxxxxxxxxx", options={"max_network_retries": 0} ) http_client_mock.assert_requested( "get", path="/v1/customers/cus_xxxxxxxxxxxxx", api_key="sk_test_123", max_network_retries=0, ) def test_stripe_client_sends_usage( self, stripe_mock_stripe_client, http_client_mock ): path = "/v1/customers/cus_xxxxxxxxxxxxx" http_client_mock.stub_request( "get", path=path, rbody='{"id": "cus_xxxxxxxxxxxxx","object": "customer"}', rcode=200, rheaders={}, ) customer = stripe_mock_stripe_client.customers.retrieve( "cus_xxxxxxxxxxxxx" ) http_client_mock.assert_requested( "get", path=path, usage=["stripe_client"] ) http_client_mock.stub_request( "delete", path=path, rbody='{"id": "cus_xxxxxxxxxxxxx","object": "customer", "deleted": true}', rcode=200, rheaders={}, ) customer.delete() http_client_mock.assert_requested("delete", path=path, usage=None) ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3890622 stripe-13.2.0/tests/test_stripe_context.py0000644000000000000000000002104015102753431015654 0ustar00import stripe from stripe import StripeContext from stripe import _api_requestor from stripe._request_options import RequestOptions, merge_options from stripe._requestor_options import RequestorOptions from stripe.v2.core._event import EventNotification from unittest.mock import Mock import pytest class TestStripeContext: def test_init_empty(self): context = StripeContext() assert context._segments == [] def test_init_with_segments(self): context = StripeContext(["a", "b", "c"]) assert context._segments == ["a", "b", "c"] def test_push(self): context = StripeContext(["a", "b"]) new_context = context.push("c") # Original context unchanged assert context._segments == ["a", "b"] # New context has added segment assert new_context._segments == ["a", "b", "c"] # Different objects assert context is not new_context def test_pop_with_segments(self): context = StripeContext(["a", "b", "c"]) new_context = context.pop() # Original context unchanged assert context._segments == ["a", "b", "c"] # New context has removed last segment assert new_context._segments == ["a", "b"] # Different objects assert context is not new_context def test_pop_empty(self): with pytest.raises(ValueError): StripeContext([]).pop() def test_str_empty(self): context = StripeContext([]) assert str(context) == "" def test_str_single_segment(self): context = StripeContext(["a"]) assert str(context) == "a" def test_str_multiple_segments(self): context = StripeContext(["a", "b", "c"]) assert str(context) == "a/b/c" def test_parse_empty_string(self): context = StripeContext.parse("") assert context._segments == [] def test_parse_single_segment(self): context = StripeContext.parse("a") assert context._segments == ["a"] def test_parse_multiple_segments(self): context = StripeContext.parse("a/b/c") assert context._segments == ["a", "b", "c"] class TestStripeContextIntegration: def test_request_options_string_context(self): requestor = RequestorOptions(api_key="sk_test_123") request: RequestOptions = {"stripe_context": "a/b/c"} merged = merge_options(requestor, request) assert merged.get("stripe_context") == "a/b/c" def test_request_options_context_object(self): requestor = RequestorOptions(api_key="sk_test_123") context = StripeContext(["a", "b", "c"]) request: RequestOptions = {"stripe_context": context} merged = merge_options(requestor, request) assert merged.get("stripe_context") == context def test_precedence_no_context(self): requestor = RequestorOptions(api_key="sk_test_123") merged = merge_options(requestor, None) assert merged.get("stripe_context") is None def test_precedence_client_context_only(self): context = StripeContext(["client"]) requestor = RequestorOptions( api_key="sk_test_123", stripe_context=context ) merged = merge_options(requestor, None) assert merged.get("stripe_context") == context def test_precedence_request_context_only(self): requestor = RequestorOptions(api_key="sk_test_123") context = StripeContext(["request"]) request: RequestOptions = {"stripe_context": context} merged = merge_options(requestor, request) assert merged.get("stripe_context") == context def test_precedence_request_overrides_client(self): client_context = StripeContext(["client"]) request_context = StripeContext(["request"]) requestor = RequestorOptions( api_key="sk_test_123", stripe_context=client_context ) request: RequestOptions = {"stripe_context": request_context} merged = merge_options(requestor, request) assert merged.get("stripe_context") == request_context def test_precedence_string_overrides_client_context(self): client_context = StripeContext(["client"]) requestor = RequestorOptions( api_key="sk_test_123", stripe_context=client_context ) request: RequestOptions = {"stripe_context": "request/string"} merged = merge_options(requestor, request) assert merged.get("stripe_context") == "request/string" def test_request_can_clear_client_context(self): client_context = StripeContext(["client"]) requestor = RequestorOptions( api_key="sk_test_123", stripe_context=client_context ) ctx = StripeContext() request: RequestOptions = {"stripe_context": ctx} merged = merge_options(requestor, request) assert merged.get("stripe_context") is ctx def test_stripe_client_accepts_string(self): client = stripe.StripeClient( api_key="sk_test_123", stripe_context="a/b/c" ) assert client._requestor._options.stripe_context == "a/b/c" def test_stripe_client_accepts_context_object(self): context = StripeContext(["a", "b", "c"]) client = stripe.StripeClient( api_key="sk_test_123", stripe_context=context ) assert client._requestor._options.stripe_context == context def test_event_notification_parsing(self): mock_client = Mock() parsed_body = { "id": "evt_123", "type": "test.event", "created": "2023-01-01T00:00:00Z", "livemode": False, "context": "a/b/c", } notification = EventNotification(parsed_body, mock_client) assert isinstance(notification.context, StripeContext) assert notification.context._segments == ["a", "b", "c"] def test_event_notification_no_context(self): mock_client = Mock() parsed_body = { "id": "evt_123", "type": "test.event", "created": "2023-01-01T00:00:00Z", "livemode": False, } notification = EventNotification(parsed_body, mock_client) assert notification.context is None def test_event_notification_empty_context(self): mock_client = Mock() parsed_body = { "id": "evt_123", "type": "test.event", "created": "2023-01-01T00:00:00Z", "livemode": False, "context": "", } notification = EventNotification(parsed_body, mock_client) assert notification.context is None @pytest.mark.parametrize( ["options", "expected"], [ ({}, None), ({"stripe_context": StripeContext()}, None), ( {"stripe_context": "workspace_123/account_456"}, "workspace_123/account_456", ), ( { "stripe_context": StripeContext.parse( "workspace_123/account_456/customer_789" ) }, "workspace_123/account_456/customer_789", ), ], ) def test_request_headers(self, options, expected): requestor = _api_requestor._APIRequestor() headers = requestor.request_headers("get", "V1", options) assert headers.get("Stripe-Context") == expected class TestStripeContextUsagePatterns: def test_context_manipulation_pattern(self): # Common usage: start with base context, add child contexts base = StripeContext.parse("workspace_123") child = base.push("account_456") grandchild = child.push("customer_789") assert str(base) == "workspace_123" assert str(child) == "workspace_123/account_456" assert str(grandchild) == "workspace_123/account_456/customer_789" # Go back up the hierarchy back_to_child = grandchild.pop() back_to_base = back_to_child.pop() assert str(back_to_child) == "workspace_123/account_456" assert str(back_to_base) == "workspace_123" def test_context_immutability(self): original = StripeContext(["a", "b"]) # Multiple operations on the same context pushed = original.push("c") popped = original.pop() # Original remains unchanged assert original._segments == ["a", "b"] assert pushed._segments == ["a", "b", "c"] assert popped._segments == ["a"] # All are different objects assert original is not pushed assert original is not popped assert pushed is not popped ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3890622 stripe-13.2.0/tests/test_stripe_object.py0000644000000000000000000003163515102753431015451 0ustar00import datetime import json import pickle from copy import copy, deepcopy import pytest import stripe from stripe._stripe_object import StripeObject # We use this because it has a map, "restriction.currency_options" from string -> CurrencyOptions nested class. SAMPLE_PROMOTION_CODE = json.loads( """{ "id": "promo_1NzO4FIFdHa3DensTcbAA0mz", "object": "promotion_code", "restrictions": { "currency_options": { "gbp": { "minimum_amount": 10 }, "usd": { "minimum_amount": 5 } } } } """ ) SAMPLE_INVOICE = json.loads( """{ "id": "in_xyz", "object": "invoice", "automatic_tax": { "enabled": false, "status": null }, "created": 1694725031, "lines": { "object": "list", "data": [ { "id": "sli_xyz", "object": "line_item", "period": { "end": 1697316491, "start": 1694724491 }, "plan": { "id": "price_xyz", "object": "plan" }, "price": { "id": "price_xyz", "object": "price", "billing_scheme": "per_unit", "recurring": { "aggregate_usage": null, "interval": "month", "interval_count": 1, "trial_period_days": null, "usage_type": "licensed" } } } ], "has_more": false, "total_count": 1, "url": "/v1/invoices/in_1NqMb5IFdHa3DenshEllwgEX/lines" }, "livemode": false, "next_payment_attempt": null, "shipping_cost": { "taxes": [{"amount": 10, "rate": {"id": "rate_xyz", "object": "tax_rate", "active": false}}] } } """ ) class TestStripeObject(object): def test_initializes_with_parameters(self): obj = StripeObject("foo", "bar", myparam=5, yourparam="boo") assert obj.id == "foo" assert obj.api_key == "bar" def test_access(self): obj = StripeObject("myid", "mykey", myparam=5) # Empty with pytest.raises(AttributeError): obj.myattr with pytest.raises(KeyError): obj["myattr"] assert obj.get("myattr", "def") == "def" assert obj.get("myattr") is None # Setters obj.myattr = "myval" obj["myitem"] = "itval" assert obj.setdefault("mydef", "sdef") == "sdef" # Getters assert obj.setdefault("myattr", "sdef") == "myval" assert obj.myattr == "myval" assert obj["myattr"] == "myval" assert obj.get("myattr") == "myval" assert sorted(obj.keys()) == ["id", "myattr", "mydef", "myitem"] assert sorted(obj.values()) == ["itval", "myid", "myval", "sdef"] # Illegal operations with pytest.raises(ValueError): obj.foo = "" def test_refresh_from(self, mocker): obj = StripeObject.construct_from( {"foo": "bar", "trans": "me"}, "mykey" ) assert obj.api_key == "mykey" assert obj.foo == "bar" assert obj["trans"] == "me" assert obj.stripe_version is stripe.api_version assert obj.stripe_account is None assert obj.last_response is None last_response = mocker.Mock() obj.refresh_from( {"foo": "baz", "johnny": 5}, "key2", stripe_version="2017-08-15", stripe_account="acct_foo", last_response=last_response, ) assert obj.johnny == 5 assert obj.foo == "baz" with pytest.raises(AttributeError): obj.trans assert obj.api_key == "key2" assert obj.stripe_version == "2017-08-15" assert obj.stripe_account == "acct_foo" assert obj.last_response == last_response obj.refresh_from( {"trans": 4, "metadata": {"amount": 42}}, "key2", True ) assert obj.foo == "baz" assert obj.trans == 4 def test_passing_nested_refresh(self): obj = StripeObject.construct_from( {"foos": {"type": "list", "data": [{"id": "nested"}]}}, "key", stripe_account="acct_foo", ) nested = obj.foos.data[0] assert obj.api_key == "key" assert nested.id == "nested" assert nested.api_key == "key" assert nested.stripe_account == "acct_foo" def test_refresh_from_nested_object(self): obj = stripe.Invoice.construct_from(SAMPLE_INVOICE, "key") assert len(obj.lines) == 1 # Does a list get deserialized to the correct class? assert isinstance(obj.lines, stripe.ListObject) # Do items within a list get deserialized to the correct class? assert isinstance(obj.lines.data[0], stripe.InvoiceLineItem) # Do references to other top-level resources get deserialized to the correct class? assert isinstance(obj.lines.data[0].price, stripe.Price) assert obj.lines.data[0].price.billing_scheme == "per_unit" # Do inner classes on referenced top-level resources get deserialized to the correct inner class. assert isinstance( obj.lines.data[0].price.recurring, stripe.Price.Recurring ) assert isinstance( obj.lines.data[0].price.recurring, stripe.Price.Recurring ) # Test: do nested objects get deserialized to the correct inner class? assert isinstance(obj.automatic_tax, stripe.Invoice.AutomaticTax) assert isinstance(obj.shipping_cost, stripe.Invoice.ShippingCost) # Test: do nested objects inside lists get deserialized to the correct inner class? assert isinstance( obj.shipping_cost.taxes[0], stripe.Invoice.ShippingCost.Tax ) def test_refresh_from_nested_object_can_be_paged(self): obj = stripe.Invoice.construct_from(SAMPLE_INVOICE, "key") assert len(obj.lines) == 1 assert isinstance(obj.lines, stripe.ListObject) seen = [item["id"] for item in obj.lines.auto_paging_iter()] assert seen == ["sli_xyz"] assert isinstance(obj.lines.data[0], stripe.InvoiceLineItem) assert isinstance(obj.lines.data[0].price, StripeObject) assert isinstance(obj.lines.data[0].price, stripe.Price) assert obj.lines.data[0].price.billing_scheme == "per_unit" def test_refresh_on_map_to_nested_object(self): obj = stripe.PromotionCode.construct_from(SAMPLE_PROMOTION_CODE, "key") assert isinstance( obj.restrictions.currency_options, dict, ) assert not isinstance( obj.restrictions.currency_options, StripeObject, ) assert isinstance( obj.restrictions.currency_options["gbp"], stripe.PromotionCode.Restrictions.CurrencyOptions, ) def test_to_json(self): obj = StripeObject.construct_from(SAMPLE_INVOICE, "key") self.check_invoice_data(json.loads(str(obj))) def check_invoice_data(self, data): # Check rough structure assert len(list(data.keys())) == 8 assert len(list(data["lines"]["data"][0].keys())) == 5 assert len(data["lines"]["data"]) == 1 # Check various data types assert data["created"] == 1694725031 assert data["next_payment_attempt"] is None assert data["livemode"] is False assert ( data["lines"]["data"][0]["price"]["billing_scheme"] == "per_unit" ) def test_repr(self): obj = StripeObject("foo", "bar", myparam=5) obj["object"] = "\u4e00boo\u1f00" obj.date = datetime.datetime.fromtimestamp(1511136000) res = repr(obj) assert " EventParser: """ helper to simplify parsing and validating events given a payload returns a function that has the client pre-bound """ def _parse_event_notif(payload: str): return stripe_client.parse_event_notification( payload, generate_header(payload=payload), DUMMY_WEBHOOK_SECRET ) return _parse_event_notif def test_parses_event_notif( self, parse_event_notif: EventParser, v2_payload_no_data: str ): notif = parse_event_notif(v2_payload_no_data) assert isinstance( notif, V1BillingMeterErrorReportTriggeredEventNotification ) assert notif.id == "evt_234" assert notif.related_object assert notif.related_object.id == "mtr_123" assert notif.reason assert notif.reason.type == "request" assert notif.reason.request assert notif.reason.request.id == "foo" assert notif.reason.request.idempotency_key == "bar" def test_parses_event_notif_with_data( self, parse_event_notif: EventParser, v2_payload_with_data: str ): notif = parse_event_notif(v2_payload_with_data) assert isinstance( notif, V1BillingMeterErrorReportTriggeredEventNotification ) # this isn't for constructing events, it's for parsing thin ones assert not hasattr(notif, "data") assert notif.reason is None def test_parses_unknown_event_notif(self, parse_event_notif: EventParser): event = parse_event_notif( json.dumps( { "id": "evt_234", "object": "v2.core.event", "type": "uknown.event.type", "livemode": True, "created": "2022-02-15T00:27:45.330Z", "context": "acct_456", "related_object": { "id": "mtr_123", "type": "billing.meter", "url": "/v1/billing/meters/mtr_123", }, } ) ) assert type(event) is UnknownEventNotification assert event.related_object def test_validates_signature( self, stripe_client: StripeClient, v2_payload_no_data ): with pytest.raises(SignatureVerificationError): stripe_client.parse_event_notification( v2_payload_no_data, "bad header", DUMMY_WEBHOOK_SECRET ) def test_v2_events_data_type(self, http_client_mock, v2_payload_with_data): method = "get" path = "/v2/core/events/evt_123" http_client_mock.stub_request( method, path=path, rbody=v2_payload_with_data, rcode=200, rheaders={}, ) client = StripeClient( api_key="sk_test_1234", stripe_context="org_456", http_client=http_client_mock.get_mock_http_client(), ) event = client.v2.core.events.retrieve("evt_123") http_client_mock.assert_requested( method, api_base=DEFAULT_API_BASE, path=path, api_key="sk_test_1234", stripe_context="org_456", ) assert event.id is not None assert isinstance(event, V1BillingMeterErrorReportTriggeredEvent) assert event.data is not None assert isinstance( event.data, V1BillingMeterErrorReportTriggeredEvent.V1BillingMeterErrorReportTriggeredEventData, ) assert event.data.reason.error_count == 1 # an "integration" shaped test with all the bells and whistles def test_v2_events_integration( self, http_client_mock: HTTPClientMock, v2_payload_no_data, v2_payload_with_data, # use the real client so we get the real types stripe_client: StripeClient, ): method = "get" path = "/v2/core/events/evt_234" meter_path = "/v1/billing/meters/mtr_123" http_client_mock.stub_request( method, path=path, rbody=v2_payload_with_data, rcode=200, rheaders={}, ) http_client_mock.stub_request( method, path=meter_path, rbody=json.dumps( { "id": "mtr_123", "object": "billing.meter", "event_name": "cool event", } ), rcode=200, rheaders={}, ) event_notif = stripe_client.parse_event_notification( v2_payload_no_data, generate_header(payload=v2_payload_no_data), DUMMY_WEBHOOK_SECRET, ) assert event_notif.type == "v1.billing.meter.error_report_triggered" event = event_notif.fetch_event() meter = event_notif.fetch_related_object() if sys.version_info >= (3, 7): from typing_extensions import assert_type # noqa: SPY103 - this is only available on 3.6 pythons because of typing_extensions version restrictions # these are purely type-level checks to ensure our narrowing works for users assert_type( event_notif, V1BillingMeterErrorReportTriggeredEventNotification, ) assert_type(event, V1BillingMeterErrorReportTriggeredEvent) assert_type(meter, Meter) assert isinstance(event, V1BillingMeterErrorReportTriggeredEvent) http_client_mock.assert_requested( method, api_base=DEFAULT_API_BASE, path=path, api_key="sk_test_1234", # context read from event stripe_context="acct_123", ) http_client_mock.assert_requested( method, api_base=DEFAULT_API_BASE, path=meter_path, api_key="sk_test_1234", # context read from event stripe_context="acct_123", ) assert isinstance( event.data, V1BillingMeterErrorReportTriggeredEvent.V1BillingMeterErrorReportTriggeredEventData, ) assert event.data.reason.error_count == 1 assert isinstance(meter, Meter) assert meter.event_name == "cool event" ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1762383641.3900623 stripe-13.2.0/tests/test_webhook.py0000644000000000000000000001611015102753431014242 0ustar00import time import pytest import stripe from stripe._error import SignatureVerificationError DUMMY_WEBHOOK_PAYLOAD = """{ "id": "evt_test_webhook", "object": "event", "data": { "object": { "id": "rdr_123", "object": "terminal.reader" } } }""" DUMMY_WEBHOOK_SECRET = "whsec_test_secret" def generate_header(**kwargs): timestamp = kwargs.get("timestamp", int(time.time())) payload = kwargs.get("payload", DUMMY_WEBHOOK_PAYLOAD) secret = kwargs.get("secret", DUMMY_WEBHOOK_SECRET) scheme = kwargs.get("scheme", stripe.WebhookSignature.EXPECTED_SCHEME) signature = kwargs.get("signature", None) if signature is None: payload_to_sign = "%d.%s" % (timestamp, payload) signature = stripe.WebhookSignature._compute_signature( payload_to_sign, secret ) header = "t=%d,%s=%s" % (timestamp, scheme, signature) return header class TestWebhook(object): def test_construct_event(self): header = generate_header() event = stripe.Webhook.construct_event( DUMMY_WEBHOOK_PAYLOAD, header, DUMMY_WEBHOOK_SECRET ) assert isinstance(event, stripe.Event) def test_raise_on_json_error(self): payload = "this is not valid JSON" header = generate_header(payload=payload) with pytest.raises(ValueError): stripe.Webhook.construct_event( payload, header, DUMMY_WEBHOOK_SECRET ) def test_raise_on_invalid_header(self): header = "bad_header" with pytest.raises(SignatureVerificationError): stripe.Webhook.construct_event( DUMMY_WEBHOOK_PAYLOAD, header, DUMMY_WEBHOOK_SECRET ) def test_construct_event_from_bytearray(self): header = generate_header() payload = bytearray(DUMMY_WEBHOOK_PAYLOAD, "utf-8") event = stripe.Webhook.construct_event( payload, header, DUMMY_WEBHOOK_SECRET ) assert isinstance(event, stripe.Event) def test_construct_event_from_bytes(self): header = generate_header() payload = bytes(DUMMY_WEBHOOK_PAYLOAD, "utf-8") event = stripe.Webhook.construct_event( payload, header, DUMMY_WEBHOOK_SECRET ) assert isinstance(event, stripe.Event) class TestWebhookSignature(object): def test_raise_on_malformed_header(self): header = "i'm not even a real signature header" with pytest.raises( SignatureVerificationError, match="Unable to extract timestamp and signatures from header", ): stripe.WebhookSignature.verify_header( DUMMY_WEBHOOK_PAYLOAD, header, DUMMY_WEBHOOK_SECRET ) def test_raise_on_no_signatures_with_expected_scheme(self): header = generate_header(scheme="v0") with pytest.raises( SignatureVerificationError, match="No signatures found with expected scheme v1", ): stripe.WebhookSignature.verify_header( DUMMY_WEBHOOK_PAYLOAD, header, DUMMY_WEBHOOK_SECRET ) def test_raise_on_no_valid_signatures_for_payload(self): header = generate_header(signature="bad_signature") with pytest.raises( SignatureVerificationError, match="No signatures found matching the expected signature for payload", ): stripe.WebhookSignature.verify_header( DUMMY_WEBHOOK_PAYLOAD, header, DUMMY_WEBHOOK_SECRET ) def test_raise_on_timestamp_outside_tolerance(self): header = generate_header(timestamp=int(time.time()) - 15) with pytest.raises( SignatureVerificationError, match="Timestamp outside the tolerance zone", ): stripe.WebhookSignature.verify_header( DUMMY_WEBHOOK_PAYLOAD, header, DUMMY_WEBHOOK_SECRET, tolerance=10, ) def test_valid_header_and_signature(self): header = generate_header() assert stripe.WebhookSignature.verify_header( DUMMY_WEBHOOK_PAYLOAD, header, DUMMY_WEBHOOK_SECRET, tolerance=10 ) def test_header_contains_valid_signature(self): header = generate_header() + ",v1=bad_signature" assert stripe.WebhookSignature.verify_header( DUMMY_WEBHOOK_PAYLOAD, header, DUMMY_WEBHOOK_SECRET, tolerance=10 ) def test_timestamp_off_but_no_tolerance(self): header = generate_header(timestamp=12345) assert stripe.WebhookSignature.verify_header( DUMMY_WEBHOOK_PAYLOAD, header, DUMMY_WEBHOOK_SECRET ) class TestStripeClientConstructEvent(object): def test_construct_event(self, stripe_mock_stripe_client): header = generate_header() event = stripe_mock_stripe_client.construct_event( DUMMY_WEBHOOK_PAYLOAD, header, DUMMY_WEBHOOK_SECRET ) assert isinstance(event, stripe.Event) def test_raise_on_json_error(self, stripe_mock_stripe_client): payload = "this is not valid JSON" header = generate_header(payload=payload) with pytest.raises(ValueError): stripe_mock_stripe_client.construct_event( payload, header, DUMMY_WEBHOOK_SECRET ) def test_raise_on_invalid_header(self, stripe_mock_stripe_client): header = "bad_header" with pytest.raises(SignatureVerificationError): stripe_mock_stripe_client.construct_event( DUMMY_WEBHOOK_PAYLOAD, header, DUMMY_WEBHOOK_SECRET ) def test_construct_event_from_bytearray(self, stripe_mock_stripe_client): header = generate_header() payload = bytearray(DUMMY_WEBHOOK_PAYLOAD, "utf-8") event = stripe_mock_stripe_client.construct_event( payload, header, DUMMY_WEBHOOK_SECRET ) assert isinstance(event, stripe.Event) def test_construct_event_from_bytes(self, stripe_mock_stripe_client): header = generate_header() payload = bytes(DUMMY_WEBHOOK_PAYLOAD, "utf-8") event = stripe_mock_stripe_client.construct_event( payload, header, DUMMY_WEBHOOK_SECRET ) assert isinstance(event, stripe.Event) def test_construct_event_inherits_requestor(self, http_client_mock): http_client_mock.stub_request("delete", "/v1/terminal/readers/rdr_123") client = stripe.StripeClient( "sk_test_777", stripe_account="acct_777", stripe_version="2222-22-22", http_client=http_client_mock.get_mock_http_client(), ) header = generate_header() event = client.construct_event( DUMMY_WEBHOOK_PAYLOAD, header, DUMMY_WEBHOOK_SECRET ) assert event._requestor == client._requestor assert isinstance(event.data.object, stripe.terminal.Reader) event.data.object.delete() http_client_mock.assert_requested( "delete", path="/v1/terminal/readers/rdr_123", api_key="sk_test_777", stripe_account="acct_777", stripe_version="2222-22-22", ) stripe-13.2.0/PKG-INFO0000644000000000000000000004315100000000000011073 0ustar00Metadata-Version: 2.4 Name: stripe Version: 13.2.0 Summary: Python bindings for the Stripe API Keywords: stripe,api,payments Author-email: Stripe Requires-Python: >=3.7 Description-Content-Type: text/markdown Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Software Development :: Libraries :: Python Modules License-File: LICENSE Requires-Dist: typing_extensions <= 4.2.0, > 3.7.2; python_version < '3.7' Requires-Dist: typing_extensions >= 4.5.0; python_version >= '3.7' Requires-Dist: requests >= 2.20; python_version >= '3.0' Requires-Dist: httpx ; extra == "async" Project-URL: changelog, https://github.com/stripe/stripe-python/blob/master/CHANGELOG.md Project-URL: documentation, https://stripe.com/docs/api/?lang=python Project-URL: homepage, https://stripe.com/ Project-URL: issues, https://github.com/stripe/stripe-python/issues Project-URL: source, https://github.com/stripe/stripe-python Provides-Extra: async # Stripe Python Library [![pypi](https://img.shields.io/pypi/v/stripe.svg)](https://pypi.python.org/pypi/stripe) [![Build Status](https://github.com/stripe/stripe-python/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/stripe/stripe-python/actions?query=branch%3Amaster) The Stripe Python library provides convenient access to the Stripe API from applications written in the Python language. It includes a pre-defined set of classes for API resources that initialize themselves dynamically from API responses which makes it compatible with a wide range of versions of the Stripe API. ## API Documentation See the [Python API docs](https://stripe.com/docs/api?lang=python). ## Installation This package is available on PyPI: ```sh pip install --upgrade stripe ``` Alternatively, install from source with: ```sh python -m pip install . ``` ### Requirements Per our [Language Version Support Policy](https://docs.stripe.com/sdks/versioning?lang=python#stripe-sdk-language-version-support-policy), we currently support **Python 3.7+**. Support for Python 3.7 and 3.8 is deprecated and will be removed in an upcoming major version. Read more and see the full schedule in the docs: https://docs.stripe.com/sdks/versioning?lang=python#stripe-sdk-language-version-support-policy #### Extended Support #### Python 2.7 deprecation [The Python Software Foundation (PSF)](https://www.python.org/psf-landing/) community [announced the end of support of Python 2](https://www.python.org/doc/sunset-python-2/) on 01 January 2020. Starting with version 6.0.0 Stripe SDK Python packages will no longer support Python 2.7. To continue to get new features and security updates, please make sure to update your Python runtime to Python 3.6+. The last version of the Stripe SDK that supported Python 2.7 was **5.5.0**. ## Usage The library needs to be configured with your account's secret key which is available in your [Stripe Dashboard][api-keys]. Set `stripe.api_key` to its value: ```python from stripe import StripeClient client = StripeClient("sk_test_...") # list customers customers = client.v1.customers.list() # print the first customer's email print(customers.data[0].email) # retrieve specific Customer customer = client.v1.customers.retrieve("cus_123456789") # print that customer's email print(customer.email) ``` ### StripeClient vs legacy pattern We introduced the `StripeClient` class in v8 of the Python SDK. The legacy pattern used prior to that version is still available to use but will be marked as deprecated soon. Review the [migration guide to use StripeClient]() to move from the legacy pattern. Once the legacy pattern is deprecated, new API endpoints will only be accessible in the StripeClient. While there are no current plans to remove the legacy pattern for existing API endpoints, this may change in the future. ### Handling exceptions Unsuccessful requests raise exceptions. The class of the exception will reflect the sort of error that occurred. Please see the [Api Reference](https://stripe.com/docs/api/errors/handling) for a description of the error classes you should handle, and for information on how to inspect these errors. ### Per-request Configuration Configure individual requests with the `options` argument. For example, you can make requests with a specific [Stripe Version](https://stripe.com/docs/api#versioning) or as a [connected account](https://stripe.com/docs/connect/authentication#authentication-via-the-stripe-account-header): ```python from stripe import StripeClient client = StripeClient("sk_test_...") # list customers client.v1.customers.list( options={ "api_key": "sk_test_...", "stripe_account": "acct_...", "stripe_version": "2019-02-19", } ) # retrieve single customer client.v1.customers.retrieve( "cus_123456789", options={ "api_key": "sk_test_...", "stripe_account": "acct_...", "stripe_version": "2019-02-19", } ) ``` ### Configuring an HTTP Client You can configure your `StripeClient` to use `urlfetch`, `requests`, `pycurl`, or `urllib` with the `http_client` option: ```python client = StripeClient("sk_test_...", http_client=stripe.UrlFetchClient()) client = StripeClient("sk_test_...", http_client=stripe.RequestsClient()) client = StripeClient("sk_test_...", http_client=stripe.PycurlClient()) client = StripeClient("sk_test_...", http_client=stripe.UrllibClient()) ``` Without a configured client, by default the library will attempt to load libraries in the order above (i.e. `urlfetch` is preferred with `urllib2` used as a last resort). We usually recommend that people use `requests`. ### Configuring a Proxy A proxy can be configured with the `proxy` client option: ```python client = StripeClient("sk_test_...", proxy="https://user:pass@example.com:1234") ``` ### Configuring Automatic Retries You can enable automatic retries on requests that fail due to a transient problem by configuring the maximum number of retries: ```python client = StripeClient("sk_test_...", max_network_retries=2) ``` Various errors can trigger a retry, like a connection error or a timeout, and also certain API responses like HTTP status `409 Conflict`. [Idempotency keys][idempotency-keys] are automatically generated and added to requests, when not given, to guarantee that retries are safe. ### Logging The library can be configured to emit logging that will give you better insight into what it's doing. The `info` logging level is usually most appropriate for production use, but `debug` is also available for more verbosity. There are a few options for enabling it: 1. Set the environment variable `STRIPE_LOG` to the value `debug` or `info` ```sh $ export STRIPE_LOG=debug ``` 2. Set `stripe.log`: ```python import stripe stripe.log = 'debug' ``` 3. Enable it through Python's logging module: ```python import logging logging.basicConfig() logging.getLogger('stripe').setLevel(logging.DEBUG) ``` ### Accessing response code and headers You can access the HTTP response code and headers using the `last_response` property of the returned resource. ```python customer = client.v1.customers.retrieve( "cus_123456789" ) print(customer.last_response.code) print(customer.last_response.headers) ``` ### Writing a Plugin If you're writing a plugin that uses the library, we'd appreciate it if you identified using `stripe.set_app_info()`: ```py stripe.set_app_info("MyAwesomePlugin", version="1.2.34", url="https://myawesomeplugin.info") ``` This information is passed along when the library makes calls to the Stripe API. ### Telemetry By default, the library sends telemetry to Stripe regarding request latency and feature usage. These numbers help Stripe improve the overall latency of its API for all users, and improve popular features. You can disable this behavior if you prefer: ```python stripe.enable_telemetry = False ``` ## Types In [v7.1.0](https://github.com/stripe/stripe-python/releases/tag/v7.1.0) and newer, the library includes type annotations. See [the wiki](https://github.com/stripe/stripe-python/wiki/Inline-type-annotations) for a detailed guide. Please note that some annotations use features that were only fairly recently accepted, such as [`Unpack[TypedDict]`](https://peps.python.org/pep-0692/#specification) that was [accepted](https://discuss.python.org/t/pep-692-using-typeddict-for-more-precise-kwargs-typing/17314/81) in January 2023. We have tested that these types are recognized properly by [Pyright](https://github.com/microsoft/pyright). Support for `Unpack` in MyPy is still experimental, but appears to degrade gracefully. Please [report an issue](https://github.com/stripe/stripe-python/issues/new/choose) if there is anything we can do to improve the types for your type checker of choice. ### Types and the Versioning Policy We release type changes in minor releases. While stripe-python follows semantic versioning, our semantic versions describe the _runtime behavior_ of the library alone. Our _type annotations are not reflected in the semantic version_. That is, upgrading to a new minor version of stripe-python might result in your type checker producing a type error that it didn't before. You can use a `~=x.x` or `x.x.*` [version specifier](https://peps.python.org/pep-0440/#examples) in your `requirements.txt` to constrain `pip` to a certain minor range of `stripe-python`. ### Types and API Versions The types describe the [Stripe API version](https://stripe.com/docs/api/versioning) that was the latest at the time of release. This is the version that your library sends by default. If you are overriding `stripe.api_version` / `stripe_version` on the `StripeClient`, or using a [webhook endpoint](https://stripe.com/docs/webhooks#api-versions) tied to an older version, be aware that the data you see at runtime may not match the types. ### Public Preview SDKs Stripe has features in the [public preview phase](https://docs.stripe.com/release-phases) that can be accessed via versions of this package that have the `bX` suffix like `12.2.0b2`. We would love for you to try these as we incrementally release new features and improve them based on your feedback. To install, pick the latest version with the `bX` suffix by reviewing the [releases page](https://github.com/stripe/stripe-python/releases/) and then use it in the `pip install` command: ``` pip install stripe== ``` > **Note** > There can be breaking changes between two versions of the public preview SDKs without a bump in the major version. Therefore we recommend pinning the package version to a specific version in your [pyproject.toml](https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#dependencies-and-requirements) or [requirements file](https://pip.pypa.io/en/stable/user_guide/#requirements-files). This way you can install the same version each time without breaking changes unless you are intentionally looking for the latest public preview SDK. Some preview features require a name and version to be set in the `Stripe-Version` header like `feature_beta=v3`. If your preview feature has this requirement, use the `stripe.add_beta_version` function (available only in the public preview SDKs): ```python stripe.add_beta_version("feature_beta", "v3") ``` ### Private Preview SDKs Stripe has features in the [private preview phase](https://docs.stripe.com/release-phases) that can be accessed via versions of this package that have the `aX` suffix like `12.2.0a2`. These are invite-only features. Once invited, you can install the private preview SDKs by following the same instructions as for the [public preview SDKs](https://github.com/stripe/stripe-python?tab=readme-ov-file#public-preview-sdks) above and replacing the suffix `b` with `a` in package versions. ### Custom requests 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 client = StripeClient("sk_test_...") response = client.raw_request( "post", "/v1/beta_endpoint", param=123, stripe_version="2022-11-15; feature_beta=v3" ) # (Optional) response is a StripeResponse. You can use `client.deserialize` to get a StripeObject. deserialized_resp = client.deserialize(response, api_mode='V1') ``` ### Async Asynchronous versions of request-making methods are available by suffixing the method name with `_async`. ```python # With StripeClient client = StripeClient("sk_test_...") customer = await client.v1.customers.retrieve_async("cus_xyz") # With global client stripe.api_key = "sk_test_..." customer = await stripe.Customer.retrieve_async("cus_xyz") # .auto_paging_iter() implements both AsyncIterable and Iterable async for c in await stripe.Customer.list_async().auto_paging_iter(): ... ``` There is no `.save_async` as `.save` is [deprecated since stripe-python v5](https://github.com/stripe/stripe-python/wiki/Migration-guide-for-v5#deprecated). Please migrate to `.modify_async`. The default HTTP client uses `requests` for making synchronous requests but `httpx` for making async requests. If you're migrating to async, we recommend you to explicitly initialize your own http client and pass it to StripeClient or set it as the global default. If you don't already have a dependency on an async-compatible HTTP library, `pip install stripe[async]` will install one for you (new in `v13.0.1`). ```python # By default, an explicitly initialized HTTPXClient will raise an exception if you # attempt to call a sync method. If you intend to only use async, this is useful to # make sure you don't unintentionally make a synchronous request. my_http_client = stripe.HTTPXClient() # If you want to use httpx to make sync requests, you can disable this # behavior. my_http_client = stripe.HTTPXClient(allow_sync_methods=True) # aiohttp is also available (does not support sync requests) my_http_client = stripe.AIOHTTPClient() # With StripeClient client = StripeClient("sk_test_...", http_client=my_http_client) # With the global client stripe.default_http_client = my_http_client ``` You can also subclass `stripe.HTTPClient` and provide your own instance. ## Support New features and bug fixes are released on the latest major version of the Stripe Python library. If you are on an older major version, we recommend that you upgrade to the latest in order to use the new features and bug fixes including those for security vulnerabilities. Older major versions of the package will continue to be available for use, but will not be receiving any updates. ## Development [Contribution guidelines for this project](CONTRIBUTING.md) The test suite depends on [stripe-mock], so make sure to fetch and run it from a background terminal ([stripe-mock's README][stripe-mock] also contains instructions for installing via Homebrew and other methods): ```sh go install github.com/stripe/stripe-mock@latest stripe-mock ``` We use [just](https://github.com/casey/just) for conveniently running development tasks. You can use them directly, or copy the commands out of the `justfile`. To our help docs, run `just`. By default, all commands will use an virtualenv created by your default python version (whatever comes out of `python --version`). We recommend using [mise](https://mise.jdx.dev/lang/python.html) or [pyenv](https://github.com/pyenv/pyenv) to control that version. Run the following command to set up the development virtualenv: ```sh just venv # or: python -m venv venv && venv/bin/python -I -m pip install -e . ``` Run all tests: ```sh just test # or: venv/bin/pytest ``` Run all tests in a single file: ```sh just test tests/api_resources/abstract/test_updateable_api_resource.py # or: venv/bin/pytest tests/api_resources/abstract/test_updateable_api_resource.py ``` Run a single test suite: ```sh just test tests/api_resources/abstract/test_updateable_api_resource.py::TestUpdateableAPIResource # or: venv/bin/pytest tests/api_resources/abstract/test_updateable_api_resource.py::TestUpdateableAPIResource ``` Run a single test: ```sh just test tests/api_resources/abstract/test_updateable_api_resource.py::TestUpdateableAPIResource::test_save # or: venv/bin/pytest tests/api_resources/abstract/test_updateable_api_resource.py::TestUpdateableAPIResource::test_save ``` Run the linter with: ```sh just lint # or: venv/bin/python -m flake8 --show-source stripe tests ``` The library uses [Ruff][ruff] for code formatting. Code must be formatted with Black before PRs are submitted, otherwise CI will fail. Run the formatter with: ```sh just format # or: venv/bin/ruff format . --quiet ``` [api-keys]: https://dashboard.stripe.com/account/apikeys [ruff]: https://github.com/astral-sh/ruff [connect]: https://stripe.com/connect [poetry]: https://github.com/sdispater/poetry [stripe-mock]: https://github.com/stripe/stripe-mock [idempotency-keys]: https://stripe.com/docs/api/idempotent_requests?lang=python